This commit is contained in:
2026-09-14 08:50:15 +07:00
parent e556654be8
commit 1a13d4e0d7
8 changed files with 60 additions and 24 deletions
+13 -9
View File
@@ -1,6 +1,6 @@
# Local repository NIP-34 detection
Status: plan, not yet implemented.
Status: Phases 12 implemented. Phases 35 pending.
## Motivation
@@ -195,18 +195,22 @@ Implemented.
### Phase 2 — thread `LocalRepo` through the state layer
- [ ] `crates/signed_git/src/scan.rs`: change `find_git_repos` to `Vec<LocalRepo>`; in the walk,
Implemented.
- [x] `crates/signed_git/src/scan.rs`: change `find_git_repos` to `Vec<LocalRepo>`; in the walk,
`detect_nip34` each kept path.
- [ ] `crates/signed_git/src/tests.rs`: update `find_git_repos_*` expectations to the new type
- [x] `crates/signed_git/src/tests.rs`: update `find_git_repos_*` expectations to the new type
(compare `.path`).
- [ ] `crates/signed_state/src/local_repos.rs`: `repos: Arc<Vec<LocalRepo>>`; `remove(&path)`
- [x] `crates/signed_state/src/local_repos.rs`: `repos: Arc<Vec<LocalRepo>>`; `remove(&path)`
filters on `.path`; the background scan already returns the richer vector unchanged.
- [ ] `crates/signed_state/src/checkouts.rs` (~`run_refresh`): iterate `.path` instead of bare
- [x] `crates/signed_state/src/checkouts.rs` (`run_refresh`): iterate `.path` instead of bare
paths when collecting `scanned`.
- [ ] `crates/signed_state/src/lib.rs`: re-export `LocalRepo`, `Nip34Binding`, `Nip34Kind` (and
`GraspSignals` if the UI needs the flags).
- [ ] `crates/signed_state/src/local_repos.rs`: add a helper that resolves a binding to a
`RepoAddr` (`signed_core::repo_addr(owner, identifier)`) when both are known.
- [x] `crates/signed_state/src/lib.rs`: re-export `LocalRepo`, `Nip34Binding`, `Nip34Kind` and
`GraspSignals`.
- [x] `crates/signed_state/src/local_repos.rs`: `local_repo_addr(&LocalRepo) -> Option<RepoAddr>`
resolves a binding when both owner and identifier are known.
- [x] `crates/workspace/src/views/sidebar/mod.rs`: minimal adaptation of the existing folder-name
dedupe to the new entry type so the tree compiles; the badge/dedupe rewrite is Phase 3.
### Phase 3 — sidebar: derive the local list and link to announcements