Commit bfee91a
refactor(backend): remove global
* Initial plan
* Refactor: Replace googleapis with @googleapis/calendar and gaxios
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Fix GaxiosError mock objects for compatibility with gaxios library
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Address code review: Add code property to GaxiosError instances
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* ➖ chore(dependencies): remove unused express-validator and express-winston packages (#1339)
* build(deps): bump validator from 13.15.20 to 13.15.23
Bumps [validator](https://github.com/validatorjs/validator.js) from 13.15.20 to 13.15.23.
- [Release notes](https://github.com/validatorjs/validator.js/releases)
- [Changelog](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md)
- [Commits](validatorjs/validator.js@13.15.20...13.15.23)
---
updated-dependencies:
- dependency-name: validator
dependency-version: 13.15.23
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* ➖ chore(dependencies): remove unused express-validator and express-winston packages
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler@switchback.tech>
Co-authored-by: Victor Enogwe <23452630+victor-enogwe@users.noreply.github.com>
* :sparkles feat(day-view): show preview for new events (#1371)
* :sparkles feat(day-view): show preview for new events
- Added `useOpenAgendaEventPreview` and `useOpenEventContextMenu` hooks to manage event previews and context menus.
- Created tests for both hooks to ensure correct functionality when interacting with events.
- Refactored event form handling in `useOpenEventForm` to streamline event creation and editing.
- Introduced `useCloseEventForm` hook to handle closing event forms and resetting drafts.
- Updated `useSaveEventForm` to integrate with the new close event form logic.
- Enhanced utility functions for event handling and focus management.
- Removed unnecessary context providers from `DayViewContent` for cleaner component structure.
- add a re-resizable package
* :sparkles feat: refactor event handling and improve test setups
* fix: update existing event check to return false instead of null
* Update packages/web/src/components/DND/Resizable.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* :bug fix: ensure element scrolls into view before focusing in focusElement function
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* docs: replace discord links in README (#1383)
* Update issue template and command palette links to reflect GitHub Discussions instead of Discord. This change enhances community engagement by directing users to the appropriate platform for questions and feedback.
* Update README.md to reflect new project description and community engagement links. Changed project description to emphasize its role as a minimal task manager for engineers and updated contact links to direct users to GitHub Discussions instead of Discord.
* Update .github/ISSUE_TEMPLATE/config.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update packages/web/src/common/constants/more.cmd.constants.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update .github/ISSUE_TEMPLATE/config.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat: add a11y skills agent (#1387)
* feat(accessibility): add Accessibility Change Audit guideline document
- Introduced a new SKILL.md file outlining the Accessibility Change Audit process.
- The document provides an overview, usage scenarios, a checklist for auditing UI changes, and minimal fix patterns to enhance accessibility in UI components.
- Aimed at improving semantic structure, catching accessibility regressions, and increasing test reliability.
* refactor(accessibility): update Accessibility Change Audit guidelines
- Enhanced the description to include accessibility audits and flaky UI tests.
- Clarified prerequisites and instructions for conducting audits.
- Introduced a diff-first approach for evaluating UI changes.
- Expanded the audit checklist and output format for better clarity and usability.
* feat(accessibility): introduce new a11y-audit skills and update existing guidelines
- Added new SKILL.md files for `claude-a11y-audit` and `codex-a11y-audit`, providing detailed descriptions for accessibility audits.
- Updated the existing `accessibility-change-audit` SKILL.md to rename it to `a11y-audit` for consistency and clarity.
- Adjusted .gitignore to exclude specific settings files.
* feat(a11y): add codex-a11y-audit skill documentation
- Introduced a new SKILL.md file for `codex-a11y-audit`, detailing its use for reviewing UI diffs, accessibility audits, and identifying a11y regressions.
- The document includes a link to the canonical skill for consistency in accessibility auditing practices.
* feat(a11y): update a11y-audit skill documentation and introduce new file
- Updated the SKILL.md files for `claude-a11y-audit` and `codex-a11y-audit` to link to the new `a11y-audit` documentation.
- Introduced a comprehensive SKILL.md file for `a11y-audit`, detailing its purpose, prerequisites, instructions, and a checklist for conducting accessibility audits.
- Enhanced the document to provide clear guidelines for identifying accessibility regressions and proposing minimal fixes.
* :sparkles feat(agenda-event resize): support resizable agenda event preview
* Initial plan
* Implement resizable event preview with top and bottom handles
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Address code review feedback: improve resize logic and reduce duplication
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* :sparkles feat(agenda-event resize): support resizable agenda event preview
:package deps(rxjs-state-management): introduce rxjs state @ngneat/elf library
- Updated EventContextMenu and related components to utilize activeEvent$ observable for managing active events.
- Replaced setDraft with resetDraft and resetActiveEvent in event form hooks to improve state management.
- Refactored tests to mock new event store structure and ensure proper event handling.
- Introduced utility functions for calculating event height and rounding minutes to nearest fifteen.
- Updated yarn.lock to include new dependencies for @ngneat/elf-entities and @ngneat/use-observable.
* :bugfix fix(resize-agenda-event): improve event handling and add tests
* Update packages/web/src/common/hooks/useEventResizeActions.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* feat(resize-agenda-event): add bounds parameter to useEventResizeActions for improved resizing logic
* refactor(useEventResizeActions): remove debug log from resizing function
* feat(useEventResizeActions): enhance resizing logic with bounds clamping and update tests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* :bug fix(agenda-loading): fix AgendaSkeleton displaying on every event reload (#1390)
* Initial plan
* Add LoadingProgressLine component and update TimedAgendaEvents to use it
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Add tests for LoadingProgressLine and update Agenda tests
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Update LoadingProgressLine component comment for clarity
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Move LoadingProgressLine inside mainGrid with absolute positioning
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Move LoadingProgressLine to top of ID_GRID_EVENTS_TIMED (timedEvents div)
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* :bug fix(agenda-loading): make loading animation subtle
* refactor(tests): remove absolute positioning test for LoadingProgressLine
* feat(hooks): add useHasLoadedOnce hook for tracking initial load state
refactor(agenda): integrate useHasLoadedOnce in Agenda and TimedAgendaEvents components
* test(agenda): improve loading state handling and progress line rendering
* test(hooks): add tests for useHasLoadedOnce hook functionality
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* :sparkles feat(agenda-events): select surface to create timed events (#1392)
chore: update dev dependencies add jest-canvas-mock
* :sparkles feat(agenda-events): add event shortcuts (n, m) to Day view command palette (#1389)
* Initial plan
* Add Create event [n] and Edit event [m] to DayCmdPalette with tests
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Fix test mocks and pass all tests with linting
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* Remove unnecessary onEventTargetVisibility wrapper from event shortcuts
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* :bug fix(DayCmdPalette): update event handlers to use queueMicrotask to stagger open and keep focus on open
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
* :sparkles feat(agenda-events): fix event form context menu visibility (#1393)
* :sparkles feat(agenda-events): improve z-index mgmt within event form
add event context menu delete and duplicate functionalities
* fix(context-menu): do not close form if delete is not confirmed
* fix(context-menu): delete draft events on confirmation
* update yarn.lock
* refactor(auth, user, error handling): improve error messages and handling in authentication and user services
- Updated error messages in `google.auth.service.ts` to clarify authentication client initialization issues.
- Enhanced error handling in `user.controller.ts` to catch and respond to `BaseError` instances appropriately.
- Added logging in `error.express.handler.ts` for better debugging of errors.
- Improved user profile retrieval error message in `user.service.ts` for clarity.
- Adjusted user profile loading logic in `UserProvider.tsx` to prevent unnecessary re-renders.
- Updated API response handling in `compass.api.ts` to redirect users to onboarding on profile not found errors.
* refactor(user.controller): enhance error handling for user metadata retrieval
- Wrapped user metadata fetching logic in try-catch blocks to handle potential errors.
- Improved response handling for `BaseError` instances, ensuring appropriate status codes are returned.
- Maintained existing functionality while increasing robustness against errors during user metadata operations.
* refactor(user.service, StorageInfoModal): remove debug log and simplify text
- Removed console log statement from `user.service.ts` to clean up the code.
- Simplified the explanatory text in `StorageInfoModal.tsx` for better clarity and conciseness.
* refactor(error.express.handler): remove debug log for cleaner error handling
- Removed console log statement from `error.express.handler.ts` to streamline error handling and improve code clarity.
* refactor(mock.events.init, error mocks): streamline error handling and improve mock structure
- Removed unused type imports and simplified the event simulation function in `mock.events.init.ts`.
- Enhanced error mock structures in `error.google.invalidGrant.ts`, `error.google.invalidValue.ts`, and `error.invalidSyncToken.ts` by using `Headers` and `URL` objects for better clarity and consistency.
- Updated error handling to include more detailed response structures, improving the robustness of the mocks.
* refactor(gcal.factory, google.auth.service, error.express.handler, gcal.service, gcal.utils): enhance mock responses and error handling
- Introduced a `createMockGaxiosResponse` function in `gcal.factory.ts` to standardize mock responses for Google Calendar API interactions.
- Updated error handling in `google.auth.service.ts` to provide more detailed GaxiosError structures.
- Improved URL handling in `error.express.handler.ts` for better email extraction from error configurations.
- Modified response validation in `gcal.service.ts` to accommodate new response structures.
- Enhanced error checking in `gcal.utils.ts` to ensure proper handling of error codes.
* chore: add return to user.controller
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: victor-enogwe <23452630+victor-enogwe@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>googleapis (#1396)1 parent b03703c commit bfee91a
20 files changed
Lines changed: 618 additions & 305 deletions
File tree
- packages
- backend
- src
- __tests__
- helpers
- mocks.gcal
- errors
- factories
- auth/services
- common
- errors/handlers
- services/gcal
- sync/services/sync/__tests__
- user
- controllers
- services
- core/src
- types
- util/event
- web/src
- auth
- common/apis
- views/Day/components/StorageInfoModal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | | - | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
Lines changed: 3 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | 1 | | |
4 | 2 | | |
| 3 | + | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| |||
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
37 | | - | |
38 | | - | |
| 36 | + | |
| 37 | + | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | 2 | | |
4 | 3 | | |
5 | 4 | | |
| |||
44 | 43 | | |
45 | 44 | | |
46 | 45 | | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
57 | 55 | | |
58 | 56 | | |
59 | 57 | | |
| |||
Lines changed: 45 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
6 | 12 | | |
7 | 13 | | |
8 | 14 | | |
9 | | - | |
| 15 | + | |
10 | 16 | | |
11 | | - | |
| 17 | + | |
12 | 18 | | |
| 19 | + | |
13 | 20 | | |
14 | 21 | | |
15 | 22 | | |
16 | 23 | | |
17 | 24 | | |
18 | 25 | | |
19 | 26 | | |
20 | | - | |
21 | | - | |
22 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
23 | 55 | | |
24 | 56 | | |
25 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
Lines changed: 84 additions & 41 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
4 | 40 | | |
5 | 41 | | |
6 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
7 | 45 | | |
8 | 46 | | |
9 | 47 | | |
| |||
12 | 50 | | |
13 | 51 | | |
14 | 52 | | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
| 53 | + | |
24 | 54 | | |
25 | 55 | | |
26 | 56 | | |
| |||
39 | 69 | | |
40 | 70 | | |
41 | 71 | | |
42 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
43 | 75 | | |
44 | 76 | | |
45 | 77 | | |
| |||
48 | 80 | | |
49 | 81 | | |
50 | 82 | | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
| 83 | + | |
60 | 84 | | |
61 | 85 | | |
62 | 86 | | |
| |||
82 | 106 | | |
83 | 107 | | |
84 | 108 | | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
| 109 | + | |
101 | 110 | | |
102 | 111 | | |
103 | | - | |
104 | | - | |
105 | | - | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
106 | 144 | | |
107 | 145 | | |
108 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
0 commit comments