Three operator gaps, all found the same way — a person could not sign up and the
app showed nobody anything.
- DELETE /api/admin/invites/{id} with a delete control on both the pending
requests and the previously-decided list. Deny keeps the row so the person
cannot immediately re-ask; delete forgets the address. Refused with 409 while
a User row exists for it, because is_allowed reads that row and removing it
would revoke a live user's access with no other sign — the list ships
has_account so the UI withholds the button instead of offering one that fails.
- Email is fail-soft by design, which had come to mean invisible. _send() now
records an email_undelivered notification for every admin when a message is
skipped or rejected, naming the message that was lost, throttled to one an
hour. /api/me carries email_configured, driving a standing warning on
Configuration → Email / SMTP and above the access-request list.
- The sign-in card's Create account / Forgot password / Didn't get the email
views are history entries (useHistorySubview), so Back returns to the previous
view instead of only moving the address bar.
Also: the per-test rate-limiter reset sweeps every loaded app.* module rather
than a hand-kept list of three — this change added a limiter outside it.
25 lines
1.0 KiB
JSON
25 lines
1.0 KiB
JSON
{
|
|
"user_role_change": "Szerepkör módosítva",
|
|
"user_suspend": "Felhasználó felfüggesztve",
|
|
"user_unsuspend": "Felhasználó visszaállítva",
|
|
"user_delete": "Felhasználó törölve",
|
|
"invite_approve": "Hozzáférési kérelem jóváhagyva",
|
|
"invite_deny": "Hozzáférési kérelem elutasítva",
|
|
"invite_add": "Email fehérlistázva",
|
|
"demo_add": "Demo email hozzáadva",
|
|
"demo_remove": "Demo email eltávolítva",
|
|
"demo_reset": "Demo visszaállítva",
|
|
"discovery_purge": "Felfedezés ürítve",
|
|
"config_set": "Beállítás módosítva",
|
|
"config_reset": "Beállítás visszaállítva",
|
|
"scheduler_interval": "Job-intervallum módosítva",
|
|
"maintenance_tune": "Karbantartás hangolva",
|
|
"sync_pause": "Szinkron szüneteltetve",
|
|
"sync_resume": "Szinkron folytatva",
|
|
"job_run": "Ütemező job lefutott",
|
|
"audit_clear": "Napló ürítve",
|
|
"download_credential_set": "Letöltési cookie-k beállítva",
|
|
"download_credential_delete": "Letöltési cookie-k eltávolítva",
|
|
"invite_delete": "Whitelista-bejegyzés törölve"
|
|
}
|