qwen-code/packages/web-shell/client/utils
jinye 34cc1c3ede
feat(web-shell): support text file attachments in the composer (#9180)
* feat(web-shell): support text file attachments in the composer

* fix(web-shell): thread file attachments through the retry lineage and reset paths

Review feedback on #9180: the turn-error retry lineage (CancelledRetryState,
failedTurnErrorRetryRef, stash/restore sites) and the session-owner /
identity-mismatch resets managed text/images/inputAnnotations but not files,
which both dropped attachments on restored retries and could leak another
session's attachment into a retry. Also fixes stale enqueuePrompt arity in
the midTurnReconcile tests, chip a11y/truncation, and strips bidi/zero-width
characters from attachment names.

* fix(web-shell): win extension allowlist over conflicting OS MIME bindings

Round-2 review on #9180: .ts/.mts report as video/mp2t (IANA binding) and
.csv/.tsv as application/vnd.ms-excel on Windows+Office, so the non-empty
MIME early-return made the extension allowlist unreachable for flagship
source files. Extension and well-known-name (Dockerfile/Makefile/LICENSE/...)
fallbacks now apply even when a conflicting MIME is present; the downstream
NUL sniff still rejects actually-binary content. Also adds the failed-prompt
retry variant with files, the full-shape file assertion, and the
cancelled-retry no-resubmit pin from the round-2 test suggestions.
2026-08-15 16:34:20 +00:00
..
ansi.test.ts fix(web-shell): parse 256-color and truecolor SGR sequences in parseAnsi (#7620) 2026-07-26 02:25:20 +00:00
ansi.ts fix(web-shell): parse 256-color and truecolor SGR sequences in parseAnsi (#7620) 2026-07-26 02:25:20 +00:00
askUserPermission.test.ts feat(tui): Ctrl+O frozen transcript view and unified tool output rendering (#5666) 2026-07-09 23:40:29 +00:00
askUserPermission.ts feat(web-shell): add Session Overview panel and in-window split view (#6400) 2026-07-07 02:44:18 +00:00
commandDisplay.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
composerInputState.test.ts fix(web-shell): optionally restart SSE after prompt admission (#7080) 2026-07-17 16:13:39 +00:00
composerInputState.ts fix(web-shell): optionally restart SSE after prompt admission (#7080) 2026-07-17 16:13:39 +00:00
composerModels.ts feat(web-shell): restore the full composer in split-view panes (#6510) 2026-07-08 07:01:36 +00:00
composerTag.test.ts fix(web-shell): restore context tags in queued and recalled prompts (#7312) 2026-07-21 12:59:29 +00:00
composerTag.ts fix(web-shell): restore context tags in queued and recalled prompts (#7312) 2026-07-21 12:59:29 +00:00
composerTasks.test.ts fix(web-shell): sync background agent status (#7561) 2026-07-23 06:35:04 +00:00
composerTasks.ts fix(web-shell): sync background agent status (#7561) 2026-07-23 06:35:04 +00:00
contextUsage.test.ts feat(web-shell): show context usage as a mini progress pill in the status bar (#8794) 2026-08-10 03:48:06 +00:00
contextUsage.ts feat(web-shell): show context usage as a mini progress pill in the status bar (#8794) 2026-08-10 03:48:06 +00:00
copyCommand.test.ts fix(web-shell): make /copy with a bare index work (#7789) 2026-07-28 05:35:58 +00:00
copyCommand.ts fix(web-shell): make /copy with a bare index work (#7789) 2026-07-28 05:35:58 +00:00
cssUrlVar.test.ts feat(web-shell): support icon chips for mention tags (#6337) 2026-07-05 13:25:32 +00:00
cssUrlVar.ts feat(web-shell): support icon chips for mention tags (#6337) 2026-07-05 13:25:32 +00:00
dialogLabels.ts refactor(web-shell): restructure chat UI (#5775) 2026-06-23 22:43:19 +08:00
dom.ts fix(web-shell): keep workspace picker suggestions closed (#8844) 2026-08-12 06:52:58 +00:00
errorDetail.ts feat(serve): add workspace MCP management (#6954) 2026-07-16 02:24:07 +00:00
escapeIntent.test.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
escapeIntent.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
externalOpen.test.ts fix(desktop): open external URL artifacts and markdown links (#9069) 2026-08-13 15:11:44 +00:00
externalOpen.ts fix(desktop): open external URL artifacts and markdown links (#9069) 2026-08-13 15:11:44 +00:00
formatRelativeTime.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
formatRuntime.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
formatTokenCount.test.ts feat(web-shell): show context usage as a mini progress pill in the status bar (#8794) 2026-08-10 03:48:06 +00:00
formatTokenCount.ts feat(web-shell): show context usage as a mini progress pill in the status bar (#8794) 2026-08-10 03:48:06 +00:00
goalCondition.test.ts feat(web-shell): add a workspace Goals page, and stop losing /goal on daemon resume (#6561) 2026-07-18 08:52:07 +00:00
goalCondition.ts feat(web-shell): add a workspace Goals page, and stop losing /goal on daemon resume (#6561) 2026-07-18 08:52:07 +00:00
imageIngestion.test.ts feat(web-shell): support text file attachments in the composer (#9180) 2026-08-15 16:34:20 +00:00
imageIngestion.ts feat(web-shell): support text file attachments in the composer (#9180) 2026-08-15 16:34:20 +00:00
localCommandQueue.test.ts feat(web-shell): queue prompts while turns are running (#6005) 2026-06-30 14:51:28 +00:00
localCommandQueue.ts feat(web-shell): run read-only info commands immediately mid-turn (#8496) 2026-08-05 14:05:08 +00:00
modelDisplay.ts feat(web-shell): polish chat UI (#5893) 2026-06-26 15:38:23 +00:00
modelEncoding.test.ts fix(web-shell): encode vision model picker selection & polish dispatch (#6236) 2026-07-03 13:51:47 +00:00
modelEncoding.ts fix(web-shell): encode vision model picker selection & polish dispatch (#6236) 2026-07-03 13:51:47 +00:00
modelSwitchMessages.test.ts feat(web-shell): polish chat UI (#5893) 2026-06-26 15:38:23 +00:00
modelSwitchMessages.ts feat(web-shell): polish chat UI (#5893) 2026-06-26 15:38:23 +00:00
monitorTasks.test.ts feat(web-shell): add monitor task details (#7817) 2026-07-27 12:30:17 +00:00
monitorTasks.ts feat(web-shell): add monitor task details (#7817) 2026-07-27 12:30:17 +00:00
promptAdmission.test.ts feat: support drag and drop img in web-shell (#8696) 2026-08-10 05:48:17 +00:00
promptAdmission.ts feat: support drag and drop img in web-shell (#8696) 2026-08-10 05:48:17 +00:00
queueDrain.test.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
queueDrain.ts feat(web-shell): friendlier Esc interruption + queued-prompt UX (#6025) 2026-06-30 01:27:16 +00:00
sentinelMessage.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
sessionErrors.test.ts feat(web-shell): add contextual task panels (#7929) 2026-07-30 13:45:30 +00:00
sessionErrors.ts feat(web-shell): add contextual task panels (#7929) 2026-07-30 13:45:30 +00:00
sessionPath.test.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
sessionPath.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
sessionPreparation.test.ts feat(web-shell): add git mode selector for new session creation (#7471) 2026-07-24 03:48:43 +00:00
sessionPreparation.ts feat(web-shell): add git mode selector for new session creation (#7471) 2026-07-24 03:48:43 +00:00
slash-command-action.ts feat(web-shell): support custom slash command actions (#7267) 2026-07-20 11:23:55 +00:00
slashSectionPlan.test.ts feat(web-shell): improve slash command discovery (taller menu, group counts, fuzzy search) (#6267) 2026-07-03 14:56:06 +00:00
slashSectionPlan.ts feat(web-shell): improve slash command discovery (taller menu, group counts, fuzzy search) (#6267) 2026-07-03 14:56:06 +00:00
splitUrl.test.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
splitUrl.ts fix(web-shell): preserve token and base path in session URLs (#7926) 2026-07-29 06:12:37 +00:00
systemInfo.ts feat(daemon): merge daemon-mode feature batch into main (#4490) 2026-06-12 00:34:49 +08:00
timeAgo.test.ts feat(web-shell): add read-only GitHub pull requests panel (#7683) 2026-07-25 02:44:50 +00:00
timeAgo.ts feat(web-shell): add read-only GitHub pull requests panel (#7683) 2026-07-25 02:44:50 +00:00
todos.test.ts feat(web-shell): bind plan approval to its Todo revision (#8393) 2026-08-04 14:25:50 +00:00
todos.ts feat(web-shell): bind plan approval to its Todo revision (#8393) 2026-08-04 14:25:50 +00:00
workspace.test.ts feat: support workspace display names (#7179) 2026-07-20 15:16:44 +00:00
workspace.ts feat: support workspace display names (#7179) 2026-07-20 15:16:44 +00:00
workspaceColor.test.ts feat(web-shell): color-code each split pane by workspace (#6971) 2026-07-16 02:38:58 +00:00
workspaceColor.ts feat(web-shell): color-code each split pane by workspace (#6971) 2026-07-16 02:38:58 +00:00