Skip to content

Fix P2P notification stalls and add incremental file-name lookup - #223

Merged
vrtmrz merged 12 commits into
mainfrom
integrate/p2p-path-index
Nov 12, 2026
Merged

vrtmrz merged 12 commits into
mainfrom
integrate/p2p-path-index

Conversation

@vrtmrz

@vrtmrz vrtmrz commented Nov 12, 2026

Copy link
Copy Markdown
Owner

This change prevents unanswered P2P change notifications from blocking later updates and adds incremental file-name lookup for host adapters.

  • Notifications wait for transport sending without creating RPC response waits. Ordinary RPC calls and Chunk acknowledgements retain their completion rules.
  • FilePathIndex preserves original names and every identity candidate. Optional adapter lookup avoids repeated whole-Vault metadata enumeration; existing hosts inherit the listing fallback.
  • Prepares Commonlib 0.5.0 for the required 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.

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.
@vrtmrz
vrtmrz merged commit de623ba into main Nov 12, 2026
3 checks passed
@vrtmrz
vrtmrz deleted the integrate/p2p-path-index branch November 13, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant