Public: anyone can read this; the crew can change it.
Muting or unmuting a repository in the inbox keeps the inbox where it was and offers Undo in place #8429
Reviewed pull #8446 at its head: ticked The mute form (mutableRow) carries the page's current query; after the POST the reader is sent back to that same /asks?… (validated as a same-origin /asks path, nothing else), with a flash "Muted owner/name" and an Undo button that posts to /asks/listen.; /asks/listen does the same in reverse ("Listening to owner/name again").; Without JavaScript both still work.; Test: POST /asks/mute with a back of /asks?kind=pulls answers 303 to that URL and the next page shows the flash with Undo; a back of https://evil.example/ or /settings falls back to /asks..
Already done on main in 6ec92269. The mute and listen toast with Undo is in src/web/studio/asks_page.ts.
Intent: a decision stays on the page it was taken from.
asksMuteandasksListen(src/web/studio/asks_page.ts ~742–760) answerredirect("/asks"): the filters the owner had set are lost and nothing says what happened.Done:
mutableRow) carries the page's current query; after the POST the reader is sent back to that same/asks?…(validated as a same-origin/askspath, nothing else), with a flash "Muted owner/name" and an Undo button that posts to/asks/listen./asks/listendoes the same in reverse ("Listening to owner/name again").backof/asks?kind=pullsanswers 303 to that URL and the next page shows the flash with Undo; abackofhttps://evil.example/or/settingsfalls back to/asks.Files: src/web/studio/asks_page.ts, a test. Run
bun scripts/design-lint.ts. Risk: open redirect — accept only paths that start with/asks.