mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-06-14 18:30:14 +00:00
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>
This commit is contained in:
@@ -2,7 +2,7 @@ import { AbstractObsidianModule } from "../AbstractObsidianModule.ts";
|
||||
import { EVENT_FILE_RENAMED, EVENT_LEAF_ACTIVE_CHANGED, eventHub } from "../../common/events.js";
|
||||
import { LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "octagonal-wheels/common/logger";
|
||||
import { scheduleTask } from "octagonal-wheels/concurrency/task";
|
||||
import { Platform, type TFile } from "../../deps.ts";
|
||||
import type { TFile } from "../../deps.ts";
|
||||
import { fireAndForget } from "octagonal-wheels/promises";
|
||||
import { type FilePathWithPrefix } from "../../lib/src/common/types.ts";
|
||||
import { reactive, reactiveSource, type ReactiveSource } from "octagonal-wheels/dataobject/reactive";
|
||||
@@ -146,7 +146,7 @@ export class ModuleObsidianEvents extends AbstractObsidianModule {
|
||||
const keepActiveInBackground =
|
||||
this.settings.keepReplicationActiveInBackground &&
|
||||
(this.settings.liveSync || this.settings.periodicReplication) &&
|
||||
Platform.isDesktopApp;
|
||||
!this.services.API.isMobile();
|
||||
|
||||
if (isHidden) {
|
||||
if (!keepActiveInBackground) await this.services.appLifecycle.onSuspending();
|
||||
|
||||
Reference in New Issue
Block a user