Commit Graph
139 Commits
Author SHA1 Message Date
vorotamoroz db70b4c2b6 Migrate LiveSync flows to provider-owned resources 2026-08-28 17:54:04 +00:00
vorotamoroz edeac6f7e2 Separate settings component style helpers 2026-08-26 05:49:37 +00:00
vorotamoroz 783fbb8f23 Refine mobile settings action layout markers 2026-08-26 05:13:38 +00:00
vorotamoroz 8644af6128 Narrow mobile settings layout fix 2026-08-26 04:30:44 +00:00
vorotamoroz 4ff5b4dfe8 Fix mobile settings layout overflow 2026-08-25 17:27:31 +00:00
vorotamoroz 537e0e42c3 Fix premature settings evaluation at startup 2026-08-25 13:57:04 +00:00
vorotamoroz 3ea8eac212 Reduce deprecated API and dependency warnings 2026-08-25 10:29:21 +00:00
vorotamoroz f6eefed97c Route pending settings through initialisation choices 2026-08-25 09:12:16 +00:00
vorotamoroz 131ffeb0ef Separate declarative root group identity from display 2026-08-25 07:29:56 +00:00
vorotamoroz 070ce0e307 Reorganise settings around common tasks 2026-08-25 05:34:57 +00:00
vorotamoroz 8adc88b8cb Complete declarative settings runtime integration 2026-08-24 18:11:46 +00:00
vorotamoroz dd11a753d5 Align host integrations with current API recommendations 2026-08-24 16:39:32 +00:00
vorotamoroz 47759f6205 Adapt settings pages to Obsidian's declarative API 2026-08-24 12:17:19 +00:00
vorotamoroz d8f7762d01 Introduce shared setting specifications for Advanced settings 2026-08-24 10:36:39 +00:00
vorotamoroz ebaf89f822 Remove obsolete settings wizard 2026-08-24 10:02:32 +00:00
nimulaandClaude Opus 5 f8ee3c8662 i18n: wire the display-language translator into the settings manifest
Commonlib's `getConfig(key, translate?)` and `getConfName(key, translate?)`
default `translate` to `englishMessageTranslator`, and this plug-in never
passed the second argument. Every automatically wired setting therefore
rendered its name and description in English, whatever `displayLanguage` was
set to. Commonlib's own Config Doctor already threads a translator through
`getConfName`, so this only restores the argument which was missing here.

`src/modules/features/SettingDialogue/settingConstants.ts` now re-exports the
names it supplies explicitly and adds thin `getConfig` and `getConfName`
wrappers which default the translator to `translateLiveSyncMessage`. That
reaches all three existing call sites, and therefore the 102 `setAuto` and
`autoWire*` calls across the setting panes, the setup-wizard configuration
summaries, and the externally-modified-setting prompt. Of the 225 distinct
name and description strings in the two manifest tables, 160 are already
catalogue keys with translations; the remaining 65 are not catalogue keys and
pass through unchanged.

`ModuleResolveMismatchedTweaks` used `confName()`, which accepts no
translator, so it gains a local `localisedConfName()` instead. Swapping in
`getConfName()` there would have silently dropped the `statusDisplay()`
suffix, replaced the empty-string fallback for an unknown key with
`${key} (No info)`, and introduced `SettingInformation` as a second source.

English output is unchanged: every catalogue key which contains a space has a
value identical to the key itself, so translating under the default language
is idempotent.

Verified with `npm run check`, `npm run test:unit`, and `npm run build`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-20 02:17:20 +00:00
vorotamoroz de03534d2f fix: close finite remote database connections 2026-08-14 10:29:29 +00:00
vorotamoroz c933674a0d Add safe Metadata document ID repair 2026-08-12 18:56:17 +00:00
vorotamoroz 9d25a00c1d Add sleep preferences for finite synchronisation 2026-08-05 09:50:13 +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
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 da4b188b38 Clarify the file inspection action 2026-07-26 15:48:01 +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 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 1df034f12a Refine P2P and manual setup workflows 2026-07-23 15:23:47 +00:00
vorotamoroz 1ef8c88139 Complete Commonlib rc.6 integration and setup workflows 2026-07-21 15:00:28 +00:00
vorotamoroz 3eda3316c5 Re-evaluate optional features for 1.0 2026-07-21 01:53:13 +00:00
vorotamoroz 104eeadb4b Reduce Community lint type-safety warnings 2026-07-20 18:08:09 +00:00
vorotamoroz 80d1416a81 Align host settings with the 1.0 lifecycle 2026-07-20 13:20:48 +00:00
vorotamoroz ed3f81e9f9 Prepare the 1.0 compatibility review flow 2026-07-19 04:34:08 +00:00
vorotamoroz 52138bf7a5 Prefer focused Commonlib entry points 2026-07-18 18:16:16 +00:00
vorotamoroz 81d27a932f Route application diagnostics through owned log paths 2026-07-18 16:53:20 +00:00
vorotamoroz 6e00b8195a fix: remove ineffective trash setting toggle 2026-07-17 14:55:30 +00:00
vorotamoroz 326bf77183 refactor: align platform APIs with community review 2026-07-17 14:47:27 +00:00
vorotamoroz a721d3b602 refactor: consume Commonlib as a package 2026-07-17 11:13:16 +00:00
vorotamoroz 431a845f18 fixed
- Journal upload issue
- Types and Setting Tab issue
2026-06-23 09:36:32 +01:00
vorotamoroz 62f44e38c0 Releasing 0.25.77 (#968)
Squash commits
2026-06-19 17:45:37 +09:00
vorotamoroz 497fd04081 fix global references 2026-06-17 05:29:45 +01:00
vorotamoroz ae9c46f8f0 Fix import paths 2026-06-17 04:39:39 +01:00
Miguel FerreiraandClaude Opus 4.8 292a6b9e1e refactor: detect platform via APIService.isMobile() instead of Platform.isDesktopApp
Address the maintainer review on #949: determine the platform through the
plugin's own service layer (services.API.isMobile()) rather than Obsidian's
Platform API directly, matching the existing call in ObsidianLiveSyncSettingTab.
Applies to both PR-introduced sites: the runtime guard (ModuleObsidianEvents)
and the settings-pane toggle (PaneSyncSettings).

The TFile import becomes type-only so deps.ts is no longer pulled at runtime;
the unit test drives the platform through the services.API.isMobile() mock.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 10:45:40 +01:00
Miguel Ferreira c78e583399 feat: opt-in desktop setting to keep replication active in the background
Replication is suspended when the Obsidian window becomes hidden (document.hidden),
so LiveSync and Periodic stop syncing while minimised until the window is focused.

Add keepReplicationActiveInBackground (default off, desktop only). When enabled, the
window-visibility handler no longer suspends on hide, so replication keeps running while
minimised. Becoming visible forces a teardown before reopen (LiveSync only) so a stalled,
half-open channel is always replaced.

Includes the setting definition (src/lib submodule), a desktop-only toggle in the Sync
pane shown for LiveSync and Periodic, a docs/settings.md entry, and unit tests for the
visibility handler.
2026-06-05 00:06:26 +01:00
vorotamoroz 7c203a522a Aligned to eslint rules and fixed following things:
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)
2026-06-01 05:28:03 +01:00
vorotamoroz c80c294d93 satisfies
Address following rules
-
- @typescript-eslint/unbound-method
- obsidianmd/prefer-active-doc
- obsidianmd/prefer-window-timer

Improve typing
2026-06-01 04:20:47 +01:00
vorotamoroz 3e65ae932d Address following rules
- @typescript-eslint/no-redundant-type-constituents
2026-06-01 03:50:51 +01:00