Skip to content

Export import#6

Merged
oksbwn merged 8 commits into
masterfrom
export_import
Jul 18, 2026
Merged

Export import#6
oksbwn merged 8 commits into
masterfrom
export_import

Conversation

@oksbwn

@oksbwn oksbwn commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Description

Integrate GitHub issue reporting directly within Notely so users can easily report bugs or suggest feature enhancements. When selected from the top-level Help menu or command palette, a dedicated, compact Feedback Modal collects details alongside system configurations and automatically redirects the user to a pre-populated GitHub issue draft. Also resolved a classic React infinite render loop when entering the P2P sync tab.

Types of Changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Code refactoring / Styling update

Checklist

  • Code compiles and runs locally without errors.
  • Follows existing style and patterns of the codebase.
  • Added/updated tests to cover my changes.
  • All new and existing tests passed.
  • Documentation updated (if applicable).

Verification/Screenshots

  1. Clicked Help -> Report Bug / Feedback from the application window menu.
  2. Verified the Feedback Modal opened with a clean, compact layout and custom styling matching the design system.
  3. Filled in the form and clicked "Report on GitHub" (styled with a GitHub icon).
  4. Verified browser opened and redirected to https://github.com/TheNotelyApp/Notely/issues/new with the title prefilled and body populated with the structured markdown details and system details (App version, OS, Theme).
  5. Switched to P2P Status tab under settings and verified the modal closes correctly without any loop lockups.

oksbwn added 8 commits July 17, 2026 23:12
- Add Export/Import Note Package feature (.note files)
  - Bundles notes + all linked images, screenshots, Excalidraw, Draw.io
    into a single AES-256 encrypted, SHA-256 integrity-hashed package
  - File menu entry: Export / Import Note Package (consolidated)
  - Modal: fixed height, compact scrollable note list, tab stable layout
  - Export path pre-filled from last-used location; filename defaults to
    {workspaceName}.note; user can override via Browse
  - Import resolves filename collisions, restores all assets, reloads docs
  - notePackageIpc.cjs: all copyFile calls wrapped in try/catch;
    leading-slash screenshot paths stripped before OS path.resolve;
    absolute note paths normalised to root-relative via path.relative;
    destination dir auto-created with mkdirSync recursive;
    write-then-rename pattern avoids OneDrive/AV EPERM on final output
  - preload.cjs: expose getNotePackageDefaults IPC bridge
  - Unit tests: notePackage.test.js (dependency scan, crypto, path strip)

- Fix split-view scroll sync locking/jitter (EditorPane.jsx)
  - Replace activeScrollSource string lock with lockGen counter + 80ms
    setTimeout so programmatic scrollTop changes on the synced panel
    cannot bounce back and re-trigger the originating panel's handler

docs: add docs/export-import.md, update README, CHANGELOG, docs/index.md
@oksbwn
oksbwn merged commit c3f1ca9 into master Jul 18, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant