Skip to content

OneNote: Improve reliability and enterprise account support#528

Open
gurusince88 wants to merge 1 commit intoobsidianmd:masterfrom
gurusince88:fix/onenote-reliability-improvements
Open

OneNote: Improve reliability and enterprise account support#528
gurusince88 wants to merge 1 commit intoobsidianmd:masterfrom
gurusince88:fix/onenote-reliability-improvements

Conversation

@gurusince88
Copy link
Copy Markdown

@gurusince88 gurusince88 commented Apr 8, 2026

Summary

This PR improves the reliability of the OneNote importer, particularly for enterprise M365/SharePoint accounts.

Addresses: #440, #398, #390, #334, #313

Changes

Test plan

  • Fresh import with personal Microsoft account
  • Re-import with existing files (should skip correctly)
  • Re-import after deleting some files (should re-import deleted)
  • Test with M365 enterprise account (if available)
  • Verify mobile portrait shows sign-in button

Breaking changes

Notes imported after this change will have onenote-id in their frontmatter. The old data.json tracking is no longer used, so users who previously imported notes will need to either:

  1. Re-import with "Skip previously imported" disabled, or
  2. Their old notes won't be recognized as previously imported

Addresses issues obsidianmd#440, obsidianmd#398, obsidianmd#390, obsidianmd#334, and obsidianmd#313.

Changes:
- Add notes.read.all OAuth scope for M365/SharePoint enterprise accounts
- Improve error messages to show specific details (401/403/429/504)
- Replace fixed 60s retry with exponential backoff and jitter
- Switch from data.json to frontmatter-based import tracking (onenote-id)
- Fix mobile portrait UI: ensure sign-in button is visible

The frontmatter approach (similar to Notion API importer) fixes the issue
where "Skip previously imported" would incorrectly skip pages that had
been deleted from the vault.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant