mirror of
https://github.com/penpot/penpot.git
synced 2025-02-22 23:06:08 -05:00
🐛 Add correct feature check on manifest reading
Instead on the file save operation so we can raise exception if something does not match without processing the whole file
This commit is contained in:
parent
5f61254a75
commit
7d0c19fcc7
2 changed files with 10 additions and 8 deletions
|
@ -513,12 +513,11 @@
|
||||||
(assoc :ignore-sync-until (dt/plus timestamp (dt/duration {:seconds 5})))
|
(assoc :ignore-sync-until (dt/plus timestamp (dt/duration {:seconds 5})))
|
||||||
(update :features
|
(update :features
|
||||||
(fn [features]
|
(fn [features]
|
||||||
(let [features (cfeat/check-supported-features! features)]
|
(-> (::features cfg #{})
|
||||||
(-> (::features cfg #{})
|
(set/union features)
|
||||||
(set/union features)
|
;; We never want to store
|
||||||
;; We never want to store
|
;; frontend-only features on file
|
||||||
;; frontend-only features on file
|
(set/difference cfeat/frontend-only-features)))))]
|
||||||
(set/difference cfeat/frontend-only-features))))))]
|
|
||||||
|
|
||||||
(when (contains? cf/flags :file-schema-validation)
|
(when (contains? cf/flags :file-schema-validation)
|
||||||
(fval/validate-file-schema! file))
|
(fval/validate-file-schema! file))
|
||||||
|
|
|
@ -875,14 +875,17 @@
|
||||||
:manifest manifest))
|
:manifest manifest))
|
||||||
|
|
||||||
;; Check if all files referenced on manifest are present
|
;; Check if all files referenced on manifest are present
|
||||||
(doseq [{file-id :id} (:files manifest)]
|
(doseq [{file-id :id features :features} (:files manifest)]
|
||||||
(let [path (str "files/" file-id ".json")]
|
(let [path (str "files/" file-id ".json")]
|
||||||
|
|
||||||
(when-not (get-zip-entry input path)
|
(when-not (get-zip-entry input path)
|
||||||
(ex/raise :type :validation
|
(ex/raise :type :validation
|
||||||
:code :invalid-binfile-v3
|
:code :invalid-binfile-v3
|
||||||
:hint "some files referenced on manifest not found"
|
:hint "some files referenced on manifest not found"
|
||||||
:path path
|
:path path
|
||||||
:file-id file-id))))
|
:file-id file-id))
|
||||||
|
|
||||||
|
(cfeat/check-supported-features! features)))
|
||||||
|
|
||||||
(events/tap :progress {:section :manifest})
|
(events/tap :progress {:section :manifest})
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue