Continues the source-key migration inside the application boundary introduced
in 1.0.0, where LiveSync owns its catalogue and consumes Commonlib as a
published package.
- Replace hardcoded user-visible strings in the Obsidian UI (Setup Wizard
dialogues, P2P panes, Customisation Sync panes, Global History, the JSON
conflict pane and the remote-configuration menu) with `$msg` calls, keeping
the English source string as the key.
- Wire up strings whose translations already existed in the catalogue but were
still rendered as literals, for example the whole Intro dialogue.
- Add the new entries to `src/common/messagesYAML/en.yaml` and `es.yaml`, then
regenerate `messagesJson/` and `combinedMessages.prod.ts` through the
documented `i18n:bake` pipeline.
- No Commonlib gitlink or catalogue is involved; every change is
LiveSync-owned.
Regenerating the catalogue also normalises three pre-existing entries each in
`ko.json` and `zh.json`, where the committed JSON kept a trailing space before
a newline that YAML cannot represent.
Verified with tsc-check, tsc-check:apps, svelte-check and lint.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Local database maintenance actions require local chunk revisions and fully replicated chunks, but previously failed with a notice when those settings were not already configured.
This adds a small prerequisite confirmation helper for the maintenance commands. When required settings are missing, the user can apply them and continue from the action they already started, or cancel without changing settings.
Covers both required maintenance settings:
- Compute revisions for chunks enabled
- Fetch chunks on demand disabled
Fixes#980
This commit may contains behavioural changes.
- Fix for the issue with corrupted log displays
- Wrap the activeDocument
- Reduced potential type errors and strengthened certain checks
- Made error handling more robust (by rewriting the error class)
- No longer the P2P passphrase mismatch causes a server shutdown.
- Settings related to P2P synchronisation are now correctly applied on start-up and no longer reverted.
### New features
- Diagnostic P2P connection stats are now available.
- These stats indicate the number of connection trials, successes, and, failures.
- Added active P2P remote selector and creation option in the status pane.
- Introduced immediate replication action for accepted peers.
- Updated status control icons for clarity.
- Display stable Room ID suffix above Peer ID in the status card.
- Implemented dedicated active remote configuration for P2P features.
- Added migration support for P2P active remote selection.
- Improved unit test coverage for P2P settings.
When couchDB_URI ends with a trailing slash (e.g. https://host/), the
database name concatenation produces a double-slash path
(https://host//obsidiannotes), which causes CouchDB to reject requests
with 401 "Name or password is incorrect".
Strip trailing slashes from couchDB_URI / baseUri at the path
concatenation sites in:
- src/common/utils.ts (_requestToCouchDBFetch, _requestToCouchDB)
- src/features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts
The companion fix for the replication path is in the livesync-commonlib
submodule.
Ref: #859