Repository navigation
OpenConceptLab/ocl_issues#2844 | Sign-up links the Terms of Use and Privacy Policy - #2
Merged
Conversation
…rivacy Policy The v3 login theme's register page now ends with "By creating an account you agree to the Terms of Use and Privacy Policy", linking https://openconceptlab.org/terms-of-use and https://openconceptlab.org/privacy-policy in a new tab, so the form keeps what was typed in it. - The template builds both links and passes them to registerTermsNotice as {0} and {1}, so the URLs stay out of the translations and kcSanitize can't strip target and rel. - registerTermsNotice, termsOfUse and privacyPolicy are in en, es and zh, and a new messages_pt_BR.properties, since the live page offers pt-BR. The labels match TBv3's and the Mapper's. - Keycloak 19 reads the bundles as ISO-8859-1, so the new strings use \uXXXX escapes, and the files say so. - Grey 14px text (#5e5c71), styled by ID because PatternFly's .login-pf-page .card-pf p outranks a class selector. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UML1sP39mf4a2ynq22C9RD
…o Keycloak 19 shows them as written Keycloak 19 reads the theme's message bundles as ISO-8859-1, so the UTF-8 strings in messages_es.properties and messages_zh.properties came out garbled: the live Spanish sign-up form labels its fields "CompañÃa" and "Ubicación". Each non-ASCII character is now a \uXXXX escape, as doForgotPassword already was, and each file says why at the top. No string changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UML1sP39mf4a2ynq22C9RD
Member
Author
Codex review, pass 1 (codex-cli 0.162.1, commit 1cd916b)Verdict: clean. No findings. findings.json{
"reviewer": "codex-cli 0.162.1",
"perspective": "defects",
"mode": "full",
"commit": "1cd916b",
"verdict": "clean",
"prior": [],
"findings": []
} |
…n-up terms line Nothing centres the card's content, so the line is left-aligned without it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UML1sP39mf4a2ynq22C9RD
Member
Author
Simplification review (fresh Claude subagent, commit 1cd916b)Verdict: one proposed cut.
simplify.json{
"reviewer": "claude subagent",
"perspective": "simplify",
"mode": "full",
"commit": "1cd916b",
"verdict": "findings",
"prior": [],
"findings": [
{
"id": "S1",
"severity": null,
"tag": "delete",
"file": "themes/v3/login/resources/css/styles.css",
"line": 162,
"claim": "`text-align: left;` in #kc-register-terms is a no-op copied from span.no-account-text. The <p> sits in .card-pf > #kc-content > #kc-content-wrapper, and nothing centres those. I checked styles.css and the four stylesheets the live sign-up page loads: base.css, app.css, patternfly.min.css and patternfly-additions.min.css. Only .login-pf-page-header, .login-pf-header h1, .login-pf-signup and the social links are centred, and the card is a sibling of the header, not inside it. So the paragraph is left-aligned without the rule. The rule would also be wrong for a right-to-left locale.",
"scenario": null,
"action": "nothing replaces it",
"lines_delta": -1,
"confidence": "high"
}
]
}Codex review, check of cuts (codex-cli 0.162.1, commit 5cf2516)Verdict: clean. No findings. findings.json{
"reviewer": "codex-cli 0.162.1",
"perspective": "defects",
"mode": "cuts",
"commit": "5cf2516",
"verdict": "clean",
"prior": [],
"findings": []
} |
5 tasks done
paynejd
requested review from
snyaggarwal
and removed request for
snyaggarwal
October 14, 2026 01:11
…ls' size, muted The line under the sign-up form was 14 px, larger than the form's 12 px field labels. It's now 12 px, in the same muted grey (#5e5c71, lighter than the labels' #363636). Its links inherit the size, overriding the theme's 14 px rule for every link. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
Codex review, check of 14e0ce7 (codex-cli 0.162.1, commit 14e0ce7)Verdict: clean. No findings. 14e0ce7 comes from Jon's browser review: the terms line was 14 px, larger than the form's 12 px field labels. It's now 12 px in the same muted grey ( findings.json{
"reviewer": "codex-cli 0.162.1",
"perspective": "defects",
"mode": "cuts",
"commit": "14e0ce7",
"verdict": "clean",
"prior": [],
"findings": []
} |
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.
Part of OpenConceptLab/ocl_issues#2844. Creating an OCL account means accepting OCL's Terms of Use, but the sign-up page didn't link it or the Privacy Policy. Now a line under the form does. TBv2's footer is a separate PR: OpenConceptLab/oclweb2#55.
What changed
The line (
themes/v3/login/register.ftl, the login theme the live sign-up page uses). It reads "By creating an account you agree to the Terms of Use and Privacy Policy." It links https://openconceptlab.org/terms-of-use and https://openconceptlab.org/privacy-policy.target="_blank",rel="noopener noreferrer"), so the form keeps what was typed in it.registerTermsNoticemessage as{0}and{1}. The URLs stay out of the translations. AndkcSanitize, which the template uses for messages that contain HTML, would striptargetand addrel="nofollow".#5e5c71, the colour of the login page's "Do not have an OCL account?", lighter than the labels'#363636), with the theme's usual link colour. The links inherit the 12 px, overriding the theme's 14 px rule for every link. It's styled by ID, because PatternFly's.login-pf-page .card-pf poutranks a class selector.Messages.
registerTermsNotice,termsOfUseandprivacyPolicyare in en, es and zh, and in a newmessages_pt_BR.properties, because the live page offers Português (Brasil). The labels are the same as TBv3's and the Mapper's footers.The es line uses "aceptas", the informal form, as the bundle's existing "¿Has olvidado tu contraseña". Each language's translation lead may want to confirm these.
Encoding (second commit, separable). Keycloak 19 reads the theme's bundles as ISO-8859-1, so UTF-8 text comes out garbled.
\uXXXXescapes, and each bundle now says so at the top.How I tested it
I used stock
quay.io/keycloak/keycloak:19.0.1(the version theDockerfilepins) instart-dev, withthemes/v3mounted and theme caching off. A throwaway local realm usedv3as its login theme, with registration and en, es, pt-BR and zh enabled. Headless Chromium opened the register page and switched language through the page's own menu. At 1280 and 375 px, in each language, it checked that:target="_blank"andrel="noopener noreferrer";#5e5c71.After the encoding commit, it also checked that the es labels read "Compañía" and "Ubicación", and that the zh title and labels render.
How to review it locally
Open http://localhost:8180/realms/review/account/, choose Register, and switch languages from the menu at the top right. Remove the container with
docker rm -f kc-reviewwhen you're done.Going live
oclsso has no CI, so merging changes nothing on the live page. The change reaches users once the image is rebuilt and the SSO service is redeployed. No realm setting changes are needed: the live realm already uses the
v3theme and offers these languages.Noticed, not fixed
ocl-realm.jsonstill namesoclas the login theme and has internationalization off. It doesn't match the live realm, but--import-realmskips a realm that already exists, so it only matters for a fresh install.🤖 Generated with Claude Code
https://claude.ai/code/session_01UML1sP39mf4a2ynq22C9RD