Fix guest checkout flow and UUID migration constraints#345
Merged
ddon merged 7 commits intoBeamLabEU:devfrom Feb 17, 2026
Merged
Fix guest checkout flow and UUID migration constraints#345ddon merged 7 commits intoBeamLabEU:devfrom
ddon merged 7 commits intoBeamLabEU:devfrom
Conversation
Change LayoutWrapper project_title attr default from "PhoenixKit" to nil so modules that don't explicitly pass project_title fall through to PhoenixKit.Settings.get_project_title() instead of showing the hardcoded placeholder.
Prevents failure when column already exists, making the migration idempotent and safe to re-run. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replace map access syntax language["field"] with struct syntax language.field for @languages_default in modules.html.heex. Language is a struct and does not implement the Access behaviour. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…nstraints - Replace .id with .uuid in Storage file lookups across shop catalog, product detail, and import modules - Add NOT NULL relaxation for legacy integer FK columns (user_id, role_id, assigned_by) in role_assignments and role_permissions - Update checkout complete page with improved guest email confirmation UX
- Replace generic error text with card UI showing "Account already exists" - Add "Log in to continue" button with return_to=/checkout for seamless flow - Track email_exists_error state separately from generic error_message
- Login LiveView reads return_to query param and passes it as hidden field - Session controller stores return_to in session for post-login redirect - Sanitize return_to to prevent open redirect attacks - Fix checkout page login link URL construction
ddon
pushed a commit
that referenced
this pull request
Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
Guest Checkout Flow
user_id,role_id,assigned_by) inuuid_fk_columns.exso guest user creation succeedsconvert_cart_to_ordertransaction rollbackemail_exists_errorcard with login button when guest email is already registeredmaybe_merge_guest_cart/2in auth plug"converting"cart status for transaction safetyUX Improvements
alert-warningtoalert-infowith friendlier messagingLogin Return-to Support
return_toquery param and passes as hidden form fieldreturn_toin session for post-login redirectreturn_toto prevent open redirect attacksUUID Migration
ADD COLUMN IF NOT EXISTSfor idempotent UUID FK column creation.id→.uuidin Storage image lookups (5 web files).id→.uuidfor category referencesOther Fixes
["name"]→.name) in modules admin pageproject_titledefault from hardcoded"PhoenixKit"tonil(uses config)Test Plan