chore: release v1.19.6 - UI nav auth, SMTP UI-only, test messages, directory.md
### Fixed - **Navbar shows Catalog/Vault for unauthenticated users** — Changed nav gating from `groups: []` (always visible) to `groups: ['login']` and added synthetic 'login' group handling in app-base.js. - **500 ENOENT: no such file or directory, open '/docs/directory.md'** — Created the missing documentation file. ### Changed - **SMTP configuration UI-only** — Removed SMTP from static config files (conf/base.js, sso-secrets.js, setup.env.example). SMTP is now only configurable via the runtime UI at /conf. ### Added - **Test email/SMS capability** — Added POST /api/conf/test-email and POST /api/conf/test-sms endpoints with UI buttons in the Configuration page. Saves config first, then sends test message to verify settings. ### theta-env setup.sh - **Non-interactive theta-agent configuration** — Added CFG_THETA_AGENT_ENABLE, CFG_THETA_AGENT_LDAP_AUTH, and CFG_THETA_AGENT_FULL_CONTROL variables to setup.env (all default to 1/enabled). Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -615,9 +615,10 @@ app.util = (function(app){
|
||||
// Reveal every .group-required-<cn> element the current user's groups entitle
|
||||
// them to. Elements carrying .group-required start hidden (styles.css), so a
|
||||
// user who is in no groups — or who isn't logged in — simply never sees them.
|
||||
// The synthetic 'login' group is special: it's true for any authenticated user.
|
||||
app.auth.applyGroupVisibility = function(user){
|
||||
var groups = app.auth.groupCNs(user);
|
||||
if(!groups.length) return;
|
||||
var isLoggedIn = !!user;
|
||||
|
||||
var style = document.getElementById('group-required-rules');
|
||||
if(!style){
|
||||
@@ -636,6 +637,19 @@ app.auth.applyGroupVisibility = function(user){
|
||||
// A group whose CN isn't a usable CSS identifier just gates nothing.
|
||||
}
|
||||
}
|
||||
|
||||
// The 'login' group is synthetic — it means "any authenticated user".
|
||||
// Reveal .group-required-login for any logged-in user.
|
||||
if(isLoggedIn){
|
||||
try{
|
||||
style.sheet.insertRule(
|
||||
`.group-required-login { display: revert !important; }`,
|
||||
style.sheet.cssRules.length
|
||||
);
|
||||
}catch(error){
|
||||
// Ignore CSS escape errors.
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$( document ).ready(async function(){
|
||||
|
||||
Reference in New Issue
Block a user