Repository navigation
Fix P2P notification stalls and add incremental file-name lookup - #223
Merged
Merged
Conversation
Bind standalone functions with the dependencies and state each operation uses. Keep shared replication data contracts independent of operation owners while preserving existing type exports. Add direct operation tests and retain factory lifecycle coverage.
Exercise transfer fan-out, discovery waits, admission decisions, peer departure, and cancellation failures through existing operation and transport interfaces. Check that closing clients releases cached handles and prevents stale calls.
Use a neutral RPC provider and explicit closed client resources. Extract peer admission, and add room and relay controls for direct boundary tests.
Verify disposal and handler replacement, authentication admission, malformed requests, automatic peer gates, and legacy response compatibility through public operations and real RPC boundaries.
Expose a host-owned file-name lookup capability and shared index so collision checks can reuse identity buckets across content-only edits. Retain fallback hosts and fresh reconstruction preflight guarantees.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change prevents unanswered P2P change notifications from blocking later updates and adds incremental file-name lookup for host adapters.
FilePathIndexpreserves original names and every identity candidate. Optional adapter lookup avoids repeated whole-Vault metadata enumeration; existing hosts inherit the listing fallback.StorageAccess.findPathIdentityCandidates()method and explicit closed P2P client state.Related: #221 and #222. A lost final notification still needs a later change or explicit synchronisation.
Validation: clean installation, type checks, 4,056 unit tests, boundary and release checks, 40 real-service integration tests, and packed-package consumer checks passed. The packed 0.5.0 candidate also passed LiveSync type/lint/compatibility checks, application builds, and real Obsidian file-name lifecycle and rebuild-preflight checks. Real CLI/CouchDB watch and restart checks passed. Real Linux ARM64 Obsidian and WebRTC checks passed for normal notification delivery, initial notification rejection, and an older receiver. Mobile emulation does not establish native Android behaviour.