feat(desktop): give page links their own click tiers in Files & Editor
Merged
SA
1mo ago+330+330+012345678901234567890123456789-235-235-012345678901234567890123456789
Summary
Pages had one "Pages" select under Browser, and only the workspace Pages menu read it. Page URLs clicked in terminals, chat, markdown, and page panes fell through to URL links, so pages couldn't open differently from ordinary URLs.
pageOpenAction→pageLinkstier map (click / ⇧ / ⌘ / ⌘⇧). Defaults match URL links, so nothing changes until someone edits it.- New Files & Editor → Opening pages → Page links section; the Browser "Pages" row is removed.
useUrlLinkAction(mode)picks the page or URL map per clicked link. ReplacesuseTerminalUrlPolicy/useInlineUrlPolicyin the terminal (click + hover label), page panes, TipTap markdown, and MarkdownEditor.- Pages menu resolves through the page map and falls back to a split pane when a tier is unbound. "External" now opens the page URL in the system browser (it used to navigate to the in-app
/pages/$slugview). - A saved
pageOpenActionchoice is not carried over; the setting shipped about two weeks ago.
Verification
- Typecheck, biome, and 283 related tests pass;
check:i18npasses with all 16 locales translated. - In the dev app over CDP: set Page links ⌘ Click → "Open in new tab" and kept URL links ⌘ → split pane. ⌘-hover in a terminal labels the page link "Open in new tab" and example.com "Open in split pane". ⌘-click opened the page in a new tab and example.com in a split browser pane. Screenshots: https://app.superset.sh/page/page-links-setting-o4ju11
- Not checked: clicking a page in the Pages menu (the test workspace had no pages yet), and clicking a page link in chat.
Summary by cubic
Gives page links their own click tiers so pages clicked in terminals, chat, markdown, and page panes can open differently from ordinary URLs, which previously fell through to the URL links setting.
- Adds a Files & Editor → Opening pages → Page links tier map; the Browser "Pages" row is removed.
- Defaults match URL links, so behavior is unchanged until edited.
- The saved
pageOpenActionsetting is not migrated over (it shipped about two weeks ago). - "External" in the Pages menu now opens the page URL in the system browser instead of navigating to the in-app
/pages/$slugview. - The Pages menu falls back to opening a split pane when a tier is unbound.
Summary by CodeRabbit
- New Features
- Added configurable page-link behavior for links in the Pages menu, terminals, chat, and other pages.
- Choose how page links open, including in a split or tab, with options based on click modifiers.
- Find page-link controls in Files settings under “Opening pages.”
- Improvements
- Page links now follow your configured preferences across the workspace, including when clicked in the editor.