fix(e2e): anchor dashboard snapshots#26
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
This PR makes dashboard and MCP snapshots deterministic by adding an optional anchored reference time for seeded snapshot flows and related dashboard/MCP views.
Changes:
- Adds
snapshotAtdashboard page handling and passes anchored time into nav/overview/exams rendering. - Adds
atTimesupport toget_my_dashboardandget_next_class. - Updates snapshot cases, integration coverage, and feature docs for anchored dashboard snapshots.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
tools/dev/artifacts/snapshot-cases.ts |
Adds snapshot anchor query/arguments for dashboard page and MCP cases. |
tests/integration/mcp-tools.test.ts |
Adds anchored dashboard assertions and stabilizes existing dashboard tests. |
src/lib/mcp/tools/dashboard-tools.ts |
Adds optional atTime parsing and forwarding for dashboard MCP tools. |
src/features/home/server/dashboard-overview-data.ts |
Allows dashboard overview/nav stats to use an injected reference time. |
src/features/home/server/assistant-dashboard-snapshot.ts |
Allows assistant dashboard snapshot generation to use an injected reference time. |
src/features/home/components/home-view.tsx |
Propagates anchored reference time to exams tab rendering. |
src/features/home/components/exams-panel.tsx |
Forwards anchored reference time to the exams list. |
src/features/home/components/exams-list.tsx |
Uses anchored time for completed/incomplete exam filtering. |
src/app/page.tsx |
Parses debug-only snapshotAt and passes anchored time into dashboard data/components. |
docs/features/overview.json |
Documents optional atTime support for dashboard MCP tools. |
💡 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: bd79dd5331
ℹ️ 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".
bd79dd5 to
81b09ae
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 81b09ae0e2
ℹ️ 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".
81b09ae to
d18905c
Compare
Summary
DEV_SEED_ANCHORinstead of wall-clock timeatTimesupport forget_my_dashboardandget_next_classso MCP snapshots can render seeded next class/deadline/event data deterministicallySnapshot Evidence
bun run snapshot:e2ecompleted for pages/API/MCPget_my_dashboardsnapshot now reportsnextClass, 5 upcoming deadlines, and 10 upcoming events/?tab=exams&snapshotAt=...now shows the 3 seeded exam cards instead of the empty filtered stateVerification
bun run test:integrationbun run verify:fastbun run test:e2e:preparePLAYWRIGHT_REUSE_SERVER=0 bun run test:e2eNote:
bun run verify:fullwas first attempted while a manually-started standalone server was still running; Playwright reused that server with a localhost/127.0.0.1 origin mismatch, causing OAuth/MCP origin-sensitive failures. After stopping that server and rerunning E2E withPLAYWRIGHT_REUSE_SERVER=0, all 423 E2E tests passed.