937 Commits
Author SHA1 Message Date
vorotamoroz 30f46649de Prepare release 1.0.37 2026-10-16 14:53:43 +00:00
vorotamoroz 1953bbefb7 Merge commit from fork
Reject unlisted filesystem aliases before vault mutations
2026-10-16 23:38:50 +09:00
vorotamoroz 0bcd9af6a5 Preserve CLI file creation times across in-place edits 2026-10-15 11:07:43 +00:00
Kim Jansheden b71cc14022 Reject unlisted filesystem aliases before vault mutations
(src/serviceModules/FileSystemAdapters/pathAliasGuard.ts)
- Require every existing, unindexed path component to use a name listed by its parent directory.
- Accept case-only and Unicode-normalisation differences while caching positive directory listings briefly.

(src/serviceModules/FileSystemAdapters/ObsidianStorageAdapter.ts, src/serviceModules/FileSystemAdapters/ObsidianVaultAdapter.ts)
- Apply the alias boundary before text, binary, append, directory, removal, create, modify, rename, delete, and trash operations.
- Check both the source and destination of vault renames before calling the host API.

(src/serviceModules/FileSystemAdapters/pathAliasGuard.unit.spec.ts)
- Cover directory and file aliases across every mutating adapter route with synthetic host behaviour.
- Exercise real host filesystem aliases where the platform exposes them, including new files and directories below an aliased folder.
- Preserve listed names, case-only differences, indexed paths, and new-file behaviour.

(src/serviceModules/FileSystemAdapters/ObsidianStorageAdapter.unit.spec.ts, src/serviceModules/FileSystemAdapters/ObsidianVaultAdapter.unit.spec.ts)
- Extend existing adapter fixtures with the vault-index contract used by the guard.
2026-10-14 17:15:20 +02:00
vorotamoroz 1413b63d1f Merge main into the CLI P2P host fix 2026-10-14 13:00:57 +00:00
vorotamoroz 51d16d06c5 Use CLI release tags for Docker image versions 2026-10-14 12:22:52 +00:00
vorotamoroz 8854eb9a15 Run CLI Docker validation on native architectures and publish tested images 2026-10-14 11:22:49 +00:00
vorotamoroz 8892f659f6 Reduce repeated CLI builds and isolate CI publication 2026-10-14 10:08:35 +00:00
vorotamoroz 3e2b4dcb3b Fix automatic P2P settings restoration in CLI host mode 2026-10-14 08:02:13 +00:00
vorotamoroz 4e9c3c8d48 Prepare release 1.0.36 2026-10-13 14:02:56 +00:00
vorotamoroz cbdab5484a Merge pull request #1245 from vrtmrz/fix/configuration-encryption-apply
Preserve configuration encryption edits when applying settings
2026-10-13 21:37:05 +09:00
vorotamoroz 4876374b7e Merge current main into Simplified Chinese translations 2026-10-13 12:14:03 +00:00
vorotamoroz 29c2a0c24c Merge current main into configuration encryption fixes 2026-10-13 12:13:15 +00:00
vorotamoroz 8c258c9224 Preserve Fast Setup choices while translating at display time 2026-10-13 11:04:09 +00:00
vorotamoroz d346bb27ab Merge current main and Maintenance keys into settings localisation 2026-10-13 11:01:31 +00:00
vorotamoroz 9aabbfe0b4 Merge current main into Maintenance translation key migration 2026-10-13 10:47:42 +00:00
vorotamoroz db9f7af4f1 Preserve configuration encryption edits when applying settings 2026-10-13 04:18:57 +00:00
llingting0 c54c716325 i18n(zh): complete Simplified Chinese catalogue
Fill the 408 entries that were missing from the Simplified Chinese
catalogue, bringing coverage of en.json from 72.5% to 100%
(1073 -> 1481 entries; 1480/1480 English keys now translated).

Files updated, per docs/adding_translations.md ("Commit the edited YAML
and all regenerated JSON and TypeScript resources together"):

- src/common/messagesYAML/zh.yaml            - source catalogue
- src/common/messagesJson/zh.json            - npm run i18n:yaml2json
- src/common/messages/combinedMessages.prod.ts
                                             - npm run i18n:bakejson

The TypeScript resource matters: the release workflow runs
`npm run build`, which is only `node esbuild.config.mjs production` and
does NOT re-run `i18n:bake`. Since src/common/translation.ts imports
combinedMessages.prod.ts directly, a catalogue change that omits this
file would not reach the shipped main.js.

Verification

- No existing translation was modified: every key already present in
  zh.json is byte-identical (0 changed, 0 removed).
- Placeholders checked string-for-string against the English source.
  15 new entries contain ${...} or {HERE}; all match.
- combinedMessages.prod.ts regenerated with _tools/bakei18n.ts and
  formatted with the project's Prettier config. The diff against main is
  408 added `zh:` lines plus the expected bookkeeping, and no other
  language changes.
- Terminology follows the existing catalogue (Vault -> 库,
  Passphrase -> 密码短语, Setup URI -> 设置 URI, chunk -> 块).
  Technical identifiers (URL, JWT, CouchDB, S3, TURN, IDB, P2P) are
  intentionally left in English, matching current practice.

Two unrelated upstream issues, not addressed here

1. `dialog.yourLanguageAvailable` defines its placeholder as
   `%{Display language}` while `$msg()` substitutes on `${...}`, so the
   placeholder is never expanded and the literal text is shown in every
   language.
2. The committed YAML catalogues appear stale relative to the JSON ones
   (e.g. `en.yaml` lacks entries that `en.json` already contains, and
   its wrapping differs from current tool output). This affects every
   language and probably deserves a separate change.
2026-10-12 13:59:57 +08:00
github-actions[bot] a5e3b47088 Releasing 1.0.35 2026-10-05 02:02:44 +00:00
Kim Jansheden 893a0e26c3 fix(sync): honour readiness and suspension in Customisation Sync
(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.
2026-10-03 15:05:17 +02:00
github-actions[bot] 27a2d9e8c9 Releasing 1.0.34 2026-10-02 17:25:12 +00:00
vorotamoroz 4583a5a65a Refine Markdown settings export and import
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.
2026-10-02 12:18:36 +00:00
github-actions[bot] 35dd9d9eab Releasing 1.0.33 2026-10-01 04:30:37 +00:00
vorotamoroz e5a854df5a Merge reviewed synchronisation fixes and translations for Setup URI integration 2026-10-01 01:06:37 +00:00
vorotamoroz 0f04cdd59c Merge reviewed translations and synchronisation fixes for Spanish catalogue validation 2026-10-01 00:54:55 +00:00
vorotamoroz 1f720213c9 Merge reviewed Customisation Sync fixes for Russian catalogue validation 2026-10-01 00:46:28 +00:00
vorotamoroz bff70e6ab8 Merge current main to document the Spanish translation update 2026-09-30 17:38:50 +00:00
vorotamoroz 8edc7e3f31 Merge current main for Setup URI dependency alignment 2026-09-30 17:12:04 +00:00
vorotamoroz fc71c2a9e7 Merge tested Customisation Sync timestamps and current main 2026-09-30 16:42:43 +00:00
vorotamoroz e34c4b2830 Cover Russian catalogue interpolation and rendered values 2026-09-30 16:38:25 +00:00
vorotamoroz 2c991bd2f9 Merge main for Russian catalogue interpolation coverage 2026-09-30 16:38:25 +00:00
vorotamoroz a3f4388c1e Merge readiness fix before Customisation Sync validation 2026-09-30 16:36:31 +00:00
vorotamoroz a790d88b97 Merge main for current Customisation Sync regression coverage 2026-09-30 16:20:40 +00:00
vorotamoroz 8aa72f85a0 Merge main to validate received-change readiness with Commonlib 0.1.34 2026-09-30 16:17:19 +00:00
vorotamoroz 68a86974f7 Cover received changes held until application readiness 2026-09-30 16:00:06 +00:00
vorotamoroz a8b9a901e4 Show initial and retrying Chunk fetches separately
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.
2026-09-30 08:48:18 +00:00
vorotamoroz ad5351b8f6 Use a link icon for joining a device 2026-09-30 01:31:36 +00:00
Kim Jansheden de2ebaeea5 Resume held replication results on application readiness
Trigger queued result processing on Commonlib readiness while preserving
explicit suspension. Cover both transitions with focused tests.
2026-09-29 19:39:20 +02:00
vorotamoroz a511b51d2c Merge main and verify ID keys through Setup URI and QR 2026-09-29 14:28:51 +00:00
vorotamoroz bf7822f20b Add independent ID key configuration and recovery 2026-09-29 12:58:11 +00:00
vorotamoroz 126adcb955 fix: initialise missing compatibility markers without pausing 2026-09-29 08:28:01 +00:00
vorotamoroz b83f837065 Clarify setup choices with short labels and icons 2026-09-29 07:38:55 +00:00
vorotamoroz c52cf98545 Complete Commonlib 0.1.32 stacked Setup URI validation 2026-09-29 07:04:00 +00:00
vorotamoroz 9e388c2044 Merge internal Metadata integration for stacked Setup URI validation 2026-09-29 06:38:27 +00:00
vorotamoroz 03d8d3307d Merge origin/main into time-bound Setup URI branch 2026-09-28 10:29:11 +00:00
vorotamoroz 3a478cce3f Prepare time-bound Setup URI integration for Commonlib release
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.
2026-09-28 10:22:28 +00:00
vorotamoroz 4677232ac1 Clarify internal file Properties encryption wording 2026-09-27 12:55:53 +00:00
vorotamoroz 2c6cd56618 Simplify remote feature checks and clarify manual rebuild guidance 2026-09-27 11:08:53 +00:00
vorotamoroz 6c50505096 Integrate encrypted internal metadata in LiveSync 2026-09-27 09:51:53 +00:00
github-actions[bot] 1ce3caf2ad Releasing 1.0.32 2026-09-27 02:14:24 +00:00