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

@ -189,10 +189,13 @@ export function buildLocalAdminUserContext() {
export function buildLocalAdminIdentity(rolesStore) {
const empNo = DEFAULT_FALLBACK_USERNAME
const role = rolesStore?.getRole?.(empNo) || ROLES.FALLBACK_ADMIN
const permissions = typeof rolesStore?.resolvePermissions === 'function'
? rolesStore.resolvePermissions(empNo, role)
: computePermissions(role)
return {
empNo,
role,
permissions: computePermissions(role),
permissions,
userContext: buildLocalAdminUserContext(),
kind: 'fallback',
}