Preserve and recover venues hidden by Luma calendar placeholders - #24
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details🧰 Additional context used📓 Path-based instructions (6)Use bun test and write tests using bun:test (import { test, expect } from "bun:test")📄 CodeRabbit inference engine (.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc) Files:
Do not use Bun-specific APIs in production code; ensure compatibility with Node.js runtime📄 CodeRabbit inference engine (.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc) Files:
Use pre-built Stack UI components (e.g., , , ) when building auth UI In Client Components, retrieve the current user via useUser(); use useUser({ or: "redirect" }) for protected pages In Server Components, use...📄 CodeRabbit inference engine (.cursor/rules/neon-auth.mdc) Files:
Define TanStack DB collections using createCollection with the appropriate options creator (e.g., queryCollectionOptions, electricCollectionOptions, localOnlyCollectionOptions, liveQueryCollectionOptions) rather than ad-hoc stores Always pr...📄 CodeRabbit inference engine (.cursor/rules/electric-sql-tanstack-db.mdc) Files:
In mutationFn implementations, ensure server writes have synced back before returning (e.g., await collection.refetch() or equivalent) so optimistic state can be safely discarded When creating a collection, prefer supplying a Standard Schem...📄 CodeRabbit inference engine (.cursor/rules/tanstack-db.mdc) Files:
In React components, use the useLiveQuery hook to bind live query results to component state📄 CodeRabbit inference engine (.cursor/rules/tanstack-db.mdc) Files:
🪛 ast-grep (0.45.3)app/src/lib/luma/public-calendar.ts[warning] 7-7: Regular expression constructed from variable input detected. This can lead to Regular Expression Denial of Service (ReDoS) attacks if the variable contains malicious patterns. Use libraries like 'recheck' to validate regex safety or use static patterns. (regexp-from-variable) [warning] 7-7: Do not use variable for regular expressions (regexp-non-literal-typescript) 🔇 Additional comments (6)
📝 WalkthroughWalkthroughThe changes identify Luma event-page URLs as placeholder locations, add a fallback location label, archive four venue records, and apply venue recovery during public-calendar synchronization. Tests cover parsing, preservation, recovery, manual edits, genuine updates, and null results. ChangesLuma venue recovery
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The venue recovery and placeholder handling are ready to merge; no concrete current-head risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 5 functions across 5 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
✨ Simplify code
Comment |
Problem
Production verification of #23 confirmed all 31 public Luma events are now published, with four additional historical records preserved. It also exposed an iCal edge case: five events use a Luma event-page URL as their LOCATION. The first sync replaced four useful historical venues with those placeholders.
Change
This is a focused follow-up based on merged main, with no schema migration. The small venue archive is recovery data captured before the first sync, not an alternative event catalog.
Validation
Rollout
After deployment, the next authenticated hourly sync restores the four venues and removes the fifth unrecoverable placeholder. Verify the public API against the saved pre-sync snapshot, and confirm all 35 published events remain available. A follow-up monitor is already active for production verification.
Production deployment and main CI passed for merge commit
343a86e3fb48fed26bc6efc083c21817c3a79ad6. Recovery verification remains scheduled after the 03:00 UTC cron.