mirror of
https://github.com/penpot/penpot.git
synced 2026-02-12 22:53:02 +00:00
🐛 Fix forcing wasm via url param
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user