Skip to content

feat(bot-mode): retrieve Group Chat files in Desktop - #1

Draft
dokterdok wants to merge 15 commits into
feat/bot-mode-desktop-continuity-20260829from
feat/desktop-group-files-20260905
Draft

feat(bot-mode): retrieve Group Chat files in Desktop#1
dokterdok wants to merge 15 commits into
feat/bot-mode-desktop-continuity-20260829from
feat/desktop-group-files-20260905

Conversation

@dokterdok

@dokterdok dokterdok commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Find The File Without Scrolling Back Through The Chat

Open Files in a Group Chat to find what people and Bots shared, search by filename or sharer, distinguish revisions, and download the selected file. Newest shares come first; opening the browser does not ask a model to recreate a result.

This is a focused source draft in the contributor fork, based on the Desktop continuity branch from NousResearch#97846. It keeps Files out of that maintainer-requested Desktop-client-only change and avoids a second upstream PR carrying its entire prerequisite diff. The complete running test composition remains NousResearch#98307; the product and merge direction remain in NousResearch#97681.

What You Can Do

  • Browse, search and download shared files, including two versions with the same name.
  • Leave and reopen Files without losing the current selection when a connection briefly drops.
  • Retry a failed read without restarting the Group Chat. Access loss cancels stale deliveries rather than downloading a previously authorized file later.
  • In classic Desktop-driven groups, browse retained uploads. The optional classic Bot-output commits also let a Bot explicitly share a file for another Bot, with verified bytes retained by its producing gateway rather than an unusable machine-local path.

Scope And Dependencies

The change is Desktop-only. It adds no gateway storage, messaging enrollment, authority election or new round scheduler.

Verification

Current source: a70261f61ecf96eab4cbebd141aa6c86523cd019, including exact Desktop prerequisite e2b8640dd5 through a history-preserving merge.

  • 543 focused tests across 31 Files, classic and command-recovery files pass, without retries. The earlier 54c248d995 baseline passed 1,219 tests across 93 files; these overlapping counts are not additive.
  • All three TypeScript projects and lint for 64 audited code/test owners pass.
  • Touched source/test owners remain below 2,000 lines.
  • All five recovery owners and 27 direct Files consumers/tests match the tested field code byte-for-byte. Shared approval and mention changes stay in their separate owners; whole-application equality is not claimed.

Latest Recovery Work

The end-to-end build is NousResearch/hermes-agent#98307. Classic file recovery stays bound to the originating messaging command and cannot replay an older task after newer work. The applicable repairs from preserved field commit 25cda8f8f7 are now included here, with their author and original commit references retained.

The updated Desktop prerequisite is included once, not recreated as Files code. Use the pinned complete integration build for end-to-end testing; do not assemble moving sibling branches by hand. The classic exporter backend in fork PR #2 required no exporter-specific code update.

Earlier real-client evidence and remaining acceptance checks

The earlier source-only built Electron journeys passed classic upload/download/reopen and hosted search/version/download/reopen against a separate Files backend. Live field testing subsequently retrieved two Bot-created same-name Markdown versions through the packaged Desktop, matching each canonical file hash. Signal retrieved the same shared bytes while Desktop was closed.

Those are bounded receipts, not a claim that every topology was rerun on this source head. The matching integration build now completed a natural classic producer-to-reviewer handoff in a six-Bot Group Chat: the writer shared a new 2,917-byte Markdown revision, the remote reviewer checked its arithmetic and timing, and the Desktop download matched the producer's canonical SHA-256. The final recovery/topology cases remain in progress.

Desktop retrieving a Bot-produced file after another Bot reviewed its actual shared bytes

Original implementation and repair commits are preserved, including the separately cherry-pickable classic consumer. This draft is a source/review boundary, not a request to bypass the maintainer's continuity timeline.

@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown

૮ >ﻌ< ა ci review

running on a70261f — fix(desktop): bring Files recovery source to reviewed field


Still running 1 job: JS & TS checks / JS & TS checks

⚠️ Warnings

OSV vulnerability scan · View job

28 known vulnerabilities found in pinned dependencies.

How to fix:

Review the findings in the Security tab. Update the affected dependencies if a patched version is available.

…7846

Merge exact prerequisite e2b8640 into the preserved Files source at 54c248d. Preserve both authored histories and compose overlapping Files and command-lease signatures without duplicating generic mailbox commits.

Reuse the group-chat.ts comment from reviewed field 25cda8f to keep the composed owner strictly below 2000 physical lines. Files-specific recovery fences follow separately.
Copy only the Files-specific final owner contents from reviewed field 25cda8f. Generic classic messaging is already inherited through the exact NousResearch#97846 prerequisite merge; no backend or unrelated field owners are imported.

Source-commit: 25cda8f

Preserved-recovery-commits: da19f696f5a3cd1705f5624c8f30b069d483a02e, 342484a92199f6746ae5a382636df0f0876ef87d, 3e402c4dac1359c0304d2cd8a3a2ddd1ebe147c8, 467131c92a880f0302702edaea48a7ae220a9fee

The group-chat.ts comment from the same source was included in the prerequisite merge to keep that intermediate owner below 2000 physical lines. All five recovery paths now match the reviewed field byte-for-byte.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant