Releases: Lywooye/obsidian-device-plugin-sync
Release list
0.3.5 — Clearer local plugin controls
Phones and iPads now clearly show that moving installed plugin files is not supported. Applying sync choices no longer opens an unusable cleanup prompt. Existing local backups remain viewable, without move or restore controls on mobile.
On computers, the manual file operation lives under Advanced: local plugin files and is labelled Move out of the plugin folder and keep a backup. This moves files into a recoverable local backup; it does not permanently delete them or free storage.
The settings page also lists recognizable plugins that are excluded in this device's actual Sync settings but are still installed. Unapplied matrix choices are not counted. English and Chinese documentation explain these boundaries.
Validation: 198 local tests passed with no skips, including the reviewed desktop/mobile native fixtures; 75 UI cases passed again after the final wording update. GitHub CI passed 147 cases with 51 expected native-fixture skips. Desktop 1.13.7 installation and settings loading were checked. Existing Sync compatibility profiles and desktop file-operation checks are unchanged. Real phone/iPad transfers, restart persistence, and cross-device deletion remain unverified.
Install the three runtime files (main.js, manifest.json, styles.css) or use the ZIP. A paid Obsidian Sync subscription is required. Obsidian 1.13.7 and on-device compatibility checks remain required; mobile Sync writes still require the existing experimental opt-in on each device.
0.3.4 - Mobile Sync compatibility
Fixes Obsidian 1.13.7 phones being rejected because their Sync method fingerprints were compared with the desktop build.
- Uses a separate, reviewed mobile Sync profile; exact version, all 12 method hashes, isolated filtering checks, and explicit local mobile opt-in remain required.
- Improves the unsupported-build explanation in Chinese and English.
- Adds mobile native-source inspection tools and tests. All 192 local tests passed with the reviewed desktop and mobile source available.
After updating on a phone or iPad, disable and re-enable Device Selective Sync, refresh its settings, select this device, and explicitly enable Allow sync changes on this phone or tablet (experimental) after compatibility checks pass. Review and apply this device's choices.
The reviewed source comes from the official Android 1.13.7 release; its 12 Sync/filter method fingerprints match the supplied iPhone diagnostics. This does not establish full iOS source equivalence or real phone/iPad transfers, IndexedDB durability, or cold-start persistence. Mobile writes remain experimental. Installation detection and cleanup still have separate unchanged compatibility checks; manually register local installs if automatic detection is unavailable.
中文:修复手机端 1.13.7 因沿用电脑端指纹而无法应用同步选择的问题。更新后,在手机上停用再启用本插件,刷新设置,确认设备名称;兼容检查通过后,手动开启移动端实验功能,再预览并应用。完整本地测试 192 项通过;真实手机/iPad 传输及冷重启保存仍待验证。移动端自动安装识别与清理未在本次开放,仍需分别通过检查。
Device Selective Sync 0.3.3
Corrects the community-directory submission requirements:
- Use a concise manifest description without the redundant product name, retaining the paid Sync requirement.
- Remove the redundant plugin-name heading from the settings page. All controls and introductory instructions remain.
Validation: type checking, all 168 existing tests (zero failures or skips), build, and packaging passed. Sync behavior, saved selections, and compatibility checks are unchanged. Real phone/iPad transfers remain unverified; this is still experimental and requires a compatible 1.13.7 build.
The ZIP is provided for manual installation. The three runtime files are also attached individually for the community directory.
Device Selective Sync 0.3.2
Fixes the two errors reported by the community-directory review of 0.3.1:
- Remove the redundant product name from the manifest description while retaining the paid Sync requirement.
- Render the settings heading with the standard
Setting.setHeading()component.
Validation: type checking, all 168 existing tests (zero failures or skips), build, and packaging passed. Sync behavior, saved selections, and compatibility checks are unchanged. Real phone/iPad transfers remain unverified; this is still an experimental release for compatible 1.13.7 builds.
The directory will review this release separately. The ZIP is a convenience for manual installation; the three runtime files are also attached individually.
Device Selective Sync 0.3.1
First public release of Device Selective Sync, previously named Device Plugin Sync.
Choose which community plugins may upload and download on each computer, phone, or iPad through official Obsidian Sync. Includes per-device selection, installation-origin defaults for new plugins, optional local cleanup with recoverable backups, and Chinese/English interfaces.
The plugin ID remains device-plugin-sync; existing policy paths and settings are preserved.
Compatibility and limits
- Experimental: targets Obsidian 1.13.7 with strict private-interface checks. Other versions remain read-only for sync-setting changes.
- Requires an Obsidian account and paid Obsidian Sync subscription; this plugin itself is free under MIT.
- Phone/iPad changes require a local experimental opt-in. Real mobile and cross-device transfers have not yet been validated.
- Exclusions affect both uploads and downloads; files can arrive before exclusions, and in-flight transfers cannot be recalled.
- No analytics or separate upload service. Official Sync handles the vault and plugin-file transfers.
- The release is not yet listed in the Obsidian community directory.
Install
Download main.js, manifest.json, and styles.css into your vault's .obsidian/plugins/device-plugin-sync/, then enable Device Selective Sync. The ZIP contains the same three files in the plugin folder. See the README before configuring sync or cleanup.
Verification
Type checking, all 168 tests, and packaging passed locally with zero skips. Public CI intentionally skips 28 native fixtures when no Obsidian installation is available. These checks are not evidence of real mobile or network-transfer testing.