0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-08 08:09:14 -05:00

🐛 Fix incorrect feature handling on checking file features

This commit is contained in:
Andrey Antukh 2023-12-14 12:07:27 +01:00
parent 611594a392
commit e4d86cbb39

View file

@ -193,7 +193,11 @@
([enabled-features file-features] ([enabled-features file-features]
(check-file-features! enabled-features file-features #{})) (check-file-features! enabled-features file-features #{}))
([enabled-features file-features client-features] ([enabled-features file-features client-features]
(let [file-features (into #{} xf-remove-ephimeral file-features)] (let [file-features (into #{} xf-remove-ephimeral file-features)
;; We should ignore all features that does not match with the
;; `no-migration-features` set because we can't enable them
;; as-is, because they probably need migrations
client-features (set/intersection client-features no-migration-features)]
(let [not-supported (-> enabled-features (let [not-supported (-> enabled-features
(set/union client-features) (set/union client-features)
(set/difference file-features) (set/difference file-features)
@ -211,15 +215,11 @@
(check-supported-features! file-features) (check-supported-features! file-features)
(let [;; We should ignore all features that does not match with (let [not-supported (-> file-features
;; the `no-migration-features` set because we can't enable (set/difference enabled-features)
;; them as-is, because they probably need migrations (set/difference client-features)
client-features (set/intersection client-features no-migration-features) (set/difference backend-only-features)
not-supported (-> file-features (set/difference frontend-only-features))]
(set/difference enabled-features)
(set/difference client-features)
(set/difference backend-only-features)
(set/difference frontend-only-features))]
(when (seq not-supported) (when (seq not-supported)
(ex/raise :type :restriction (ex/raise :type :restriction