Review: App Store rejection: Register button error on iPad (Guideline 2.1(a))
Verdict: APPROVED
Re-review of board item #1684. Previous review (
review-1684-2026-07-03) returned NEEDS_REFINEMENT with 6 issues. All have been addressed.Template Completeness
- [x] Type (Bug)
- [x] Lineage
- [x] Repo
- [x] What Broke
- [x] Repro Steps
- [x] Expected Behavior
- [x] Environment
- [x] Acceptance Criteria
- [x] Related
All required sections for the
template-issue-bug template are present and complete.Traceability
- [x] story:app-store-submission label -- "Submit and maintain iOS App Store listing (privacy declarations, review compliance, metadata)"
- [x] story note verified -- found in project-landscaping-assistant user-stories section
- [x] arch:keycloak label -- Keycloak infrastructure component
- [x] arch note verified --
arch-keycloaknote exists in pal-e-docs (project: pal-enterprises) - [x] Forgejo issue -- ldraney/landscaping-assistant#290, open
File Targets
- [x]
keycloak-theme/landscaping/login/resources/css/login.css-- verified: exists (341 lines),#kc-register-form::beforeat line 122 (matches "line ~122"),#kc-registrationselectors at lines 261, 273, 280 - [x]
docs/keycloak-setup.md-- verified: exists, containsregistration_allowed = trueat line 74 with documentation at line 84 - [x]
docs/app-store-review/2026-07-02-rejection-v1.0.md-- verified: exists indocs/app-store-review/directory
Repo Placement
OK. Issue filed on
ldraney/landscaping-assistant, all file targets are in this repo. Fix approach is CSS hide -- no Terraform changes needed in pal-e-services. Previous review flagged a repo placement mismatch; this has been corrected.Dependencies
- #1683 (issue #289, backlog): App Store rejection -- privacy declarations (Guideline 5.1.2(i)). Same
story:app-store-submissionbut different arch component (arch:ios-pipeline). Independent -- can be worked in parallel. - #1685 (issue #291, backlog): Another app-store-submission feature item. Independent.
- No blocking dependencies. All three App Store rejection items (#1683, #1684, #1685) are independent and can be worked in any order.
Acceptance Criteria
5 criteria -- all agent-verifiable:
- [x] "No Register link/button visible" -- verifiable by CSS inspection of login.css
- [x] "Login flow works correctly on iPad" -- verifiable by testing login flow (iPad simulator or device)
- [x] "Existing login with demo credentials still works" -- verifiable by functional test
- [x] "docs/keycloak-setup.md updated" -- verifiable by reading doc content
- [x] "#kc-register-form::before styling cleaned up" -- verifiable by CSS inspection
All criteria are clear, testable, and complete. The doc update AC was added in response to previous review feedback.
Blast Radius
Low.
#kc-registration and #kc-register-form selectors appear only in keycloak-theme/landscaping/login/resources/css/login.css. No other files reference them. The fix is purely visual CSS hiding -- no server-side changes, no Terraform modifications. Self-registration remains enabled at the realm level (registration_allowed = true), so the change is trivially reversible by removing the CSS rule.Decomposition Assessment
No decomposition needed.
- File targets: 2 files to modify (
login.css,keycloak-setup.md) in 1 repo - AC count: 5 (within limit)
- Estimated agent work: <5 minutes (add one CSS rule, clean up another, update one doc section)
Previous Review Issues -- Resolution
- Architectural conflict (self-registration vs disabling) -- RESOLVED: Fix changed from Terraform realm-level disable to CSS hide, keeping
registration_allowed = true - Repo placement mismatch -- RESOLVED: All work now stays in landscaping-assistant repo, no pal-e-services changes
- Missing ACs for doc updates -- RESOLVED: AC added for keycloak-setup.md update
- Missing AC for CSS cleanup -- RESOLVED: AC added for
#kc-register-form::beforecleanup - story:app-store-submission user story -- RESOLVED: Entry exists in project-landscaping-assistant user-stories section
- arch-keycloak note -- RESOLVED:
arch-keycloaknote exists in pal-e-docs
Recommendation
No action needed.