Make Safari reliably recognize the account email, login password and signup password/confirmation pair so customers can use browser autofill and generated credentials.
Approach
Add explicit Flutter autofill hints and a shared credential group to the consumer auth form. Finalize accepted credentials before clearing them, cancel abandoned contexts, and preserve existing validation, visibility toggles, provider boundaries and journey analytics. Add focused platform-message tests and document browser verification.
Acceptance criteria
Email retains the email keyboard and exposes credential identity metadata; name exposes contact-name metadata.
Signup password and confirmation expose new-password; login exposes current-password, including after toggling visibility or auth mode.
Related fields autofill together; accepted credentials finalize before clearing; failure, cancellation and stale results do not request saving.
Existing EN/RU, responsive layout, validation and semantic auth analytics remain intact without capturing credentials.
Formatting, affected-package analysis and make test-frontend pass; browser limitations and delivery links are recorded.
Delivery: #58, commit 86b6aaf on auth-56. Formatting, app analysis, all 212 frontend tests and web build passed. Built-page DOM confirms grouped browser autocomplete metadata. Native Safari popup verification remains a documented manual release check; computer-control permission was unavailable. Scope, UX/measurement review and framework accessibility-mode limitations are recorded in docs/ux/auth-journeys.md. Unrelated shared-checkout changes were preserved; delivery used an isolated worktree.
### Goal
Make Safari reliably recognize the account email, login password and signup password/confirmation pair so customers can use browser autofill and generated credentials.
### Approach
Add explicit Flutter autofill hints and a shared credential group to the consumer auth form. Finalize accepted credentials before clearing them, cancel abandoned contexts, and preserve existing validation, visibility toggles, provider boundaries and journey analytics. Add focused platform-message tests and document browser verification.
### Acceptance criteria
- [x] Email retains the email keyboard and exposes credential identity metadata; name exposes contact-name metadata.
- [x] Signup password and confirmation expose new-password; login exposes current-password, including after toggling visibility or auth mode.
- [x] Related fields autofill together; accepted credentials finalize before clearing; failure, cancellation and stale results do not request saving.
- [x] Existing EN/RU, responsive layout, validation and semantic auth analytics remain intact without capturing credentials.
- [x] Formatting, affected-package analysis and make test-frontend pass; browser limitations and delivery links are recorded.
### Notes
Primary module auth; owner tech; project SXCHNGE (16); frontend label (16). Browser-controlled suggestions require Safari AutoFill to be enabled and cannot be guaranteed by widget tests. Preserve the unrelated notifications runtime change. No deployment or merge is requested. Existing auth journey measurements are sufficient; do not add field telemetry. References: https://developer.apple.com/documentation/security/enabling-password-autofill-on-an-html-input-element and https://api.flutter.dev/flutter/widgets/AutofillGroup-class.html .
Delivery: https://git.sendico.io/tech/sxchnge/pulls/58, commit 86b6aaf on auth-56. Formatting, app analysis, all 212 frontend tests and web build passed. Built-page DOM confirms grouped browser autocomplete metadata. Native Safari popup verification remains a documented manual release check; computer-control permission was unavailable. Scope, UX/measurement review and framework accessibility-mode limitations are recorded in docs/ux/auth-journeys.md. Unrelated shared-checkout changes were preserved; delivery used an isolated worktree.
tech
added the frontend label 2026-10-17 05:17:17 +00:00
tech
self-assigned this 2026-10-17 05:17:17 +00:00
tech
added this to the SXCHNGE project 2026-10-17 05:17:17 +00:00
Merged and deployed to the local frontend on 19 October 2026 at 13:06 Europe/Warsaw.
PR #58 merged into main as 30f06c2f8f. The current local stand branch was integrated with origin/main (local integration commit ec5a2bbaabd649e7c6aadcbc9e9cfb127976ff0a), preserving its existing backend/configuration work; its frontend matches the tested auth-56 contribution.
Validation: formatting of the five changed Dart files passed; flutter analyze in frontend/app passed; make test-frontend passed all 212 tests. Fresh stable image/Flutter pins were resolved with sh infra/local/tools.sh images. docker compose build --pull frontend succeeded; up -d --no-deps --force-recreate --wait --wait-timeout 90 frontend replaced only the frontend and reported healthy.
Running frontend image: sha256:3bc4fcb9c469be29a160cd8a6951e1424098bf87e3ff31b255d1eec4ad04b78c. https://localhost:5126/ returns HTTP 200 with the local CA verified. The served main.dart.js hash matches the container file (25490b68ff83ac6e31a255188eea5afab856c6f1191741927d525e75e2064955), differs from the old bundle, and contains the newPassword and username/email hint arrays.
Native Safari popup verification remains manual because computer-control permission is unavailable. Reload Safari to load the deployed bundle. No account creation or credential submission was performed.
Merged and deployed to the local frontend on 19 October 2026 at 13:06 Europe/Warsaw.
PR #58 merged into main as 30f06c2f8f71c0c80d802faae6a23a3d6200ca31. The current local stand branch was integrated with origin/main (local integration commit ec5a2bbaabd649e7c6aadcbc9e9cfb127976ff0a), preserving its existing backend/configuration work; its frontend matches the tested auth-56 contribution.
Validation: formatting of the five changed Dart files passed; flutter analyze in frontend/app passed; make test-frontend passed all 212 tests. Fresh stable image/Flutter pins were resolved with sh infra/local/tools.sh images. docker compose build --pull frontend succeeded; up -d --no-deps --force-recreate --wait --wait-timeout 90 frontend replaced only the frontend and reported healthy.
Running frontend image: sha256:3bc4fcb9c469be29a160cd8a6951e1424098bf87e3ff31b255d1eec4ad04b78c. https://localhost:5126/ returns HTTP 200 with the local CA verified. The served main.dart.js hash matches the container file (25490b68ff83ac6e31a255188eea5afab856c6f1191741927d525e75e2064955), differs from the old bundle, and contains the newPassword and username/email hint arrays.
Native Safari popup verification remains manual because computer-control permission is unavailable. Reload Safari to load the deployed bundle. No account creation or credential submission was performed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Make Safari reliably recognize the account email, login password and signup password/confirmation pair so customers can use browser autofill and generated credentials.
Approach
Add explicit Flutter autofill hints and a shared credential group to the consumer auth form. Finalize accepted credentials before clearing them, cancel abandoned contexts, and preserve existing validation, visibility toggles, provider boundaries and journey analytics. Add focused platform-message tests and document browser verification.
Acceptance criteria
Notes
Primary module auth; owner tech; project SXCHNGE (16); frontend label (16). Browser-controlled suggestions require Safari AutoFill to be enabled and cannot be guaranteed by widget tests. Preserve the unrelated notifications runtime change. No deployment or merge is requested. Existing auth journey measurements are sufficient; do not add field telemetry. References: https://developer.apple.com/documentation/security/enabling-password-autofill-on-an-html-input-element and https://api.flutter.dev/flutter/widgets/AutofillGroup-class.html .
Delivery: #58, commit
86b6aafon auth-56. Formatting, app analysis, all 212 frontend tests and web build passed. Built-page DOM confirms grouped browser autocomplete metadata. Native Safari popup verification remains a documented manual release check; computer-control permission was unavailable. Scope, UX/measurement review and framework accessibility-mode limitations are recorded in docs/ux/auth-journeys.md. Unrelated shared-checkout changes were preserved; delivery used an isolated worktree.Merged and deployed to the local frontend on 19 October 2026 at 13:06 Europe/Warsaw.
PR #58 merged into main as
30f06c2f8f. The current local stand branch was integrated with origin/main (local integration commit ec5a2bbaabd649e7c6aadcbc9e9cfb127976ff0a), preserving its existing backend/configuration work; its frontend matches the tested auth-56 contribution.Validation: formatting of the five changed Dart files passed; flutter analyze in frontend/app passed; make test-frontend passed all 212 tests. Fresh stable image/Flutter pins were resolved with sh infra/local/tools.sh images. docker compose build --pull frontend succeeded; up -d --no-deps --force-recreate --wait --wait-timeout 90 frontend replaced only the frontend and reported healthy.
Running frontend image: sha256:3bc4fcb9c469be29a160cd8a6951e1424098bf87e3ff31b255d1eec4ad04b78c. https://localhost:5126/ returns HTTP 200 with the local CA verified. The served main.dart.js hash matches the container file (25490b68ff83ac6e31a255188eea5afab856c6f1191741927d525e75e2064955), differs from the old bundle, and contains the newPassword and username/email hint arrays.
Native Safari popup verification remains manual because computer-control permission is unavailable. Reload Safari to load the deployed bundle. No account creation or credential submission was performed.