Stacked on !226.
A search command matches repository paths, descriptions and topics, and
issue and merge request titles, across everything the caller can read.
/search renders it, with a field in the rail on every page. Anonymous
visitors get the public rows from the same query — the visibility rule is
in the SQL, not a second code path. Issue body search is FTS work and
stays with #114.
/notifications lists the inbox from !226, unread by default, and marks
rows read. The rail carries the badge; a Watch button sits beside Pin in
the repository header.
/explore's filter now calls the same MatchesRepo the command uses
instead of its own copy of the rule.
retargeted from notifications-inbox to main: !226 merged
2026-09-04 14:25 UTC