Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Edit and delete queued messages, and choose steer, follow-up, or interrupt

未关闭
#24 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
typescript
领域
frontend

调研方向

The issue is a one-line feature request migrated from the old Ace TODO.md, so start by reading that linked TODO entry and the parity issue #6 plus dogfooding issue #5 to recover the intended behaviour of edit, delete, and steer for messages queued on a busy chat. Then locate the chat message-queue code in this TypeScript repo (search for queued/pending message state and the composer UI) to see where a waiting message is held before send. Done looks like a user can modify, remove, or redirect a message still waiting in the queue, with the existing queue behaviour unchanged.

由索引模型根据 Issue 内容生成。

描述

Edit, delete, or choose how a message waiting on a busy chat is delivered: steer, follow-up, or interrupt now.

Done

  • Queued messages are visible above the composer for everyone in the chat, live and after reconnect (#193, apps/app/src/message-queue.tsx, packages/channel/src/queue.ts), with authors named as the timeline names them (#278). Verified in the two-person study (#218, scenario 10).
  • Every ask to a busy chat is already a steer: packages/channel/src/channel.ts submits with whenBusy: "steer", so pi places it after the current tool round. Another channel's queued handoff also interrupts the chat's shell commands (#400).

Remaining

  • Delete a queued message: its author can withdraw it. pi already has per-submission withdrawal (Submissions.abort(id)); the channel protocol has no op for it.
  • Edit a queued message: withdraw and resubmit in place, keeping its queue position if pi allows, otherwise say it moves to the end.
  • Choose steer (after the current tool round) or follow-up (after the run ends) per message; pi supports whenBusy: "followUp", the app has no control for it.
  • Interrupt now: deliver a queued message right away instead of waiting for the current tool round. In-flight tools get aborted and pi reports them to the model as interrupted, then the run continues with the message. Today a person can only queue (as a steer) or Stop. Stop ends the run and sends queued messages back to their authors' drafts (#433), so they have to resend by hand. Handoffs from other channels already interrupt shell commands (#400, packages/channel/src/handoffs.ts); a person's interrupt should also cover other long tools, and say which ones were cut short (#442).
  • What Stop does to the queue was decided in #279 (fixed in #433).

Dogfooding core/QOL: #5. Also tracked in #6 for old-Ace feature parity. Migrated from TODO.md — Port from old Ace.

主要语言
TypeScript
星标
1
派生
0
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

githubnext/ace2 的其他 Issue

查看 githubnext/ace2 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。