(src/features/ConfigSync/CmdConfigSync.ts)
- Call the readiness predicate before accepting configuration file events.
- Stop the periodic sweep while settings are applied and let the resume lifecycle scan and restart it once.
(src/features/ConfigSync/CmdConfigSync.applySettings.unit.spec.ts)
- Exercise the ControlService settings path while active, suspended, and resumed.
- Verify that suspended settings application performs no scan and leaves the periodic sweep stopped.
(src/features/ConfigSync/CmdConfigSync.readiness.unit.spec.ts)
- Cover configuration file events before and after application readiness.
(updates.md)
- Document the readiness and suspension behaviour.
Apply the shared settings policy to Markdown files and retain local credentials
and profile selections when connection sharing is disabled. Document the
available manual sharing paths.
Add export and import checks using isolated Obsidian sessions, including
persistence and restart. Use the reviewed local Commonlib candidate for
downstream validation.
Display disjoint pending counts in the status bar and cover atomic updates and disposal. Add a real Obsidian and CouchDB scenario for delayed arrival, terminal absence, and finite-replication completion.
Document retry scheduling and pending-count semantics. This uses the new Commonlib chunkFetchCounts export; the exact package dependency will be updated after its publication.
Add Time-bound and Compatible generation to the Obsidian dialogue, browser peer check, and setup tools, with boundary and compatibility coverage. Show the fixed window end before sharing a Time-bound URI.
This review branch depends on unpublished @vrtmrz/livesync-commonlib 0.1.32-next.0. The root npm pin and Deno lockfile remain unchanged until that candidate is available; a fresh install of this commit is not yet expected to build.
Remediation mode prevents the reconciliation scan which readiness depends upon,
so the application never becomes ready while the modification-time limit is set.
Since the result processor began waiting for readiness, nothing was applied in
that mode at all, not even changes older than the limit, which is what the mode
exists for. Result application no longer requires readiness while the limit is
configured, but it does require a usable local database, because a change applied
while a fetch has reset the database cannot gather its chunks and is dropped.
The limit itself is still enforced for every change.
A scheduled fetch also no longer offers Simple Fetch in this mode. Simple Fetch
reconciles the Vault with the local database after fetching, past the check which
refuses that scan, so it could store the current files or write changes newer than
the limit. The detailed flow states the restriction and offers to clear it first.
Use compatGlobal and CompatTimeoutHandle for request deadlines. Enforce the community no-global-this rule for integrations and make violations fail quiet lint checks.
Document exact file revision provenance and add real Obsidian scenarios for stale files after restart, parent-folder renames, and parent-folder deletion. Characterise replication queue delays during repeated writes to one document.
Companion to Commonlib c0a84a4. Validation used its packed artefact; the local file dependency remains uncommitted until a published Commonlib version is available.
The checkbox only toggled a CSS class for rows labelled "All the same or
non-existent", while `hideNotApplicable`, which filters the offered
devices by whether their copy can be applied, was hard-coded to false.
Items present on another device therefore stayed visible even when every
copy was the same.
Drive `hideNotApplicable` from the checkbox, so the comparison only runs
while it is on, and pass it to the reactive update so toggling it
re-evaluates the rows. The term selection moves into PluginTerms.ts so it
can be unit-tested.
Fixes#1193
PluginDataExDisplayV2.mtime applied `~~` to the sum of millisecond
timestamps before dividing, which keeps only the low 32 bits. The
freshness chip and "Select All Shiny" then compared wrapped values and
could offer an older copy as newer.
Fixes#1194