Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Show pending mailbox messages in the transcript

オープン
#1,402 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
typescript
領域
full-stack

調査の方向性

issue で説明されている dashboard の会話詳細と composer のフローから始め、packages/junior/src/chat/api-turns/work.ts と persistConversationMessages を通じて mailbox と worker のパスを追跡します。reporting の変更を選ぶ前に、受け付けられた web メッセージと Slack メッセージがどのように読み込まれ、レンダリングされるかを確認します。受け付けられたメッセージが履歴の commit 前に保留中として表示され、その保留中、完了、失敗、再試行、認証の状態が refresh と worker の継続後も維持されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Summary

Accepted inbound messages sit in the conversation mailbox until a worker drains them into durable history. The dashboard transcript only shows committed history, so those messages are invisible while queued — whether they came from the web composer or Slack.

The product bar is ChatGPT-style: once a message is accepted, it should already be in the transcript as pending work, not appear only after the turn starts.

Current behavior

  • Web send (POST /api/conversations, POST /api/conversations/:id/messages) accepts into the mailbox via appendAndEnqueueApiConversationMessage and returns { conversationId, messageId, status }.
  • Slack ingress also lands in the same mailbox before history commit.
  • User rows enter the transcript only after the worker runs and persistConversationMessages commits them (packages/junior/src/chat/api-turns/work.ts and the shared conversation worker path).
  • Dashboard composer covers the HTTP accept with Sending…, then invalidates/refetches. There is no mailbox-pending row and no optimistic transcript insert on send.
  • Conversation detail polls every 2s only while status === "active"; mailbox contents are not part of the reporting read model the UI renders.

Gap

  • #1200 already requires accepted messages to “appear immediately as pending” and for pending/completed/failed/retry/authorization states to survive refresh and worker continuation.
  • That requirement is not scoped as its own slice. Composer (#1399) landed without mailbox-visible pending UI for web or Slack-originated queue.
  • Impact: senders and readers watching a live conversation see a blank lag between accept and history commit, especially when the worker is busy or deferred mailbox work is waiting on an active turn.

Related

Requested by David Cramer.

--

View Junior Session [Sentry]

主要言語
TypeScript
スター
383
フォーク
42
平均マージ
9時間 42分
マージ済み PR(30日)
191

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

getsentry/junior のほかの issue

getsentry/junior の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。