Compare commits

..

2 Commits

Author SHA1 Message Date
fbc92da47d Release candidate 2023-06-19 02:42:53 +02:00
519c69cb79 #359: Add log for debugging issue with Keycloak 11.0.2 2023-06-19 02:42:22 +02:00
4 changed files with 12 additions and 15 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "keycloakify", "name": "keycloakify",
"version": "7.13.2", "version": "7.13.2-rc.0",
"description": "Create Keycloak themes using React", "description": "Create Keycloak themes using React",
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -34,6 +34,8 @@
<#-- https://github.com/keycloakify/keycloakify/pull/359 Compat with Keycloak prior v12 --> <#-- https://github.com/keycloakify/keycloakify/pull/359 Compat with Keycloak prior v12 -->
<#if !messagesPerField.existsError??> <#if !messagesPerField.existsError??>
/* Consider updating to Keycloak v12 or newer */
<#-- https://github.com/keycloakify/keycloakify/pull/218 --> <#-- https://github.com/keycloakify/keycloakify/pull/218 -->
<#if '${fieldName}' == 'username' || '${fieldName}' == 'password'> <#if '${fieldName}' == 'username' || '${fieldName}' == 'password'>
@ -42,6 +44,7 @@
<#attempt> <#attempt>
<#assign doExistMessageForUsernameOrPassword = messagesPerField.exists('username')> <#assign doExistMessageForUsernameOrPassword = messagesPerField.exists('username')>
<#recover> <#recover>
/* There was an FTL error calling messagesPerField.exists('username') */
<#assign doExistMessageForUsernameOrPassword = true> <#assign doExistMessageForUsernameOrPassword = true>
</#attempt> </#attempt>
@ -49,6 +52,7 @@
<#attempt> <#attempt>
<#assign doExistMessageForUsernameOrPassword = messagesPerField.exists('password')> <#assign doExistMessageForUsernameOrPassword = messagesPerField.exists('password')>
<#recover> <#recover>
/* There was an FTL error calling messagesPerField.exists('password') */
<#assign doExistMessageForUsernameOrPassword = true> <#assign doExistMessageForUsernameOrPassword = true>
</#attempt> </#attempt>
</#if> </#if>

View File

@ -211,8 +211,7 @@ const keycloakifyExtraMessages = {
"shouldBeDifferent": "{0} should be different to {1}", "shouldBeDifferent": "{0} should be different to {1}",
"shouldMatchPattern": "Pattern should match: `/{0}/`", "shouldMatchPattern": "Pattern should match: `/{0}/`",
"mustBeAnInteger": "Must be an integer", "mustBeAnInteger": "Must be an integer",
"notAValidOption": "Not a valid option", "notAValidOption": "Not a valid option"
"selectAnOption": "Select an option"
}, },
"fr": { "fr": {
/* spell-checker: disable */ /* spell-checker: disable */
@ -224,8 +223,7 @@ const keycloakifyExtraMessages = {
"logoutConfirmTitle": "Déconnexion", "logoutConfirmTitle": "Déconnexion",
"logoutConfirmHeader": "Êtes-vous sûr(e) de vouloir vous déconnecter ?", "logoutConfirmHeader": "Êtes-vous sûr(e) de vouloir vous déconnecter ?",
"doLogout": "Se déconnecter", "doLogout": "Se déconnecter"
"selectAnOption": "Sélectionner une option"
/* spell-checker: enable */ /* spell-checker: enable */
} }
}; };

View File

@ -17,7 +17,7 @@ export type UserProfileFormFieldsProps = {
export function UserProfileFormFields(props: UserProfileFormFieldsProps) { export function UserProfileFormFields(props: UserProfileFormFieldsProps) {
const { kcContext, onIsFormSubmittableValueChange, i18n, getClassName, BeforeField, AfterField } = props; const { kcContext, onIsFormSubmittableValueChange, i18n, getClassName, BeforeField, AfterField } = props;
const { advancedMsg, msg } = i18n; const { advancedMsg } = i18n;
const { const {
formValidationState: { fieldStateByAttributeName, isFormSubmittable }, formValidationState: { fieldStateByAttributeName, isFormSubmittable },
@ -98,16 +98,11 @@ export function UserProfileFormFields(props: UserProfileFormFieldsProps) {
} }
value={value} value={value}
> >
<>
<option value="" selected disabled hidden>
{msg("selectAnOption")}
</option>
{options.options.map(option => ( {options.options.map(option => (
<option key={option} value={option}> <option key={option} value={option}>
{option} {option}
</option> </option>
))} ))}
</>
</select> </select>
); );
} }