Sign-up and sign-in pages: the navigation names the Account, a refresh keeps it signed in #379

Closed
opened 2026-10-11 16:26:51 +00:00 by root · 14 comments
root commented 2026-10-11 16:26:51 +00:00 (Migrated from gitlab.core-project.space)

Imported from GitHub amaurycoudr/chess-project#379, opened by @amaurycoudr on 2026-10-11 16:26 UTC.


Parent

#364

What to build

A Player signs up at /sign-up and sees whether a Username is free while typing: the format is checked locally with the contract's schema, then availability through a debounced read. Every refusal shows its reason. They sign in at /sign-in and sign out from the site navigation. The navigation shows "Sign in" when signed out and the Username with "Sign out" when signed in. The signed-in Account is one Query entry from account.me, and signing in or out resets the whole Query cache. A shared refresh-and-retry wrapper sits on every vertical's client. On UNAUTHORIZED it refreshes once per tab at a time, then retries once. A failed refresh shows the Player signed out rather than looping. Every new string is in the Paraglide catalogue in English and French.

Seam: the front views (each beside its view with the auth vertical's harness and MSW)

Acceptance criteria

  • The sign-up view shows each refusal (email taken, Username taken, Username not allowed with its reason, password too short or too long) and the live Username check
  • The sign-in view shows one message for a wrong email or password
  • The site navigation is tested signed in (Username, "Sign out") and signed out ("Sign in")
  • One UNAUTHORIZED triggers one refresh and one retry; two calls failing together refresh once; a refresh that succeeds followed by a retry that fails shows the Player signed out
  • Signing in and signing out reset the Query cache
  • Every new string is in the catalogue in English and French
  • The front's new auth vertical is declared in the front lint config's per-vertical rules, and the other verticals' sibling-import rules name it (the owner ruled on the accounts breakdown that declaring a folder the spec creates counts as the requested lint change; nothing else in lint config changes)
> _Imported from GitHub [amaurycoudr/chess-project#379](https://github.com/amaurycoudr/chess-project/issues/379), opened by [@amaurycoudr](https://github.com/amaurycoudr) on 2026-10-11 16:26 UTC._ <!-- github-issue:379 --> --- ## Parent #364 ## What to build A **Player** signs up at `/sign-up` and sees whether a **Username** is free while typing: the format is checked locally with the contract's schema, then availability through a debounced read. Every refusal shows its reason. They sign in at `/sign-in` and sign out from the site navigation. The navigation shows "Sign in" when signed out and the **Username** with "Sign out" when signed in. The signed-in **Account** is one Query entry from `account.me`, and signing in or out resets the whole Query cache. A shared refresh-and-retry wrapper sits on every vertical's client. On UNAUTHORIZED it refreshes once per tab at a time, then retries once. A failed refresh shows the **Player** signed out rather than looping. Every new string is in the Paraglide catalogue in English and French. Seam: the front views (each beside its view with the `auth` vertical's harness and MSW) ## Acceptance criteria - [ ] The sign-up view shows each refusal (email taken, **Username** taken, **Username** not allowed with its reason, password too short or too long) and the live **Username** check - [ ] The sign-in view shows one message for a wrong email or password - [ ] The site navigation is tested signed in (**Username**, "Sign out") and signed out ("Sign in") - [ ] One UNAUTHORIZED triggers one refresh and one retry; two calls failing together refresh once; a refresh that succeeds followed by a retry that fails shows the **Player** signed out - [ ] Signing in and signing out reset the Query cache - [ ] Every new string is in the catalogue in English and French - [ ] The front's new auth vertical is declared in the front lint config's per-vertical rules, and the other verticals' sibling-import rules name it (the owner ruled on the accounts breakdown that declaring a folder the spec creates counts as the requested lint change; nothing else in lint config changes)
root commented 2026-10-11 16:26:51 +00:00 (Migrated from gitlab.core-project.space)

GitHub issue relations, imported as "related" links (GitLab CE has no sub-issues or blocking links).

> _GitHub issue relations, imported as "related" links (GitLab CE has no sub-issues or blocking links)._ <!-- github-relations --> - Parent (sub-issue of): #364 - Blocked by: #378 - Blocking: #384, #383, #380
root commented 2026-10-13 08:39:47 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #380

mentioned in issue #380
root commented 2026-10-13 08:39:49 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #383

mentioned in issue #383
root commented 2026-10-13 08:39:49 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #384

mentioned in issue #384
root commented 2026-10-13 08:41:22 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #364

mentioned in issue #364
root commented 2026-10-13 08:41:27 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #378

mentioned in issue #378
root commented 2026-10-13 08:42:29 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #364

marked this issue as related to #364
root commented 2026-10-13 08:42:37 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #378

marked this issue as related to #378
root commented 2026-10-13 08:42:38 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #384

marked this issue as related to #384
root commented 2026-10-13 08:42:38 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #383

marked this issue as related to #383
root commented 2026-10-13 08:42:38 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #380

marked this issue as related to #380
root commented 2026-10-14 10:36:16 +00:00 (Migrated from gitlab.core-project.space)

mentioned in merge request !523

mentioned in merge request !523
root commented 2026-10-14 10:54:28 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 0b08e20297

mentioned in commit 0b08e2029728c8e52364090fe8c189c0e68cc008
root commented 2026-10-14 12:19:56 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 903efced09

mentioned in commit 903efced0901f791b39afc692243a1aa3795fc8b
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-14 13:28:23 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#379
No description provided.