Make session visibility preference-driven and keep system-channel ACL separate.

Super/fallback can toggle view-all (default on); admin/user stay own-only while still seeing unowned system sessions. Add restore/prune helpers so empty-shell cleanup is explicit and recoverable.
This commit is contained in:
oliver 2026-09-14 20:48:15 +08:00
parent c26dc68f77
commit ad0cc98b38
17 changed files with 898 additions and 93 deletions

View file

@ -104,7 +104,10 @@ export function identityFromAls(rolesStore) {
return {
empNo: ctx.empNo,
role,
permissions: ctx.permissions || computePermissions(role),
// Prefer live prefs — ALS identity.permissions may be frozen at WS connect.
permissions: typeof rolesStore.resolvePermissions === 'function'
? rolesStore.resolvePermissions(ctx.empNo, role)
: (ctx.permissions || computePermissions(role)),
}
}