Merge pull request #8325 from penpot/superalex-fix-wasm-forcing-url-param

🐛 Fix forcing wasm via url param
This commit is contained in:
Elena Torró 2026-02-12 17:46:50 +01:00 committed by GitHub
commit 8f478aa6e5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -50,17 +50,41 @@
(set/union (get team :features))
(setup-wasm-features state))))
(defn enabled-by-flags?
[{:keys [features-runtime features]} feature]
(or (contains? features-runtime feature)
(contains? features feature)))
(defn enabled-without-migration?
[{:keys [features-runtime features]} feature]
(or (contains? features-runtime feature)
(contains? global-enabled-features feature)
(contains? features feature)))
(defn wasm-url-override
[state]
(case (get (rt/get-params state) :wasm)
"true" true
"false" false
nil))
(defn active-feature?
"Given a state and feature, check if feature is enabled."
[state feature]
(assert (contains? cfeat/supported-features feature) "feature not supported")
(let [runtime-features (get state :features-runtime)
enabled-features (get state :features)]
(or (contains? runtime-features feature)
(if (contains? cfeat/no-migration-features feature)
(or (contains? global-enabled-features feature)
(contains? enabled-features feature))
(contains? enabled-features feature)))))
(assert (contains? cfeat/supported-features feature)
"feature not supported")
(let [wasm-override (when (= feature "render-wasm/v1")
(wasm-url-override state))]
(cond
(some? wasm-override)
wasm-override
(contains? cfeat/no-migration-features feature)
(enabled-without-migration? state feature)
:else
(enabled-by-flags? state feature))))
(def ^:private features-ref
(l/derived (l/key :features) st/state))