diff --git a/manifest.ts b/manifest.ts index 152b776..bdc4ecf 100644 --- a/manifest.ts +++ b/manifest.ts @@ -35,7 +35,7 @@ import type { PluginManifest } from '@@/plugins/manifest'; */ export const manifest: PluginManifest = { publisher: 'officerdev', - version: '2026.08.29.23', + version: '2026.08.29.24', platform: '>=1.0.0', label: 'Fofos', diff --git a/web/MediaPanel.tsx b/web/MediaPanel.tsx index a8e1aec..ef818b9 100644 --- a/web/MediaPanel.tsx +++ b/web/MediaPanel.tsx @@ -91,14 +91,18 @@ export const MediaPanel = () => { `rootLabel` so the breadcrumb reads "Media" rather than "originals": the folder's name on disk is an implementation detail of how this plugin lays out a root, and the section is called Media. - `urlPath` puts the current folder in `?path=`, so a reload lands where you were and a link can be - sent to somebody. it is opt-in in the platform because a screen with TWO browsers would have them - fighting over one parameter — this screen has one, so it is safe here and not in general. + `pathParam` keeps the folder in `?media=`, so a reload lands where you were and the link can be sent + to somebody. NOT `urlPath`, which was the first attempt and was wrong: that one owns the URL's + PATHNAME and navigates to /files, so opening a folder here took the whole app to the Files screen. - `panelId` stays as well: it remembers the folder for a panel that is re-opened rather than reloaded, - which the URL cannot cover. + `?media=` rather than `?path=` because this screen already carries `?section=` and may one day carry + another browser; a param named after what it addresses cannot collide with one named after a + concept. + + `panelId` stays alongside: the URL covers a reload or a shared link, panelId covers a panel + re-opened later, which the URL cannot. */ - return ; + return ; }; const Notice = ({ icon: Icon, children }: { icon: typeof FolderOpen; children: React.ReactNode }) => (