mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
Merges nostr proposal 9142a140 (v2) into main: - feat(gitRepositories): add ngit-specific search on the Git Repositories screen - refactor(commons): move GitRepositorySearchMatcher to commons/search Adds a client-side filter to the Git Repositories screen that searches the fields NIP-34 kind:30617 announcements actually carry — name, `d` identifier, description, hashtags, clone/web/relay URLs, maintainer and author pubkeys (hex or npub), and the earliest-unique-commit hash. Before this, the only search affordance on the screen navigated away to the generic Route.Search, which matches people/notes/hashtags/channels but never repositories. A filter icon toggles an inline text field over the feed; the generic search icon stays beside it. Whitespace-separated terms are ANDed, matching is case-insensitive substring, and `npub1…` queries are decoded to hex before matching. The matcher itself lives in commons/search (per commons/ARCHITECTURE.md: "event search filtering/ranking", non-UI and CLI-safe) rather than in amethyst, since it is pure platform-agnostic Kotlin over a Quartz event type. Desktop can reuse it when that screen grows the same affordance. Its test sits in commons/commonTest on kotlin.test, so it also covers the iOS targets that source set compiles for. Verified before merge: :commons:jvmTest 15/15, :commons:verifyKmpPurity, :commons:compileTestKotlinIosSimulatorArm64, :amethyst:compileFdroidDebugKotlin. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>