give the soulseek workspace a url
The section is /soulseek/:section — nav entries are NavLinks, the view panel reads the same
URL instead of being told, and the dashboard's tiles and recent searches are real links (a
recent search now opens that search, not the search screen's front page).
The peer went in `?user=<name>` rather than the /soulseek/users/:name the audit sketched: a
second path segment would need a nested route just to keep the nav highlight, and `?search=`
had already set the convention there. That deletes the `soulseek:user` channel and with it a
`{username, nonce}` request the Users panel consumed-once and cleared — the nonce existed so
asking for the same peer twice counted twice. A link is idempotent, so there is nothing to
consume and nothing to disambiguate.
`soulseek:refresh` stays: it is a signal, which is what channels are for.
This commit is contained in:
@@ -126,10 +126,11 @@ connection status and the header renders it. Panel-scoped by construction, which
|
||||
|
||||
### The thirteen channels, honestly
|
||||
|
||||
13 channels, 26 call sites. Six carry selection that should be in the URL — `music:cwd` (the entire
|
||||
library location, so no album is linkable), `soulseek:section` and `soulseek:user` (the whole Soulseek
|
||||
workspace has no URL), `chat:selected-session`, `monitor:scope`. Two are view toggles where a channel is
|
||||
genuinely fine (`music:favorites`, `music:lyrics`).
|
||||
Was 13 channels, 26 call sites. Six carried selection that belongs in the URL, and three of those are
|
||||
gone: `soulseek:section` and `soulseek:user` (the whole Soulseek workspace now has one) and
|
||||
`monitor:scope`. Still to move: `music:cwd` — the entire library location, so no album is linkable — and
|
||||
`chat:selected-session`, which is the chat's to move, not this document's. Two are view toggles where a
|
||||
channel is genuinely fine (`music:favorites`, `music:lyrics`).
|
||||
|
||||
Two are wired to nobody: `preview:refresh` and `chat:active-session` have publishers and no subscribers.
|
||||
A third, `file-viewer:<panelId>`, had a subscriber and no publisher — it is gone, along with the
|
||||
|
||||
Reference in New Issue
Block a user