From bc20598b3d6817b5378aa65bd7aebf0423cdca0a Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Thu, 8 May 2025 19:15:28 +0200 Subject: [PATCH] :sparkles: Don't persist file on several read operations after applying migrations --- backend/src/app/rpc/commands/files.clj | 6 ++++-- backend/src/app/rpc/commands/files_thumbnails.clj | 15 ++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/backend/src/app/rpc/commands/files.clj b/backend/src/app/rpc/commands/files.clj index a293348fa..bdb2fcbc5 100644 --- a/backend/src/app/rpc/commands/files.clj +++ b/backend/src/app/rpc/commands/files.clj @@ -492,7 +492,7 @@ (let [perms (get-permissions conn profile-id file-id share-id) - file (get-file cfg file-id) + file (get-file cfg file-id :read-only? true) proj (db/get conn :project {:id (:project-id file)}) @@ -749,7 +749,9 @@ :project-id project-id :file-id id) - file (get-file cfg id :project-id project-id)] + file (get-file cfg id + :project-id project-id + :read-only? true)] (-> (cfeat/get-team-enabled-features cf/flags team) (cfeat/check-client-features! (:features params)) diff --git a/backend/src/app/rpc/commands/files_thumbnails.clj b/backend/src/app/rpc/commands/files_thumbnails.clj index 2455807dd..9d64ec504 100644 --- a/backend/src/app/rpc/commands/files_thumbnails.clj +++ b/backend/src/app/rpc/commands/files_thumbnails.clj @@ -10,7 +10,6 @@ [app.common.data.macros :as dm] [app.common.features :as cfeat] [app.common.files.helpers :as cfh] - [app.common.files.migrations :as fmg] [app.common.geom.shapes :as gsh] [app.common.schema :as sm] [app.common.thumbnails :as thc] @@ -18,7 +17,6 @@ [app.config :as cf] [app.db :as db] [app.db.sql :as-alias sql] - [app.features.fdata :as feat.fdata] [app.loggers.audit :as-alias audit] [app.loggers.webhooks :as-alias webhooks] [app.media :as media] @@ -200,14 +198,13 @@ (db/run! cfg (fn [{:keys [::db/conn] :as cfg}] (files/check-read-permissions! conn profile-id file-id) - (let [team (teams/get-team conn - :profile-id profile-id - :file-id file-id) + (let [team (teams/get-team conn + :profile-id profile-id + :file-id file-id) - file (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg file-id)] - (-> (files/get-file cfg file-id :migrate? false) - (update :data feat.fdata/process-pointers deref) - (fmg/migrate-file)))] + file (files/get-file cfg file-id + :preload-pointers? true + :read-only? true)] (-> (cfeat/get-team-enabled-features cf/flags team) (cfeat/check-file-features! (:features file)))