Repository navigation
Conversation
- ConfirmEmailCard in identity-core: the question, its outcome, and the messages and translations that came with it. Volto's ConfirmEmail keeps its Redux state and renders it; its 10 tests pass unchanged. - Aurora's /confirm-email: the loader reads the profile, the action posts the answer to @Confirm-Email. - Aurora's profile gate: a rootLoaderData utility asks @my-profile for signed-in requests, and a component in the authenticatedTools slot holds an incomplete profile at /complete-profile, which names the missing fields with core's new CompleteProfileCard and links to Aurora's edit form. It remembers where the user was going and resumes once the profile is complete. A page rather than Volto's toast: Aurora has no toast every page carries, and the edit form is cmsui's. - Playwright: the gate holds a profile missing a required field, keeps holding it from another page, and resumes there once it is filled in. Seen failing with the gate unregistered. Refs #132
This branch has not been deployed
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.
Seventh phase of #132, stacked on #138. Draft: please don't merge. Each phase gets its own PR, built on the previous one, and none is merged until the whole series has been reviewed.
The sign-in follow-ups from the plan: email confirmation and the required-profile gate. The first-login route is left out: Volto offers it to sites that route to it, but nothing in either add-on does, and the gate covers the same need.
concepts/frontends.mdsays so.Email confirmation
ConfirmEmailCardin core. Volto'sConfirmEmailmixed its Redux logic with its markup. The markup is now core's card, which takes astatus(loading,nothing,asking,done), the addresses, and anonConfirm./confirm-email. Under publicui's layout. The loader reads@my-profileas the user; the action POSTs the answer to@confirm-email.The profile gate
Decided with you before building it: Aurora holds the user at an explanation page,
/complete-profile, rather than dropping them on the edit form./complete-profile: core's newCompleteProfileCardnames the missing fields by their form labels and links to/@@edit<profile>@plone/cmsui'srootLoaderDatautility asks@my-profilefor signed-in requests: one request per signed-in page. Aurora's content expansions are hard-coded, so an add-on cannot add oneappExtras, on every routeauthenticatedToolsslot, on every page with the site's header. It renders nothingWhat Aurora reuses. The decision (
lib/gate.ts) is core's rule with Aurora's stops. It uses core'sEXEMPT_PATHS,awaitingConfirmation,onProfile,rememberReturn,takeReturnandhandedOverReturn. A profile waiting only for an address confirmation goes to/confirm-emailfrom anywhere but there, as in Volto.Where the user ends up. The gate remembers where the user was going and resumes there once the profile is complete. Saving the edit form lands on the profile's own page, which has the header, and the gate lets the user go there.
Upstream. Two Aurora hooks would let this match Volto: add-on content expansions, and an app-wide toast region. Worth raising upstream.
Acceptance tests
profile-gate.spec.ts. It requiresdescriptionthroughpas.plugins.identity.required_profile_fieldsfor this file only, and clears it on the Dex user's profile first, so reruns start held. The steps:/complete-profile, told "Please fill in … before you can continue.", with the edit link at/@@edit/…./search: held again./: sent on to/search.Seen failing with the gate component unregistered. All nine acceptance tests pass locally, twice in a row. Not run in CI yet.
The email confirmation has no acceptance test: it needs a first sign-in bringing several verified addresses, and Dex brings one.
Translations
The moved messages kept their de, es and pt_BR translations. One new message, "Your profile is complete.", was translated here: "Ihr Profil ist vollständig." / "Tu perfil está completo." / "Seu perfil está completo." Worth a native speaker's look.
Checks
ConfirmEmailCard, +4CompleteProfileCard), Volto 634 unchanged, Aurora add-on 37 (+6lib/gate)make -C frontend lint,make aurora-lint, both typechecksci-i18n, both harnessespnpm build;make aurora-buildmake docs-build; Vale