From f8602810eb235ab733e25d733e2f7b5dfeec14c8 Mon Sep 17 00:00:00 2001 From: Elena Torro Date: Tue, 29 Apr 2025 11:58:15 +0200 Subject: [PATCH] :bug: Fix font id serialization --- frontend/src/app/render_wasm/api/fonts.cljs | 19 +++++++++++++------ frontend/src/app/render_wasm/serializers.cljs | 12 ++++++++---- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/frontend/src/app/render_wasm/api/fonts.cljs b/frontend/src/app/render_wasm/api/fonts.cljs index acb323e598..886859d1c6 100644 --- a/frontend/src/app/render_wasm/api/fonts.cljs +++ b/frontend/src/app/render_wasm/api/fonts.cljs @@ -145,12 +145,19 @@ (defn serialize-font-id [font-id] - (let [google-font? (str/starts-with? font-id "gfont-")] - (if google-font? - (uuid/get-u32 (google-font-id->uuid font-id)) - (let [no-prefix (subs font-id (inc (str/index-of font-id "-"))) - as-uuid (uuid/uuid no-prefix)] - (uuid/get-u32 as-uuid))))) + (try + (if (nil? font-id) + (do + [uuid/zero]) + (let [google-font? (str/starts-with? font-id "gfont-")] + (if google-font? + (uuid/get-u32 (google-font-id->uuid font-id)) + (let [no-prefix (subs font-id (inc (str/index-of font-id "-")))] + (if (or (nil? no-prefix) (not (string? no-prefix)) (str/blank? no-prefix)) + [uuid/zero] + (uuid/get-u32 (uuid/uuid no-prefix))))))) + (catch :default _e + [uuid/zero]))) (defn serialize-font-weight [font-weight] diff --git a/frontend/src/app/render_wasm/serializers.cljs b/frontend/src/app/render_wasm/serializers.cljs index ecd881444f..c9d59a6509 100644 --- a/frontend/src/app/render_wasm/serializers.cljs +++ b/frontend/src/app/render_wasm/serializers.cljs @@ -46,10 +46,14 @@ (defn serialize-uuid [id] - (if (nil? id) - [uuid/zero] - (let [as-uuid (uuid/uuid id)] - (uuid/get-u32 as-uuid)))) + (try + (if (nil? id) + (do + [uuid/zero]) + (let [as-uuid (uuid/uuid id)] + (uuid/get-u32 as-uuid))) + (catch :default _e + [uuid/zero]))) (defn heapu32-set-u32 [value heap offset]