Commit graph

743 commits

Author SHA1 Message Date
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
Zeedif
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
Zeedif
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 Kim
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
vorotamoroz
07cba4ce83 Keep unreadable revisions for explicit repair 2026-07-24 16:15:46 +00:00
vorotamoroz
658ad6dfe4 Describe saved connections consistently 2026-07-24 16:15:02 +00:00
vorotamoroz
0e5475b7e3 Limit commands to applicable contexts 2026-07-24 16:13:49 +00:00
vorotamoroz
d489452583 Improve troubleshooting and compatible setting handling 2026-07-24 08:51:30 +00:00
vorotamoroz
bf0fc0aea8 Retire orphaned WebApp tests and classify regression guards 2026-07-23 17:21:16 +00:00
vorotamoroz
24b941f594 Group Hidden File Sync initialisation progress 2026-07-23 16:47:30 +00:00
vorotamoroz
c8050322e4 Clarify remote setup and verify manual CouchDB onboarding 2026-07-23 16:46:50 +00:00
vorotamoroz
1df034f12a Refine P2P and manual setup workflows 2026-07-23 15:23:47 +00:00
vorotamoroz
2977287438 Stabilise relay disconnect readiness check 2026-07-23 08:16:32 +00:00
vorotamoroz
f8f11f358a Handle multiple conflict revisions deterministically 2026-07-23 06:38:16 +00:00
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
f24c543dd3 Persist displayed branches through conflict operations 2026-07-22 16:01:57 +00:00
vorotamoroz
87152244d7 Reprocess stored documents after reflection filters change 2026-07-22 06:23:16 +00:00