Skip to content

fix(send): make the mobile file info panel dismissable and non-blocking (#977)#986

Open
aaspinwall wants to merge 2 commits into
mainfrom
fix/mobile-file-info-panel-977
Open

fix(send): make the mobile file info panel dismissable and non-blocking (#977)#986
aaspinwall wants to merge 2 commits into
mainfrom
fix/mobile-file-info-panel-977

Conversation

@aaspinwall

@aaspinwall aaspinwall commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

What changed?

On the Your Files page, the file info panel now behaves correctly on mobile:

  • HomeView.vue — the info panel is the original inline w-64 column on desktop (md+), but below md it becomes a full-screen, dismissable overlay (max-md:-scoped classes, so desktop layout is unchanged). It only renders when a file/folder is actually selected.
  • FileInfo.vue — added a close (X) button and a delete button, reusing the existing DeleteModal + DeleteConfirmation flow already used by FolderView.
  • FolderInfo.vue — added a matching close button (it shares the same overlay).
  • FolderView.vue — file-row download/delete buttons are now visible on mobile instead of hover-only, so the row delete button is tappable on touch.
  • folder-store.ts — added clearSelection(), used by the new close controls and by deleteItem.
  • e2e — added a Firefox mobile-viewport (412px) Playwright suite (playwright.config.mobile977.ts + tests/mobile/dev/file-info-panel.spec.ts) that registers a user, uploads a file, opens the info panel, and asserts the close and delete controls work and the panel dismisses.

AI disclosure: This change was implemented by Claude (agentic), with the author directing the task, reviewing the diff and screenshots, and approving the approach. A senior-code-review pass was run over the diff and its suggestions applied.

Why?

Per #977, on a mobile browser the file info panel covered the file's delete button, had no delete button of its own, and could not be closed (it even persisted across navigation). This made it impossible to delete a file once the panel was open. The panel is now an overlay that doesn't cover the list, can be closed, and can itself delete the file.

Limitations and Notes

  • The desktop info-panel layout is intentionally left byte-for-byte identical; only sub-md behavior changed.
  • Verified manually via the new Playwright suite at a Pixel-sized viewport (screenshots captured locally: panel-open with close+delete, panel-closed with row buttons visible, delete confirmation, and post-delete empty state).
  • The pre-existing desktop dev e2e suite (--grep @dev-desktop) is flaky (share-link/session timing, see Flaky Send E2E: 'No Group found' after register/login leaves folder view empty, cascades into folder-row/goto failures #930) and fails a few tests on a clean tree as well; that is unrelated to this change.

Applicable Issues

Closes #977

Screenshots

Screenshot 2026-07-10 at 10 24 43 AM Screenshot 2026-07-10 at 10 24 33 AM Screenshot 2026-07-10 at 10 24 29 AM

Captured by the new mobile suite: the info panel renders as a full-screen overlay with a close (X) and a red delete button; after closing, the file list and its row delete buttons are fully accessible.

🤖 Generated with Claude Code

…ng (#977)

On the "Your Files" page on a narrow/mobile viewport the file info panel was a
fixed side column that overlapped the file list, covering the row delete button.
The panel also had no delete button of its own and no way to close it.

- HomeView: the info panel is the original inline column on desktop (md+) but a
  full-screen, dismissable overlay below md (max-md: scoped), and only renders
  when a file/folder is selected.
- FileInfo: add a close (X) button and a delete button (reusing the existing
  delete confirmation modal).
- FolderInfo: add a matching close button (shares the overlay).
- FolderView: file-row download/delete buttons are visible on mobile instead of
  hover-only, so the row delete button is tappable on touch.
- folder-store: add clearSelection() used by the close controls and deleteItem.

Adds a Firefox mobile-viewport Playwright suite that registers, uploads, opens
the panel, and verifies close + delete work on a 412px viewport.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Follow-up to #977. On a narrow/mobile viewport the "Your Files" dashboard
squeezed the file list between two sidebars and overflowed horizontally.

- HomeView: the upload ("Drop files here") sidebar drops full-width to the
  bottom below md (max-md:order-last) instead of being a cramped left column,
  giving the file list the full width.
- FolderView: the per-row action column (download/delete/⋮) renders only on
  desktop (v-if="!isMobile", useMediaQuery matching Tailwind's md breakpoint),
  so on mobile it's just the list of files; long names wrap (max-md:break-all)
  and the row fits without horizontal scrolling. Row actions remain reachable
  via the info panel. Reverted the now-moot mobile-visible opacity classes.
- FileInfo / FileAccessLinksList / HomeView: fix the info-panel overlay
  overflowing horizontally on mobile — long filename wraps (break-words), the
  share-URL input can shrink (min-w-0), and the overlay clamps overflow-x.
- FolderInfo: add a delete button (its own confirmation modal) so folders stay
  deletable on mobile now that the row action column is hidden there.

Repo cleanup: removed the scratch #977 verification scaffolding that was never
wired into any test script or CI lane — playwright.config.mobile977.ts, the
orphaned screenshot-dumping tests/mobile/dev/file-info-panel.spec.ts, and the
screenshots977/ .gitignore entry.

Note: this leaves the #977 mobile flow without automated coverage; a properly
tagged mobile-nightly spec is a worthwhile follow-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aaspinwall aaspinwall requested a review from rwood-moz July 10, 2026 14:30

@rwood-moz rwood-moz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see the new panel that can be closed (and has the new delete button) on desktop; but when I open it in the Playwright Google Pixel 10 viewport, the panel has the new close button X top right; but there is no delete or download button. I see in your mobile viewport E2E tests it is there though, so I don't know what is happening here. I'll try on main and see if the panel shows the download button.

Screen.Recording.2026-07-10.at.11.11.38.AM.mov

@rwood-moz

rwood-moz commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

I can see the new panel that can be closed (and has the new delete button) on desktop; but when I open it in the Playwright Google Pixel 10 viewport, the panel has the new close button X top right; but there is no delete or download button. I see in your mobile viewport E2E tests it is there though, so I don't know what is happening here. I'll try on main and see if the panel shows the download button.

Yes on main the Google Pixel 7 viewport does show the download button in the file info panel, so there must be an issue with the new info panel on this PR/branch.

Screenshot 2026-07-10 at 11 26 56 AM

This is the viewport I'm using (Google Pixel 7, NOT 10 like I mentioned above, sorry):

    {
      name: 'Google-Pixel-7-View',
      use: {
        ...devices['Pixel 7'],
        screenshot: 'only-on-failure',
       },
    },

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.

[SEND] File info panel covers delete button on mobile

2 participants