Cleanup: remove password rendering from registration confirmation flow #168
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api#168
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Discovered during QA review of PR #167 (enterprise login)
Repo
forgejo_admin/basketball-apiUser Story
As a platform operator
I want all password rendering removed from registration flows
So that the enterprise passwordless model is fully consistent
Context
PR #167 removed plaintext passwords from announcement emails but two remnants remain:
register.pyconfirmation page renders an empty password field due to backward-compatiblepassword: ""return fromcreate_account_for_parent()send_registration_email()inservices/email.pystill has password rendering logic in the templateFile Targets
src/basketball_api/routes/register.py— remove password from confirmation response, update messagingsrc/basketball_api/services/email.py— updatesend_registration_email()template to remove password renderingsrc/basketball_api/services/keycloak.py— removepassword: ""fromcreate_account_for_parent()returnCross-Repo Note
westside-app —
src/routes/(app)/register/+page.svelteline 156 readsresult.passwordfrom the API response. This will break if the password key is removed without a corresponding frontend update. Coordinate or verify frontend handles missing key gracefully.Acceptance Criteria
create_account_for_parent()no longer returns password keyTest Expectations
pytest tests/ -k "register" -vConstraints
Checklist
Related
Scope Review: NEEDS_REFINEMENT
Review note:
review-353-2026-03-27Template is complete and traceability labels are in place. All 3 file targets verified in codebase. However, two issues found:
result.passwordatsrc/routes/(app)/register/+page.svelte:156(optional chaining won't crash, but confirmation UI will show empty credentials). Ticket must state whether a westside-app PR is also needed or explicitly defer it.email.pyhas TWO password rendering paths -- plaintext (lines 88-93) and HTML credential block (_render_credentials_section, lines 172-188). Both must be listed so the agent doesn't miss one.keycloak.py:330already returnspassword: ""(empty string for backward compat) -- the ticket should note this is the source of the empty password field being rendered.Issue body updated per scope review corrections.