v4: API.md says what the URLs are again — it lacked the /playlists pages and GET /api/playlists, a playlist's categories, the ?category= of a user's lists and of the search, and ?chat=<message id>, and its reserved words lacked playlists. It now also states the rules the pages kept without saying: a category is a segment where the page is the category's own and ?category= where it narrows a list on another page; switching tabs takes the place of the history entry, while picking a category or opening another page or an editor adds one; a signed-in page opened signed out comes back after /login. canonical-url.ts named GET /api/dumps/by-url, which is GET /api/dumps?url=.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
khannurien
2026-10-09 22:25:08 +00:00
parent 71df0268e3
commit 1c5a449d84
3 changed files with 34 additions and 19 deletions

View File

@@ -3,9 +3,10 @@
* the path is a hierarchy, `@name` is a user (`@name@host` one whose account
* lives on another instance), and any other word under the
* root is a dump category or an app page, `/playlists` holding the playlist
* categories. Under a user each segment is a fixed tab
* name, and under `dumps` or `playlists` a slug. A view of a page is one more
* segment, and a default view is the bare path.
* categories. Under a user each segment is a fixed tab name, and under `dumps`
* or `playlists` a slug. A view of a page is one more segment, and a default
* view is the bare path. A category narrowing a list on another page, a
* profile's or a search's, is a query, `?category=`, not a segment.
*
* The client links every page through the builders (`src/utils/shared/urls.ts`
* wraps the dump and playlist ones), the emails prefix them with the