Skip to content

bug(workspace): uploads reach the Files tab only after the agent replies; own uploads not downloadable; image download opens inline #2582

Description

@vybe

Summary

Operator test of the Workspace Files tab on dev (2026-09-07): a file uploaded into the chat does not appear in Files until the agent has replied; files the user sent cannot be downloaded the way agent-shared files can; and "download" on an image opens it in the browser instead of saving it.

Context

Uploads go to the agent's per-client inbox (~/inbox/<client>/, user → agent, isolated per client) and are not listed back to the user; agent-shared files (share_file) are listed in the rail's Files tab (abilityai/trinity-enterprise#475). The download link is a plain <a target="_blank"> to the file route, so inline-displayable types (images, text) render in a tab rather than saving. Related: abilityai/trinity-enterprise#461 (file links on mobile: Range, disposition, CORP).

Acceptance Criteria

  • A file dropped or attached in the chat appears in the Files tab at once, under a "You sent" group (or equivalent), before any agent reply; the rail dot lights (fix(agent): drain pipe before close to preserve final result line (#531) #532).
  • The user can download their own uploads with the same control as agent-shared files.
  • Download saves the file: download attribute plus a Content-Disposition: attachment variant of the file route (query flag), so an image or text file is saved, not opened. Opening inline is a separate, explicit action (preview — filed separately as a feature).
  • Roster scoping unchanged: a user sees their own uploads and the agent's shared files, never another client's inbox.
  • Vitest coverage for the Files list including uploads; backend test for the attachment disposition.

Technical Notes

components/portal/PortalRailFiles.vue, stores/portalRailFeeds.js, the client-portal files routes (client_portal/router.py, /api/files), upload path in PortalConversation.vue (abilityai/trinity-enterprise#524). Scope model per abilityai/trinity-enterprise#484 (per-agent shared working folder, incubating) and #489 (per-user isolation, parked).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions