[codex] address calendar import review feedback#158
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Storybook Component Screenshot PreviewOutcome: success Screenshots: primitive component stories captured on desktop and mobile. This lane is separate from full-route Playwright screenshots and focuses on design-system component regressions. |
Storybook Image DiffOutcome: success Changed Storybook baselines: none in this PR. This check compares design-system component screenshots against committed baselines. Inline images show only added or modified Storybook baseline PNGs. |
Playwright Hosted Data-FlowOutcome: success This optional check runs the mutation-backed profile flow against a configured hosted dev/staging target with isolated E2E test data. |
Playwright Data-Flow PreviewOutcome: success Captured flow:
Artifacts include screenshots, traces, and recorded video for the flow run. |
Playwright Image DiffOutcome: success Changed screenshot baselines: none in this PR. This check compares public route screenshots against committed baselines. Inline images show only added or modified baseline PNGs. |
Playwright Public Screenshot PreviewOutcome: success Screenshots: all public route checks passed on desktop and mobile. Full screenshot set is available in the artifact. Pixel diff baselines are handled by the separate Playwright Image Diff check. |
Vercel Preview DeploymentPreview: https://vr-dex-a20ms1mjr-basicbit.vercel.app |
There was a problem hiding this comment.
Pull request overview
This PR refines the Google Calendar import staging pipeline to better handle real-world provider data while strengthening publication gating for imported candidates (follow-up to the calendar workflow foundations work).
Changes:
- Allow staging cancelled “tombstone” events that lack start times by making
startAt/allDayoptional through the import path and schema. - Improve Google date-time parsing (including offsetless
dateTimewith an IANA time zone) and preserve full Google event IDs up to the provider limit. - Harden normalization/publication behavior: skip malformed extracted links and introduce a publication blocker for rejected fields.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/backend/event-calendar-imports.test.ts | Adds coverage for cancellation tombstones, offsetless dateTimes with time zones, long Google IDs, malformed-link skipping, and rejected-field blockers. |
| docs/planning/calendar-integration.md | Updates planning doc to reflect optional timestamps and tombstone staging behavior. |
| docs/backend/event-schema.md | Updates schema documentation to reflect optional timestamps and tombstone staging rationale. |
| convex/schema.ts | Makes eventImportCandidates.startAt and eventImportCandidates.allDay optional to support cancellation tombstones. |
| convex/_eventCalendarImports.ts | Updates normalization to support tombstones, robust link extraction, offsetless dateTime parsing with time zones, and rejected-field publication blockers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7368849931
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
7368849 to
d739ef1
Compare
d739ef1 to
671a400
Compare
Summary
Validation
node --import tsx --test tests/backend/event-calendar-imports.test.tsnode_modules\.bin\tsc.CMD --noEmit --project convex\tsconfig.jsonnode --import tsx --test tests/backend/**/*.test.tsnode_modules\.bin\markdownlint-cli2.CMD docs\planning\calendar-integration.md docs\backend\event-schema.mdnode scripts/run-convex-local.mjs dev --local --once --run health:status --tail-logs disablegit diff --checkFollow-up to #157 / #138.