Skip to content

feat: ToU readiness — onboarding, footer, and bug fixes#648

Open
jim-counter wants to merge 9 commits intomainfrom
tou-readiness
Open

feat: ToU readiness — onboarding, footer, and bug fixes#648
jim-counter wants to merge 9 commits intomainfrom
tou-readiness

Conversation

@jim-counter
Copy link
Copy Markdown
Member

@jim-counter jim-counter commented Apr 1, 2026

Summary

Completes the remaining items on the ToU Readiness milestone:

Closes #627
Closes #636
Closes #635
Closes #639
Closes #640
Closes #645

Test plan

  • Verify onboarding page links to the active ToU version's contentUrl (or falls back to static URL if no active version)
  • Verify new user onboarding records ToU acceptance via POST /tou/accept
  • Verify existing users who haven't accepted a material ToU change see the acceptance interstitial
  • Verify landing page footer displays Terms of Use and Privacy Policy links
  • Verify POST /tou/accept called twice returns 204 both times (no 500)
  • Verify banner date formatting produces "April 1, 2026" style output
  • Run database migration and confirm timestamp columns are TIMESTAMP WITH TIME ZONE

🤖 Generated with Claude Code

jim-counter and others added 5 commits April 1, 2026 14:28
Update onboarding to dynamically fetch the current active ToU version
URL, add Terms of Use and Privacy Policy links to the landing footer,
and update the fallback ToU URL to the confirmed Auto Drive ToU page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ates (#635)

Use Intl.DateTimeFormat (V8-built-in) instead of toLocaleDateString
to avoid locale-data issues on minimal Docker images.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Aligns tou_versions and user_tou_acceptance with the convention used
by banners and purchased_credits tables, preventing incorrect
effective_date comparisons in non-UTC server environments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Return the existing acceptance record on duplicate calls instead of
null. The ON CONFLICT DO NOTHING already prevented 500s, but now
the response is consistent regardless of whether it's a first or
repeated accept.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify bot commented Apr 1, 2026

Deploy Preview for auto-drive-storage ready!

Name Link
🔨 Latest commit 7933005
🔍 Latest deploy log https://app.netlify.com/projects/auto-drive-storage/deploys/69cd44c106e9230008a3e5db
😎 Deploy Preview https://deploy-preview-648--auto-drive-storage.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jim-counter
Copy link
Copy Markdown
Member Author

bugbot run

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jim-counter
Copy link
Copy Markdown
Member Author

bugbot run

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

jim-counter and others added 2 commits April 1, 2026 17:11
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant