1.1.1 (6/18/24)
- chore(release): reset package version (99d5677)
- ci(release): install pnpm before node for caching (7502cf1)
- docs(changelog): v1.1.1 (0a2ff79)
- build(deps-dev): bump ws in the npm_and_yarn group across 1 directory (7a15ad8)
- ci(release): update action versions and recommended config, remove update job as tauri does this automatically now (8bcd29a)
- ci(release): action versions (0e23e98)
- chore(deps): bump (8c74951)
- test(utils): fix unixToDateTime (cdcef19)
- fix: window reload (b65195a)
- ci(release): ensure clean working tree (4fefe14)
- chore(eslint): config typing (cfd0253)
- build(deps-dev): bump braces from 3.0.2 to 3.0.3 (7aa0d7d)
- build(deps-dev): bump undici from 5.28.0 to 5.28.4 (8f2e2fe)
- build(deps-dev): bump vite from 5.0.9 to 5.0.13 (73b10aa)
- build(deps): bump h2 from 0.3.20 to 0.3.26 in /src-tauri (6dc6e9a)
- build(deps): bump mio from 0.8.8 to 0.8.11 in /src-tauri (d54dd9d)
- refactor(sync): note merging readability (0c2045d)
- chore(deps): bump (57622b2)
- docs(changelog): v1.1.0 (fa63dd7)
1.1.0 (06/12/2023)
- feat(auth): min password length (a182202)
- docs(readme): setup exe windows install (dddb860)
- docs(changelog): v1.0.0 (9e7aa13)
1.0.0 (25/11/2023)
- ci(release): remove checks (7ac9731)
- chore(deps): bump (1e18751)
- feat(popup-info): hide username when not logged in (dcf7013)
- refactor(encryptor): window btoa and atob (9ba0d44)
- test(sync): loading state set/reset (35b55b8)
- feat(sync): try/finally for resetting loading state (9e1b14c)
- test(setup): restoreAllMocks (e5a0798)
- fix(encryptor): account for possibility of notes already being decrypted (643fc0a)
- fix(popup): close on mousedown (511cc67)
- docs(tauri): update long description (fda0893)
- chore(vite): remove envPrefix security vulnerability (b11780b)
- chore(eslint): add vite.config.ts to ignored no-extraneous-dependencies (26c1286)
- docs(release): build command comment (0fb4c3a)
- ci(release): use latest node version (819e015)
- chore(deps): major actions/github bump (28b1e4b)
- test(eslint): ignore extraneous deps (79e2517)
- build(tauri): add checks script to before build command (e4cd4bc)
- build(updater): use ts (49cea88)
- chore(deps): tsx minor bump (d80f710)
- chore(deps): vite 5 (91335e0)
- test(api): assert fail invalid invoke args to avoid swallowed errors (ff0bf62)
- test(api): require all expected res properties, remove getResValue (8919ae9)
- test(sync): no local no remote edge case (b7e5599)
- fix(editor): single empty note preventing first char edit (fefd8b4)
- fix(sync local): note delta with missing ops (5cd3567)
- docs(readme): first draft (f906846)
- chore: gitignore todo.txt (8adbd4a)
- build(scripts): remove pre-build checks (36b629d)
- chore(deps): major tsx bump (20f889f)
- chore(deps): bump (45012b7)
- docs(todo): update todos (ed1f2da)
- chore(ts): noUncheckedIndexedAccess (51ab82a)
- test(utils): add missing tests (a6a276e)
- refactor(utils): hasKeys (158042f)
- style(eslint): disable default switch case rule (5cbd801)
- test(api): fix calls clear method (dfff39b)
- test(main): calledWith type errors (d8f65c6)
- test(api): unify return values of api mocks and separate results by type (dc8104e)
- test(invoke): remove selectedNote setting (c9b04eb)
- build(scripts): add tsc check in lint script (afd5da6)
- chore(types): tauri invoke command payload/response map (6e238e6)
- docs(editNote): selected note comment (2bef0b3)
- docs(editNote): correct jsdoc comment (f07f49a)
- perf(push): return if no unsynced notes (a79e35b)
- chore(push): remove leftover code from manual push removal (c3e870a)
- test: refactor length checks to use assert.lengthOf (04304fa)
- fix(events): ignore frontend emits in frontend listeners (47f5e20)
- chore(deps): bump deps (bdc4a86)
- docs(encryptor): remove todo comment (d9f8fed)
- feat(keyStore): strict durability for object store clear transaction (80158e0)
- test(encryption): encryptor and keyStore tests (f50a916)
- test(debug): test-timeout value in launch config (e0439fb)
- test: fix tests broken after keyStore object store clear update (f211618)
- fix(keyStore): clear object store on reset (26ccd0e)
- docs(readme): update todos (b0adde8)
- docs(todos): update todos (e8f13ed)
- chore(debug): full test launch config (ad1de10)
- test(encryption): update existing tests, mock db, bump deps (595970a)
- 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(todos): add todo (60decb6)
- refactor(menu): simplify window menu event emitting and item toggling (3d67854)
- refactor(tauri): use hash map for delta ops (38a198a)
- docs(todo): add todos (cf38e7b)
- docs(readme): short description and todo (45b3e8a)
- chore(types): use string for uuid (c738c07)
- fix(note): compose old with new delta, initialise notes delta with ops (055586a)
- perf(uuid): remove dep in favour of crypto (53b24b6)
- chore(debug): add vite dev launch config (d33fd2c)
- ci(release): release script (e0df946)
- chore(deps): bump (5acf742)
- feat(popup): center align (49c18bd)
- refactor(editor): use builtin delta on text change (b1301ca)
- docs(todo): remove forgot password (333c4ec)
- feat(sync): separate push pull route paths (098b5a0)
- test(settings): fix wrapper vm show checks (7fc135f)
- test(update): update module tests (c847789)
- test(types): wrapper vm show (3ee4fb3)
- feat(update): await retry (e260a2a)
- test(mock api): scalable res value implementation (c4fa3f8)
- chore(constant): remove unused listener (56d776b)
- test: trim down assertions (9b83368)
- feat: add missing menu functions, move ask dialog to delete account function (90248a4)
- feat(export notes): extra selected (098855f)
- refactor(delete note): rename to delete selected notes (ef1f1e0)
- refactor(delete note): check selected with arg (cfff598)
- test: fully mock api, add new tests, stronger state reset between tests (6f326ff)
- perf(push): return if no unsynced or single empty note (c3a526c)
- refactor(new note): rename write method to new (3dad4a5)
- 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)
- chore(tauri types): emit and listener types (12c7d93)
- feat(popup): use window keydown, mouseup (fcf8b7f)
- refactor(tauri): tauri invoke, sync local notes (5b69ed0)
- feat(sync status): only reset error on auth popup close (3579d8a)
- test(setup): spy on assert fail (3c36734)
- refactor: move core app functionality from app component to main (909cf5d)
- chore(utils): return event listen (5d05464)
- test(export notes): pass one note (1dc994d)
- test: export notes (0392a1e)
- feat: export notes (8045293)
- chore(prettier): format unsorted imports, format script, ignore reset (0d8fd69)
- chore(prettier): fix import order not formatting with pnpm (99e5d27)
- chore: bump deps (eaf6aa3)
- test(change password): store fn (ef69a01)
- test(change password): component (db72e8a)
- test(sync auth): add stricter checks (ace23d6)
- fix(change password): new password input validation (dbce027)
- refactor(validation): simplify component field checks (cf4aa09)
- 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)
- docs(todo): add todos (790dfa3)
- refactor(style): button, form, and theme modules (cd9af1a)
- refactor(store): state naming, move sync functions (64e7652)
- chore(popup): remove unused popup type (fee54e8)
- chore: switch to pnpm, add auto-changelog (fa143de)
- chore: update rust deps (3232d4e)
- chore(vite): use build minify (1d9b096)
- chore: switch to pnpm, bump deps (0b19958)
- docs: add todo (55a1a1c)
- refactor: const typing (d5d7ff0)
- chore: update deps (cf05caf)
0.2.0 (10/12/2022)
- feat(app): close anyway if push fails (2fc3b85)
- fix(popup): attr inheritance (d1e35af)
- docs: add todo (16fb9a4)
- chore: update deps (b070841)
- fix(deprecation): use app_data_dir (5891159)
0.1.9 (05/12/2022)
- build: update version commands (aeadb15)
- build: update action deps, use path for tauri conf version (7fde69d)
0.1.8 (04/12/2022)
- ci: bump tauri version to v0.1.8 (10bf343)
- chore: update tauri deps (6143cf2)
- fix: pushing if not logged in (00190ae)
- refactor: unprefixed appearance (acf07d5)
- chore: trivago prettier import sorting (9c640c8)
- fix: crash if note dir doesn't exist (2dc8012)
- chore: update deps (f1473a3)
- build: deps, checks script (d55c6d0)
0.1.7 (21/06/2022)
0.1.6 (19/06/2022)
- ci: bump tauri version to v0.1.6 (cccb2f1)
- build: update pub scripts (88f2990)
- docs: remove todo (5c86b00)
- build: cargo deps (aa114a5)
- feat: confirm delete account (243cf5e)
- build: deps (91d0203)
- build: eslint ignore patterns (481cdbf)
- test(note sync): test note menu updates on pull (8ca78c9)
- test: move editor sync test (92698e6)
- test: fix compilation errors (c602cc4)
- build: update deps (4d36d18)
- test: global setup (da04e79)
- test: props not propData (f359dfa)
- test(note menu): reorder tests (4a79611)
- test(editor): update on sync (862132e)
- fix(sync): prevent push if loading (0d62d10)
- test: refactor ref test id (d6ac9f2)
- fix(sync): editor update on sync (96fa2ca)
- fix: move test ids to component root (ab161fa)
- build: update deps (f30f0ba)
- feat: check if update seen (ba95500)
- style: reorder function calls (59852a0)
- feat: loading (9980f28)
- test: check unsynced note clear on signup (4bf2f3b)
- docs: update todos (4c93fc7)
- test: modular sync tests, account (8a8c639)
- test: refactor http request tauri mock (021d20f)
- test: popup store (d5cd2b5)
- test: theme (afb40f3)
- test: utility menu (1d5e12c)
- test: custom event listeners (6358725)
- test: context menu close (6d2f888)
- test: sync status popups (e777280)
- test: settings (64c176b)
- test: settings first half (9c144e7)
- test: popup info (845b64a)
- refactor(tests): mock tauri api options arg (248a090)
- test: remove unnecessary tauri mock promise return (b3391cf)
- build: lint script (6d61eb9)
- build: update rust and deps (a6a4052)
- ci(tests): fix popup unmount (aa83b42)
- ci(tests): dropmenu (a7d78be)
- ci(tests): function call counts (181b697)
- fix(popup): close called twice (33b9e44)
- ci: deps (16c879c)
- ci(tests): drop menu (6c94cc4)
- fix(tests): note menu key selects check (013ed93)
- feat: delete account (f470331)
- ci: update deps (94b09e5)
- ci(prettier): import order plugin (adc9ee1)
- ci(prettier): import order plugin (0b8c36e)
- fix: clear unsynced note ids on signup (fac19fa)
- refactor: updater script (68e3a0f)
- ci(tests): enable auto unmount (14f88e4)
- ci: fix tests (22d04ed)
- ci: deps (2069099)
- feat: popup-info (a26f561)
- feat: settings menu (b231f14)
- refactor: popup store (cbc4bc2)
- refactor: remove unnecessary null and undefined (7ebd8b6)
- fix(contextmenu): delete note disabled logic, remove theme (b041915)
- refactor: drop menu (3220840)
- refactor: theme type (0b252d7)
- refactor: style ordering (b67470c)
- feat: utility menu, settings component visuals (e4e09f4)
- refactor: rename sync popup components (655031c)
- feat: configure updater, move to frontend (e00cfe8)
- ci: deps (93aa858)
0.1.5 (17/05/2022)
0.1.4 (17/05/2022)
0.1.3 (17/05/2022)
0.1.2 (17/05/2022)
- ci: bump tauri version to v0.1.2 (11f1c84)
- ci: include debug (bacd492)
- fix(version): correct version in commit message (b266f63)
0.1.1 (17/05/2022)
- ci: bump tauri version to v0.1.0 (4ed872c)
- fix(version): script args (38f9b2a)
- fix(version): bump tauri conf version before package (2104ece)
- ci: bump tauri version to v0.1.1 (f513469)
- ci: reset version (4ef3962)
- ci: bump tauri version to v0.1.6 (d446c2a)
- ci: deps (35f8e91)
- ci: bump tauri version to v0.1.5 (e14886a)
- ci(version): add git stage/commit (a19c126)
- ci: don't run tests in action (356b382)
- ci: deps (87f49d7)
- ci: tauri version script (74fa6dd)
- ci: dep (40417c8)
- ci(icons): build icons with latest tauricon update (f3ca77b)
- ci: tauri action version (a9c2509)
- ci: release scripts (bcb0b62)
- ci: version scripts (6c5d5bf)
- ci: set version to package json path (5489504)
- ci(updater): configure update check (d46f1f9)
- ci(updater): correct update endpoint (028a95c)
- ci: fix updater script (4e671f6)
- ci: fix updater script (dc1485d)
- ci: fix release yaml (d9d88f4)
- ci: fix script typo (8044829)
- ci: fix ubuntu build (790bd50)
- ci: fix ubuntu build (3fb505b)
- ci: fix release yaml (affdfbd)
- ci: fix release yaml (99c4333)
- ci: fix release yaml formatting (aace5e3)
- ci(updater): remove unnecessary vite build (7bc005a)
- ci: re-package icons (c6bad7c)
- ci: update deps and remove window state plugin (fe82b0a)
- ci(tests): fix unix to date time assertion (09c3384)
- ci(tests): fix for github workflow (c2fa4e5)
- ci(tests): fix for github workflow (56716db)
- ci(tests): fix for github workflow (4dac227)
- ci(tests): fix for github workflow (bbe2c76)
- ci(tests): fix for github workflow (eda3587)
- ci: release (f62a305)
- ci: release (06014cc)
- ci: release (537130c)
- ci: release (4a3a130)
- ci: release (9a10f19)
- ci: delete unused script (a7b26e6)
- ci: updater workflow (c3a21ef)
- feat: add link toolbar feature, reconfigure allowlist (aa4ce77)
- ci: remove punycode types (29f2b45)
- perf: prevent unnecessary syncs (bee8c30)
- ci(tests): minor refactor (587198c)
- ci(ts): partial delta (d9dd864)
- feat: delta as hashmap (24f5198)
- feat: use delta instead of string conversion (230b569)
- refactor: minor code cleanup and comments (13d1593)
- refactor: local storage keys constant (2e44e60)
- ci(tests): unsynced edge cases (8e7e286)
- refactor: use in for prop checks (52182e2)
- fix(unsynced): remove no remote notes check (11e917f)
- ci: update deps (936c802)
- fix: check for push error on app exit (ae9237c)
- feat: remove auto sync option, fix: sync flow/unsynced note tracking, ci: tests (98d8e49)
- ci(tests): pull with empty local notes (b4be5ab)
- ci(tests): move empty note fail out of switch (5ec01d3)
- ci(tests): doesn't register unsynced notes if not logged in (afa0213)
- ci(tests): doesn't push empty notes (5d914ce)
- ci(tests): unsynced deleted (669f360)
- fix(tests): object array copying (9601c0e)
- ci(tests): unsynced edited, spread localNotes to prevent mutation (ea8fbc7)
- ci(tests): update delete note test to check deletion of note currently selected note (2506142)
- fix: remove leftover test code (7568795)
- ci(tests): unsynced new notes (d1fbaa3)
- ci(tests): add unsynced note ids check in push test (bd7aba0)
- fix(tests): logs in with no notes (906ed41)
- ci(tests): fix logs in with notes sort (099850c)
- ci(tests): remove tauri listen pull notes (3c50a0a)
- ci: delete eslintignore (0bd91e1)
- docs: update todos (5ea5d87)
- 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)
- refactor: unsynced note ids (3999e27)
- 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)
- docs(note-menu): prevent default comment (d160097)
- fix(note-menu): mac noise on arrow key navigation (182e25f)
- ci(tests): test scripts (a87aad1)
- ci: update tauri deps (fb373fb)
- ci: update deps (2e07aa9)
- fix(tests): ts build bugs (3b5abb4)
- fix(app): confirm dialog cb (75155b9)
- ci(tests): app confirm dialog (9d479b3)
- ci(tests): app tauri event listeners (11859dd)
- ci(tests): app mounting and child component handling (9bf5423)
- refactor(tests): import order (c4f4ee9)
- ci(tests): context-menu hide (fbcfb28)
- ci(tests): start of app.vue tests (310c50d)
- fix(tests): context menu delete button type (b472d9c)
- ci(tests): sync-status (ef92122)
- ci(tests): sync-error (6668dda)
- ci(tests): sync-auth confirm password (09860db)
- ci(tests): sync-auth reset-error (eb173ff)
- ci(tests): syncauth (0561516)
- ci(tests): popup (7f18cd5)
- ci(tests): note-menu drag-bar test (47cf5d1)
- ci(tests): note-menu contextmenu ev (4040984)
- ci(tests): note-menu up/down key navigation (6849b88)
- refactor(tests): cleanup notemenu selection tests (8972e42)
- refactor(tests): meta and alt key selects functions (8670223)
- ci(tests): notemenu select tests (f5b795d)
- ci(tests): launch json for debugging (7eed9d8)
- fix(notemenu): selection order (52e028a)
- refactor(tests): shorten store var names (3131b9f)
- fix(notemenu): extra note selection of single selected note (075418d)
- ci: move test globals, remove mapboxgl (b041786)
- ci(tests): first half of notemenu tests (0c325a2)
- refactor(sync): remove unnecessary state interface (d43bfc5)
- ci(tests): logout (d45374c)
- ci(tests): editor tests, fix dummy notes, unify note events (e1d6b1d)
- fix(tests): editor body undefined on mount (dc7e35a)
- refactor(tests): vitest globals (243ba0c)
- ci(tests): ContextMenu (bb7b5d3)
- fix(ContextMenu): disabled delete button check (a945381)
- feat(isEmptyNote): return true if note is undefined (40a874c)
- ci(tests): contextmenu delete note, test ids (6fdf208)
- ci(tests): contextmenu new note (980a5dd)
- fix: close confirm dialog (65e2280)
- refactor(tests): move tauri api mocks to separate module (9980936)
- ci(tests): start of contextmenu tests (49be812)
- ci(tests): component boilerplate (4ed7e35)
- refactor(tests): tiny ocd change (50ee1cc)
- ci(tests): set hasUnsyncedNotes to true (dc55b1a)
- fix(tests): editNote (919a5e9)
- ci(tests): push (61aa833)
- ci(tests): pull (e5e3f4f)
- ci(tests): mock emits (fe33310)
- docs: delete tests todo (94aa8d4)
- ci(tests): logout (500dcfb)
- ci(tests): signup (e4af7fb)
- refactor(tests): mockPromise (f527e88)
- ci(tests): clear note event mock checks, mockPromise, reset state before each, separate tests that are testing multiple features in one block, (a517d7a)
- feat(note): update newNote dispatched events (042cae2)
- ci(tests): http fetch, sync login test (fb65c4b)
- tests: start of sync module tests (302e2de)
- tests: note module tests (323abed)
- tests: partial note module tests (5fd631f)
- refactor: editBody to editNote (b38e2f0)
- feat: vitest setup, utils tests (9acfc35)
- ci: update deps (3e75bed)
- 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)
- docs: update todos (bfa9f99)
- feat(notemenu): drag-bar (63b17be)
- feat: catch hanging requests (45e7e99)
- fix: leftover popup event listeners (84cc215)
- ci: babel types bug (cd9f67e)
- fix: escape special chars (13de8ad)
- ci: install, docs: todo (df28628)
- fix: form validation (1266d1b)
- feat: add prod url (d175a90)
- docs: remove terminal command comment (89c69e7)
- docs: update todos (7be7c96)
- fix: confirm dialog error check (ce7d14c)
- ci: update deps (131e9d2)
- feat: sync-auth form validation (b49918c)
- refactor: autoSync typing, function comment (55a77b8)
- feat: auto-sync (8705ec8)
- ci: update deps (24275de)
- fix: popup/error-handling (61276cf)
- docs: remove sync todo (178be21)
- 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)
- ci: remove unused dependency (caaa66f)
- feat(sync): icons (ffefa02)
- fix/refactor(menu): dont toggle sync menu items on windows, move menu functions (1cce9f6)
- 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)
- refactor: isDev util (bb5d7fd)
- docs: update todos (8fadb29)
- feat(fetch): dev/prod url (b4782de)
- ci: recommended vite config (379bf49)
- feat: sync popups handling (816cc5e)
- refactor: fetch wrapper, error type (ef852f7)
- ci: typescript eslint tweaks (7810e1e)
- feat(sync): popup show/hide (e946d24)
- feat(sync): auth form (05c4ae2)
- feat(sync): component setup (7e7108b)
- refactor: SyncButton to SyncStatus (8d30d39)
- feat(sync): untested scaffold/hookup with backend (c874192)
- feat: close dialog (2b21ed7)
- fix: note store import (a010121)
- update todos (7848a83)
- store modules, sync store (67c68b3)
- feat(sync): add http request functionality (8fa6df1)
- feat(sync): frontend implementation (48f8f47)
- refactor: remove unnecessary object wrapper (ba61ce1)
- feat: customise quill toolbar (27d7276)
- refactor: move isSelectedNote to store (f2737e3)
- 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)
- docs: ctrl click note select comments (ee7d59c)
- refactor: type safety (34a32a0)
- docs: prioritise/update todos (a1e58da)
- docs: remove todo (3d402e3)
- fix(multi note selection): ordering, duplicate selections (ba18ddb)
- docs: add todo (6acff2a)
- 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)
- docs: remove todo (42d2ead)
- docs: add comment explaining field clearing (d373e6d)
- 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)
- docs: add todo (6883b6c)
- refactor: reorder menu items (0ce4c5d)
- feat: mac menu/keyboard shortcuts (35cc602)
- docs: add todos (dc013a3)
- fix: editor scrollbar, tooltip positioning (6f98a02)
- refactor: reorder note fields (1e8a3be)
- style: minify reset css (aa1559f)
- refactor: array destructure (e43a322)
- refactor: remove unnecessary link colour rule (cbff856)
- refactor: get all dir content handling (41032e5)
- docs: remove todo (950fb9e)
- refactor: note content with title and body (8d0241f)
- fix: filter json files (d846d17)
- docs: correct comments (308223b)
- feat: remove unused el ref (da6f638)
- fix: colour themes (337822a)
- fix: reset empty note on load (f05a539)
- refactor: shuffle code order (66c9f66)
- fix: note edit and select differentiation (51cbb07)
- docs: add todo comment (c7c1f47)
- feat: wysiwyg initial implementation (117d6b2)
- ci: install node types (32f9f54)
- refactor: remove new note method (b0ad537)
- doc: path comment (c5f3086)
- docs: remove todo (4f909bd)
- feat: use suggested app dir (8906197)
- ci: update tauri dependencies to any rc (40fca90)
- feat: use tauri-plugin-window-state (bdbc57a)
- feat: window handle_event (2b5afeb)
- ci: update tauri (d370999)
- feat: config/window initial implementation (ac681dd)
- ci: update tauri to rc (1d12ace)
- ci: add .ai to .gitignore (91784e1)
- feat: icon (7dac2b7)
- fix: revert selected note architecture, cleanup editor fields (dc4876b)
- fix: whitespace check (e94567e)
- fix: reactivity issues with syncing note state (f029977)
- refactor: clearer variable names (a80c332)
- fix: placeholder reactivity (ca78b8b)
- refactor: date.now (982aecf)
- fix: copy new note for selected (0d9b021)
- refactor: better whitespace/placeholder checks (7e681a7)
- docs: add todo (233e5b6)
- fix: new note destructuring (78a6a46)
- feat: new note scroll top (1cf3f0e)
- feat: body only styling (e29dc5a)
- feat: placeholders (c5a342e)
- refactor: remove unnecessary onBeforeMount (32da09f)
- fix: new note if dir not found (e4e72ab)
- refactor: findNote function (e2b5a1f)
- fix: content binding (df10c93)
- feat: input event over keyup (a9a8375)
- refactor: stronger empty note checks, move clear note logic inside getAllNotes (0e322b4)
- chore: remove unnecessary question marks (8177024)
- fix: note cleanup (9071da6)
- docs: correct comment (4b96110)
- feat: re-integrate backend (2db4f54)
- refactor: clearEmptyNote readability (6835626)
- fix: clear empty note by index (fdcdbef)
- refactor: move creation/edit logic to frontend (f1a9426)
- refactor: cleanup frontend syncing, remove created_at (157037e)
- feat: sync note creation/editing (8032198)
- refactor: remove system menu (602a092)
- chore: remove unused assets (d8edcbf)
- refactor: move menu functionality to module (c7eba77)
- feat: multi-window setup (6cfdb4c)
- refactor: remove get_note command (c1f720e)
- ci: change name to note-boi (d26de33)
- 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)
- refactor: path handling (48c0f15)
- refactor: rustify functions (1fd8f64)
- feat: basic input (fae93df)
- feat: store notes as json (2c0b5f5)
- refactor: remove unnecessary macros (3ef319b)
- refactor: consistent variable names (5ef25aa)
- refactor: order to modified_timestamp (67413bb)
- feat: order by last modified (69bc5b5)
- refactor: uuid instead of noteid, expect instead of unwrap (6f1d76f)
- refactor: remove unnecessary clone (fc02d30)
- feat: basic interface, appropriate responses (b589265)
- ci: remove unnecessary fs allowlist (98e7001)
- ci: tauri config, update frontend packages (ca0fcd7)
- feat: basic api setup (b411927)
- ci: cleanup scripts (633216a)
- dev config (bc2b3d1)
- init (162208d)