Skip to content

Show the full file path in the metadata drawer; make the drawer shorter - #436

Merged
lstein merged 3 commits into
masterfrom
lstein/feature/drawer-full-path
Nov 14, 2026
Merged

lstein merged 3 commits into
masterfrom
lstein/feature/drawer-full-path

Conversation

@lstein

@lstein lstein commented Nov 14, 2026

Copy link
Copy Markdown
Owner

Fixes #432.

Full path

The drawer's title bar now shows the file's full path in a small grey line under the file name, for every image and video. The line is selectable and is not a drag handle. The copy button's tooltip now reads "Copy full path".

This replaces the old "Path" row, which appeared only in InvokeAI details tables and was inserted as unescaped HTML, so a file name containing markup was rendered. The path is now set with textContent.

A shorter drawer

Measured headless at 1600px wide:

Drawer Before After
EXIF photo 514px 327px
InvokeAI image 653px 457px
No metadata 332px 276px
  • "View Metadata (JSON)" is now a { } button in the title bar. It replaces the link row at the bottom of the details table and the separate link below the buttons.
  • The cluster badge and the image tags share one wrapping row.
  • EXIF rows are merged:
    • Camera is make and model, without repeating the brand on whole-word matches (Canon / Canon EOS R5 shows "Canon EOS R5").
    • Exposure is f-number · shutter · ISO · focal length.
    • Size is width × height.
    • GPS is latitude, longitude, altitude. A lone coordinate keeps its own label.
    • Date/Time is shown only when it differs from Date Taken.
    • The empty location column that indented tables without GPS is dropped.
  • Table cells, the accordion header and the drawer padding are tighter.
  • Docs: the two user-guide pages that described the old JSON link now describe the { } button.

Known issues, not changed here

These existed before this PR:

  • Indexing discards Pillow IFDRational EXIF values (f-number, exposure time, focal length, GPS altitude), so for most photos the Exposure row shows only ISO. Fixing it needs an indexing change and a reindex.
  • In grid view, while a tile's metadata is still loading, the title bar keeps showing the previous tile's name and path.
  • The copy button reads the path from .swiper-slide data-filepath, not from the displayed path, so in that stale case it can copy a different path or nothing.

Tests

  • New tests/frontend/metadata-drawer-file-info.test.js: the title bar fill, that the path is treated as text rather than markup, and that the Path row and the cloned metadata link are gone.
  • tests/frontend/grid-view.test.js checks that grid view fills the title bar.
  • tests/backend/test_metadata_formatting.py: EXIF row-merging tests.
  • After the first commit: npm test (1,048 tests) and pytest tests (1,361 tests) both passed.
  • After the review-fix commit: the EXIF formatting and grid-view tests pass.

🤖 Generated with Claude Code

lstein and others added 2 commits November 14, 2026 12:39
Fixes #432. The drawer's titlebar now shows the full path in a small,
selectable line under the file name, for every image and video. The old
"Path" row appeared only in InvokeAI tables and was injected as
unescaped HTML; it is gone.

To save vertical space:
- "View Metadata (JSON)" becomes a "{ }" button in the titlebar instead
  of an extra row in the details table (or below the buttons).
- The cluster badge and the image tags share one wrapping row.
- EXIF rows are merged: Camera (make + model, without repeating the
  brand), Exposure (aperture, shutter, ISO, focal length), Size (width x
  height), and GPS (lat, lon, altitude). Date/Time is shown only when it
  differs from Date Taken. The empty location column that indented
  GPS-less tables is dropped.
- Table cells, the accordion header, and the drawer padding are tighter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…st grid-view titlebar fill

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@lstein
lstein enabled auto-merge (squash) November 14, 2026 18:26
@lstein
lstein merged commit 97add9a into master Nov 14, 2026
11 checks passed
@lstein
lstein deleted the lstein/feature/drawer-full-path branch November 14, 2026 18:41
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.

Full path display

1 participant