mirror of
https://github.com/onlyworlds/obsidian-plugin.git
synced 2026-07-22 11:00:31 +00:00
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. |
||
|---|---|---|
| .. | ||
| settings-tab.ts | ||
| settings.ts | ||