Skip to content

feat(frontend): the Files pane on a phone; drop the pdfjs thumbnail - #6938

Merged
ashrafchowdury merged 3 commits into
release/v0.118.5from
feat/mobile-files-pane-redesign
Sep 17, 2026
Merged

ashrafchowdury merged 3 commits into
release/v0.118.5from
feat/mobile-files-pane-redesign

Conversation

@ashrafchowdury

Copy link
Copy Markdown
Contributor

Summary

Two follow-ups to the Files pane redesign (#6876):

The Files pane is reachable on a phone. Below md the pane could not be opened: the tab bar's folder toggle was max-md:hidden, the files split never mounted, and every opener (a config Files row, a chat file chip, a tool link) still latched the pane's open flag, so tapping a file did nothing visible and left the flag stuck. The pane now takes the screen the way the config pane does — same resolveSessionPanes rule, extended with filesOpen / showFiles: Files outranks config and chat on a phone, and closing lands back on whatever was under it (the chat stays mounted, so its scroll and draft survive). The header leads with a « close on phones (closeVariant="back"), tiles go three across with smaller glyphs under md, and the tree toggle uses the app's Sidebar glyph.

The pdfjs thumbnail is gone. PDF tiles show the type icon like any other binary; the embedded viewer on open is unchanged. Removes pdfjs-dist, the copy-pdf-worker script, the dev/build prefixes in oss/ee/mobile, the tracked mobile/public/pdf.worker.min.mjs (which was failing the prettier CI check) and the gitignore rules.

Testing

Verified locally

On /m at 375×812 in the app: open from the tab bar's folder toggle, from a config Files row, and from a file tile; edit a markdown file full-width; close from the header's « and land back on the chat / the config pane at the same scroll. At desktop width the docked pane is unchanged. PDF opens in the embedded viewer; its tile shows the PDF icon. @agenta/entities and @agenta/entity-ui build; mobile tsc clean.

Added or updated tests

web/mobile/tests/unit/sessionPanes.test.ts — phone cases for the Files pane (takes the screen, outranks config, config returns on close) and the two-pane case (Files beside config). 9/9 pass.

QA follow-up

Phone: markdown editor with the keyboard up; long-press item actions on touch (the context menu is right-click only today).

Demo

Phone (375px): grid, three across, « leading the header

Checklist

  • Demo shows the real app running this branch (not a mock-up or recreated UI), or is marked N/A
  • Relevant tests pass locally
  • Relevant linting and formatting pass locally
  • I have signed the CLA, or I will sign it when the bot prompts me

PDF tiles show the type icon like any other binary; the embedded PDF viewer on open stays. Removes pdfjs-dist, the copy-pdf-worker script and the public/ worker copies + gitignore rules.
…ig pane does

Below md the pane was unreachable: the toggle was hidden and every opener latched an open flag nothing rendered. Now sessionPanes gives Files the screen (over chat and config; closing lands back where you were), the tab bar's folder toggle shows at every width, and the header leads with a « close on phones. Tiles go three across with smaller glyphs under md; the tree toggle uses the app's Sidebar glyph.
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Advanced

Run ID: 64b822d2-9d5f-45c2-b7c5-e09070aaf70a

📥 Commits

Reviewing files that changed from the base of the PR and between e83525a and 69d4946.

⛔ Files ignored due to path filters (1)
  • web/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (101)
  • docs/design/agenta-mobile/plans/files-pane-redesign.md
  • web/ee/.gitignore
  • web/ee/package.json
  • web/mobile/src/features/agents/AgentDriveCard.tsx
  • web/mobile/src/features/agents/AgentOverviewBody.tsx
  • web/mobile/src/features/chat/AssistantMarkdown.tsx
  • web/mobile/src/features/chat/DriveMarkdownRenderer.tsx
  • web/mobile/src/features/chat/SessionTabs.tsx
  • web/mobile/src/features/chat/SessionWorkspace.tsx
  • web/mobile/src/features/chat/sessionPanes.ts
  • web/mobile/src/features/chat/useStartBlankSession.ts
  • web/mobile/src/pages/_app.tsx
  • web/mobile/tests/unit/sessionPanes.test.ts
  • web/oss/.gitignore
  • web/oss/package.json
  • web/oss/scripts/copy-pdf-worker.mjs
  • web/packages/agenta-chat/src/components/ChatMarkdown.tsx
  • web/packages/agenta-entities/package.json
  • web/packages/agenta-entities/src/drive/configDrive.ts
  • web/packages/agenta-entities/src/drive/driveDraft.ts
  • web/packages/agenta-entities/src/drive/driveHistory.ts
  • web/packages/agenta-entities/src/drive/driveKinds.ts
  • web/packages/agenta-entities/src/drive/driveMedia.ts
  • web/packages/agenta-entities/src/drive/driveNames.ts
  • web/packages/agenta-entities/src/drive/driveNavKeys.ts
  • web/packages/agenta-entities/src/drive/driveSort.ts
  • web/packages/agenta-entities/src/drive/driveTree.ts
  • web/packages/agenta-entities/src/drive/driveTreeView.ts
  • web/packages/agenta-entities/src/drive/driveWrites.ts
  • web/packages/agenta-entities/src/drive/index.ts
  • web/packages/agenta-entities/src/drive/pdfThumb.ts
  • web/packages/agenta-entities/src/drive/useDriveFileEditor.ts
  • web/packages/agenta-entities/src/drive/useDriveFilters.ts
  • web/packages/agenta-entities/src/drive/useDriveSelection.ts
  • web/packages/agenta-entities/src/drive/useDriveTreePane.ts
  • web/packages/agenta-entities/src/drive/useDriveTreeReveal.ts
  • web/packages/agenta-entities/src/drive/useDriveUploads.ts
  • web/packages/agenta-entities/src/drive/useMountUpload.ts
  • web/packages/agenta-entities/tests/unit/driveDraft.test.ts
  • web/packages/agenta-entities/tests/unit/driveHistory.test.ts
  • web/packages/agenta-entities/tests/unit/driveKinds.test.ts
  • web/packages/agenta-entities/tests/unit/driveNames.test.ts
  • web/packages/agenta-entities/tests/unit/driveNavKeys.test.ts
  • web/packages/agenta-entities/tests/unit/driveSort.test.ts
  • web/packages/agenta-entities/tests/unit/driveTree.test.ts
  • web/packages/agenta-entity-ui/src/DrillInView/SchemaControls/MarkdownEditor.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveBreadcrumb.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveCodeEditor.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveEditorFrame.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveExplorer.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveExplorerSkeleton.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveExplorerStates.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveFileRow.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveHeader.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveInlineName.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveItemContextMenu.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveMarkdownEditor.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveMenuMark.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveNameField.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveToolbar.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveTreeList.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveTreePane.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveTreeRow.tsx
  • web/packages/agenta-entity-ui/src/drive/DriveTypeMark.tsx
  • web/packages/agenta-entity-ui/src/drive/FileThumb.tsx
  • web/packages/agenta-entity-ui/src/drive/FilesDrawer.tsx
  • web/packages/agenta-entity-ui/src/drive/FolderList.tsx
  • web/packages/agenta-entity-ui/src/drive/FolderTile.tsx
  • web/packages/agenta-entity-ui/src/drive/FolderView.tsx
  • web/packages/agenta-entity-ui/src/drive/OriginTag.tsx
  • web/packages/agenta-entity-ui/src/drive/SessionFilesDrawer.tsx
  • web/packages/agenta-entity-ui/src/drive/SessionFilesPane.tsx
  • web/packages/agenta-entity-ui/src/drive/StorageFilesHeader.tsx
  • web/packages/agenta-entity-ui/src/drive/StorageSection.tsx
  • web/packages/agenta-entity-ui/src/drive/VirtualTileGrid.tsx
  • web/packages/agenta-entity-ui/src/drive/driveIcons.tsx
  • web/packages/agenta-entity-ui/src/drive/index.ts
  • web/packages/agenta-entity-ui/src/drive/renderers.tsx
  • web/packages/agenta-entity-ui/src/drive/useDriveTreeData.ts
  • web/packages/agenta-entity-ui/src/drive/useDriveWrites.ts
  • web/packages/agenta-entity-ui/src/drive/useLazyDriveTree.tsx
  • web/packages/agenta-entity-ui/src/drive/useSelectionReveal.ts
  • web/packages/agenta-entity-ui/src/drive/useUploadReveal.ts
  • web/packages/agenta-entity-ui/tests/unit/quickLookPath.test.ts
  • web/packages/agenta-entity-ui/tests/unit/useSelectionReveal.test.ts
  • web/packages/agenta-shared/src/utils/shortcuts.ts
  • web/packages/agenta-ui/src/Editor/MarkdownToolbar.tsx
  • web/packages/agenta-ui/src/Editor/plugins/markdown/assets/transformers.ts
  • web/packages/agenta-ui/src/Editor/plugins/markdown/markdownPlugin.tsx
  • web/packages/agenta-ui/src/RichChatInput/plugins/CommandPalettePlugin.tsx
  • web/packages/agenta-ui/src/RichChatInput/plugins/PalettePanel.tsx
  • web/packages/agenta-ui/src/components/ui/alert-dialog.tsx
  • web/packages/agenta-ui/src/components/ui/split-pane.tsx
  • web/packages/agenta-ui/src/components/ui/tabs.tsx
  • web/packages/agenta-ui/src/list-table/ListTable.tsx
  • web/packages/agenta-ui/src/list-table/types.ts
  • web/packages/agenta-ui/src/utils/appMessage/AppMessageRenderer.tsx
  • web/packages/agenta-ui/src/utils/appMessage/types.ts
  • web/packages/agenta-ui/tests/unit/filePaletteDrillIn.render.test.tsx
  • web/packages/agenta-ui/tests/unit/filePaletteInsert.render.test.tsx
  • web/storybook/stories/entity-ui/DriveChrome.stories.tsx
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ashrafchowdury
ashrafchowdury changed the base branch from release/v0.118.5 to main September 17, 2026 14:38
@github-actions

github-actions Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

📘 Docs preview

Status ✅ Ready
Preview https://pr-6938-agenta-docs-preview.mahmoud-637.workers.dev/docs
Inspect Actions run
Commit 69d4946ac5bac549f9a1b2b3f52a858bacfd8a8a

This comment updates in place on every push.

@ashrafchowdury
ashrafchowdury changed the base branch from main to release/v0.118.5 September 17, 2026 14:50
@ashrafchowdury
ashrafchowdury merged commit c9462ce into release/v0.118.5 Sep 17, 2026
53 of 55 checks passed
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