onlyworlds_obsidian-plugin/sync
Titus 87e003e2e7 2.0.0: SDK, auto-sync, native settings, modernized build
Major rebuild. Plugin now uses @onlyworlds/sdk for API calls via Obsidian's
requestUrl, native PluginSettingTab for configuration, and a debounced auto-sync
engine that pushes element edits to onlyworlds.com after idle.

Changes
- Drop handrolled API code; route all writes through @onlyworlds/sdk subclass
- Native settings tab: API key, PIN, default world, sync mode, debounce
- PIN handling: persist in settings or cache per session; no per-save prompts
- Auto-sync toggle with configurable debounce (default 3s)
- Status bar + ribbon icon reflect sync state (idle/dirty/syncing/synced/error)
- Ribbon click opens menu (Sync / Settings / About) instead of firing sync
- Settings API key wins over per-world World.md (legacy fallback preserved)
- Add Map, Pin, Marker to element category enum (now 22)
- ESLint config (eslint-plugin-obsidianmd) scoped to new code
- Modernize build: TS 5.8, esbuild 0.25, stricter tsconfig
- Drop dead code: GraphViewExtensions, dead command imports, handleApiError

Compatibility
- Existing v1 vaults work unchanged. Span-tag format preserved.
- OnlyWorlds/Settings.md still readable; new settings tab takes precedence.
- isDesktopOnly: true. Mobile pending verification.
2026-05-11 12:51:28 +02:00
..
auto-sync.ts 2.0.0: SDK, auto-sync, native settings, modernized build 2026-05-11 12:51:28 +02:00
ribbon.ts 2.0.0: SDK, auto-sync, native settings, modernized build 2026-05-11 12:51:28 +02:00
status-bar.ts 2.0.0: SDK, auto-sync, native settings, modernized build 2026-05-11 12:51:28 +02:00