Reversion of Donation Gate commits#1
Conversation
…emap updates - Blog posts 10-16 covering timeline, emergency guide, developer tool blocking history, DNS poisoning technical deep dive, Supabase vs Firebase comparison, government blocking order news, and network connectivity troubleshooting - JSON-LD structured data (Article, FAQPage, BreadcrumbList, Organization, WebSite, SoftwareApplication, TechArticle, WebApplication, HowTo, CollectionPage) on all pages - Updated BlogSuggestions, blog index, and sitemap with all new entries Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add /terms page (18 sections, DPDP Act 2023, IT Act Section 79, CERT-In compliance) - Add /privacy page (19 sections, data controller info, transit data disclaimer) - Add non-affiliation disclaimer for Supabase, Cloudflare, Jio Platforms, Reliance - Clarify JioBase is a project name/domain, not a registered trade name - Consistent contact email: jiobase@sunithvs.com across all legal pages - Enforce legal acceptance on registration (checkbox + disabled submit) - Add AUP compliance notice on app creation page - Add Terms/Privacy footer links across all 7 page layouts - Update sitemap with /terms and /privacy paths Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…h-icon - Add favicon.ico (32x32) for Google crawler fallback - Add favicon-192.png, favicon-512.png for web manifest - Add apple-touch-icon.png (180x180) for iOS/Safari - Add favicon.svg to static for direct URL access - Add site.webmanifest with proper icon references - Update layout: use static paths instead of Vite-hashed import - Fix JSON-LD logo across 15 pages: SVG -> PNG (Google doesn't support SVG in structured data) - Add theme-color meta tag Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Not affiliated with Supabase Inc., Jio Platforms Ltd., Reliance Industries, or Cloudflare Inc. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…on form Show inline Supabase URL validation error on blur and extract field-level errors from API response instead of showing generic "Validation failed". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
CodeAnt AI is reviewing your PR. Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review infoConfiguration used: defaults Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (47)
📝 WalkthroughWalkthroughThis pull request adds comprehensive licensing (AGPL-3.0-only), introduces a donation flow with modal UI and periodic prompts, expands blog content with structured data and SEO metadata, creates Privacy and Terms of Service pages, improves proxy caching and request handling, adds form validation, and restructures footers across multiple routes. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
3b6b61b to
0326965
Compare
| function handleKeydown(e: KeyboardEvent) { | ||
| if (e.key === 'Escape') dismiss(); | ||
| } |
There was a problem hiding this comment.
Suggestion: The global Escape key handler calls the dismiss function unconditionally, so pressing Escape when the modal is not open still triggers the close callback, which can cause parent state to update as if the modal were closed even though it wasn't visible. Guard on the open flag before dismissing so the handler only runs when the modal is actually shown. [logic error]
Severity Level: Major ⚠️
- ⚠️ DonationModal onclose fires when modal is already closed.
- ⚠️ Parent logic relying on onclose may mis-trigger.| function handleKeydown(e: KeyboardEvent) { | |
| if (e.key === 'Escape') dismiss(); | |
| } | |
| function handleKeydown(e: KeyboardEvent) { | |
| if (open && e.key === 'Escape') dismiss(); | |
| } |
Steps of Reproduction ✅
1. Mount `DonationModal` from `apps/web/src/lib/components/DonationModal.svelte` with
`open={false}` and a non‑no‑op `onclose` callback (lines 4–8 define these props).
2. When the component mounts, Svelte registers `<svelte:window onkeydown={handleKeydown}
/>` (lines 24–25), so `handleKeydown` is active regardless of `open`.
3. Ensure the modal is closed (`open === false` so the `{#if open}` block at lines 27–126
does not render any visible modal content).
4. Press the Escape key in the browser; `handleKeydown` (lines 19–21) runs, calls
`dismiss()` (lines 10–13), which invokes the parent's `onclose()` even though the modal
was not open, causing parent state or side effects to fire unexpectedly.Prompt for AI Agent 🤖
This is a comment left during a code review.
**Path:** apps/web/src/lib/components/DonationModal.svelte
**Line:** 19:21
**Comment:**
*Logic Error: The global Escape key handler calls the dismiss function unconditionally, so pressing Escape when the modal is not open still triggers the close callback, which can cause parent state to update as if the modal were closed even though it wasn't visible. Guard on the `open` flag before dismissing so the handler only runs when the modal is actually shown.
Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Nitpicks 🔍
|
|
CodeAnt AI finished reviewing your PR. |
|
Closing this in favour of the PR on the main repo: sunithvs#1 |
User description
Reverts the following commits that introduced the donation gate component:
CodeAnt-AI Description
Add India-focused troubleshooting guides and improve proxy reliability
What Changed
Impact
✅ Fewer broken OAuth logins✅ Lower KV reads during proxy requests✅ More discoverable India troubleshooting content💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.
Summary by CodeRabbit
Release Notes
New Features
Documentation
Performance
Chores