diff --git a/common/src/app/common/features.cljc b/common/src/app/common/features.cljc index bd6cb6b7b..e2e3428d8 100644 --- a/common/src/app/common/features.cljc +++ b/common/src/app/common/features.cljc @@ -51,7 +51,8 @@ "layout/grid" "plugins/runtime" "design-tokens/v1" - "text-editor/v2"}) + "text-editor/v2" + "render-wasm/v1"}) ;; A set of features enabled by default (def default-features @@ -67,7 +68,8 @@ (def frontend-only-features #{"styles/v2" "plugins/runtime" - "text-editor/v2"}) + "text-editor/v2" + "render-wasm/v1"}) ;; Features that are mainly backend only or there are a proper ;; fallback when frontend reports no support for it @@ -84,9 +86,7 @@ "fdata/pointer-map" "layout/grid" "fdata/shape-data-type" - "plugins/runtime" - "design-tokens/v1" - "text-editor/v2"} + "design-tokens/v1"} (into frontend-only-features))) (sm/register! ::features @@ -108,6 +108,7 @@ :feature-plugins "plugins/runtime" :feature-design-tokens "design-tokens/v1" :feature-text-editor-v2 "text-editor/v2" + :feature-render-wasm "render-wasm/v1" nil)) (defn migrate-legacy-features diff --git a/frontend/src/app/main/features.cljs b/frontend/src/app/main/features.cljs index 991e17d7e..408469e4d 100644 --- a/frontend/src/app/main/features.cljs +++ b/frontend/src/app/main/features.cljs @@ -110,8 +110,10 @@ (when *assert* (->> (rx/from cfeat/no-migration-features) ;; text editor v2 isn't enabled by default even in devenv + ;; wasm render v1 isn't enabled by default even in devenv (rx/filter #(not (or (contains? cfeat/backend-only-features %) (= "text-editor/v2" %) + (= "render-wasm/v1" %) (= "design-tokens/v1" %)))) (rx/observe-on :async) (rx/map enable-feature)))) diff --git a/frontend/src/app/render_wasm.cljs b/frontend/src/app/render_wasm.cljs index f954140ff..f3291c517 100644 --- a/frontend/src/app/render_wasm.cljs +++ b/frontend/src/app/render_wasm.cljs @@ -10,12 +10,13 @@ [app.common.data.macros :as dm] [app.common.types.shape.impl :as ctsi] [app.common.uuid :as uuid] - [app.config :as cf] + [app.main.features :as features] + [app.main.store :as st] [app.util.object :as obj] [promesa.core :as p])) (def enabled? - (contains? cf/flags :render-wasm)) + (features/active-feature? @st/state "render-wasm/v1")) (set! app.common.types.shape.impl/enabled-wasm-ready-shape enabled?)