トーク / スレッド・返信
トーク / スレッド・返信
本ページは 2 段構成。上段が biz/CS 向け(ユーザー提示可)、下段(
## 🔧 実装詳細以降)が dev 向け。biz/CS がユーザーへ提示・転用してよいのは上段のみ。
概要
トークルームの議論を整理するための「スレッド」と「返信」機能。
- 返信: 既存の特定の投稿を返信元として指定して投稿する操作(「この投稿への返信」と明示)
- スレッド: ある親トーク配下にぶら下がった返信群の総称。同じ親トークに対して複数の返信があるとそれらが 1 本のスレッドとして扱われる
スレッドの典型的な使い道は、ルーム本流(チャンネル全体のタイムライン)の可読性を保ちながら、特定の話題について議論を別レイヤーで深堀りすること。スレッド内の投稿は既定ではスレッド内のみに表示され、ルーム本流には流れない(投稿時に「チャンネルにも表示」を選んだ場合のみ本流にも出る)。
加えて、ルーム設定で「スレッド限定投稿」を ON にすると、受講者はそのチャンネル本流に新規投稿できなくなり、スレッド内のみ投稿可能となる(講師は例外として本流にも投稿可)。お題ベースの議論ルーム等で、本流が荒れない運用を実現する。
📝 レビュー観点(draft 段階の記述ヒント、完成時に削除):
- 目的: 議論をスレッドにまとめてルーム本流の可読性を保つ + 個別投稿への返信(返信)の表示
- 誰が使うか: 受講者・メイン講師・サブ講師
- どこで使うか: トークルーム画面 → 個別投稿の「返信」ボタン → スレッド表示
- 隣接機能との関係: 投稿(
./post.md)/ メンション(./mention.md)/ ルーム設定スレッド限定投稿(./room.md)/ スレッド未読(./unread.md)- CS 問い合わせで頻発する論点: 「返信とスレッドの違い」「スレッド内投稿がルーム本流に出ない」「スレッド限定投稿ルームでメイン投稿できない」(受講者)
- [本機能特有] 返信とスレッドの違い: 返信は「特定投稿への返信元指定」、スレッドは「親トーク配下の返信群」。同じ親に複数返信があるとスレッドになる
- [本機能特有] スレッド内のみ表示フラグ:
show_in_room=falseでスレッド内のみ表示、ルーム本流には出ない- [本機能特有] スレッド限定投稿ルーム: 受講者はメイン投稿不可(スレッド内のみ可)、講師は例外でメイン投稿も可
利用シナリオ
シナリオ 1: 通常ルームでの返信からスレッド化
メイン講師がチャンネルにお題を投稿すると、複数の受講者が「この投稿への返信」で意見を返す。同じ親に複数返信が集まると 1 本のスレッドが形成され、受講者・講師は親トークの「スレッドを表示」から議論をまとめて閲覧できる。返信した受講者は以降そのスレッドの参加者として記録され、スレッド内に新規返信があった際にスレッド未読として通知される。
シナリオ 2: スレッド限定投稿ルームでの議論
ルーム設定で「スレッド限定投稿」が ON のチャンネルでは、受講者はチャンネル本流に新規投稿できず、講師が立てた親トーク(お題)配下のスレッド内でのみ投稿可能。お題ごとに議論をまとめたい運用で利用される。講師は例外として本流にも親トークを投稿できる。
シナリオ 3: スレッド内のみで意見交換
通常ルームのスレッド内で投稿するとき、「チャンネルにも表示」を OFF にすればルーム本流には出ず、スレッド内のみ表示される。本流の流れを乱したくない議論で使われる。OFF にした投稿は親トーク経由でのみ閲覧可能。
シナリオ 4: 親トークが削除された場合
親トークが削除されても、スレッド内の子トーク自体は残る(履歴保持)。ただし親が見えなくなるため、本流からスレッドを開く導線がなくなり、「親が消えた状態」になる。子トークは内部的には残置されているため、運営側で必要なら追跡可能。
よくある失敗ケース
- スレッド限定投稿ルームで受講者がメイン投稿しようとする: アクセス拒否扱いで投稿は不可。受講者にはスレッド内投稿に誘導するメッセージが表示される
- 別ルームのトークへの返信指定: 返信元のトークと投稿先のチャンネルが一致しない場合はエラー
- スレッド内のさらに返信(ネスト): スレッドは 2 階層のみで、子トークへの返信もスレッド親に紐付く扱い(深いネストは作れない)
📝 レビュー観点:
- 標準的な返信(ルーム本流に流れる)
- スレッド内のみ表示で投稿(ルーム本流に出ない)
- スレッド限定投稿ルームでの講師のメイン投稿(例外)
- 親投稿が削除された後のスレッド表示
- 失敗ケース: スレッド限定ルームで受講者がメイン投稿しようとする
権限別仕様
権限定義は ../user-roles.md 参照。用語は ../terminology.md。
講座権限軸
投稿
| 操作 | 未受講者 | 受講者 | サブ講師 | メイン講師 |
|---|---|---|---|---|
| 通常ルームでスレッドへの投稿 | × | ○ | ○ | ○ |
| 通常ルームで個別投稿へ返信 | × | ○ | ○ | ○ |
| スレッド限定ルームでメイン投稿 | × | × | ○(例外) | ○(例外) |
| スレッド限定ルームでスレッド内投稿 | × | ○ | ○ | ○ |
| スレッド内のみ表示フラグの選択 | × | ○ | ○ | ○ |
閲覧
| 操作 | 未受講者 | 受講者 | サブ講師 | メイン講師 |
|---|---|---|---|---|
| スレッド表示 | × | ○ | ○ | ○ |
| スレッド一覧の確認 | × | ○ | ○ | ○ |
| スレッド内のみ表示の投稿の閲覧 | × | ○(スレッド内) | ○ | ○ |
横断軸
| 操作 | 運営アドミン | テストユーザー | 投稿禁止 |
|---|---|---|---|
| スレッド投稿 | (運営アドミン経由の直接投稿はなし) | (通常と同じ) | × |
| スレッド閲覧 | (通常と同じ) | (通常と同じ) | (通常と同じ) |
📝 レビュー観点:
- スレッド限定投稿ルームの講師例外の運用上の意図
- 返信とスレッドの UI 上の区別
機能詳細(ふるまい)
スレッドと返信の関係
- 返信: 個別投稿に対して「この投稿への返信」として送る操作。返信元の投稿は同一チャンネル内のものに限る
- スレッド: 親トーク(スレッドの起点となるトーク)配下に紐付いた子トーク群の集合。同じ親に対して 2 件目以降の返信が積み上がるとスレッドとして可視化される
- 別チャンネルのトークへの返信指定はエラー(同一チャンネル内整合性チェック)
- スレッド構造はフラット(2 階層のみ)。スレッド内の投稿に対して返信しても、その返信もスレッド親に紐付く扱いで、深いネストは作れない
スレッド内投稿と本流表示
スレッド内に投稿するとき、その投稿を本流(チャンネルのタイムライン)にも表示するかを「チャンネルにも表示」スイッチで選択できる:
- デフォルト: スレッド内のみ表示(本流に出ない)
- 「チャンネルにも表示」を ON: スレッド内 + 本流の両方に表示
- 本流非表示の投稿は親トーク経由でしか閲覧導線がない(メンションタブからのジャンプは可)
スレッド限定投稿ルーム
ルーム設定の「スレッド限定投稿」フラグを ON にすると、そのチャンネル本流に対して受講者は新規投稿不可となる:
- 受講者: チャンネル本流への新規投稿は拒否(スレッド内投稿のみ可)
- メイン講師 / サブ講師: 例外として本流にも親トークを投稿可(お題提示用)
- お題ベースの議論で本流の見通しを保つ運用に利用される
スレッド参加者の自動追加
スレッド内に投稿した瞬間、その投稿者はスレッドの参加者として記録される。記録された参加者は、以降そのスレッドに新規返信が入るたびスレッド通知の対象になる(./notification.md 参照)。参加者から外れる手段は現状なし。
親投稿の削除と子投稿
親トークが論理削除されても、スレッド内の子トーク自体は残る:
- 本流からの閲覧導線(親トーク経由)が無くなるため、ユーザー視点では「親が消えた状態」になる
- 子トーク自体は履歴保持され、運営側からは引き続き参照可能
- 親が削除された後の子トークの整理(一括削除等)の経路は現状なし — 今後の改善課題
📝 レビュー観点:
- 入力 → 処理 → 出力: 投稿時の
replyTalkId/threadTalkId/show_in_roomの組み合わせ- エッジケース: スレッド内でさらに返信、親投稿削除後のスレッド、別ルームのトークへの返信試行
- エラー表示: スレッド限定ルームでメイン投稿エラー、別ルームのトークへの返信エラー
- 編集・削除の挙動: スレッド子投稿の編集はスレッド構造に影響しない、削除時の親側カウンタ再集計
admin 操作
該当なし
スレッド固有の運営アドミン専用操作は存在しない。
実装されていない / 不明
- 運営アドミンによるスレッド一括操作: 専用経路なし
- スレッド限定投稿フラグの運営アドミン代理切替: ルーム設定なので
./room.mdの運営アドミン経路と整合(現状なし)
📝 レビュー観点:
- 不適切スレッドの運営対応経路の必要性
品質 / 約束事項
- 応答性: スレッド表示・投稿は通常投稿と同じ応答性(投稿は同期で即時返り、通知は数秒以内に非同期配信)
- 信頼性: 親トーク削除時もスレッド内子トークは履歴保持される。投稿時にスレッド限定投稿ルームの権限ガードが効くため、受講者が誤って本流投稿してしまう事故は防止される(v2.29.4 で受講者編集 UI 側の不整合も解消、変更履歴参照)
- 制限値:
- スレッド内投稿数: 制限なし(要確認)
- 同時スレッド参加者数: 制限なし
- データ保持: 親トーク削除後も子スレッド投稿は残置
📝 レビュー観点:
- 応答性: 大量投稿スレッドの表示性能
- データ保持: 親削除時の子スレッド投稿の扱い(孤児化)
変更履歴(リリースノート候補)
新しいリリースを上に積む(降順)。
v2.30.0: 2026-04-28
- [追加] 運営アドミンによる「誤チャンネル表示された受講者スレッド投稿の非表示メンテナンス機能」を追加(FIN-400)。運営側で
show_in_room=trueのまま誤って本流に表示されている受講者のスレッド投稿を一括で非表示に戻せる。詳細は../admin/talk.md参照
v2.29.4: 2026-04-24(talk-hotfix)
- [修正] スレッド限定投稿チャンネルで受講者がスレッド投稿を編集する際、「チャンネルにも表示」スイッチが意図せず有効化できてしまう問題を修正(FIN-398)。受講者の編集 UI で当該スイッチが無効化されるように変更(権限モード別の制御を反映)
v2.29.2: 2026-05-02(PSD 初版)
- [PSD 追加] 本ドキュメント初版作成。v2.29.2 時点の実装を起こし。機能追加・変更は含まない
📝 レビュー観点:
- 過去の主要変更(スレッド機能追加 / スレッド限定投稿ルーム追加 /
show_in_roomフラグ追加 等)
関連ドキュメント
- 権限定義:
../user-roles.md - 用語辞書:
../terminology.md - 関連 PSD:
./post.md— 投稿(スレッド投稿は投稿機能の一形態)./mention.md— メンション./notification.md— スレッド通知の発火./room.md— スレッド限定投稿ルーム設定./unread.md— スレッド未読