You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
tenant deletion leaves tenant-scope settings/branding rows and in-memory flag overrides #639
modules/settings and modules/branding have no TenantDeleted handler; settings_setting rows with scope=tenant, scope_id=<deleted> (incl. branding logo file_ids already purged by file_storage) survive. Feature-flag tenant overrides also survive in web workers' in-memory registry after the durable purge. Follow-up to #583.
Reported by static review of main@9c690961; reproduce with a failing test before fixing.
Tenant-scope settings_setting rows (incl. branding logo/favicon file ids) are purged durably by framework-owned simple_module_db.tenant_cleanup.delete_tenant_settings, registered in the host (app_builder.register_tenant_cleanup) and the outbox worker (outbox_worker.py) since Tech-debt batch 3: tenant teardown, backend-mismatch guard, checksum reconciler (#583 #589 #590) #605, independent of the settings/branding plugins.
Feature-flag tenant overrides: rows are purged by feature_flags.tenant_cleanup.purge_tenant_data; web workers' in-memory registries reload every 30 s since Tech-debt batch 13: apply role grants, module settings and flag overrides after commit, across workers (#621) #646 (InvalidationRefresh), which bounds staleness — the durable handler has no app to publish an invalidation from, so the periodic reload is the designed floor.
Covered by the existing tenant-teardown integration tests.
Activity
antosubash commentedon Oct 24, 2026
Already resolved on main, no code change needed:
settings_settingrows (incl. branding logo/favicon file ids) are purged durably by framework-ownedsimple_module_db.tenant_cleanup.delete_tenant_settings, registered in the host (app_builder.register_tenant_cleanup) and the outbox worker (outbox_worker.py) since Tech-debt batch 3: tenant teardown, backend-mismatch guard, checksum reconciler (#583 #589 #590) #605, independent of the settings/branding plugins.feature_flags.tenant_cleanup.purge_tenant_data; web workers' in-memory registries reload every 30 s since Tech-debt batch 13: apply role grants, module settings and flag overrides after commit, across workers (#621) #646 (InvalidationRefresh), which bounds staleness — the durable handler has no app to publish an invalidation from, so the periodic reload is the designed floor.Covered by the existing tenant-teardown integration tests.
fix: lower-priority findings from the 2026-10-28 scan (#698) (#706)