feat: optionally hide artifact Exchange All button - #276
Conversation
|
@Guffawaffle I took the liberty of testing this on macOS as well. It's all looking good. 👌 macOS 26.6.2, Apple Silicon (Mac14,9), mod
|
|
Hook/feature alignment follow-up for #313 Follow-up to #313: keep hook installation independent of feature enablement, with default-enabled compatibility switches under The registry currently gates Published 5638de4: default-enabled artifactexchangehooks independently owns installation; native binding runs once before the hide preference and uses validated reflected field/managed helper contracts. Windows release build and all 11 example TOMLs passed; three independent lanes reviewed every changed file. Windows270 static fit is 25 bytes within a 452-byte extent. Exact-artifact popup/pooling smoke and supported Mac native extent/execution remain qualification gaps. New CI is queued; proceeding without waiting for results. |
Adds opt-in [ui].hide_artifact_exchange_all to hide the artifact exchange Convert All button while retaining individual exchanges. It defaults off; TOML changes require a restart.
Following #313, default-enabled [patches].artifactexchangehooks owns installation independently of visibility. The callback performs native binding once, then checks the current hide preference. Disabled behavior leaves native visibility intact. The button is read through validated reflected instance/reference metadata; complete unique bind and Unity helper signatures, checked managed invocation and detour success preserve native behavior when incompatible.
Validation: exact Windows release build and all 11 example TOMLs pass. Three independent reviews cover all 16 changed files. Static Windows270 evidence measures a 25-byte overwrite within the 452-byte bind extent. Exact-artifact popup reuse, feature-off/on and unrelated inventory behavior, plus supported Mac native extent/execution, remain unqualified. CI starts on publication without waiting for results.