From 1d065e68f406d0a9b1aad4276fc2aae3e30b03bc Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Fri, 30 May 2025 20:05:58 +0200 Subject: [PATCH] :tada: Allow force render mode from get param (#6594) --- frontend/src/app/main/features.cljs | 21 +++++++++++++++++++-- render-wasm/src/render/debug.rs | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/main/features.cljs b/frontend/src/app/main/features.cljs index 030e29312..314cbdbec 100644 --- a/frontend/src/app/main/features.cljs +++ b/frontend/src/app/main/features.cljs @@ -12,6 +12,7 @@ [app.common.features :as cfeat] [app.common.logging :as log] [app.config :as cf] + [app.main.router :as rt] [app.main.store :as st] [app.render-wasm :as wasm] [clojure.set :as set] @@ -25,6 +26,20 @@ (def global-enabled-features (cfeat/get-enabled-features cf/flags)) +(defn setup-wasm-features + [features state] + (let [params (rt/get-params state) + wasm (get params :wasm) + enable-wasm (= "true" wasm) + disable-wasm (= "false" wasm) + features (cond-> features + enable-wasm (conj "render-wasm/v1") + disable-wasm (disj "render-wasm/v1"))] + ;; If wasm render is enabled text-editor/v2 must be used + (cond-> features + (contains? features "render-wasm/v1") + (conj "text-editor/v2")))) + (defn get-enabled-features "An explicit lookup of enabled features for the current team" [state team-id] @@ -32,7 +47,8 @@ (-> global-enabled-features (set/union (get state :features-runtime #{})) (set/intersection cfeat/no-migration-features) - (set/union (get team :features))))) + (set/union (get team :features)) + (setup-wasm-features state)))) (defn active-feature? "Given a state and feature, check if feature is enabled." @@ -97,7 +113,8 @@ (update [_ state] (let [features (-> global-enabled-features (set/union (get state :features-runtime #{})) - (set/union features))] + (set/union features) + (setup-wasm-features state))] (assoc state :features features))) ptk/EffectEvent diff --git a/render-wasm/src/render/debug.rs b/render-wasm/src/render/debug.rs index 7bb0828d1..ca8008ce6 100644 --- a/render-wasm/src/render/debug.rs +++ b/render-wasm/src/render/debug.rs @@ -41,7 +41,7 @@ pub fn render_debug_cache_surface(render_state: &mut RenderState) { } pub fn render_wasm_label(render_state: &mut RenderState) { - let canvas = render_state.surfaces.canvas(SurfaceId::Debug); + let canvas = render_state.surfaces.canvas(SurfaceId::Target); let skia::ISize { width, height } = canvas.base_layer_size(); let mut paint = skia::Paint::default(); paint.set_color(skia::Color::from_argb(100, 0, 0, 0));