chat: preserve conversation drafts and attachments when returning Home - #1431
Merged
Merged
Conversation
ZeroPoint95
marked this pull request as ready for review
September 28, 2026 15:07
ZeroPoint95
marked this pull request as draft
September 28, 2026 15:18
ZeroPoint95
marked this pull request as ready for review
September 28, 2026 15:44
Collaborator
|
Taking this over to land it (Abir asked in the Slack thread). I checked every claim in the description against the real binary, on the engine road and on
One fix pushed: Notes, not blocking:
|
#1431 gave home a tray of its own that is emptied every time home closes, and left the conversation's draft and attachments with the conversation. home.md still said the tray "survives walking into a conversation and back out to home" and that a chip comes off "where the `x` is", and attaching-files.md still justified carrying pictures into the new conversation by the tray belonging to the person rather than the screen. Both now say what the code does: home's tray belongs to the conversation home starts next, nothing from another conversation's draft rides along, home opens clean on every visit, and the remove mark is `×` (`x` in ASCII mode). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
AbirAbbas
approved these changes
Sep 28, 2026
AbirAbbas
left a comment
Collaborator
There was a problem hiding this comment.
Verified in the real binary and merged by the takeover; see the comment above.
AbirAbbas
added a commit
that referenced
this pull request
Sep 28, 2026
#1431 gave home a tray of its own, so the bash refusal and the update-stops-turn check in homeStartWithProject read a.home.chips; a.chips is now the conversation behind home. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
4 tasks done
AbirAbbas
pushed a commit
that referenced
this pull request
Sep 28, 2026
Typing `!` at the start of the composer enters bash mode: an amber `$` prompt, and enter runs the command non-interactively in the conversation's project, streaming literal output live and keeping it in history. The model waits for the person's next message, which carries the command and its output. Only the person's explicit door can run it (a new SubmitBash method, wire version 20); explicit approval denies still refuse. Takeover fixes: a critical-floor command (disk wipes, mkfs, reboot, the fork bomb) typed with `!` now asks the same question a model call does, in every posture including --yolo; a `!` row counts down against the runner's 10-minute timeout; the manual says ctrl+g cannot background a `!` command. Merged with dev so a `!` typed on Home reads Home's own tray (#1431). Co-authored-by: ZeroPoint95 <329227198+ZeroPoint95@users.noreply.github.com>
3 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Issue
User is stuck in a search screen if returning to

homewith an attachment in the tray.The fix
User gets a clean slate in

homeregardless of attachment. The tray remains filled for the user to return.Opening Home with a conversation attachment could trap navigation in the search view. Home now has its own empty attachment tray, while the conversation retains its unsent prompt, cursor position, and attachments. Reopening that conversation restores the draft.
Starting another conversation from Home carries only the text and attachments added on Home. This also preserves drafts in conversations that have not sent their first message yet. Creation failures leave both drafts intact. Home starts clean on every visit.
Conversation attachment chips show a clickable remove mark. The manual and change entry describe the updated behavior.
Validation: focused navigation, attachment, creation, and draft regressions;
make pr-ready(all eight TUI shards);make build. The gate usedTMPDIR=/private/tmpto avoid three existing macOS temp-path alias failures, reproduced separately on clean dev.