- Use a plain emoji glyph for the password visibility toggle instead
of embedded SVG paths, matching the same pragmatic approach already
used for the browser build's menu icons in this codebase.
- Scope the wider label width to the E2EE dialogue instead of
changing it for every InputRow in every Svelte dialogue.
- Extend the existing CouchDB manual setup E2E workflow to assert the
passphrase and Obfuscate Properties fields are hidden until
encryption is enabled, then appear, and that the passphrase value
survives toggling its visibility.
- Only show the passphrase and "Obfuscate Properties" controls once
end-to-end encryption is enabled, instead of leaving them visible
but disabled.
- Replace the password show/hide checkbox with an icon toggle button.
- Let translated labels wrap to their content instead of being
clipped into a fixed-width column (this clipped longer translated
labels, e.g. in German and Spanish).
- Scope the onboarding invitation link's 44px touch-target padding to
mobile, so on desktop it renders as a normal inline link instead of
a stray, oddly-padded button.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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>
### Fixed (This should be backported to 0.25.22 if the beta phase is prolonged)
- No longer larger files will not create a chunks during preparing `Reset Synchronisation on This Device`.
### Behaviour changes
- Setup wizard is now more `goal-oriented`. Brand-new screens are introduced.
- `Fetch everything` and `Rebuild everything` is now `Reset Synchronisation on This Device` and `Overwrite Server Data with This Device's Files`.
- Remote configuration and E2EE settings are now separated to each modal dialogue.
- Peer-to-Peer settings is also separated into its own modal dialogue.
- Setup-URI, and Report for the Issue are now not copied to clipboard automatically. Instead, there are copy dialogue and buttons to copy them explicitly.
- No longer optional features are introduced during the setup or `Reset Synchronisation on This Device`, `Overwrite Server Data with This Device's Files`.
- We cannot preform `Fetch everything` and `Rebuild everything` (Removed, so the old name) without restarting Obsidian now.
### Miscellaneous
- Setup QR Code generation is separated into a src/lib/src/API/processSetting.ts file. Please use it as a subrepository if you want to generate QR codes in your own application.
- Setup-URI is also separated into a src/lib/src/API/processSetting.ts
- Some direct access to web-APIs are now wrapped into the services layer.
### Dependency updates
- Many dependencies are updated. Please see `package.json`.
- As upgrading TypeScript, Fixed many UInt8Array<ArrayBuffer> and Uint8Array type mismatches.