Require visible register consent with a stored timestamp - #205
Conversation
Public registration now asks for an explicit terms and privacy checkbox, blocks submit without it, and records registration_consented_at on the local account. Co-authored-by: APES Director <apescic-director@users.noreply.github.com>
Keep the consent timestamp work in the same PR as VERSION, releases.json, and the runtime contract. Co-authored-by: APES Director <apescic-director@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 40c6ec4c87
ℹ️ 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".
| public function up(): void | ||
| { | ||
| Schema::table('users', function (Blueprint $table): void { | ||
| $table->timestamp('registration_consented_at')->nullable()->after('onboarding_completed_at'); |
There was a problem hiding this comment.
Verify the consent column in the post-migration gate
In the Cloudron activation path, scripts/deploy/activate-release.sh runs migrate and then myapes:accounts:check, but AccountLifecycleReadinessChecker::check() still verifies only username and onboarding_completed_at. If migration history and schema drift apart so this migration is recorded while the new column is absent, activation succeeds and every consented registration then fails when the controller inserts registration_consented_at. Add this column to the post-migration schema check and cover the missing-column failure.
Useful? React with 👍 / 👎.
Fixes #124
Public registration now requires a visible terms and privacy tick before an account is created, and stores that moment on the public local account.
What this changes
/termsand/privacy(cookies and Help stay available)registration_consented_aton the public local accountTests
Release metadata
This PR includes v0.32.11 (
VERSION,resources/data/releases.json,resources/data/module-runtime-contract.json).php artisan myapes:changelog-validate --base-ref=origin/mainpassed on the branch.