160 Commits

Author SHA1 Message Date
Andrey Antukh
77955d7f91 ✨ Add several redundant checks for library-id on file rpc methods 2026-03-09 10:01:29 +01:00
Andrey Antukh
151238e518 💄 Add cosmetic change to link-file-to-library rpc method impl 2026-03-09 10:01:29 +01:00
Andrey Antukh
7b5817f407
♻️ Make several adjustments to the dashboard deleted page (#7999)
* ♻️ Make several sustantial adjustments to the dashboard deleted page

* 📎 Add PR feedback changes
2025-12-30 09:52:29 +01:00
Andrey Antukh
8cb2f27de8 ♻️ Move file permissions to binfile common ns 2025-12-22 20:16:41 +01:00
Andrey Antukh
ce234fbeda ✨ Allow get thumbnails for deleted files 2025-12-22 20:16:41 +01:00
Andrey Antukh
51e54a6bad
🐛 Fix incorrect project restoration on restoring file (#7778) 2025-11-19 18:24:24 +01:00
Andrey Antukh
83763b46ce ✨ Add RPC methods for manage deleted files
This includes: get already deletedf files, restore deleted files
and permanently delete files marked for deletion.
2025-10-31 16:07:23 +01:00
Andrey Antukh
37d4844518 💄 Add minor cosmetic changes to get-project-files rpc method 2025-10-31 16:07:23 +01:00
Andrey Antukh
fc35dc77ce 🐛 Enable migrations on calculate file library summary 2025-10-13 14:52:39 +02:00
Andrey Antukh
1eb6f33bdd ⚡ Enable optional caching of results for file summary RPC methods 2025-10-13 12:32:29 +02:00
Alejandro Alonso
2b7bd8fa5c 🐛 Fix deleted files are accesible 2025-10-13 12:24:05 +02:00
Andrey Antukh
5717708b56 ♻️ Refactor file storage
Make it more scallable and make it easily extensible
2025-10-13 12:24:05 +02:00
Pablo Alba
cd9ba482e3
🐛 Load dependant libraries, and don't allow unload them 2025-09-30 09:55:21 +02:00
Andrey Antukh
e1519f0ee4 ✨ Integrate objects-map usage on backend and frontend 2025-09-29 12:07:48 +02:00
Andrey Antukh
c1058c7fdb ♻️ Add minor refactor for internal concurrency model
Replace general usage of virtual threads with platform threads
and use virtual threads for lightweight procs such that websocket
connections. This decision is made mainly because virtual threads
does not appear on thread dumps in an easy way so debugging issues
becomes very difficult.

The threads requirement of penpot for serving http requests
is not very big so having so this decision does not really affects
the resource usage.
2025-09-26 14:35:06 +02:00
Pablo Alba
06441063f2 ✨ Add "advanced" events to variants 2025-09-08 15:33:14 +02:00
Andrey Antukh
575342b3bb ♻️ Use direct schemas instead of references
Only a very common use, basic types schemas should be used as
reference (with namespaced keywords)
2025-08-20 12:33:07 +02:00
Andrey Antukh
911ac263fa 🐛 Use ::sm/any instead of any for get-file-fragment rpc method schema
The usage of `any?` predicate as-is uses the standard any generator that
causes to generate java.lang.Character instances created that are not
properly serialiable to JSON. The `::sm/any` schema delimits the
generator to a commonly known serializable types on json.
2025-08-20 09:38:55 +02:00
Andrey Antukh
283eb0419c ♻️ Refactor time related namespaces
Mainly removes the custom app.util.time namespace
from frontend and backend and normalize all to use
the app.common.time namespace
2025-08-01 11:20:01 +02:00
Andrey Antukh
96d6868b45 🐛 Add missing fields on get-team-shared-files query 2025-07-03 14:54:00 +02:00
Andrey Antukh
b52e2fa681 🐛 Add missing version field on get-team-shared-files internal query 2025-06-25 19:24:18 +02:00
Andrey Antukh
56472a95de 🐛 Add missing file migration to get-team-shared-files rpc method 2025-06-25 11:56:11 +02:00
Alejandro Alonso
885231e9a1
Merge pull request #6512 from penpot/niwinz-develop-custom-deletion-rules
♻️ Normalize logical deletion delay handling
2025-05-30 12:53:37 +02:00
Pablo Alba
443cabe94e
✨ Add the ability to access libraries from file migrations 2025-05-27 13:12:34 +02:00
Andrey Antukh
a706907b26 ♻️ Normalize logical deletion to future dates
Instead of managing the ...
2025-05-20 22:25:57 +02:00
Andrey Antukh
3224ba26f1 ♻️ Replace :any schema with own ::sm/any
That a more specific, json friendly generator
2025-05-20 13:29:44 +02:00
Andrey Antukh
bc20598b3d ✨ Don't persist file on several read operations
after applying migrations
2025-05-08 19:15:28 +02:00
Andrey Antukh
9de8ebb52c ✨ Add read-only option for files/get-file 2025-05-08 19:12:50 +02:00
Andrey Antukh
9c4896d72b Merge remote-tracking branch 'origin/staging' into develop 2025-04-24 09:00:13 +02:00
Andrey Antukh
80308ceafa 🐛 Make http cache aware of missing file data migrations 2025-04-23 18:15:33 +02:00
Andrey Antukh
40fe6369cb Merge remote-tracking branch 'origin/staging' into develop 2025-04-23 08:59:33 +02:00
Andrey Antukh
1dd23a3f47 🐛 Invalidate http cache on apply migrations to file on read operation 2025-04-23 07:57:56 +02:00
Alejandro
033ca0d56b
🐛 Fix error when an external user tries to export a shape on viewer (#6252) 2025-04-09 16:48:49 +02:00
Andrey Antukh
bc957893f4 ⚡ Make feature resolved on team load
That simplifies features retrieval to simple get
2025-04-07 07:50:40 +02:00
Andrey Antukh
e4c9b736f7 Merge remote-tracking branch 'origin/staging' into develop 2025-03-14 11:19:47 +01:00
Andrey Antukh
05d6d2fcd4
🐛 Fix several corner cases that causes race conditions on workspace and dashboard loading
* 🐛 Fix several race conditions on workspace and dashboard code

It also fixes a corner case that happens when penpot workspace
is loaded in a background tab on firefox.

* 🐛 Add missing team-id prop to several file returning endpoints
2025-03-14 09:55:41 +01:00
Andrey Antukh
3074fc9ab5
♻️ Remove deprecated with-atomic and refactor tx-run! (#5915)
* ♻️ Remove deprecated with-atomic and refactor tx-run!

* ✨ Do not hold open connection for the whole clone-template operation
2025-02-24 11:15:44 +01:00
Belén Albeza
cad7d75590
🐛 Fix libraries context menu (#5854)
* ✨ Add integration test for Bug #10421

* 🐛 Fix dashboard library item menu

* ✨ Fixup integration test
2025-02-14 14:34:54 +01:00
Alejandro
f8820695cc
🐛 Fix incorrect numbering files when new team (#5835) 2025-02-13 11:55:59 +01:00
Andrey Antukh
f871f88f30
♻️ Refactor file data migrations subsystem (#5692)
* ♻️ Refactor file data migrations subsystem

* 📎 Add backend scripts/run helper script
2025-01-31 13:37:41 +01:00
Andrey Antukh
85746e7cb2 ♻️ Refactor state locality
The main purpose of this refactor is reduce
a custom state from different pages and unify
them under common access patterns
2025-01-16 15:31:18 +01:00
Andrey Antukh
b17d7c0289 ♻️ Refactor dashboard bootstrap 2024-12-03 11:55:31 +01:00
Andrey Antukh
65b7e5c3a5 🐛 Fix incorrect thumbnail rendering on dashboard 2024-11-27 10:42:56 +01:00
Andrey Antukh
607e0c5c1d ✨ Move team invitations and access requests to a separate namespace
This commit also comes with:

- a fix for incorrect conflict handling on team access request creation
- a fix for incorrect handling of file-data when it is offloaded
- replace some inneficient queries with effcient ones
- remove redundant validation on creation of request-access
2024-11-13 14:16:18 +01:00
Andrey Antukh
e6a9e27802 Merge remote-tracking branch 'origin/staging' into develop 2024-11-05 09:10:14 +01:00
Andrey Antukh
3eb35f0aa6 🐛 Fix incorrect thumbnail lookup on dashboard project view
That causes a repeated generation of thumbnails on each page
view instead of reusing already generated thumbnails.
2024-10-30 16:19:16 +01:00
alonso.torres
ecb7f0a2f6 ✨ File history versions management 2024-10-29 14:23:35 +01:00
Andrey Antukh
790f6ce4ed 💄 Add cosmetic changes to get-file rpc method 2024-10-16 17:58:04 +02:00
Andrey Antukh
40d7bb04b4 ✨ Reuse permission from rpc/cond middleware for get-file rpc method 2024-10-16 17:58:04 +02:00
Pablo Alba
22d7cfc7fa 🐛 Fix missing permissions on file cache 2024-10-16 17:58:04 +02:00