2.1.0 (19/01/2025)
- feat(menu): add maximise item (37920af)
2.0.4 (18/01/2025)
- fix(sync): auto push DebounceQueue, push perf improvements (afb48ac)
- fix(log): support variadic (aef0179)
2.0.3 (15/12/2024)
- fix(tauri): connect-src url (974339b)
2.0.2 (15/12/2024)
2.0.1 (14/12/2024)
- fix(editor): code block padding (818710b)
- fix(export notes): image inserts causing panic (bf5e5af)
- docs(readme): v1 section (538aebd)
2.0.0 (14/12/2024)
- feat(account): use delete http method for account delete (e80119f)
- feat(account): rename route endpoint to change-password (335eaac)
- feat(auth): namespace auth routes (a9b0721)
- feat(note): catchNoteInvokeError (313a658)
- feat(noteSync): remove catches so errors are handled by route decorator (7237d6c)
- feat: route decorator, original error, unknown error code (5e4e58f)
- feat(authentication): don't logout on 404 and 401 responses (e5dedb9)
- feat(PopupSyncAuth): ensure form error when resetting (991ff07)
- feat(auth): simplify auth form switching, don't reset sync errors on form actions (2ca0697)
- feat(auth): cookies to keyring, classes dir, FetchBuilder (03056be)
- feat(http): new server url (50247c2)
- feat(style): make quill styles align more with app styles (d4f1fbd)
- feat(error): PopupSyncError ignore (a665d41)
- feat(error): improve error handling (8c1b032)
- fix(update): issue with tauri updater trying to read private property on vue proxy, updateState (7ac39a0)
- feat(settings): update strategy (b884a76)
- feat(drop-menu): sub-menu indicator (7ba6595)
- feat(note-menu): alt key selects to shift key (65e0108)
- fix(key-store): optional chain db close to handle race condition possibility (ef80dc7)
- fix(key-store): reset in clientSideLogout (715e63f)
- fix(log): handle non-string messages (40aa148)
- feat(note-menu): toggle (ac6be01)
- feat(log): output logs to log file (67a20dd)
- docs(readme): add web version planned (8df4e87)
- fix(fetch): default payload (65430e0)
- feat(encryption): consistent encryptor error handling (8badbb0)
- perf(SyncStatus): only pull if username exists (cffd47f)
- feat(changePassword): don't logout on 401 (93e07ad)
- perf(logout): use Promise.all (6b266f4)
- feat(auth): tokens to cookies (1f0ad3b)
1.1.1 (18/06/2024)
- fix: window reload (b65195a)
1.1.0 (06/12/2023)
1.0.0 (25/11/2023)
- feat(popup-info): hide username when not logged in (dcf7013)
- feat(sync): try/finally for resetting loading state (9e1b14c)
- fix(encryptor): account for possibility of notes already being decrypted (643fc0a)
- fix(popup): close on mousedown (511cc67)
- fix(editor): single empty note preventing first char edit (fefd8b4)
- fix(sync local): note delta with missing ops (5cd3567)
- docs(readme): first draft (f906846)
- perf(push): return if no unsynced notes (a79e35b)
- fix(events): ignore frontend emits in frontend listeners (47f5e20)
- feat(keyStore): strict durability for object store clear transaction (80158e0)
- fix(keyStore): clear object store on reset (26ccd0e)
- docs(readme): update todos (b0adde8)
- fix(encryption): re-encrypt all notes when changing password (9c5c80b)
- feat(encryption): integrate encryption and decryption (9dcf660)
- fix(sync): new note only if no local, select note if currently selected exists (e5763e6)
- feat(encryption): encryptor and keyStore initial (db45e89)
- docs(readme): short description and todo (45b3e8a)
- fix(note): compose old with new delta, initialise notes delta with ops (055586a)
- perf(uuid): remove dep in favour of crypto (53b24b6)
- feat(popup): center align (49c18bd)
- feat(sync): separate push pull route paths (098b5a0)
- feat(update): await retry (e260a2a)
- feat: add missing menu functions, move ask dialog to delete account function (90248a4)
- feat(export notes): extra selected (098855f)
- perf(push): return if no unsynced or single empty note (c3a526c)
- perf(pull): return if no token (38ae62c)
- fix(sync notes): check less than as well as equal local notes length (08b20d4)
- perf(delete note): only select next note if new note not called (e7e7850)
- feat(popup): use window keydown, mouseup (fcf8b7f)
- feat(sync status): only reset error on auth popup close (3579d8a)
- feat: export notes (8045293)
- fix(change password): new password input validation (dbce027)
- feat(change password): store request function (fb80662)
- feat(form): max-width, center align errors (59a59d8)
- fix(change password): current/new difference check (c690e56)
- feat(change password): markup, styles, and frontend functionality (9464654)
- fix(sync): export type separately (b2d3058)
0.2.0 (10/12/2022)
- feat(app): close anyway if push fails (2fc3b85)
- fix(popup): attr inheritance (d1e35af)
- fix(deprecation): use app_data_dir (5891159)
0.1.8 (04/12/2022)
0.1.6 (19/06/2022)
- feat: confirm delete account (243cf5e)
- fix(sync): prevent push if loading (0d62d10)
- fix(sync): editor update on sync (96fa2ca)
- fix: move test ids to component root (ab161fa)
- feat: check if update seen (ba95500)
- feat: loading (9980f28)
- fix(popup): close called twice (33b9e44)
- fix(tests): note menu key selects check (013ed93)
- feat: delete account (f470331)
- fix: clear unsynced note ids on signup (fac19fa)
- feat: popup-info (a26f561)
- feat: settings menu (b231f14)
- fix(contextmenu): delete note disabled logic, remove theme (b041915)
- feat: utility menu, settings component visuals (e4e09f4)
- feat: configure updater, move to frontend (e00cfe8)
0.1.2 (17/05/2022)
- fix(version): correct version in commit message (b266f63)
0.1.1 (17/05/2022)
- fix(version): script args (38f9b2a)
- fix(version): bump tauri conf version before package (2104ece)
- feat: add link toolbar feature, reconfigure allowlist (aa4ce77)
- perf: prevent unnecessary syncs (bee8c30)
- feat: delta as hashmap (24f5198)
- feat: use delta instead of string conversion (230b569)
- fix(unsynced): remove no remote notes check (11e917f)
- fix: check for push error on app exit (ae9237c)
- feat: remove auto sync option, fix: sync flow/unsynced note tracking, ci: tests (98d8e49)
- fix(tests): object array copying (9601c0e)
- fix: remove leftover test code (7568795)
- fix(tests): logs in with no notes (906ed41)
- feat: remove pull menu item (aa19f25)
- fix(sync): pull overwriting unsynced notes (88e8709)
- fix: empty note checks (2a3721e)
- fix(note menu): prevent plus character user select (56ffb51)
- fix(editor): focusing, caret bug (da80a03)
- feat: move code block tool (1c76fc2)
- feat: remove tauri plugin window state (42fd30a)
- feat(unsynced notes): track unsynced note ids (34a4ff1)
- feat(editor): add code-block (ac6a499)
- feat: text-shadow (53a52ae)
- fix(note-menu): mac noise on arrow key navigation (182e25f)
- fix(tests): ts build bugs (3b5abb4)
- fix(app): confirm dialog cb (75155b9)
- fix(tests): context menu delete button type (b472d9c)
- fix(notemenu): selection order (52e028a)
- fix(notemenu): extra note selection of single selected note (075418d)
- fix(tests): editor body undefined on mount (dc7e35a)
- fix(ContextMenu): disabled delete button check (a945381)
- feat(isEmptyNote): return true if note is undefined (40a874c)
- fix: close confirm dialog (65e2280)
- fix(tests): editNote (919a5e9)
- feat(note): update newNote dispatched events (042cae2)
- feat: vitest setup, utils tests (9acfc35)
- fix: extra selected notes queue order, arrow key navigation (cf55df8)
- feat: better colour themes (29c23d2)
- feat: autosync (401c1e1)
- feat: webkit user select (9e7c028)
- feat(editor): user select none, scoped comment (cad4963)
- feat(notemenu): navigate notes with up/down arrow keys (d174a5c)
- feat(notemenu): drag-bar (63b17be)
- feat: catch hanging requests (45e7e99)
- fix: leftover popup event listeners (84cc215)
- fix: escape special chars (13de8ad)
- fix: form validation (1266d1b)
- feat: add prod url (d175a90)
- fix: confirm dialog error check (ce7d14c)
- feat: sync-auth form validation (b49918c)
- feat: auto-sync (8705ec8)
- fix: popup/error-handling (61276cf)
- feat(sync): popup styles, logout button, button styles, error-handling (243ea27)
- feat: untested logout (a715131)
- feat: flesh out syncauth styling (95a8fea)
- fix: popup close handling (dbdccc1)
- feat: close syncauth after submit (1228ff4)
- feat(sync): basic popup styling (7a12efc)
- feat(sync): icons (ffefa02)
- feat(sync): tauri event utils, centralised auth type, os sync menu (49f1dd9)
- feat: sync all local notes (c87adde)
- feat(sync): confirm dialog on reload (db8b1f7)
- feat: system fonts (1c18f8d)
- fix: popup enter close handler (fc97309)
- feat(fetch): dev/prod url (b4782de)
- feat: sync popups handling (816cc5e)
- feat(sync): popup show/hide (e946d24)
- feat(sync): auth form (05c4ae2)
- feat(sync): component setup (7e7108b)
- feat(sync): untested scaffold/hookup with backend (c874192)
- feat: close dialog (2b21ed7)
- fix: note store import (a010121)
- feat(sync): add http request functionality (8fa6df1)
- feat(sync): frontend implementation (48f8f47)
- feat: customise quill toolbar (27d7276)
- fix: duplicate note selection checking, delete-note listener (014fa8b)
- fix: note deletion and subsequent selection (c8a3ca9)
- fix: duplicates or selected note being pushed to extraSelectedNotes (6b36ee3)
- feat: adjust colour themes (20cd5b7)
- feat: adjust colour themes (0dcc610)
- fix(multi note selection): ordering, duplicate selections (ba18ddb)
- fix(multi note selection): selectedNote being pushed to extraSelectedNotes (c5dbdaf)
- feat: conditional os menu (33151e0)
- fix: use selectNote (b175004)
- fix: handle ctrl toggling of state.selectedNote (e7a02c1)
- fix: empty body handling (c181dcc)
- feat: multiple note selection (2f8e8a8)
- fix: handle note deletion with only one note, setSelection timeout (7dce2d2)
- feat: clear empty note on fetch (4a5d4a2)
- fix(context menu): new note/delete note (1271e7a)
- feat: add selected theme on load (5355ef6)
- fix(context menu): selected theme list item background color (597e132)
- feat(context menu): theme functionality (cf96559)
- feat(context menu): hide functionality (28d2c2a)
- feat(context menu): flesh out styling (f1bf9f0)
- feat: context menu functionality (4276764)
- feat: separate menus, implement file menu items (6ae7666)
- feat: focus editor on new note (ddbdaa5)
- feat: mac menu/keyboard shortcuts (35cc602)
- fix: editor scrollbar, tooltip positioning (6f98a02)
- fix: filter json files (d846d17)
- feat: remove unused el ref (da6f638)
- fix: colour themes (337822a)
- fix: reset empty note on load (f05a539)
- fix: note edit and select differentiation (51cbb07)
- feat: wysiwyg initial implementation (117d6b2)
- feat: use suggested app dir (8906197)
- feat: use tauri-plugin-window-state (bdbc57a)
- feat: window handle_event (2b5afeb)
- feat: config/window initial implementation (ac681dd)
- feat: icon (7dac2b7)
- fix: revert selected note architecture, cleanup editor fields (dc4876b)
- fix: whitespace check (e94567e)
- fix: reactivity issues with syncing note state (f029977)
- fix: placeholder reactivity (ca78b8b)
- fix: copy new note for selected (0d9b021)
- fix: new note destructuring (78a6a46)
- feat: new note scroll top (1cf3f0e)
- feat: body only styling (e29dc5a)
- feat: placeholders (c5a342e)
- fix: new note if dir not found (e4e72ab)
- fix: content binding (df10c93)
- feat: input event over keyup (a9a8375)
- fix: note cleanup (9071da6)
- feat: re-integrate backend (2db4f54)
- fix: clear empty note by index (fdcdbef)
- feat: sync note creation/editing (8032198)
- feat: multi-window setup (6cfdb4c)
- fix: light/dark mode colours (8b18d1c)
- feat: editor styling (3c66dbd)
- feat: menu styling (e6aad72)
- feat: prevent delete event bubbling (c6479cd)
- feat: flesh-out styles and functionality (f94e68a)
- feat: basic layout/styling (aad34d3)
- feat: basic input (fae93df)
- feat: store notes as json (2c0b5f5)
- feat: order by last modified (69bc5b5)
- feat: basic interface, appropriate responses (b589265)
- feat: basic api setup (b411927)