From fe51d697008f85f5c3dd7edecda53c00a03298e7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 18:06:28 +0000 Subject: [PATCH 1/2] Initial plan From 8caee2ec2239cc49950eb71eaf9afcd566936d29 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 12 Apr 2026 18:08:22 +0000 Subject: [PATCH 2/2] fix: write SECURITY_BANNER_DISMISSED_FLAG after security reset to prevent banner reappearing after reboot Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/8a33795f-2791-4029-98c3-1d703054404f Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com> --- app/sovran_systemsos_web/server.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/sovran_systemsos_web/server.py b/app/sovran_systemsos_web/server.py index af4f9e9..325b6d2 100644 --- a/app/sovran_systemsos_web/server.py +++ b/app/sovran_systemsos_web/server.py @@ -3383,6 +3383,14 @@ async def api_security_reset(): except Exception as exc: errors.append(f"keyring wipe: {exc}") + # The user performed a full security reset — the banner's purpose is served. + try: + os.makedirs(os.path.dirname(SECURITY_BANNER_DISMISSED_FLAG), exist_ok=True) + with open(SECURITY_BANNER_DISMISSED_FLAG, "w"): + pass + except OSError: + pass # Non-fatal + return {"ok": True, "new_password": new_free_password, "errors": errors}