feat(routing): migrate to AT Protocol-style URLs (#177)
* feat(routing): migrate to AT Protocol-style URLs
Change topic URLs from /t/{slug}/{rkey} to /{handle}/{rkey} and profile
URLs from /u/{handle} to /profile/{handle}. This aligns with AT Protocol
conventions used by Bluesky, Frontpage, and other ecosystem projects,
and fixes a latent collision bug where rkey-only lookups could return
the wrong topic when two users share an rkey.
- Add getTopicUrl (author-scoped) and getReplyUrl helpers in format.ts
- Add getTopicByAuthorAndRkey and getReplyByAuthorAndRkey API client methods
- Restructure app router: [handle]/[rkey] replaces t/[slug]/[rkey],
profile/[handle] replaces u/[handle]
- Add reply permalink stub at [handle]/[rkey]/[replyAuthor]/[replyRkey]
- Update all components to use new URL patterns
- Add authorHandle to SearchResult and SearchSuggestion types
- Add subjectAuthorDid/Handle to Notification type
- Update mock data, MSW handlers, and all tests
- Fix JSON-LD URL bug (was using encodeURIComponent(title))
Depends on: barazo-forum/barazo-api#139
* style(formatting): fix Prettier issues in 4 files
* fix(a11y): update pa11y-ci and mobile audit URLs for new route structure
authored by