Commit Graph
1797 Commits
Author SHA1 Message Date
vorotamoroz d784799969 Improve postponed conflict resolution handling
Keep unresolved conflicts visible after Not now, reopen them only on explicit requests, and clear stale warning and dialogue state when a replicated resolution arrives. Add typed provisional English messages, revision-tree regressions, specifications, and a focused Real Obsidian E2E.
2026-07-23 02:00:24 +00:00
vorotamoroz 8d82a3a00c Record beta preview history for corrected successor 2026-07-22 17:43:11 +00:00
vorotamoroz eaaf5fcdd9 Keep Obsidian CLI override guidance general 2026-07-22 17:09:25 +00:00
vorotamoroz defef55a6e Use published Commonlib 0.1.0-rc.10 2026-07-22 16:57:46 +00:00
vorotamoroz dcbf26f874 Document explicit Obsidian CLI discovery 2026-07-22 16:18:20 +00:00
vorotamoroz f24c543dd3 Persist displayed branches through conflict operations 2026-07-22 16:01:57 +00:00
vorotamoroz 59aa8ad9a9 Verify vertical actions in setup guide captures 2026-07-22 10:49:08 +00:00
vorotamoroz a69c7b2b6c Prepare concise 1.0 beta notes and fix release rotation 2026-07-22 09:54:01 +00:00
vorotamoroz f7577db1d2 Wait for stable upgrade fixtures to initialise 2026-07-22 08:38:00 +00:00
vorotamoroz 6b634cd9f2 Use published Commonlib and test-session releases 2026-07-22 08:37:34 +00:00
vorotamoroz 4ed49c3c36 Document legacy upgrade and reflection behaviour 2026-07-22 06:23:39 +00:00
vorotamoroz 87152244d7 Reprocess stored documents after reflection filters change 2026-07-22 06:23:16 +00:00
vorotamoroz aad0e56f09 Preserve legacy settings across same-profile upgrades 2026-07-22 06:21:54 +00:00
Andrew Leech a3a09df3c8 fix(storage): floor write-option timestamps in Obsidian adapters
Obsidian's mobile storage layer forwards mtime/ctime to Capacitor's
Filesystem.setTimes, whose native binding casts the value to a Java Long.
A non-integer (float) timestamp makes that cast throw (ClassCastException:
Double cannot be cast to Long), which crashes the app on launch as soon as
such a document is replicated in.

Float timestamps can reach the database from any client that stores
fs.Stats.mtimeMs without flooring. Coerce mtime/ctime to integer ms at the
Obsidian vault and storage adapter write boundary, so a float already
present in the mesh can't crash the app regardless of where it came from.

The truly central choke point is dbToStorage in livesync-commonlib; a
matching guard there would cover the CLI and webapp too. This change
protects the platform that actually crashes.

Claude-Session: https://claude.ai/code/session_0123E9jVQrsgu3zb82Csuwhi
2026-07-22 14:08:21 +10:00
Andrew Leech 4393a49cba fix(cli): floor watch-mode stat timestamps to integer ms
CLIWatchAdapter._toNodeFile passed chokidar's raw stats.ctimeMs/mtimeMs
straight through. On Linux those carry sub-millisecond precision (e.g.
1778511180024.462), so watch-mode file changes wrote non-integer
timestamps into the database.

The earlier floor fix (3f7bb047) covered the scan/stat adapters but missed
this watch path, which is the one the daemon actually uses at runtime.
Mobile clients then crash on such a document because Capacitor's
Filesystem.setTimes casts the value to a Java Long (ClassCastException:
Double cannot be cast to Long).

Floor ctimeMs/mtimeMs here, with a null guard so a partial stat still
falls back to Date.now(). Adds a regression test that a fractional stat is
floored.

Claude-Session: https://claude.ai/code/session_0123E9jVQrsgu3zb82Csuwhi
2026-07-22 14:08:21 +10:00
vorotamoroz c669f64933 Use Commonlib 0.1.0-rc.8 2026-07-22 02:30:30 +00:00
vorotamoroz 00f49a13ab Document CLI storage trust boundary 2026-07-22 01:00:51 +00:00
vorotamoroz f27aa5be7b Record final Commonlib consumer hardening 2026-07-22 00:18:21 +00:00
vorotamoroz 2b8b3aa5fd Make repository lint checks deterministic 2026-07-22 00:18:01 +00:00
vorotamoroz 65547515a1 Resolve newly disclosed parser advisories 2026-07-22 00:17:40 +00:00
vorotamoroz fc74638642 Use rooted Commonlib storage in the CLI 2026-07-22 00:17:03 +00:00
vorotamoroz 1ef8c88139 Complete Commonlib rc.6 integration and setup workflows 2026-07-21 15:00:28 +00:00
vorotamoroz e005f9eb13 Prepare the 1.0 beta release lifecycle 2026-07-21 07:15:55 +00:00
vorotamoroz 8bf1ae81d7 Resolve fixable dependency advisories 2026-07-21 05:40:37 +00:00
vorotamoroz 04b5734089 Centralise setup tool Commonlib selection 2026-07-21 04:31:09 +00:00
vorotamoroz b44a7fa50f Make focused Obsidian checks build current source 2026-07-21 04:15:57 +00:00
vorotamoroz f195b9be0c Serialise startup compatibility dialogues 2026-07-21 03:39:12 +00:00
vorotamoroz 462b769e34 Use published Commonlib 0.1.0-rc.5 2026-07-21 03:38:47 +00:00
vorotamoroz 3eda3316c5 Re-evaluate optional features for 1.0 2026-07-21 01:53:13 +00:00
vorotamoroz ed7471fba5 Validate custom HTTP request bodies 2026-07-20 23:37:04 +00:00
vorotamoroz 104eeadb4b Reduce Community lint type-safety warnings 2026-07-20 18:08:09 +00:00
vorotamoroz 2cf535332b Add verified setup workflow screenshots 2026-07-20 17:10:38 +00:00
vorotamoroz 86492ca2cc Prove the provisioned Setup URI workflow 2026-07-20 16:37:35 +00:00
vorotamoroz 499f9e93e5 Generate current Setup URIs through Commonlib 2026-07-20 15:59:59 +00:00
vorotamoroz 44784d4865 Use Commonlib for self-hosted setup tools 2026-07-20 15:47:12 +00:00
vorotamoroz c49536acc9 Unify P2P disconnect labels 2026-07-20 15:18:02 +00:00
vorotamoroz ca90e561ab Document onboarding and settings lifecycles 2026-07-20 15:11:59 +00:00
vorotamoroz 6484a43e2f Keep P2P consumers on the current transport 2026-07-20 15:06:05 +00:00
vorotamoroz 893c08ad2a Create remote profiles during onboarding 2026-07-20 14:33:09 +00:00
vorotamoroz 40a4987b0b Reserve setup initialisation before enabling settings 2026-07-20 14:20:10 +00:00
vorotamoroz 7faf51a6c4 Use published Commonlib 0.1.0-rc.4 2026-07-20 14:05:02 +00:00
vorotamoroz 4cbe5679e1 Retire obsolete browser Harness 2026-07-20 13:22:22 +00:00
vorotamoroz 80d1416a81 Align host settings with the 1.0 lifecycle 2026-07-20 13:20:48 +00:00
vorotamoroz 52e7bd25da feat: restore opt-in first-run onboarding 2026-07-20 11:28:41 +00:00
vorotamoroz f70779c352 feat: restore opt-in review harness 2026-07-20 10:50:08 +00:00
vorotamoroz 71f1b63b9a test: recover review harness controller contract 2026-07-20 10:14:01 +00:00
vorotamoroz 0a31d30c6c test: recover review harness vault fixture 2026-07-20 09:56:18 +00:00
vorotamoroz eb486ed7a4 test: clean up failed two-vault sessions 2026-07-20 09:31:09 +00:00
vorotamoroz e79686d275 test: adopt macOS-safe real-Obsidian sessions 2026-07-20 08:54:20 +00:00
vorotamoroz 0c3c5db6c1 Finalise 1.0.0-rc.0 release notes 2026-07-19 12:44:44 +00:00