Develop - #7
Merged
Merged
Conversation
Add _looksLikeYaml() validation function across main and renderer processes to distinguish between actual YAML frontmatter and ordinary prose between markdown horizontal rules. Only treat `---` delimited blocks as frontmatter if they contain YAML syntax (key: value pairs), preventing false positives in frontmatter and tag extraction.
Add a Version History modal and make backups cover every overwrite (AI edits, manual saves, autosaves, restores). Implement IPC handlers (backup:write, backup:list, backup:read) and expose listBackups/readBackup in the preload. Skip empty/duplicate snapshots and keep a rolling 10-per-file store under <userData>/backups/<folder>-<hash>. Integrate the modal into the file context menu, add UI/stylesheet and versionHistoryModal.js, and snapshot current on-save via SaveManager before overwriting. Update README and CHANGELOG to document behaviour and UI.
Introduce a split editor/preview mode with UI (Split button + startup option) and Ctrl+` cycling. Add CSS for side-by-side panes and set editorArea data-view. Implement scroll-sync helpers (editor→preview and preview→editor) with bounce prevention and attach preview scroll listener. Update renderer to emit data-line anchors (headings, hr, pre, blockquote, table, lists, paragraphs) and adjust parseListBlock/parseMarkdown to preserve original line numbers so scroll-sync can map positions accurately. Ensure render is triggered when entering split mode.
Introduce a new launchBehavior value 'first-file' and implement behavior to open the top-most file in the Explorer on startup (falls back to welcome screen). Adjust startup-mode logic so restored drafts always open in edit mode while other launch outcomes follow the startupMode preference. Add two small Chrome DevTools Protocol helper scripts: _cdp_set_prefs.js to set launch prefs/lastFolder and _cdp_check_state.js to inspect renderer state for tests/dev. Updated src/renderer/index.html and src/renderer/index.js accordingly.
Delete legacy CDP helper scripts and implement a persisted untitled-buffer draft stored at <userData>/backups/untitled-draft.md. Add main IPC handlers (draft:read/write/clear), expose a draft API in preload, and switch SaveManager to an in-memory cache with initDraft/read/write/clear. Ensure draft is loaded at startup and startupMode is applied consistently. Add a Focus mode button and renderer logic to hide sidebars, maximize window, and force Split view (with restore). Make setAIVisible optionally non-persistent and add styles for active icon state. Files changed: src/main/ipc.js, src/preload/index.js, src/renderer/*, src/renderer/saveManager.js, src/renderer/sidebarManager.js. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Migrate draft content from old localStorage-based storage to new file-backed draft storage system. The migration runs once during initialization, only when the new file-backed storage is empty, ensuring no data loss when upgrading. Legacy localStorage keys are removed after migration to prevent re-running.
Enhance release notification UX by adding a persistent update button in the header, making the release toast auto-hide after 8 seconds, and repositioning the notification from top-right to bottom-center. Also extract and sync file tags when saving to keep sidebar badges updated without waiting for a folder refresh.
Modified the artifactName configuration to include the version number in the built executable filename. This allows different versions of the application to be easily distinguished by their filename (e.g., moilstack-md-1.0.0.exe instead of moilstack-md.exe).
Update CHANGELOG with condensed descriptions of new features, improvements, and bug fixes for the 1.1.1 release. Changes include the Version History panel, Update indicator in header, improved automatic backups, repositioned new-release toast, and several bug fixes including tag pills updating and draft recovery.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implemented some features based on the feedback
Type of change
Testing
npm start)npm run package)npm test)Screenshots (if UI change)
Checklist
CHANGELOG.mdupdated (for user-visible changes)