From a201d51db2e309caf87b869f17f34f1d6375525c Mon Sep 17 00:00:00 2001 From: christian Date: Wed, 21 Oct 2026 15:00:58 -0400 Subject: [PATCH] NA: READY page on 21, archives on 30-31, location pages back on 98/99 - Apply's import message names the READY page by its own number Co-Authored-By: Claude Opus 5.5 --- config.json | 4 ++-- ready-page.companionconfig | Bin 3449 -> 3450 bytes restart-page.companionconfig | Bin 3847 -> 3847 bytes settings/apply.py | 3 ++- status-page.companionconfig | Bin 6527 -> 6527 bytes tests/test_readiness.py | 4 ++-- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/config.json b/config.json index 300dc0e..2ae354e 100644 --- a/config.json +++ b/config.json @@ -1198,8 +1198,8 @@ ] } ], - "page": 24, - "page_name": "24\\nReady" + "page": 21, + "page_name": "21\\nReady" }, "restart_page": { "back_pos": [ diff --git a/ready-page.companionconfig b/ready-page.companionconfig index fc78fa98c6770f3cad63cf4e30f06be0305914d3..795944e0e60ad457bec51c0204d02edb06921d15 100644 GIT binary patch literal 3450 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 bWp!N@OyWIOg6q$o*7M{4cM*slq3r+w@}kci diff --git a/restart-page.companionconfig b/restart-page.companionconfig index 13282a803484e52bcefe173dc5352a360d3f54a1..6ab7168361f95e163c7c18b1e170463f0926f657 100644 GIT binary patch delta 15 WcmZpdYnNk_@8;lG$i0z`kskmbmIHnO delta 15 WcmZpdYnNk_@8;mR%e9e>kskmc`2)EC diff --git a/settings/apply.py b/settings/apply.py index e89b18a..92e9838 100644 --- a/settings/apply.py +++ b/settings/apply.py @@ -455,7 +455,8 @@ class Applier: if want != have: return False, "page %d: the import did not land as built (%d keys built, %d on the page)" % (page, len(want), len(have)) done.append(name) - return True, ", ".join("page %d" % (cfg["page"] if n == "status" else cfg["restart_page"]["page"]) for n in done) or "nothing to import" + number = {"status": cfg["page"], "restart": (cfg.get("restart_page") or {}).get("page"), "ready": (cfg.get("ready_page") or {}).get("page")} + return True, ", ".join("page %s" % number.get(n) for n in done) or "nothing to import" def colour_nav_keys(self, cfg): comp = cfg["companion"] diff --git a/status-page.companionconfig b/status-page.companionconfig index 21e5b9b3ff00d9de2890fde3b8de0bc8403b68cf..3e777f6e212214f7fc4e662611e48548d348a158 100644 GIT binary patch delta 37 tcmexw^xue0zMF$%A@@eM+k%WoCqEL*XZ*N1NJy2PBYo;7Mg1#G3;+w+4L$$> delta 37 tcmexw^xue0zMF%?gKHz(Z9zuW$&Uo{8BcBw5>jR7xPR%3ivATQ1_1ei4Hf_Z diff --git a/tests/test_readiness.py b/tests/test_readiness.py index b36a5f8..3a41201 100644 --- a/tests/test_readiness.py +++ b/tests/test_readiness.py @@ -467,12 +467,12 @@ class TestPages(unittest.TestCase): def test_status_page_ready_key_opens_the_page(self): acts = self.actions(make_page.build(CONFIG), 2, 7) - self.assertEqual(acts["up"], [("set_page", {"surfaceId": "self", "page": 24})]) + self.assertEqual(acts["up"], [("set_page", {"surfaceId": "self", "page": 21})]) self.assertEqual(acts["2000"][0][1]["value"], "$(custom:sp_cmd);restart ready $(internal:time_unix)") def test_ready_page(self): export = make_page.build_ready(CONFIG) - self.assertEqual(export["page"]["name"], "24\\nReady") + self.assertEqual(export["page"]["name"], "21\\nReady") self.assertEqual(self.actions(export, 0, 3)["up"][0][1]["value"], "$(custom:sp_cmd);done rd_boh") self.assertNotIn("2000", self.actions(export, 0, 3)) # a tap key has no hold self.assertEqual(self.actions(export, 2, 1)["up"][0][1]["value"], "$(custom:sp_cmd);ack rd_lineup")