@agent-native/core 0.180.0-nightly-20260915184036 → 0.180.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/CHANGELOG.md +10 -0
  3. package/corpus/templates/calendar/CHANGELOG.md +39 -0
  4. package/corpus/templates/calendar/INTERACTION-MATRIX.md +19 -17
  5. package/corpus/templates/calendar/actions/update-calendar-visual-preferences.ts +21 -0
  6. package/corpus/templates/calendar/actions/view-screen.ts +10 -2
  7. package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +11 -0
  8. package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +174 -145
  9. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +20 -16
  10. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +1 -0
  11. package/corpus/templates/calendar/app/hooks/use-events.ts +16 -0
  12. package/corpus/templates/calendar/app/hooks/use-view-preferences.ts +126 -14
  13. package/corpus/templates/calendar/app/i18n-data.ts +90 -0
  14. package/corpus/templates/calendar/app/lib/calendar-navigation.ts +29 -9
  15. package/corpus/templates/calendar/app/lib/calendar-timezone.ts +2 -0
  16. package/corpus/templates/calendar/app/lib/event-time-range.ts +34 -0
  17. package/corpus/templates/calendar/app/pages/CalendarView.tsx +245 -35
  18. package/corpus/templates/calendar/changelog/2026-09-13-calendar-sidebar-overflow-is-easier-to-discover.md +6 -0
  19. package/corpus/templates/calendar/changelog/2026-09-15-calendar-mirrors-notion-calendar-s-customizable-day-ranges-a.md +6 -0
  20. package/corpus/templates/calendar/shared/calendar-view-preferences.ts +36 -0
  21. package/corpus/templates/calendar/shared/timezone.ts +9 -2
  22. package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +2 -0
  23. package/corpus/templates/clips/CHANGELOG.md +19 -0
  24. package/corpus/templates/clips/actions/save-browser-diagnostics.ts +43 -4
  25. package/corpus/templates/clips/app/components/player/browser-diagnostics-panel.tsx +114 -1
  26. package/corpus/templates/clips/app/i18n/en-US.ts +7 -0
  27. package/corpus/templates/clips/app/lib/browser-diagnostics-capture.ts +108 -0
  28. package/corpus/templates/clips/app/routes/record.tsx +1 -0
  29. package/corpus/templates/clips/changelog/2026-09-15-recordings-include-a-structured-timeline-of-browser-interact.md +6 -0
  30. package/corpus/templates/clips/chrome-extension/public/manifest.json +7 -0
  31. package/corpus/templates/clips/chrome-extension/src/background.ts +235 -9
  32. package/corpus/templates/clips/chrome-extension/src/content-history-bridge.ts +80 -0
  33. package/corpus/templates/clips/chrome-extension/src/content-script.ts +166 -5
  34. package/corpus/templates/clips/chrome-extension/vite.config.ts +4 -0
  35. package/corpus/templates/clips/server/db/schema.ts +3 -0
  36. package/corpus/templates/clips/server/lib/public-agent-context.ts +40 -2
  37. package/corpus/templates/clips/server/plugins/db.ts +5 -0
  38. package/corpus/templates/clips/shared/browser-diagnostics.ts +171 -0
  39. package/corpus/templates/content/.agents/skills/content/SKILL.md +4 -2
  40. package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +8 -1
  41. package/corpus/templates/content/AGENTS.md +5 -6
  42. package/corpus/templates/content/CHANGELOG.md +24 -0
  43. package/corpus/templates/content/actions/_content-database-row-migration.ts +67 -36
  44. package/corpus/templates/content/actions/_document-edit-mutation.ts +74 -23
  45. package/corpus/templates/content/actions/edit-document.ts +48 -8
  46. package/corpus/templates/content/actions/migrate-content-database-rows.ts +69 -28
  47. package/corpus/templates/content/server/plugins/agent-chat.ts +1 -1
  48. package/corpus/templates/design/CHANGELOG.md +22 -0
  49. package/corpus/templates/factory/CHANGELOG.md +11 -0
  50. package/corpus/templates/forms/CHANGELOG.md +6 -0
  51. package/corpus/templates/mail/.agents/skills/mail-interaction-parity/references/interaction-matrix.md +24 -4
  52. package/corpus/templates/mail/CHANGELOG.md +68 -0
  53. package/corpus/templates/mail/app/components/email/ComposeBubbleToolbar.tsx +8 -0
  54. package/corpus/templates/mail/app/components/email/ComposeModal.tsx +33 -13
  55. package/corpus/templates/mail/app/components/email/EmailListItem.tsx +23 -4
  56. package/corpus/templates/mail/app/components/email/EmailThread.tsx +56 -13
  57. package/corpus/templates/mail/app/components/email/InlineReplyComposer.tsx +23 -4
  58. package/corpus/templates/mail/app/components/email/RecipientInput.tsx +9 -0
  59. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +8 -1
  60. package/corpus/templates/mail/app/i18n/en-US.ts +31 -0
  61. package/corpus/templates/mail/changelog/2026-09-15-mail-labels-recipient-and-account-controls-for-keyboard-and-.md +6 -0
  62. package/corpus/templates/slides/CHANGELOG.md +32 -0
  63. package/dist/client/CommandMenu.js +14 -2
  64. package/dist/client/settings/AccountSettingsCard.js +3 -2
  65. package/dist/client/settings/SettingsTabsPage.js +9 -1
  66. package/dist/client/settings/agent-settings-search.js +5 -1
  67. package/dist/client/sign-out.d.ts +1 -0
  68. package/dist/client/sign-out.js +8 -0
  69. package/dist/collab/routes.d.ts +1 -1
  70. package/dist/file-upload/actions/upload-image.d.ts +2 -2
  71. package/dist/observability/routes.d.ts +3 -3
  72. package/dist/org/handlers.d.ts +1 -1
  73. package/dist/resources/handlers.d.ts +1 -1
  74. package/dist/secrets/routes.d.ts +3 -3
  75. package/dist/server/agent-engine-api-key-route.d.ts +2 -2
  76. package/dist/server/transcribe-voice.d.ts +1 -1
  77. package/package.json +4 -4
package/corpus/README.md CHANGED
@@ -31,4 +31,4 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
31
31
 
32
32
  ## Generated Counts
33
33
 
34
- - template files: 9479
34
+ - template files: 9484
@@ -3,6 +3,16 @@
3
3
  All notable user-facing changes to Agent-Native Analytics are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new") or from Settings.
5
5
 
6
+ ## 2026-09-14
7
+
8
+ ### Improved
9
+
10
+ - Sidebar and session filter buttons now show when a filter is narrowing the list.
11
+
12
+ ### Changed
13
+
14
+ - Creative Context is now an opt-in Lab, off by default.
15
+
6
16
  ## 2026-09-12
7
17
 
8
18
  ### Improved
@@ -3,6 +3,45 @@
3
3
  All notable user-facing changes to Agent-Native Calendar are documented here. Open it any
4
4
  time from the command menu (Cmd+K → "What's new") or from Settings.
5
5
 
6
+ ## 2026-09-15
7
+
8
+ ### Improved
9
+
10
+ - Calendar mirrors Notion Calendar's customizable day ranges and view settings
11
+
12
+ ### Fixed
13
+
14
+ - Calendar shortcut help renders each command row without duplicate React keys
15
+ - Calendar treats already-deleted Google events as absent during cleanup.
16
+
17
+ ## 2026-09-14
18
+
19
+ ### Security
20
+
21
+ - Calendar requests only the permissions needed for Calendar and account identity
22
+
23
+ ## 2026-09-13
24
+
25
+ ### Improved
26
+
27
+ - Calendar sidebar overflow is easier to discover with visible scroll controls and edge cues.
28
+
29
+ ### Fixed
30
+
31
+ - Event mutations stay scoped to the selected calendar when provider IDs collide.
32
+ - Reset event detail drafts when switching between same-ID calendar sources
33
+
34
+ ## 2026-09-12
35
+
36
+ ### Fixed
37
+
38
+ - Deleting a recurring event no longer hides matching events from other calendars.
39
+ - Fixed calendar shortcuts and event interactions for more reliable location suggestions, drag confirmations, and recurring-event deletion.
40
+ - Prevent optimistic calendar updates and rollback from crossing accounts when provider event IDs collide.
41
+ - Primary Google recurring RSVP and deletion actions now update account-scoped cached occurrences.
42
+ - Selected events stay bound to the correct calendar when event IDs collide.
43
+ - Week navigation now opens on the configured first day of the destination week.
44
+
6
45
  ## 2026-09-10
7
46
 
8
47
  ### Fixed
@@ -53,13 +53,13 @@ Current live run on 2026-09-15:
53
53
  already-deleted attendee resource during cleanup; the delete action now
54
54
  treats both 404 and 410 as an idempotent already-absent result.
55
55
  - Notion's live Week menu exposed Day, Week, Month, Number of days, and View
56
- settings. Calendar exposed Day, Week, Month, and Hide weekends. This remains
57
- a tracked parity discrepancy; no claim of full view-menu parity is made.
56
+ settings. Calendar now exposes the same top-level controls, with the custom
57
+ day-range dialog and view-setting checkboxes covered in the follow-up row
58
+ below. This is menu parity evidence, not a claim of full product parity.
58
59
  - Calendar's composer matched the core reference path for title, 15-minute
59
60
  time choices, explicit end time, date, attendee chip, and one-recipient
60
- invitation feedback. Changing the start time did not preserve the original
61
- 30-minute duration until the end time was explicitly reset; this remains an
62
- interaction discrepancy to fix separately.
61
+ invitation feedback. Timed date changes now preserve the original duration;
62
+ changing only a start-time control still requires a separate parity pass.
63
63
  - With the connected calendars and real event set loaded, live list-events
64
64
  requests were observed in the roughly 3.3–4.1 second range. This is recorded
65
65
  as performance evidence, not as a claim that Calendar is as fast as Notion.
@@ -241,18 +241,20 @@ same scenario's re-test result. Keep event IDs and cleanup confirmation in a
241
241
  private test record, not in this tracked document. Do not mark unexercised rows
242
242
  as passed based on code inspection alone.
243
243
 
244
- | Date | Scenarios | Notion Calendar reference | Local Calendar result |
245
- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
246
- | 2026-09-12 · desktop · local timezone | NAV-04, KEY-03, KEY-09 | Official docs reviewed; live app redirected to sign-in, so version-specific behavior could not be checked. | PASS after fix: date picker retains Month on `W`; title input retains focus on Cmd+K. |
247
- | 2026-09-12 · desktop · local timezone | CREATE-01, CREATE-08 | Live composer/autocomplete not available without sign-in. | PASS for safe path: opened composer, verified Location combobox semantics, pressed Cmd+K in title, canceled without saving. No connected calendar meant no recent-location fixture. |
248
- | 2026-09-12 · automated | MOVE-01, MOVE-06, MOVE-08 | Live drag behavior not available without sign-in. | PASS: async drag preview remains through pending completion; 15-minute snapping and final time are covered by the hook regression test. |
249
- | 2026-09-12 · automated | DEL-02, DEL-03, DEL-04, DEL-06 | Live recurring-delete behavior not available without sign-in. | PASS: single/all/this-and-following filtering, unrelated series preservation, and partial rollback are covered by cache tests. |
250
- | 2026-09-12 · desktop · Notion 817×767 / Calendar 1125×720 · PDT | NAV-02, NAV-05 | PASS signed-in reference: Today → previous week → next twice → Day lands on Sun, Sep 13. | Initial result landed on Sat, Sep 19. Fixed week navigation to use the configured week start; repeated the same sequence and it now lands on Sun, Sep 13. Google is disconnected locally; no event writes or invitations. |
251
- | 2026-09-13 · automated / serial slot | EDIT-01, EDIT-02, MOVE-01–03, DEL-01, RSVP-01 | Not run: signed-in Notion comparison still required. | PASS: source-identity regressions in the full Calendar suite (90 files / 673 tests); all 73 repository guards; Calendar typecheck exits 0. Typecheck also prints production-config diagnostics for missing deploy auth/database settings. Live provider reproduction remains blocked. |
252
- | 2026-09-13 · docs/source review / awaiting serial slot | CAL-08, BULK-01–02 | Official guide documents same-ID event merging and Shift-based bulk color/blocking and group drag. | Source review finds calendar-scoped event IDs and no multi-select handler. These are likely parity gaps, not live-confirmed; no events were changed. |
253
- | 2026-09-13 · live UI inspection · Sep 13 · PDT · Chrome 100% / Notion Actual Size | NAV-05 | Signed-in Notion desktop was observed in Day for Sun, Sep 13, 2026; view switching was not run there. Notion web in Chrome is signed out. | PARTIAL local check: Month → Week → Day → Week preserves Sep 13, and sidebar collapse works. Visual parity is not verified: local workspace is empty, Calendar labels its zone PT, and captured viewport sizes differ (Calendar 1200×960; Notion 1225×768); no paired screenshots were saved. |
254
- | 2026-09-13 · live provider gate | CAL-01, CREATE-02, EDIT-02, DEL-01, SYNC-01 | Not exercised against an app-connected provider. | BLOCKED outside the repo: the app uses the request origin plus `/_agent-native/google/callback`; its read-only health probe reports the managed OAuth pair present but `redirectUriStatus: mismatched` for the configured `http://localhost:3000/_agent-native/google/callback`. Running Calendar at that configured origin generates the same URI and Google returns `redirect_uri_mismatch`. The earlier 8081 run generated a different unregistered URI. Hosted Calendar opens sign-in. No provider-backed list/search/read, event writes, invites, or deletes were performed. |
255
- | 2026-09-15 · live provider + reference · desktop · main Chrome · PT · approved accounts only | CAL-01, NAV-01, KEY-01, CREATE-02, CREATE-09, CREATE-17, DEL-05, SYNC-01 | Signed-in Notion Calendar was inspected read-only in Week view. Its view menu included Day, Week, Month, Number of days, and View settings; its composer exposed title, dates/times, participants, conferencing, notes, location, links/attachments, description, calendar, Busy/visibility, and reminders. No Notion data was changed. | PARTIAL: OAuth consent was Calendar-only; both approved accounts loaded; the core composer path and the exact create → cancel/delete → reload cleanup path were exercised. The labeled fixture was absent after reload. Local lacks Notion's Number of days and View settings menu entries, did not preserve duration when only the start time changed, and observed list-events latency around 3.3–4.1s. Full 100-row parity remains unverified. |
244
+ | Date | Scenarios | Notion Calendar reference | Local Calendar result |
245
+ | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
246
+ | 2026-09-12 · desktop · local timezone | NAV-04, KEY-03, KEY-09 | Official docs reviewed; live app redirected to sign-in, so version-specific behavior could not be checked. | PASS after fix: date picker retains Month on `W`; title input retains focus on Cmd+K. |
247
+ | 2026-09-12 · desktop · local timezone | CREATE-01, CREATE-08 | Live composer/autocomplete not available without sign-in. | PASS for safe path: opened composer, verified Location combobox semantics, pressed Cmd+K in title, canceled without saving. No connected calendar meant no recent-location fixture. |
248
+ | 2026-09-12 · automated | MOVE-01, MOVE-06, MOVE-08 | Live drag behavior not available without sign-in. | PASS: async drag preview remains through pending completion; 15-minute snapping and final time are covered by the hook regression test. |
249
+ | 2026-09-12 · automated | DEL-02, DEL-03, DEL-04, DEL-06 | Live recurring-delete behavior not available without sign-in. | PASS: single/all/this-and-following filtering, unrelated series preservation, and partial rollback are covered by cache tests. |
250
+ | 2026-09-12 · desktop · Notion 817×767 / Calendar 1125×720 · PDT | NAV-02, NAV-05 | PASS signed-in reference: Today → previous week → next twice → Day lands on Sun, Sep 13. | Initial result landed on Sat, Sep 19. Fixed week navigation to use the configured week start; repeated the same sequence and it now lands on Sun, Sep 13. Google is disconnected locally; no event writes or invitations. |
251
+ | 2026-09-13 · automated / serial slot | EDIT-01, EDIT-02, MOVE-01–03, DEL-01, RSVP-01 | Not run: signed-in Notion comparison still required. | PASS: source-identity regressions in the full Calendar suite (90 files / 673 tests); all 73 repository guards; Calendar typecheck exits 0. Typecheck also prints production-config diagnostics for missing deploy auth/database settings. Live provider reproduction remains blocked. |
252
+ | 2026-09-13 · docs/source review / awaiting serial slot | CAL-08, BULK-01–02 | Official guide documents same-ID event merging and Shift-based bulk color/blocking and group drag. | Source review finds calendar-scoped event IDs and no multi-select handler. These are likely parity gaps, not live-confirmed; no events were changed. |
253
+ | 2026-09-13 · live UI inspection · Sep 13 · PDT · Chrome 100% / Notion Actual Size | NAV-05 | Signed-in Notion desktop was observed in Day for Sun, Sep 13, 2026; view switching was not run there. Notion web in Chrome is signed out. | PARTIAL local check: Month → Week → Day → Week preserves Sep 13, and sidebar collapse works. Visual parity is not verified: local workspace is empty, Calendar labels its zone PT, and captured viewport sizes differ (Calendar 1200×960; Notion 1225×768); no paired screenshots were saved. |
254
+ | 2026-09-13 · live provider gate | CAL-01, CREATE-02, EDIT-02, DEL-01, SYNC-01 | Not exercised against an app-connected provider. | BLOCKED outside the repo: the app uses the request origin plus `/_agent-native/google/callback`; its read-only health probe reports the managed OAuth pair present but `redirectUriStatus: mismatched` for the configured `http://localhost:3000/_agent-native/google/callback`. Running Calendar at that configured origin generates the same URI and Google returns `redirect_uri_mismatch`. The earlier 8081 run generated a different unregistered URI. Hosted Calendar opens sign-in. No provider-backed list/search/read, event writes, invites, or deletes were performed. |
255
+ | 2026-09-15 · live provider + reference · desktop · main Chrome · PT · approved accounts only | CAL-01, NAV-01, KEY-01, CREATE-02, CREATE-09, CREATE-17, DEL-05, SYNC-01 | Signed-in Notion Calendar was inspected read-only in Week view. Its view menu included Day, Week, Month, Number of days, and View settings; its composer exposed title, dates/times, participants, conferencing, notes, location, links/attachments, description, calendar, Busy/visibility, and reminders. No Notion data was changed. | PARTIAL: OAuth consent was Calendar-only; both approved accounts loaded; the core composer path and the exact create → cancel/delete → reload cleanup path were exercised. The labeled fixture was absent after reload. Local lacks Notion's Number of days and View settings menu entries, did not preserve duration when only the start time changed, and observed list-events latency around 3.3–4.1s. Full 100-row parity remains unverified. |
256
+ | 2026-09-15 · live reference + local follow-up · desktop · main Chrome · PT · approved accounts only | NAV-06, NAV-09, CREATE-05, SET-01 | Signed-in Notion Calendar's live controls were rechecked read-only: Number of days offers 2–9 plus Other, and View settings offers Weekends, Declined events, Week numbers, and General settings. No Notion data was changed. | PASS for the changed local states: the view menu exposes the same controls; 5 days renders Sep 15–19 and persists; Month view shows an optional Week column and week numbers; Other opens a bounded numeric dialog; returning to Week restores the default 7-day range. Timed date-change duration preservation is covered by focused regression tests. No new provider event was created in this follow-up; the prior approved-account fixture remains absent after cleanup. Full 100-row parity, start-time-only duration behavior, and true performance equivalence remain unverified. |
257
+ | 2026-09-15 · automated review follow-up | NAV-06, SET-01 | The reference behavior above remains unchanged; no additional Notion or provider data was touched. | PASS: consecutive custom-range navigation now advances from each displayed-period start instead of snapping back to the same week; a weekend-only one-day range retains its sole column when weekends are hidden; pending optimistic visual preferences overlay stale polls; failed saves roll back only their own still-current fields; rapid visual-preference writes reach the server in invocation order; hiding declined events clears a declined sidebar/focus selection; and `view-screen` applies the same visibility rule, including selected-event context. Focused proof: 7 files / 93 tests plus Calendar typecheck and all 74 guards. Fresh main-Chrome replay passed: 5-day navigation advanced Sep 15–19 → Sep 20–24, Month rendered optional week numbers, event options exposed Pacific Time, and the unsaved draft was canceled. No provider data was changed. |
256
258
 
257
259
  ## Visual discrepancy ledger
258
260
 
@@ -78,6 +78,23 @@ export default defineAction({
78
78
  .boolean()
79
79
  .optional()
80
80
  .describe("Whether the calendar UI hides Saturday and Sunday"),
81
+ numberOfDays: z
82
+ .number()
83
+ .int()
84
+ .min(1)
85
+ .max(31)
86
+ .optional()
87
+ .describe("Number of days shown by the week-style calendar view"),
88
+ showDeclinedEvents: z
89
+ .boolean()
90
+ .optional()
91
+ .describe(
92
+ "Whether events declined by the current account stay visible",
93
+ ),
94
+ showWeekNumbers: z
95
+ .boolean()
96
+ .optional()
97
+ .describe("Whether month view shows week numbers"),
81
98
  })
82
99
  .refine(
83
100
  (args) =>
@@ -152,6 +169,10 @@ export default defineAction({
152
169
  const next = normalizeCalendarViewPreferences({
153
170
  ...current,
154
171
  hideWeekends: args.hideWeekends ?? current.hideWeekends,
172
+ numberOfDays: args.numberOfDays ?? current.numberOfDays,
173
+ showDeclinedEvents:
174
+ args.showDeclinedEvents ?? current.showDeclinedEvents,
175
+ showWeekNumbers: args.showWeekNumbers ?? current.showWeekNumbers,
155
176
  ...(colorMode ? { colorMode } : {}),
156
177
  ...(isValidCalendarColor(args.singleColor)
157
178
  ? { singleColor: args.singleColor }
@@ -11,6 +11,7 @@ import { listGoogleCalendars } from "../server/lib/google-calendar.js";
11
11
  import type { CalendarEvent, CalendarEventDraft } from "../shared/api.js";
12
12
  import {
13
13
  CALENDAR_VIEW_PREFERENCES_KEY,
14
+ isEventVisibleForDeclinedPreference,
14
15
  normalizeCalendarViewPreferences,
15
16
  } from "../shared/calendar-view-preferences.js";
16
17
  import { getWeekStartsOn } from "../shared/calendar-week.js";
@@ -100,6 +101,7 @@ export default defineAction({
100
101
  viewDay,
101
102
  timezone,
102
103
  getWeekStartsOn(settings.weekStart),
104
+ visualPreferences.numberOfDays,
103
105
  );
104
106
 
105
107
  const calendarSourceResult = await listGoogleCalendars(email);
@@ -137,8 +139,14 @@ export default defineAction({
137
139
  visibleCalendarSources.map((source) => source.sourceKey),
138
140
  );
139
141
  const { events } = eventResult;
142
+ const visibleEvents = events.filter((event) =>
143
+ isEventVisibleForDeclinedPreference(
144
+ event.responseStatus,
145
+ visualPreferences.showDeclinedEvents,
146
+ ),
147
+ );
140
148
 
141
- const compact = events.slice(0, 50).map((e: CalendarEvent) => {
149
+ const compact = visibleEvents.slice(0, 50).map((e: CalendarEvent) => {
142
150
  return {
143
151
  id: e.id,
144
152
  title: e.title,
@@ -185,7 +193,7 @@ export default defineAction({
185
193
  }
186
194
 
187
195
  if (nav?.eventId) {
188
- const match = events.find((e: any) => e.id === nav.eventId);
196
+ const match = visibleEvents.find((e: any) => e.id === nav.eventId);
189
197
  if (match) screen.selectedEvent = match;
190
198
  }
191
199
 
@@ -106,6 +106,7 @@ import {
106
106
  } from "@/lib/event-popover-style";
107
107
  import {
108
108
  applyEndTimeChange,
109
+ shiftEndForDateChange,
109
110
  shiftEndForStartChange,
110
111
  } from "@/lib/event-time-range";
111
112
 
@@ -638,6 +639,16 @@ export function CreateEventPopover({
638
639
  ]);
639
640
 
640
641
  function handleDateChange(nextDate: string) {
642
+ if (!allDay) {
643
+ const next = shiftEndForDateChange(
644
+ { date, startTime, endDate, endTime },
645
+ nextDate,
646
+ );
647
+ setDate(next.date);
648
+ setEndDate(next.endDate);
649
+ setEndTime(next.endTime);
650
+ return;
651
+ }
641
652
  setDate(nextDate);
642
653
  setEndDate((current) => (current < nextDate ? nextDate : current));
643
654
  }