From 96ed363c6b2ff5b633fc76933233f0dcf7cbd700 Mon Sep 17 00:00:00 2001 From: Gemini Bot Date: Sat, 6 Dec 2025 18:03:42 +0000 Subject: [PATCH] Aggressively fix permissions with wildcard fallback --- fix_permissions.sh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/fix_permissions.sh b/fix_permissions.sh index e7fd62d..dccb6cd 100755 --- a/fix_permissions.sh +++ b/fix_permissions.sh @@ -41,27 +41,36 @@ for service in services: changed = False - # Ensure bridge.permissions structure exists + # Ensure bridge.permissions structure exists and is a dict if 'bridge' not in data: data['bridge'] = {} - if 'permissions' not in data['bridge'] or data['bridge']['permissions'] is None: + if 'permissions' not in data['bridge'] or not isinstance(data['bridge']['permissions'], dict): data['bridge']['permissions'] = {} changed = True perms = data['bridge']['permissions'] - # Add admin user if missing - if admin_user not in perms: + # Force set permissions to ensure they are present + # We use string keys explicitly + + # 1. Admin User + if str(admin_user) not in perms: perms[str(admin_user)] = "admin" changed = True print(f" - Added admin permission for {admin_user}") - - # Add beeper.local domain permission + + # 2. Domain Permission if 'beeper.local' not in perms: perms['beeper.local'] = "user" changed = True - print(f" - Added basic permission for beeper.local domain") + print(f" - Added permission for beeper.local") + + # 3. Wildcard Fallback (safety net) + if '*' not in perms: + perms['*'] = "user" + changed = True + print(f" - Added wildcard (*) permission") if changed: with open(config_path, 'w') as f: