chore: Combine Snaps build flags#29320
Merged
Merged
Conversation
Contributor
🔍 Smart E2E Test Selection⏭️ Smart E2E selection skipped - draft PR All E2E tests pre-selected. |
Mrtenz
approved these changes
Apr 24, 2026
Contributor
|
✅ E2E Fixture Validation — Schema is up to date |
|
tommasini
approved these changes
Apr 24, 2026
ffmcgee725
approved these changes
Apr 24, 2026
vinnyhoward
approved these changes
Apr 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Combine the
preinstalled-snapsandexternal-snapsbuild flags into onesnapsflag. The separation was originally meant to exclude sensitive installation logic used for external Snaps. At this point, this logic is already used in production to support preinstalled Snaps and as such mostly unfinished components were currently excluded. These components won't be visible in production though.External Snaps are still unable to be installed unless the build is configured with build type Flask.
Changelog
CHANGELOG entry: null
Related issues
https://consensyssoftware.atlassian.net/browse/WPC-984
Note
Medium Risk
Medium risk because it changes build-time feature gating and navigation/engine wiring for Snaps, which could unintentionally include or exclude Snaps middleware and screens in certain build configurations. Runtime behavior is additionally gated by
CAN_INSTALL_THIRD_PARTY_SNAPS, but misconfiguration could affect Snap approvals or settings availability.Overview
Unifies Snaps feature gating by replacing the separate
preinstalled-snaps/external-snapscode fences with a singlesnapsflag across approvals, UI components, routes, engine wiring, and build tooling (builds.yml,metro.transform.js,verify-build-config.js).Adds an explicit runtime gate for third‑party Snaps UI via
CAN_INSTALL_THIRD_PARTY_SNAPS(Flask-only), and uses it to conditionally register the Snaps settings stack and Settings entry, while aligning Snap controller initialization to use the same constant fordisableSnapInstallation.Reviewed by Cursor Bugbot for commit c1f921f. Bugbot is set up for automated code reviews on this repo. Configure here.