From 4753c67816c774323e3ab4efc76d3259e8ded40d Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Thu, 10 Sep 2026 17:29:50 +0200 Subject: refactor(spa): stop asking a node what version it is MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `MNP_MIN_SUPPORTED` is the version this build speaks, so `check_version` refuses everything below it at the handshake. Every capability the client was gating on the node's version is therefore true of every peer it can reach: * `supportsSealedUpload` — an upload is sealed or it is not sent; * `supportsAppOps` — one `app_directories` op, and no `setVideoRoot` / `setAudioRoot` / `setPhotoRoots` wrappers behind it; * `supportsTransferSlots` and `Lease._skip()` — a lease is always real, so there is no branch where a transfer runs without one; * `legacyNode`, the read-only shared-directories table, and the two hints telling an operator their node is too old to configure an app. The version the node declares is still recorded, for diagnostics. Nothing branches on it, and the comment says so, because a field kept "just in case" is how the branches came back last time. `test_mnp_1_0_node_compat.py` goes with them: it existed to hold the fallbacks in place, and holding a fallback that cannot execute is how a suite starts lying. The two locale strings for those hints are removed from all ten catalogues. Hub suite 872 passed (test_sticky_header deselected — failing before this). Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01AsoWC3GmhNdwVFomW3QjH3 --- packages/meshbay-hub/tests/test_app_settings_plugin.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'packages/meshbay-hub/tests/test_app_settings_plugin.py') diff --git a/packages/meshbay-hub/tests/test_app_settings_plugin.py b/packages/meshbay-hub/tests/test_app_settings_plugin.py index b8afc23..892fd09 100644 --- a/packages/meshbay-hub/tests/test_app_settings_plugin.py +++ b/packages/meshbay-hub/tests/test_app_settings_plugin.py @@ -226,9 +226,9 @@ def test_the_page_performs_exactly_one_app_specific_operation(): # The page's own settings, which belong to no app: which apps are enabled # at all, and how hard the node works watching its disk. page_level = {"setAppsEnabled", "setScanSettings"} - # Both are the same generic operation; the second is what a node too old - # for it understands, chosen by version rather than by app. - generic = {"setAppDirectories", "setAppDirectoriesLegacy"} + # One generic operation, keyed by the app's own name: adding an app adds + # no message type and no call site here. + generic = {"setAppDirectories"} assert calls - page_level == generic, ( f"the settings page performs app-specific operations: " f"{sorted(calls - page_level - generic)}") -- cgit v1.2.3