{"version":"2.1.239","anchor":"settings-pushed-over-the-control-channel-are-screened-before","canonical_anchor":"settings-pushed-over-the-control-channel-are-screened-before","heading":"Settings pushed over the control channel are screened before touching plugin forwarding","tier":"internal","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239\/e\/settings-pushed-over-the-control-channel-are-screened-before","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.239","markdown":"### Settings pushed over the control channel are screened before touching plugin forwarding\n\nSettings pushed from the control channel are checked before they can change plugin forwarding, and refusals are logged.\n\n**What**\n\nA settings update arriving from the control channel that would change plugin forwarding now passes an admission check first; refusals are logged with a reason and the update is rejected rather than applied quietly. Plugin reload also waits, up to a cap, for a feature flag before installing.\n\n**Details**\n\n- The wait resolves `tengu_violin_amati` together with `tengu_violin_wood`; both fall back to off, so on a stock build the wait ends without enabling anything.\n\n**Evidence**\n\n`plugin_forwarding_patch_refused`\n\n- Flag `tengu_violin_amati`: Off in both readings (read for one account on one subscription tier against v2.1.239; this account: off, anonymous baseline: off, compiled default: off)\n- Flag `tengu_violin_wood`: Off in both readings (read for one account on one subscription tier against v2.1.239; this account: off, anonymous baseline: off, compiled default: off)\n- Area: Plugins\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}