v0.0.0
We're starting to use official releases to help with velocity & transparency. This release establishes a baseline in order to make future releases more insightful.
See for more context about our we release: https://compasscalendar.notion.site/compass-flow
What's Changed
- Contributor docs by @tyler-dane in #6
- README.md by @tyler-dane in #7
- 📄 update README by @tyler-dane in #8
- 🐞 Fix User Id Error Parsing by @tyler-dane in #29
- 👷ci: update dependabot.yml by @tyler-dane in #33
- 🐛 Fix(sync): resync during maintenance by @tyler-dane in #39
- Update Dependencies | Dec 2023 #1 by @tyler-dane in #37
- Refresh Window after 601 Error by @tyler-dane in #47
- 🎨Fixed Uneven Month picker width by @AzharAhmed-bot in #49
- Update
buildanddeleteCLI commands by @tyler-dane in #51 - 🐛 Fix(build-web): prompt for clientId by @tyler-dane in #59
- 404 Not Found Component by @tyler-dane in #60
- 🪳Fix: ignore package lockfile by @hanzili in #67
- 🐛 Fix User Session and Revoke Flow by @tyler-dane in #68
- ⬆️ Upgrade mongodb driver by @tyler-dane in #73
- 🐛 Update Mongo calls for
FindOneAndUpdateandFindOneAndReplaceby @tyler-dane in #84 - ⬆️ build(deps): bump nodemailer from 6.9.8 to 6.9.9 by @dependabot[bot] in #70
- 🗑️ Feat: remove unused electron code by @tyler-dane in #89
- 💄 Setup prettier formatting by @tyler-dane in #91
- 🧹Cleanup Root Files | Part I by @tyler-dane in #93
- 🧹Cleanup Root Files | Part II by @tyler-dane in #95
- 🧹Cleanup Root Files | Part III by @tyler-dane in #96
- 📝 Cleanup root files by @tyler-dane in #97
- ⚡️Perf: memoize event selectors by @tyler-dane in #99
- 💨 Feat: Add Cmd Palette by @tyler-dane in #102
- 💄 style: set background color by @AzharAhmed-bot in #104
- 🐛 Fix: adjust preview event when changing times in form by @DiegoMutre in #106
- build(deps): bump follow-redirects from 1.15.5 to 1.15.6 by @dependabot[bot] in #88
- ⬆️ build(deps): bump webpack-dev-middleware from 5.3.3 to 5.3.4 by @dependabot[bot] in #90
- ⬆️ build(deps): bump express from 4.18.2 to 4.19.2 by @dependabot[bot] in #101
- ⬆️ build(deps): bump ws from 7.5.9 to 7.5.10 by @dependabot[bot] in #107
- 🐛 Fix: husky postinstall error during node build by @tyler-dane in #110
- 🐛 Fix(web): update Code link to open in new tab by @tyler-dane in #112
- 🐛 Fix event flip logic by @tyler-dane in #116
- 🐛 Fix(web): make cursor row-resize upon hover by @tyler-dane in #119
- build(deps-dev): bump webpack from 5.89.0 to 5.94.0 by @dependabot[bot] in #120
- build(deps): bump axios from 1.6.5 to 1.7.4 by @dependabot[bot] in #121
- build(deps): bump elliptic from 6.5.4 to 6.5.7 by @dependabot[bot] in #122
- 🐛 fix(web): increase precision of event scaler by @tyler-dane in #124
- build(deps): bump express from 4.19.2 to 4.20.0 by @dependabot[bot] in #130
- 🐛 Fix(backend): Improve auth error handling during full-sync response by @tyler-dane in #132
- 👷♂️ ci: use node v20 in test workflow by @tyler-dane in #135
- 📜 Update README.md by @tyler-dane in #136
- ✨Feat: refetch events after Gcal Notification by @tyler-dane in #126
- ⬆️ deps: upgrade supertokens to LTS by @tyler-dane in #123
- 🎨 Style: replace custom SVGs with phosphor icons by @tyler-dane in #138
- 🎨 Fix Spacing and Line Clamp in Event Rectangle by @tyler-dane in #143
- ⬆️ deps: bump lint-staged to 15.2.10 by @tyler-dane in #147
- ✨ Feat: improve responsiveness during edits by @tyler-dane in #144
- ♻️ refactor(web): create rowsCount selector by @tyler-dane in #151
- 🐛 Fix: Trap focus in form by @DiegoMutre in #153
- build(deps): bump http-proxy-middleware from 2.0.6 to 2.0.7 by @dependabot[bot] in #157
- build(deps): bump elliptic from 6.5.7 to 6.6.0 by @dependabot[bot] in #162
- 🎨 Style: Update Colors and Typography by @tyler-dane in #154
- build(deps): bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot[bot] in #166
- ✨ Feat: Update layout by @tyler-dane in #164
- 🐛 Fix: Date picker not closing after selecting date by @murilo9 in #174
- ♻️ Refactor: convert webSocketServer to class by @tyler-dane in #177
- ♻️ Refactor: Removed ability to manually hide times from individual events by @murilo9 in #176
- build(deps): bump nanoid from 3.3.7 to 3.3.8 by @dependabot[bot] in #189
- 🐛 Fix: All day event doesn't disappear after changing the week - Attempt #2 by @murilo9 in #185
- ♻️ refactor: make header labels more accurate by @murilo9 in #188
- 📜 Docs: update issue templates by @tyler-dane in #193
- 🐛 fix: keep new event on grid during save by @that-one-arab in #197
- 🐛 fix(web): Event saved with wrong time when drag and dropping from sidebar by @that-one-arab in #198
- 🐛 Fix: make email capture optional by @tyler-dane in #205
- 🐛 Fix: Disable newly created event from being editing during optimistic render cycle by @that-one-arab in #206
- 🐛 fix(backend): use updated IS_DEV value when creating Collections by @tyler-dane in #211
- 🐛 Fix: Optimistically render when drag-and-dropping event by @that-one-arab in #209
- 🏗 build(cli): extract args before running build cmd by @tyler-dane in #196
- 🐛 Fix: Ensure backend service provides user id when updating an event by @that-one-arab in #214
- 🐛 Fix: Consistently add
userfield to GridEvent by @that-one-arab in #215 - 🐛 Fix:(web): Enhance UX for draft event start date time calculation on mousedown by @that-one-arab in #217
- 👷♂️ build(deps): bump eslint to v9 by @tyler-dane in #220
- 👷♂️ build(deps): consolidate eslint versions by @tyler-dane in #221
- 🐛 Fix: Implement better snapping when dragging events from sidebar to grid by @that-one-arab in #218
- 🐛 Fix: Pre-emptively trigger login after google token expired by @that-one-arab in #212
- 🐛 Fix(web): Prevent long titles from breaking form length and event widths by @tyler-dane in #231
- 🐛 Fix: prevent multiple datepickers from rendering simultaneously by @tyler-dane in #233
- 🐛 Fix: Prevent console warning when opening form by @tyler-dane in #235
- ✨ Feat(web): handle overlapping events by @that-one-arab in #234
- 🐛 Fix: Tab event form fields by @tyler-dane in #237
- ♻️ Refactor: Update overlapping event type safety by @tyler-dane in #238
- ✨ Feat: Better UX for overlapping events by @that-one-arab in #240
- 🐛Fix: All-day Drag position by @tyler-dane in #242
- 🐛 Fix: Get
mandmshortcuts working by using correct grid assembly method by @tyler-dane in #244 - 🧪 Test: add overlap tests by @tyler-dane in #246
- 🐛 Fix: Allow cursor change to
row-resizeby using z-index in StyledEventScaler by @tyler-dane in #249 - 🧹 Chore: Specify package manager version in package.json by @tyler-dane in #251
- ✨ Feat: Custom actions context menu by @that-one-arab in #247
- 🧹 Chore: update ESLint config by @tyler-dane in #258
- build(deps): bump elliptic from 6.6.0 to 6.6.1 by @dependabot[bot] in #259
- 🧹 Chore: Use Eslint v9's Flat Config by @tyler-dane in #260
- ♻️ Refactor: Reorganize draft hooks and format syntax by @tyler-dane in #255
- ✨ Feat: Auto scroll when dragging by @that-one-arab in #262
- 📜 Docs: Remove Feature Title Input from Issue Template by @tyler-dane in #270
- ✨ Feat: Update import order during commit by @tyler-dane in #269
- 🧹 Chore: Order Imports by @tyler-dane in #272
- 🐛 Fix: ESLint configuration for Prettier plugin by @tyler-dane in #273
- ♻️ Refactor: Reorganize someday hooks by @tyler-dane in #265
- ✨ Feat: Update event cursor css when dragging by @that-one-arab in #268
- 🐛 Fix: Time pickers returning wrong value when defaulted by @rhyslee211 in #278
- 🐛 Fix: Implement grid event move threshold by @that-one-arab in #281
- 🐛 Fix: Cmd Palette not triggering new events by @tyler-dane in #277
- 🐛 Fix: isFocused devtools warning by @tyler-dane in #285
- 🐛 Fix: Change Dates Using Keyboard and DatePicker by @tyler-dane in #287
- 🐛 Fix: all day events overlapping by @that-one-arab in #292
- 🐛 Fix: Runtime error when dragging all-day draft by @tyler-dane in #289
- 🐛 Fix: event removal logic for multi-week spanning events by @that-one-arab in #296
- ✨ Feat: Include recurring events during import by @tyler-dane in #295
- 🐛 Fix: dragging an event with its form window open does not work by @that-one-arab in #302
- 🐛 Fix: Grid scrolls indefinitely when user drags event down by @that-one-arab in #304
- 🐛 Fix: set right duration when dragging up outside maingrid view by @that-one-arab in #312
- ♻️ Refactor: Cleanup Sync Code by @tyler-dane in #306
- hotfix(web): disable test expect statement by @that-one-arab in #317
- 🐛 Fix: reduce all day row and main grid event listeners into a single root event listener by @that-one-arab in #319
- 🧪 Test: Setup gcal notification test and doc by @tyler-dane in #315
- ✨ Feat: Determine recurrence action based on google event payload by @tyler-dane in #332
- ✨ Feat: Recurrence event form UI by @that-one-arab in #331
- 🐛 Fix: editing all day event using context menu creates duplicate event in UI by @that-one-arab in #336
- 🐛 Fix: grid events losing position when changing to next/prev week by @that-one-arab in #338
- 🧹 Chore: Cleanup Recurrence Code by @tyler-dane in #339
- ✨ Feat: event window not reopening by @that-one-arab in #341
- ✨ Feat: setup data flow from notification to processor by @tyler-dane in #340
- ✨ Feat: EventForm better shortcuts and tooltips by @that-one-arab in #343
- 🐛 Fix(backend): Prevent duplicates during full import by @tyler-dane in #342
- 🐛 Fix: Remove
recurrencefield when converting a someday event to a grid event by @that-one-arab in #349 - ✨ Feat: DELETE ALL Compass events in series when user deleted in Gcal by @tyler-dane in #347
- ✨ Feat: Disable edits for recurring events by @tyler-dane in #353
- ✨ Feat: Resync user data if sync token not found during login by @tyler-dane in #354
- ✨ Feat: Add support for DELETE THIS AND FOLLOWING by @tyler-dane in #356
- ✨ Feat: Maintain mouse cursor offset while dragging event by @that-one-arab in #361
- ✨ Feat: Add support for syncing recurring event CREATE (readonly) by @tyler-dane in #362
- 🐛 Fix: Runtime error when dragging an all day event by @that-one-arab in #365
- ✨ Feat: add support for UPDATING INSTANCE and STANDALONE events by @tyler-dane in #366
- ♻️ Refactor: Move mock utils to
@coreby @tyler-dane in #368 - build(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 by @dependabot[bot] in #370
- 🐛 Fix: Prevent duplicate regular events during full import by @tyler-dane in #371
- 🐛 Fix: Draft event duration not preserved when mousing down by @that-one-arab in #373
- 🐛 Fix: replace move to sidebar shortcut hotkey by @that-one-arab in #375
- 🐛 Fix: Delay when dragging an all day event with its form window open by @that-one-arab in #376
- ✨ Feat: Add UPDATE ALL support to Gcal Notification by @tyler-dane in #372
- 🐛 Fix: Handle NoSyncToken error during gcal notification by @tyler-dane in #380
- 🐛 Fix: Someday event form not saving when pressing enter key on keyboard by @that-one-arab in #381
- 🐛 Fix: replace move to sidebar shortcut hotkey. Attempt 2 by @that-one-arab in #377
- ✨ Feat: better UX for recurrence section by @that-one-arab in #387
- 🐛 Fix: preserve instance gEventId during update by @tyler-dane in #386
- 🐛 Fix: fetch events when receiving re-fetch request from socket without flashing them in the UI by @that-one-arab in #388
- 🐛 Fix: map unsupported priority to UNASSIGNED by @tyler-dane in #393
- ✨ Feat: add header note by @tyler-dane in #397
- 🐛 Fix: HeaderNote not respecting cursor position when editing by @that-one-arab in #412
- fix: enable keyboard save (#405) by @sarans-h in #409
- feat(web): Implement dynamic loading messages when signing up takes too long by @that-one-arab in #414
- Fix: Enable M and W shortcuts even when sidebar is closed by @sarans-h in #413
- Feat/issue#389 by @sarans-h in #415
- 🐛 Fix: Saving an event creates 2 events rather than 1 by @that-one-arab in #417
- ✨ !Feat: create waitlist service by @tyler-dane in #411
- ♻️ Refactor: Strongly-type error constants by @tyler-dane in #421
- ✨ Feat: Duplicate event by @that-one-arab in #418
- ✨ Feat: Add Duration log during event import by @tyler-dane in #422
- ✨ Feat: Create separate tags for waitlist and sign up by @tyler-dane in #425
- 📜 Docs: update README by @tyler-dane in #404
- ✨ Feat: Support custom context menu for someday events by @that-one-arab in #432
- ✨ feat: add AGENTS.md guide with project setup and testing instructions by @tyler-dane in #436
- ✨ Feat: restrict authentication to waitlist users and contributors by @tyler-dane in #434
- Fix misspellings in backend logs by @that-one-arab in #439
- ✨ Feat: Allow active users to bypass waitlist by @tyler-dane in #450
- 📜 Docs: add job posting for backend engineer position to README by @tyler-dane in #455
- 🐛 Fix: Someday events unnecessarily refetching on socket event emit by @that-one-arab in #460
- 🐛 Fix: Allow active users to sign in without filling out waitlist by @tyler-dane in #462
- 🐛 fix: only show waitlist message if user isn't already active by @tyler-dane in #463
- fix: change duplicate event shortcut from CTRL+d to META+d (#446) by @akintewe in #465
- 🐛 Fix: event form window blocking context menu items by @that-one-arab in #470
- 🐛 Fix: Implement hotfix to address events start of week date filter not being returned consistently by @that-one-arab in #471
- 🧪 Test: fix calendar render test by @tyler-dane in #485
- ✨ Feat: implement dnd for sidebar events by @that-one-arab in #481
- 🐛 Fix: Someday events categorization logic by @that-one-arab in #490
- ✨ Feat: Add waitlist invite tagging by @tyler-dane in #484
- 📦 build(deps-dev): bump webpack-dev-server from 4.15.2 to 5.2.1 by @dependabot[bot] in #482
- 🐛 Fix:
regenerator-runtime/runtimeerror by @tyler-dane in #501 - 🐛 hotfix: skip someday event validation by @tyler-dane in #503
- ✨ Feat: Added shortcut for all day event and added it to the command … by @chiefDevOvrlrd in #476
- ✨ Feat: Update someday event start-end date when DnD'ing to different section by @that-one-arab in #509
- Fix: Submitting the event form with Meta+Enter by @sarans-h in #499
- ✨ Feat: Implement Dropzone to provide visual indication of where to drop while DnD'ing someday events by @that-one-arab in #513
- 🐛 hotfix: someday events handle order field by @that-one-arab in #517
- ✨ Feat: Hide someday event add button when dragging by @that-one-arab in #521
- Feat(duplcate event btn event form) by @victor-enogwe in #516
- 🐛 Fix: prevent rendering tooltip for add someday btn when dragging someday event by @that-one-arab in #528
- fix(focus-event-form-title) by @victor-enogwe in #520
- ✨ Feat: move someday event to from week or month section using keyboard shortcuts by @that-one-arab in #533
- ✨ Feat: Add warning message to seed command by @claudiahdz in #534
- Feat(add f shortcut to edit header note) by @victor-enogwe in #519
- 🐛 Fix: handle allday events when manually filtering by start-end date by @that-one-arab in #542
- 🐛 fix: simplify session creation to only use compass user ID by @tyler-dane in #546
- ✨ feat: add platform-specific keyboard shortcuts for cmd palette tooltip by @fogboots in #547
- ✨ Feat: add migrate buttons to someday event form by @that-one-arab in #548
- 🧹Chore: Move delete icon to end of form action row by @tyler-dane in #550
- 🐛 Fix: Date validation error when creating someday event using W shortcut by @that-one-arab in #554
- 📦 build(deps): bump pbkdf2 from 3.1.2 to 3.1.3 by @dependabot[bot] in #555
- ✨ Feat(web): Add move to next/prev week/month shortcuts for someday event by @that-one-arab in #559
- ✨ Feat: Add user authentication for seed command by @claudiahdz in #541
- ✨ Feat(web): Implement shortcut tooltips for someday event migrate buttons by @that-one-arab in #564
- 🐛 Fix: someday event move to week or month going to wrong location by @that-one-arab in #567
- Feat optimize event import performance by @victor-enogwe in #558
- 🐛 Fix: Someday event in wrong location after creating with 'm' shortcut by @that-one-arab in #572
- ✨ Feat(web): re-enable 'order' field validation for someday events by @that-one-arab in #575
- Feat render calendar after auth - backend by @victor-enogwe in #563
- Fix/datepicker today selected color by @Amumug in #573
- Feat render calendar after auth - ui by @victor-enogwe in #568
- Feat trigger gcal import websocket by @victor-enogwe in #577
- Feat predictably start stop http and db services by @victor-enogwe in #581
- ✨ Feat(web): better UI for migrate event buttons by @that-one-arab in #574
- Enable enter to open someday events by @that-one-arab in #587
- Feat(gcal-import): resume import from last page fetched by @victor-enogwe in #582
- 🐛 Fix: TypeScript build error by @tyler-dane in #590
- Feat integrate ngrok by @victor-enogwe in #596
- 🐛 Fix: someday event validation errors by @that-one-arab in #597
- 🐛 fix(missing-modules): import
init.tswithout alias by @victor-enogwe in #599 - ✨ Feat(web): Add migrate forward/backward functionality if a someday event is focused by @that-one-arab in #601
- Feature/better ux edit recurring by @Amumug in #588
- 🐛 Fix(web): Duplicate shortcut tooltip using wrong label by @that-one-arab in #605
- fix(sign-up-import-gcal): prevent sync data from being initiali… by @victor-enogwe in #606
- 🐛 Fix(web): incorrect focus color when someday event is dragged using keyboard by @that-one-arab in #614
- 🐛 Fix(web): invalid type errors when creating someday event by @that-one-arab in #615
- Feat create dayjs module by @victor-enogwe in #619
- ✨ feat(timezone): set timezone and use UTC as default by @victor-enogwe in #627
- Refactor support unified deployment workflow by @victor-enogwe in #631
- ✨ Feat(web): implement actions menu to simplify forms by @that-one-arab in #629
- 🐛 Fix(web): added hotkeys to move grid events to sidebar ctrl+meta+left by @benjaminguma in #618
- fix(web) failing test in EventForm.test.tsx by @that-one-arab in #635
- 🐛 Fix(web): invalid_type when duplicating someday event by @that-one-arab in #633
- Refactor jest init by @victor-enogwe in #641
- Fix http server shutdown by @victor-enogwe in #643
- ✨ feat(web): Add migrate to from week month in someday dropdown by @that-one-arab in #646
- Refactor mock db test setup by @victor-enogwe in #645
- 🐛 fix flaky tests by @victor-enogwe in #649
- build(deps): bump form-data from 4.0.3 to 4.0.4 by @dependabot[bot] in #638
- 🐛 Fix(web): implement on focus highlight for icon button by @that-one-arab in #650
- ✨ (dayjs-plugin): add date utilities to dayjs as plugin by @victor-enogwe in #653
- 🐛 fix(gcal-series): fix missing instances when changing series expiration by @victor-enogwe in #654
- ✨ feat(web): add keyboard handling to event form menu actions by @that-one-arab in #655
- 🐛 fix(shutdown): catch ngrok dynamic import error by @victor-enogwe in #658
- build(deps): bump @eslint/plugin-kit from 0.3.1 to 0.3.3 by @dependabot[bot] in #632
- build(deps): bump @eslint/plugin-kit from 0.3.3 to 0.3.4 by @dependabot[bot] in #661
- feat(sync import): run within mongo txn by @victor-enogwe in #664
- ✨ feat(web): snap allday events when dragging from sidebar by @that-one-arab in #665
- 🔨 feat(dedupe-sync): add cli script to remove duplicate compass user sync by @victor-enogwe in #666
- 🐛 fix(gcal-event): add null checks to object access by @victor-enogwe in #669
- Fix gcal event processing utils by @victor-enogwe in #674
- ✨ feat(web): implement onboarding flow by @that-one-arab in #672
- 🐛 Fix (onboarding): Trigger next screen after email by @tyler-dane in #679
- 🎨 chore(remove-duplicate-module): remove duplicate mock-gcal modules by @victor-enogwe in #680
- ✨ feat(dayjs): RRule DTSTART string method by @victor-enogwe in #683
- ✨ feat(rrule): add gcal event rrule parser by @victor-enogwe in #685
- ✅ test(rrule): gen event instances with GCalEventRule by @victor-enogwe in #687
- bug/fix-text-alignment-15min-event by @Amumug in #624
- Hide grid scrollbar if not actively scrolling by @Amumug in #670
- 🐛 fix(web): Onboarding flow email step immediately skipping to next step without checking waitlist status by @that-one-arab in #691
- Feature/priority tooltips by @Amumug in #671
- ✅ test(backend): fix flaky tests by @victor-enogwe in #694
- 🐛 fix(missing-instances): ensure gcal series updates are committed by @victor-enogwe in #659
- ✨ feat(web): add Discord link to command palette by @tyler-dane in #697
- 📜 Docs: Update README.md by @tyler-dane in #698
- 🐛 fix(web): prevent resizing event when it is in optimistic state by @that-one-arab in #700
- 🐛 fix(web): Handle users who are on waitlist but not invited yet by @that-one-arab in #707
- 🐛 fix(backend): correct user firstName and lastName source by @that-one-arab in #711
- Remove deprecated lodash.omit and replace with destructuring by @Copilot in #702
- Fully deprecate merge-duplicate-sync CLI command and implementation by @Copilot in #703
- Create comprehensive copilot-instructions.md with development conventions and guidelines by @Copilot in #705
- 🐛 fix(web): update onboarding flow to include active users in waitlist check by @that-one-arab in #712
- 🐛 fix(web): do not call submit if event is not dirty by @that-one-arab in #713
- ✨ Feat: make waitlist check case-insensitive by @tyler-dane in #690
- 🧹 Chore: clean up
.env.exampleby @tyler-dane in #718 - fix(web): Allow adding a someday event even if state is not initialized by @that-one-arab in #721
- 🧑💻 fix(scripts): set TZ env var in scripts by @victor-enogwe in #724
- ✅ test(jest): use ephemeral test states by @victor-enogwe in #726
- ✨ Feat(web): implement prelude step - kanye2049 version by @that-one-arab in #737
- ✨ Feat(web): Implement ASCII art in welcome step by @that-one-arab in #740
- scroll grid to draft location when typing c by @Amumug in #722
- 🐛 fix(gcal-import): Invoke
.sendmanually on http response by @victor-enogwe in #741 - ✨ Feat: implement arrow navigation in onboarding steps by @that-one-arab in #742
- 🐛 fix: skip waitlist check on localhost by @tyler-dane in #744
- ✨ feat(gcal-import): add timeout to the import gcal endpoint by @victor-enogwe in #748
- ✨ feat(gcal-import): use single causal txn during import by @victor-enogwe in #749
- ✨ Feat(web): Implement dynamic logo in onboarding SetSomedayEventsNoteTwo step by @that-one-arab in #750
- ✨ Feat: Add PostHog Analytics & Error Tracking by @tyler-dane in #736
- ✨ Feat(web): add help text to header note step in onboarding by @that-one-arab in #753
- ✨ Feat(web): implement onboarding set header note success step by @that-one-arab in #752
- 🐛 feat(sync-queries): remove reliance on positional operator for sync-update queries by @victor-enogwe in #756
- 🐛 fix(gcal-sync): prevent race conditions for sync/resync endpoint operations by @victor-enogwe in #759
- ✨ feat(scripts): send exit signal to child process on reload by @victor-enogwe in #762
- 🧹 Chore: Cleanup
.env.exampleby @tyler-dane in #764 - 🐛 fix(gcal-import): start watch during resync only when using an https endpoint by @victor-enogwe in #767
- ✨ feat(web): Transition weeks while holding an event to the edge of the calendar for timed events by @that-one-arab in #776
- build(deps): bump sha.js from 2.4.11 to 2.4.12 by @dependabot[bot] in #784
- 🐛 fix(web): Make recurrence field nullable by @that-one-arab in #791
- 🐛 fix(gcal-notification): use channelId as unique identifier by @victor-enogwe in #789
- 🐛 fix(gcal-notifications) cleanup stale sync records by @victor-enogwe in #790
- Remove unused initSync and createSync methods by @Copilot in #775
- Make lastSyncedAt field required in Schema_Sync calendarlist interface by @Copilot in #773
- Feat(web): Add Donate link to command palette for voluntary payments by @Copilot in #788
- ✨ feat(web): Transition weeks while holding an event to the edge of the calendar for timed events by @that-one-arab in #796
- 🐛 fix(recurring-events): import all base event instances by @victor-enogwe in #798
- Chore(web): remove debug console logs from production code by @Copilot in #803
- ✨ feat(web): implement transition week on hold event to calendar edge for someday events by @that-one-arab in #806
- feat(web): Fix draft event window disappearing when dragged by @that-one-arab in #811
- feat(backend): update waitlist schema by @tyler-dane in #814
- feat: replace Categories_Recur with RecurringEventUpdateScope enum by @Copilot in #821
- ✨ feat(edit-recurrence): include recurrence rule in fetched instances by @victor-enogwe in #828
- fix(web): draft event window closing after socket events change event by @that-one-arab in #836
- 📜 Docs: Remove waitlist escape-hatch from README by @tyler-dane in #838
- 📜 Docs: Improve issue templates by @tyler-dane in #844
- 📜 Docs: Improve issue templates by @tyler-dane in #845
- 📜 Docs: Update issue templates by @tyler-dane in #846
- 📜 Docs: Update issue templates by @tyler-dane in #847
- 📜 Docs: Improve issue templates by @tyler-dane in #848
- 🐛 fix: dragging existing allday events error by @that-one-arab in #840
- ✨ feat(web): UI indication for how and when to transition week when dragging event to week edge by @that-one-arab in #864
- Fix: bug report link in command palette does not use the bug template by @Copilot in #852
- fix: prevent help text from showing when user has already typed in onboarding input by @Copilot in #865
- Fix: onboarding final message formatting to display on separate lines by @Copilot in #869
- Feat: Add ENTER key support throughout entire onboarding flow by @Copilot in #867
- Style: Update onboarding styles by @tyler-dane in #872
- chore: cleanup LLM instructions and scripts by @tyler-dane in #874
- chore: add GitHub Actions workflow for Copilot setup steps by @tyler-dane in #876
- feat(web): trigger Google Calendar import immediately after OAuth during onboarding by @Copilot in #868
- fix(analytics): enable console error capture in posthog by @tyler-dane in #878
- refactor(web): "focus note" to "reminder" by @Copilot in #870
- feat(web): move onboarding files to the
viewsdir by @tyler-dane in #886 - feat(onboarding): update reminder flow by @tyler-dane in #887
- 🐛 fix(web): opening & closing someday event draft form using shortcuts leaves hanging draft state by @that-one-arab in #888
- ✨ feat(edit-recurrence): add compass rrule parser by @victor-enogwe in #892
- feat(onboarding): add interactive guide for someday tasks by @tyler-dane in #891
- Fix: Allow saving new events without making changes by @Copilot in #890
- 🐛 fix(web): Inconsistent exclusive/inclusive end dates for allday events by @that-one-arab in #896
- feat(onboarding): adjust header and footer styles by @tyler-dane in #899
- 🐛 fix(web): infinite week changes when dragging someday event to edge of calendar by @that-one-arab in #902
- feat(onboarding): add interactive migration sandbox by @tyler-dane in #901
- feat(onboarding): add tooltips and more reminders by @tyler-dane in #906
- build(deps): bump axios from 1.9.0 to 1.12.0 by @dependabot[bot] in #909
- 🐛 fix(web): moving event through dnd to calendar edge then drafting someday w/ shortcut not working by @that-one-arab in #910
- 🐛 fix(web): ignore non someday events for sidebar actions, and vice versa. by @that-one-arab in #911
- ✨ adapt rrule parser to gcal provider by @victor-enogwe in #915
- ✨ feat(edit-recurrence): add compass event generator factory by @victor-enogwe in #917
- Remove "(copy)" suffix from duplicated events by @Copilot in #912
- 🐛 fix(web): someday events between start of month and end of next month not displaying by @that-one-arab in #920
- Feat compass event processor 819 by @victor-enogwe in #895
- 🚀 feat(web): show toast when migrating month events by @that-one-arab in #925
- ✨ feat(edit-recurrence): update this and ffg events logic by @victor-enogwe in #929
- ✨ feat(edit-recurrence): add ability to edit recurrence by @victor-enogwe in #894
- 🐛 fix(esit-recurrence): fix someday event creation by @victor-enogwe in #932
- ✨ feat(edit-recurrence): create recurring event update scope selection component by @victor-enogwe in #825
- 🐛 fix(web): refetch someday events
isFetchNeededis true by @that-one-arab in #930 - fix(backend): return session data upon user session creation by @tyler-dane in #940
- Fix: create someday events during onboarding by @tyler-dane in #943
- Remove recurring event styling differences to improve UX by @Copilot in #936
- Fix(web): Remove conflicting tooltip and aria-label elements for Save button accessibility by @Copilot in #950
- 🐛 fix(duplicate-error): remove calendar provider data on duplicate by @victor-enogwe in #960
- style(web): Add Menu Button pattern for Event Form Actions menu by @Copilot in #956
- fix(web): handle somedays start-end date range miscomputation in edge scenarios by @that-one-arab in #967
- style: Replace Priority Text Labels with Color-Coded Circles in EventForm by @Copilot in #957
- 🐛 fix(calendar-event-transiton): calendar event to someday fix ba… by @victor-enogwe in #974
- 🐛 fix(calendar-event-transiton): calendar event to someday fix by @victor-enogwe in #973
- refactor(web): separate schemas from types and relax validation by @tyler-dane in #984
- ✨ feat(edit-recurrence): keep same id during calendar to someday transition by @victor-enogwe in #987
- ✨ feat(notifications): send separate socket events for calendar and someday events by @victor-enogwe in #988
- ✨ feat(notifications): reload someday event changes separately by @victor-enogwe in #989
- Fix: Show someday base recurring events in sidebar by @Copilot in #923
- fix(web): resolve save button disabled after recurrence changes by @Copilot in #991
- Revert main by @victor-enogwe in #999
- 🐛 fix(duplicate-event): fix event duplication - backend by @victor-enogwe in #1000
- 🐛 fix(duplicate-event): fix event duplication - web by @victor-enogwe in #1001
- Fix validation bug when converting Someday events to Grid/Calendar events by @Copilot in #1003
- Fix(web): allow user to save event without making changes by @tyler-dane in #1006
- Fix(web) all-day event drag validation by ensuring position field exists by @Copilot in #1008
- 🚀 feat(web): implement allday event horizontal duration scaling by @that-one-arab in #993
- 🐛 fix(delete-event): fix deletion of prev recurring events by @victor-enogwe in #1010
- 🐛 fix(event-date): fix allday form date change by @victor-enogwe in #1012
- Chore(web): cleanup util files and tests by @tyler-dane in #985
- 🐛 fix(web): update y-coordinate handling for all-day events in draft actions by @that-one-arab in #1016
- Fix(web): correct
ActionsMenushortcut behavior by @Copilot in #969 - Fix validation error when creating someday events via keyboard shortcuts by @Copilot in #1019
- fix(web): prevent layout shift by prohibiting calendar grid focus by @tyler-dane in #1021
- ✨ feat(edit-recurrence): include start date instance if not in recurrence by @victor-enogwe in #1025
- ✨ feat(delete-recurrence): allow deletion of provider orphaned compass event by @victor-enogwe in #1027
- hotfix: temporarily disable allday events by @that-one-arab in #1028
- ✨ feat(dates): update modules to use custom dayjs module by @victor-enogwe in #1029
- issue_creator_zero_shot.prompt.yml by @victor-enogwe in #1030
- ✨ feat(prompts): update issue creator prompt test data by @victor-enogwe in #1031
- 🐛 fix: resizing all day events issues by @that-one-arab in #1033
- :sparkles feat(migrations): scaffold compass migrations by @victor-enogwe in #1034
- 🐛 fix(web): dragging an all day or timed event does not work by @that-one-arab in #1047
- 🚀 feat(web): ensure consistent mouse position during drag for allday events by @that-one-arab in #1015
- feat(web): opt-in to react-router v7 features by @tyler-dane in #1050
- feat(web): restrict someday event recurrence to weekly/monthly only by @Copilot in #1017
- Fix ActionsMenu detaching from form during scroll by @Copilot in #970
- feat(web): simplify recurrence elements in EventForm by @Copilot in #1059
- :sparkles feat(sub-calendars): create compass calendar schema by @victor-enogwe in #1066
- ✨ feat(sub-calendars): create calendar collection and schema by @victor-enogwe in #1067
- feat(backend): allow minimal waitlist POST data by @tyler-dane in #1072
- fix(web): handle someday week label edge case by @potoky in #1062
- 🐛 fix(recurring-events): create instances for someday recurrence by @victor-enogwe in #1080
- 🐛 fix(recurring-events): allow someday recurring instance creation by @victor-enogwe in #1086
- 🐛 fix(recurring-events): fix ui recurring event transitions by @victor-enogwe in #1091
- style(web): command palette scrollbar visibility and styling by @Copilot in #1093
- Feat(web): add simple mobile onboarding by @tyler-dane in #1096
- fix(backend): change connection error logging level from error to debug by @tyler-dane in #1097
- feat(web): Improve accessibility and styles for event form when editing with keyboard by @PatrikH-01 in #1088
- refactor(github): remove contribution interest checkboxes from feature request template by @tyler-dane in #1108
- Add watch collection for Google Calendar push notification channel data by @Copilot in #1101
- feat(web): add flag for planner feature by @tyler-dane in #1111
- feat(web): integrate Tailwind CSS for styling and add PostCSS configuration by @tyler-dane in #1113
- feat!: bump node to v24 and setup playwright by @tyler-dane in #1116
- feat(web): Add simple CRUD support for tasks by @tyler-dane in #1114
- feat(web): add accessibility linting with eslint-plugin-jsx-a11y by @Copilot in #1119
- :sparkles feat(sub-calendars): update sync process to use watch collection by @victor-enogwe in #1120
- refactor(web-planner): cleanup task list by @tyler-dane in #1121
- Migrate existing calendarlist entries per user to the
calendartable by @Copilot in #1123 - feat(web-planner): update task list by @tyler-dane in #1129
- :sparkles feat(sub-calendars): update the event schema and collection by @victor-enogwe in #1137
- fix(web): cleanup React imports in test files by @tyler-dane in #1140
- feat(web-planner): scaffold day routing by @tyler-dane in #1133
- feat(web-planner): add routing shortcuts and navigation by @tyler-dane in #1141
- fix(web): add id and name attributes to input fields for accessibility by @tyler-dane in #1144
- fix(web): update date parsing to handle local TZ by @tyler-dane in #1147
- refactor(web): Rename Today/ dir to Day/ for accuracy by @tyler-dane in #1148
- Feat(web-planner): Render events in
Agendaby @tyler-dane in #1149 - feat(web-planner): finish
AgendaMVP by @tyler-dane in #1151 - 🐛 fix(sync-maintenance): fix controller timeouts by @victor-enogwe in #1155
- feat(web): make icons responsive to beta feature flag by @tyler-dane in #1158
- refactor(web): update StyledWeekDay and StyledIntervalInput for improved styling by @tyler-dane in #1159
- style(web): fix onboarding arrows by @tyler-dane in #1160
- Fix weekly recurrence in month 1087 by @victor-enogwe in #1095
- Feat/1156-analytics by @tyler-dane in #1166
- feat(web): streamline login for returning users by @tyler-dane in #1167
- docs(readme): add day view feature and update links for referral tracking by @tyler-dane in #1173
- :bug fix(auth-refresh): update supertokens-node and add refresh failure logging by @victor-enogwe in #1170
- feat(planner): add migration support to day tasks by @tyler-dane in #1177
- build(deps): bump validator from 13.15.15 to 13.15.20 by @dependabot[bot] in #1176
- refactor(web): remove waitlist check and related components by @tyler-dane in #1179
- build(deps): bump tar from 7.5.1 to 7.5.2 by @dependabot[bot] in #1181
- chore(env)!: update env values and loading logic by @tyler-dane in #1185
- refactor(web): improve environment file loading logic in webpack config by @tyler-dane in #1187
- fix(webpack): correct env name to use
BASEURLby @tyler-dane in #1188 - feat(web): add view select component by @tyler-dane in #1183
- fix(web): ensure someday recurring event edits only affect individual instances by @Copilot in #1164
- test(web): fix and complete Calendar/Sidebar render + interaction integration tests by @BrainLeaked6628 in #1193
- ✨ Fix recurring someday event deletion to remove entire series by @Copilot in #1165
- style(web): improve agenda events in Day view by @tyler-dane in #1194
- test(web): Cleanup test files by @tyler-dane in #1199
- feat(core): implement Timer class with EventEmitter2 and RxJs for interval-based countdown monitoring by @Copilot in #1197
- :sparkles feat(now-view) add use-now-data hook by @victor-enogwe in #1202
- Fix timer test flakiness by using immediate start dates by @Copilot in #1213
- feat(day-planner): Add event context menu with Delete option by @tyler-dane in #1195
- feat(web): improve day view routing and fetching by @tyler-dane in #1216
- refactor(events): remove useTodayEvents hook and related tests by @tyler-dane in #1218
- feat: simplify day navigation to only support
/dayby @tyler-dane in #1224 - feat(web): remove day planner feature flag by @tyler-dane in #1231
- feat(web): add day tasks to onboarding flow by @tyler-dane in #1233
- feat(auth): implement ProtectedRoute with signup completion checks by @tyler-dane in #1236
- Fix customize supertokens auth by @victor-enogwe in #1234
- :bug fix(gcal-sync): handle sync token expired error by @victor-enogwe in #1241
- feat(web): add now planner mvp by @tyler-dane in #1238
- ✨ feat(bundle-size): optimize bundle size and lazy load modules by @victor-enogwe in #1248
- refactor(shortcuts): introduce global and day view shortcut types by @tyler-dane in #1246
- chore(planner): remove dead code by @tyler-dane in #1254
- feat(web): consolidate day/now code by @tyler-dane in #1256
- chore(now): cleanup now storage utils by @tyler-dane in #1258
- fix(web): import datepicker css at root by @tyler-dane in #1264
- style(web): use tailwind to style colors and tooltips by @tyler-dane in #1266
- 🐛 fix(day-view): enable nested child routes navigation by @victor-enogwe in #1268
- docs: revise README for better clarity and structure by @tyler-dane in #1269
- 🐛 fix(user-delete): run user data deletion as an atomic operation by @victor-enogwe in #1275
- Feat get user profile endpoint by @victor-enogwe in #1277
- Fix posthog analytics regression by @victor-enogwe in #1279
- ✨ feat(dnd-tasks): implement drag and drop for tasks by @victor-enogwe in #1273
- ✨ feat(header-nav): day and now view header by @victor-enogwe in #1281
- Add task description field with inline editing in Now View by @Copilot in #1287
- :bug fix(autocomplete-keypress): do not handle window events with empty keyboard key by @victor-enogwe in #1292
- feat(web): enable command palette (CMD+K) in Now and Day views by @Copilot in #1290
- feat(no-tasks-view): show message when there are no tasks by @victor-enogwe in #1293
- Fix compass UI Views layout shift by @victor-enogwe in #1295
- fix(context-menu): improve context menu contrast by @victor-enogwe in #1297
- feat(DayCmdPalette): add escape key listener to close command palette by @victor-enogwe in #1298
- Fix overlapping event title visibility in day view by @Copilot in #1299
- Restore toast border and border-radius after GlobalStyle migration by @Copilot in #1302
- :bug fix(date-picker): adjust z-index for popper by @victor-enogwe in #1311
- Fix now view accessibility 1300 by @victor-enogwe in #1313
- :bug fix(modifier-shortcuts): unify modifier key handling across os by @victor-enogwe in #1316
- feat(web): enable keyboard reordering of day tasks by @Copilot in #1314
- 🎨 feat(calendar): refactor day view styles(DND) by @victor-enogwe in #1317
- 🐛 fix(draggable-task): show drag-handle only on hover or drag by @victor-enogwe in #1322
- :bug fix(week-view): activate cmd palette shortcut for Windows by @victor-enogwe in #1324
- 🎨 style(TaskContextMenu): enhance contrast ratio of the delete task btn by @victor-enogwe in #1325
- :sparkles feat(day-view-agenda): calendar events creation by @victor-enogwe in https://github.com/SwitchbackTech/compass/pull/1342
- Fix day label showing wrong date in timezones with large UTC offsets by @Copilot in https://github.com/SwitchbackTech/compass/pull/1345
- feat(web): add 'n' shortcut to create events in day view by @Copilot in https://github.com/SwitchbackTech/compass/pull/1346
- ✨ feat(day-view): dnd agenda events 1337 by @victor-enogwe in https://github.com/SwitchbackTech/compass/pull/1347
- Add "m" keyboard shortcut to edit events in day view by @Copilot in https://github.com/SwitchbackTech/compass/pull/1352
- :sparkles feat(agenda): mark agenda sections by @victor-enogwe in https://github.com/SwitchbackTech/compass/pull/1355
- Refactor day agenda floating contexts 1359 by @victor-enogwe in https://github.com/SwitchbackTech/compass/pull/1360
- build(deps): bump jws from 3.2.2 to 3.2.3 by @dependabot[bot] in https://github.com/SwitchbackTech/compass/pull/1344
- build(deps): bump validator from 13.15.20 to 13.15.23 by @dependabot[bot] in https://github.com/SwitchbackTech/compass/pull/1339
- :sparkles feat(day-view): show preview for new events by @victor-enogwe in https://github.com/SwitchbackTech/compass/pull/1371
New Contributors
- @AzharAhmed-bot made their first contribution in #49
- @hanzili made their first contribution in #67
- @DiegoMutre made their first contribution in #106
- @murilo9 made their first contribution in #174
- @that-one-arab made their first contribution in #197
- @rhyslee211 made their first contribution in #278
- @sarans-h made their first contribution in #409
- @akintewe made their first contribution in #465
- @chiefDevOvrlrd made their first contribution in #476
- @claudiahdz made their first contribution in #534
- @fogboots made their first contribution in #547
- @Amumug made their first contribution in #573
- @benjaminguma made their first contribution in #618
- @potoky made their first contribution in #1062
- @PatrikH-01 made their first contribution in #1088
- @BrainLeaked6628 made their first contribution in #1193
Full Changelog: https://github.com/SwitchbackTech/compass/commits/v0.0.0