Skip to content
Merged
Show file tree
Hide file tree
Changes from 47 commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
4876bc1
fix(admin-ui): service status shows accurate values on dashboard inst…
faisalsiddique4400 Dec 8, 2025
1645e8b
merged with main
faisalsiddique4400 Dec 31, 2025
0f7d375
Merge branch 'main' of github-faisal:GluuFederation/flex into admin-u…
faisalsiddique4400 Jan 1, 2026
4f6653d
feat(admin-ui): update Config API configuration screen with recent ch…
faisalsiddique4400 Jan 2, 2026
8b97ae7
Merge branch 'main' of github-faisal:GluuFederation/flex into admin-u…
faisalsiddique4400 Jan 2, 2026
223e64b
coderabbit suggestions
faisalsiddique4400 Jan 2, 2026
80239a9
coderabbit suggestions
faisalsiddique4400 Jan 2, 2026
94dc763
coderabbit suggestions
faisalsiddique4400 Jan 2, 2026
dfec8a8
coderabbit suggestions
faisalsiddique4400 Jan 2, 2026
0a279c9
coderabbit suggestions
faisalsiddique4400 Jan 2, 2026
50cf5bd
coderabbit suggestions
faisalsiddique4400 Jan 2, 2026
5242d4c
feat(admin-ui): convert Config API Properties to forms with back butt…
faisalsiddique4400 Jan 6, 2026
fde6886
Merge branch 'main' into admin-ui-issue-2559
faisalsiddique4400 Jan 6, 2026
1e3a165
enhancement
faisalsiddique4400 Jan 6, 2026
55c0e8a
Merge branch 'main' of github-faisal:GluuFederation/flex into admin-u…
faisalsiddique4400 Jan 6, 2026
d7d2117
enhancement
faisalsiddique4400 Jan 6, 2026
9aeff7b
Merge branch 'main' of github-faisal:GluuFederation/flex into admin-u…
faisalsiddique4400 Jan 6, 2026
96cae73
Merge branch 'main' of github-faisal:GluuFederation/flex into admin-u…
faisalsiddique4400 Jan 6, 2026
3a2a443
Merge branch 'admin-ui-issue-2559' of github-faisal:GluuFederation/fl…
faisalsiddique4400 Jan 6, 2026
c357401
enhancement
faisalsiddique4400 Jan 7, 2026
58275c0
enhancement
faisalsiddique4400 Jan 7, 2026
e43e456
enhancement
faisalsiddique4400 Jan 7, 2026
45f03d6
enhancement
faisalsiddique4400 Jan 7, 2026
5a374db
enhancement
faisalsiddique4400 Jan 7, 2026
d413bb5
enhancement
faisalsiddique4400 Jan 7, 2026
92905c2
enhancement
faisalsiddique4400 Jan 7, 2026
baa24cf
enhancement
faisalsiddique4400 Jan 7, 2026
4696122
Merge branch 'admin-ui-issue-2559' of github-faisal:GluuFederation/fl…
faisalsiddique4400 Jan 7, 2026
b0a8ce8
feat(admin-ui): convert Auth Server Properties to forms with back but…
faisalsiddique4400 Jan 7, 2026
fe01fce
feat(admin-ui): Resolve conflicts coming in the pr
faisalsiddique4400 Jan 8, 2026
c72fae0
feat(admin-ui): Resolve issues coming in the pr
faisalsiddique4400 Jan 9, 2026
6bee2b7
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
49b972f
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
0418758
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
fa6083d
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
1d27aa0
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
9a375cc
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
39897e3
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 9, 2026
3010122
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 13, 2026
669a04e
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 13, 2026
37db9fa
feat(admin-ui): Resolve comments in the pr
faisalsiddique4400 Jan 13, 2026
a55b980
Merge branch 'main' of github-faisal:GluuFederation/flex into admin-u…
faisalsiddique4400 Jan 20, 2026
e80e454
Merge branch 'main' into admin-ui-issue-2560
faisalsiddique4400 Jan 20, 2026
187f88f
Merge branch 'admin-ui-issue-2560' of github-faisal:GluuFederation/fl…
faisalsiddique4400 Jan 20, 2026
e3bd943
Merge branch 'main' into admin-ui-issue-2560
faisalsiddique4400 Jan 20, 2026
7fb1f05
feat(admin-ui): Resolve comments on the pr
faisalsiddique4400 Jan 21, 2026
263f101
Merge branch 'admin-ui-issue-2560' of github-faisal:GluuFederation/fl…
faisalsiddique4400 Jan 21, 2026
e4f4162
feat(admin-ui): Resolve comments on the pr
faisalsiddique4400 Jan 21, 2026
1369612
feat(admin-ui): Resolve comments on the pr
faisalsiddique4400 Jan 21, 2026
67f3a36
feat(admin-ui): Resolve comments on the pr
faisalsiddique4400 Jan 21, 2026
f4af3ba
feat(admin-ui): Resolve comments on the pr
faisalsiddique4400 Jan 22, 2026
45eeb0b
Merge branch 'main' into admin-ui-issue-2560
faisalsiddique4400 Jan 22, 2026
c124fe6
Merge branch 'main' into admin-ui-issue-2560
faisalsiddique4400 Jan 22, 2026
14d182e
Merge branch 'main' into admin-ui-issue-2560
faisalsiddique4400 Jan 22, 2026
6cd9311
Merge branch 'main' into admin-ui-issue-2560
moabu Jan 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions admin-ui/app/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,15 @@
"cannot_be_empty": "{{field}} cannot be empty",
"must_be_valid_url": "{{field}} must be a valid URL"
},
"validation_messages": {
"invalid_url_format": "Invalid URL format",
"must_be_non_negative": "Must be non-negative",
"required_field": "This field is required",
"invalid_number": "Must be a valid number",
"invalid_email": "Must be a valid email address",
"invalid_json": "Must be valid JSON",
"invalid_pattern": "Invalid format"
},
"tooltips": {
"add_attribute": "Add attribute",
"add_user": "Add User",
Expand Down
9 changes: 9 additions & 0 deletions admin-ui/app/locales/es/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -915,6 +915,15 @@
"cannot_be_empty": "{{field}} no puede estar vacío",
"must_be_valid_url": "{{field}} debe ser una URL válida"
},
"validation_messages": {
"invalid_url_format": "Formato de URL inválido",
"must_be_non_negative": "Debe ser no negativo",
"required_field": "Este campo es obligatorio",
"invalid_number": "Debe ser un número válido",
"invalid_email": "Debe ser una dirección de correo válida",
"invalid_json": "Debe ser JSON válido",
"invalid_pattern": "Formato inválido"
},
Comment on lines +921 to +929
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Consider consolidating with existing validations section.

There's already a validations section (lines 1865-1889) in this file with overlapping keys like invalid_email, invalid_number, invalid_json, and field_required. This creates duplication:

New key (validation_messages) Existing key (validations)
required_field field_required
invalid_number invalid_number
invalid_email invalid_email
invalid_json invalid_json
invalid_url_format invalid_url

Consider reusing the existing validations namespace to avoid maintaining duplicate translations, or document why both namespaces are needed (e.g., different consumers).

🤖 Prompt for AI Agents
In `@admin-ui/app/locales/es/translation.json` around lines 921 - 929, The new
"validation_messages" block duplicates translations already present under the
"validations" namespace; consolidate by removing or merging
"validation_messages" and reusing "validations" keys (e.g., map "required_field"
→ "field_required", keep "invalid_number", "invalid_email", "invalid_json", and
"invalid_url_format" aligned to "invalid_number", "invalid_email",
"invalid_json", and "invalid_url" respectively) and update any consumers to
reference "validations" (or document why both namespaces must remain). Ensure
you update references that read the old "validation_messages" keys to the
canonical "validations" keys or add clear aliases in one place to avoid
duplicate maintenance.

"tooltips": {
"add_attribute": "Añadir atributo",
"add_ldap": "Añadir LDAP",
Expand Down
9 changes: 9 additions & 0 deletions admin-ui/app/locales/fr/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -855,6 +855,15 @@
"cannot_be_empty": "{{field}} ne peut pas être vide",
"must_be_valid_url": "{{field}} doit être une URL valide"
},
"validation_messages": {
"invalid_url_format": "Format d'URL invalide",
"must_be_non_negative": "Doit être non-négatif",
"required_field": "Ce champ est obligatoire",
"invalid_number": "Doit être un nombre valide",
"invalid_email": "Doit être une adresse e-mail valide",
"invalid_json": "Doit être du JSON valide",
"invalid_pattern": "Format invalide"
},
"tooltips": {
"add_attribute": "Ajouter un attribut",
"add_ldap": "Ajouter LDAP",
Expand Down
9 changes: 9 additions & 0 deletions admin-ui/app/locales/pt/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -850,6 +850,15 @@
"cannot_be_empty": "{{field}} não pode estar vazio",
"must_be_valid_url": "{{field}} deve ser uma URL válida"
},
"validation_messages": {
"invalid_url_format": "Formato de URL inválido",
"must_be_non_negative": "Deve ser não-negativo",
"required_field": "Este campo é obrigatório",
"invalid_number": "Deve ser um número válido",
"invalid_email": "Deve ser um endereço de e-mail válido",
"invalid_json": "Deve ser um JSON válido",
"invalid_pattern": "Formato inválido"
},
"tooltips": {
"add_attribute": "Adicionar atributo",
"add_user": "Adicionar usuário",
Expand Down
2 changes: 1 addition & 1 deletion admin-ui/app/routes/Apps/Gluu/GluuInlineInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ const GluuInlineInput = ({
handler(patch)
}
},
[disabled, name, showSaveButtons, path, handler],
[disabled, name, showSaveButtons, isValidPath, path, handler],
)

const onAccept = useCallback(() => {
Expand Down
10 changes: 5 additions & 5 deletions admin-ui/app/routes/Apps/Gluu/GluuTabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ TabPanel.displayName = 'TabPanel'
const isNavigationTab = (tab: TabItem | null): tab is NavigationTab => {
return Boolean(
tab &&
typeof tab === 'object' &&
'name' in tab &&
'path' in tab &&
typeof tab.path === 'string' &&
tab.path.trim().length > 0,
typeof tab === 'object' &&
'name' in tab &&
'path' in tab &&
typeof tab.path === 'string' &&
tab.path.trim().length > 0,
)
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import React from 'react'
import { render, screen, waitFor } from '@testing-library/react'
import ConfigPage from './ConfigPage'
import AuthPage from './AuthPage'
import { Provider } from 'react-redux'
import i18n from '../../../../app/i18n'
import { I18nextProvider } from 'react-i18next'
import AppTestWrapper from 'Routes/Apps/Gluu/Tests/Components/AppTestWrapper.test'
import { combineReducers, configureStore } from '@reduxjs/toolkit'

Expand Down Expand Up @@ -161,11 +159,11 @@ const Wrapper = ({ children }) => (
</AppTestWrapper>
)

it('Should render json properties page properly', () => {
render(<ConfigPage configuration={config} permissions={permissions} />, {
it('Should render json properties page properly', async () => {
render(<AuthPage />, {
wrapper: Wrapper,
})
waitFor(() => expect(screen.getByText(config.issuer)).toBeInTheDocument())
await waitFor(() => expect(screen.getByText(config.issuer)).toBeInTheDocument())
expect(screen.getByTestId('issuer')).toHaveValue(config.issuer)
expect(screen.getByTestId('baseEndpoint')).toHaveValue(config.baseEndpoint)
expect(screen.getByTestId('authorizationEndpoint')).toHaveValue(config.authorizationEndpoint)
Expand Down
Loading
Loading