Skip to content

feat(rules): show ancestor paths in the move-destination dropdown - #414

Open
Monkey7539 wants to merge 2 commits into
maathimself:mainfrom
Monkey7539:feat/rules-move-folder-paths
Open

feat(rules): show ancestor paths in the move-destination dropdown#414
Monkey7539 wants to merge 2 commits into
maathimself:mainfrom
Monkey7539:feat/rules-move-folder-paths

Conversation

@Monkey7539

Copy link
Copy Markdown
Contributor

Summary

Companion to #410, applying the same ancestor-path treatment to the inbox-rules form. The rule editor's move-destination dropdown listed bare folder names, so an account with INBOX/Archive and a root Archive (or Personal/Insurance vs Business/Insurance) showed identical entries and picking the right destination was guesswork. The rules list also summarized any move rule as just "Move", with no destination.

Stacked on #410 — the first commit here is that PR's commit (this reuses its folderParentLabel util so the rules form, the pickers, and the sidebar tree all derive hierarchy from one source). Only the AdminPanel.jsx commit is new; happy to rebase once the base lands.

Changes

  • The move-destination <select> labels each option with its ancestor chain: Ice Rentals / Groups / Beacon Hill instead of Beacon Hill, via the shared folderParentLabel.
  • The closed control gets a title tooltip with the selected folder's full path (a native <option> cannot host the pickers' two-tone label, but the opened dropdown already shows the full text untruncated).
  • The rules list's action summary shows the move destination (Move → Ice Rentals/Groups) so rules are tellable apart at a glance.

Testing

  • Running in production on my instance: creating and editing move rules against a Gmail account with duplicate folder names under different parents — destinations are now unambiguous in the dropdown and visible in the rules list.
  • npm run lint clean; full frontend suite passes (1686/1686).

Contributor License Agreement

By submitting this pull request I confirm that:

  • I have read and agree to the Contributor License Agreement.
  • My contribution is my own original work (or I have identified any
    third-party material and confirmed it is compatible with the CLA).
  • I have the right to submit this contribution under the terms of the CLA.

🤖 Generated with Claude Code

Monkey7539 and others added 2 commits August 27, 2026 14:53
Folders with the same name under different parents were
indistinguishable in the move-to-folder pickers. Prefix each entry with
its muted ancestor chain (Personal / Insurance) via a shared
FolderPathLabel, and let the search box match any path segment or a
parent/child query (delimiter-normalized), across the context menu,
message pane pickers, mobile move sheet, and bulk-move picker.

The delimiter and parent-path primitives live in folderDisplay.js and
the sidebar tree builder imports them from there, so the tree and the
pickers derive hierarchy from one source. Unit tests cover '/' and '.'
delimited accounts, including folder names that contain the other
account's delimiter.

Closes maathimself#402

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The rule form's move-to-folder select listed bare folder names, making
same-named folders under different parents indistinguishable. Reuse
folderParentLabel for Parent / Child option labels, add a tooltip with
the selected path on the closed control (a native option cannot host
the pickers' two-tone/hover-scroll label), and show the move
destination in the rules-list action summary.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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