Commit Graph
756 Commits
Author SHA1 Message Date
github-actions[bot] b65deede79 Releasing 1.0.10 2026-08-09 02:50:06 +00:00
github-actions[bot] c5835a9da6 Releasing 1.0.9 2026-08-08 13:00:23 +00:00
vorotamoroz d37af53858 Stop repeating cancelled scheduled Fetch 2026-08-08 04:29:57 +00:00
github-actions[bot] b05309ad9c Releasing 1.0.7 2026-08-08 02:51:53 +00:00
vorotamoroz 15abe344bb Keep incomplete Fast Setup isolated 2026-08-07 08:27:04 +00:00
vorotamoroz 741551be3a Releasing 1.0.6 2026-08-06 10:29:58 +00:00
vorotamoroz b42df389fb Distinguish absent and unreadable remote settings during setup
Use typed Commonlib outcomes to guide Fetch and Rebuild without treating a new remote as a failed read. Preserve automatic synchronisation choices when scheduled initialisation is cancelled.
2026-08-06 08:34:41 +00:00
github-actions[bot] 18bf31a01b Releasing 1.0.5 2026-08-05 10:46:11 +00:00
vorotamoroz be6da86a3a Merge pull request #1075 from motolies/korean-translations-100
Complete the Korean translations to full coverage
2026-08-05 19:31:37 +09:00
vorotamoroz 9d25a00c1d Add sleep preferences for finite synchronisation 2026-08-05 09:50:13 +00:00
github-actions[bot] 185ec2c392 Releasing 1.0.4 2026-08-05 04:27:56 +00:00
Namwon KimandClaude Opus 5 697ebe8272 Complete Korean translations to full coverage
Fill in the 318 remaining untranslated message keys for Korean, bringing
`ko` from 1132/1450 to 1450/1450 against the English base locale.

The gap was concentrated in recently added areas: P2P synchronisation UI,
the setup wizard confirmation dialogues, S3/MinIO/R2 and JWT authentication
settings, and the diagnostics/maintenance panels. These keys are looked up
by their English source text, so an absent translation silently fell back
to English.

Terminology follows the existing Korean resource: Vault as 보관함, chunk as
청크, passphrase as 패스프레이즈, replication as 복제, rebuild as 재구축.
Proper nouns (CouchDB, LiveSync, Setup URI, JWT, TURN) are left as-is.

Sentence fragments that are concatenated in the setup wizard were adapted
to Korean word order — Korean places the predicate last, so the emphasised
trailing fragment carries the verb (e.g. "the single, authoritative master
copy" renders as a complete predicate).

Only ko.yaml was hand-edited; ko.json and combinedMessages.prod.ts are
regenerated by `npm run i18n:bake`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5avHoUL5zBwBfakGHyeFz
2026-08-05 12:37:15 +09:00
vorotamoroz c27dbbd572 Fix CLI settings write-back behaviour 2026-08-05 03:24:56 +00:00
github-actions[bot] d672ff04c3 Releasing 1.0.3 2026-08-03 12:07:33 +00:00
vorotamoroz 19f0b3d145 fix(cli): replace the headless log handler 2026-08-01 15:30:46 +00:00
vorotamoroz 42f37753b8 Address WebPeer CSS review warnings 2026-07-31 17:56:26 +00:00
vorotamoroz c97346e262 Unify WebPeer visual design 2026-07-31 15:05:22 +00:00
vorotamoroz 48c398948a Add browser P2P connection check 2026-07-31 14:13:34 +00:00
vorotamoroz 50a51bf07e Use setting control for remediation status 2026-07-31 10:08:34 +00:00
vorotamoroz 1570136703 Fix remediation status element insertion 2026-07-31 09:13:56 +00:00
vorotamoroz b700c631ca Releasing 1.0.2 2026-07-31 07:28:27 +00:00
vorotamoroz fbfb77440d Merge branch 'main' into pr/zeedif/1015 2026-07-31 07:14:14 +01:00
vorotamoroz 21dd24682b Merge branch 'main' into pr/zeedif/1059 2026-07-31 06:00:59 +01:00
vorotamoroz 5c52d69d66 Merge pull request #1055 from motolies/complete-korean-translations
Complete and correct the Korean translations
2026-07-31 13:44:52 +09:00
vorotamoroz a251648e48 Merge pull request #1009 from SeleiXi/feat/history-rev-nav
feat: Add revision prev/next buttons next to history slider
2026-07-31 13:43:14 +09:00
vorotamoroz 57c9726ae5 Merge pull request #1032 from apple-ouyang/fix/keep-replicated-document-apply-active
Keep replicated document application active
2026-07-31 13:41:07 +09:00
vorotamoroz a6977da9e8 Merge pull request #1058 from vrtmrz/issue-1056-preserve-utf8-bom
Preserve UTF-8 BOMs during Vault ingestion
2026-07-31 13:39:27 +09:00
vorotamoroz ce573f18a6 Update octagonal-wheels for Node base64 fallback 2026-07-31 03:13:53 +00:00
Ouyang Xingyuan 0df1f57f3b fix: keep replicated document application active
Why:
- Large downloaded batches can outlive the finite remote operation and be suspended before every document reaches the Vault.
- The v1.0 activity contract requires local application to remain distinct from remote-operation reporting.

Changes:
- Add an Obsidian-owned local application activity boundary which reuses Wake Lock policy without incrementing remote activity.
- Retain one boundary through queue processing and the final recovery snapshot, releasing and reacquiring it around suspension.
- Log final snapshot failures, preserve processing results, and cover the lifecycle with focused tests and documentation.
2026-07-31 11:06:18 +08:00
ZeedifandClaude Opus 5 0518fab62a i18n(es): complete the Spanish catalogue coverage
Fills every untranslated key in the Spanish catalogue: coverage goes from
643/1132 to 1131/1132 against `en.yaml`.

- Translate the 488 keys that had no Spanish entry, covering the Config
  Doctor, tweak-mismatch resolution, the P2P notes and panes, the Setup
  Wizard, the maintenance and patch panels, Garbage Collection V3 and the
  migration dialogues.
- Register follows the existing catalogue: informal address, `es-ES`
  vocabulary, British-style source wording preserved where it is a proper
  noun (Setup URI, Vault, chunk).
- Placeholders (`${...}`), keyword references (`%{...}`) and Markdown
  callout syntax are kept byte-identical to the English source.
- Regenerate `messagesJson/es.json` and `combinedMessages.prod.ts` with the
  documented `i18n:bake` pipeline.

`obsidianLiveSyncSettingTab.logServerConfigurationCheck` is deliberately left
untranslated: its English value is the key itself, so it looks like a
placeholder rather than a message.

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 and test:unit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 19:09:17 -06:00
vorotamoroz e296708845 Preserve UTF-8 BOMs during Vault ingestion 2026-07-31 01:08:56 +00:00
ZeedifandClaude Opus 5 b6746be73e refactor(i18n): route remaining Obsidian UI text through the message catalogue
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>
2026-07-30 18:59:19 -06:00
vorotamoroz b21c3114e5 fix: clarify browser application guidance 2026-07-30 05:53:42 +00:00
Namwon KimandClaude Fable 5 17fe6c1518 Complete and correct the Korean translations
Korean coverage was 796 of 1132 keys (70%), so a large part of the UI fell
back to English. Alongside the missing entries, the existing translations
carried a few defects that were visible to users.

Fixes:

- Three messages had lost the `$` from their placeholders, leaving a literal
  `{origin}`, `{org}` and `{from}->{to}` on screen, because `$msg()` only
  substitutes `${...}`.
- `dialog.yourLanguageAvailable` referenced `%{Display language}`, but the key
  is `Display Language`, so the raw token was shown. Corrected to match ja.
- Sixteen onboarding messages ended with the Japanese full stop `。`.
- Four messages hard-coded a particle after a variable (`${measuredSize}가`),
  which is ungrammatical for values ending in a consonant. They now use the
  paired form `이(가)`, `을(를)`, `(으)로`.

Terminology is now consistent with the Obsidian Korean UI and with the
definitions in docs/terms.md:

- `vault` is 보관함, `device` is 기기, `status bar` is 상태 표시줄.
- `chunk` is 청크 everywhere; the Eden settings had rendered it as 변경 기록
  ("change record"), which is not what a chunk is.
- `Compaction` is 압축 정리, separating it from `Data Compression` (데이터 압축),
  which had shared the same word.
- HTTP `Origin` is 출처; it had been 원점, the geometric origin.
- Six English strings that had mapped to two different Korean strings each are
  now unified.

The remaining 336 keys are translated, including the setup wizard outro, the
insecure-chunk and v0.25.6 recovery dialogues, and the database adapter
migration messages.

This ports vrtmrz/livesync-commonlib#79 to this repository, following the
v1.0.0 boundary change that moved application translations here. On top of
the original work, the 17 keys newly introduced in v1.0.0 (the P2P setup
wizard Invitation, OutroNewP2PUser and RebuildEverythingP2P dialogues, and
the moduleCheckRemoteSize notices) are translated as well.

Verified with _tools/checkI18nCoverage.ts (ko: 1132/1132, 0 missing),
tsc --noEmit, and a dev build. Generated resources are committed as produced
by `npm run i18n:bake`; besides the `ko` entries it also trims a stale
trailing space from five es/zh entries in combinedMessages.prod.ts that had
been left behind by the migration.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EtFsro96LHztmoYmRjtfAy
2026-07-30 09:15:41 +09:00
vorotamoroz d4994fdd05 Releasing 1.0.1 2026-07-29 15:57:33 +00:00
SeleiXi 93bbab4253 fix(history): align revision navigation with v1.0
Use the preferred Obsidian element helper and preseed the real-Obsidian scenario before startup. Register the focused test and strengthen revision boundary coverage.
2026-07-29 23:45:28 +08:00
SeleiXi 8b7d410327 chore: merge upstream main into history revision branch 2026-07-29 23:45:12 +08:00
vorotamoroz 4723771ee0 refactor: compose browser application runtimes 2026-07-29 09:11:57 +00:00
vorotamoroz c3f2163204 Release 1.0.0 2026-07-27 08:12:33 +00:00
vorotamoroz d5a40a7e3d release: prepare 1.0.0-rc.1 2026-07-27 03:37:46 +00:00
github-actions[bot] 8c6824b7f6 Releasing 1.0.0-rc.0 2026-07-27 01:36:33 +00:00
vorotamoroz da4b188b38 Clarify the file inspection action 2026-07-26 15:48:01 +00:00
vorotamoroz 51a749099d Verify P2P pane in a fresh mobile session 2026-07-26 08:06:48 +00:00
vorotamoroz 127d460e18 Improve conflict inspection and recovery workflow 2026-07-25 11:18:10 +00:00
vorotamoroz 12fc43a69c Improve recovery diagnostics and actions 2026-07-25 09:01:25 +00:00
vorotamoroz bea0e68091 Keep translation details out of startup path 2026-07-25 04:34:53 +00:00
vorotamoroz 0d68b6530f Test Garbage Collection V3 against CouchDB 2026-07-25 03:48:51 +00:00
vorotamoroz c8162fd0cd Make dialogue prose selectable 2026-07-24 17:53:55 +00:00
vorotamoroz 0a7a3b1635 Harden Garbage Collection V3 validation 2026-07-24 17:53:22 +00:00
vorotamoroz 20fb027055 Protect conflict chunks during garbage collection 2026-07-24 17:09:22 +00:00