diff --git a/src/main.ts b/src/main.ts index 9348706..236974a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -60,7 +60,7 @@ export default class OmnivorePlugin extends Plugin { this.addCommand({ id: "sync", - name: "Sync", + name: "Sync new changes", callback: () => { this.fetchOmnivore() }, @@ -102,6 +102,9 @@ export default class OmnivorePlugin extends Plugin { this.addSettingTab(new OmnivoreSettingTab(this.app, this)) this.scheduleSync() + + // sync when the app is loaded + await this.fetchOmnivore() } onunload() {} @@ -454,13 +457,14 @@ class OmnivoreSettingTab extends PluginSettingTab { new Setting(containerEl) .setName("Filter") - .setDesc("Select an Omnivore search filter type") + .setDesc("Select an Omnivore search filter type. Changing this would reset the 'Last sync' timestamp") .addDropdown((dropdown) => { dropdown.addOptions(Filter) dropdown .setValue(this.plugin.settings.filter) .onChange(async (value) => { this.plugin.settings.filter = value + this.plugin.settings.syncAt = "" await this.plugin.saveSettings() }) }) @@ -475,7 +479,8 @@ class OmnivoreSettingTab extends PluginSettingTab { text: "https://docs.omnivore.app/using/search", href: "https://docs.omnivore.app/using/search", }), - " for more info on search query syntax. Make sure your Filter (in the section above) is set to advanced when using a custom query." + " for more info on search query syntax. Make sure your Filter (in the section above) is set to advanced when using a custom query.", + " Changing this would reset the 'Last Sync' timestamp" ) }) ) @@ -487,13 +492,14 @@ class OmnivoreSettingTab extends PluginSettingTab { .setValue(this.plugin.settings.customQuery) .onChange(async (value) => { this.plugin.settings.customQuery = value + this.plugin.settings.syncAt = "" await this.plugin.saveSettings() }) ) new Setting(containerEl) .setName("Last Sync") - .setDesc("Last time the plugin synced with Omnivore") + .setDesc("Last time the plugin synced with Omnivore. The 'Sync' command fetches articles updated after this timestamp") .addMomentFormat((momentFormat) => momentFormat .setPlaceholder("Last Sync") diff --git a/src/settings/index.ts b/src/settings/index.ts index 5e98d5e..59cde7d 100644 --- a/src/settings/index.ts +++ b/src/settings/index.ts @@ -23,7 +23,7 @@ export const DEFAULT_SETTINGS: OmnivoreSettings = { dateHighlightedFormat: 'yyyy-MM-dd HH:mm:ss', dateSavedFormat: 'yyyy-MM-dd HH:mm:ss', apiKey: '', - filter: 'HIGHLIGHTS', + filter: 'ALL', syncAt: '', customQuery: '', template: DEFAULT_TEMPLATE, diff --git a/src/util.ts b/src/util.ts index 3e2e7b2..510cf80 100644 --- a/src/util.ts +++ b/src/util.ts @@ -116,9 +116,9 @@ export const getQueryFromFilter = ( ): string => { switch (filter) { case "ALL": - return "" + return "in:all" case "HIGHLIGHTS": - return `has:highlights` + return `has:highlights in:all` case "ADVANCED": return customQuery default: