Enhancement: Make tables import asynchronous#1801
Conversation
5cbf833 to
3c2422c
Compare
|
Please keep in mind, existing API shall remain stable, but may be flagged deprecated. |
9b0c3bd to
1dbdfe8
Compare
|
@blizzz What exactly do you mean? Do not change already existent endpoint (keep it synchronous) but introduce v2/v3 for async tasks (even if this endpoints will be not in use on FE side)? |
Yes, exactly. The old ones can get the |
1c49d2c to
599fecd
Compare
|
@blizzz I've reverted all changes to old endpoints. So they are completely untouched. Now we have also Also it is possible to import uploaded files (app data used under the hood) |
|
I will rebase current PR and fix conflicts once #1824 got merged. Because both of those 2 PRs changes import a lot. Let's go step by step |
An activity log is created, but a push notification is useful. Can be added in a follow-up PR though.
This is a valid concern, and I expect that importing non big tables is at least a 50% scenario. Having to wait for it for 5min or such is perhaps degrading experience. We can also have a threshold by file size, but should play it safe indeed. |
0cd8194 to
69f312c
Compare
8105ddd to
d084b8c
Compare
|
@blizzz @enjeck so, guys, I did changes requested by you. If import file is bigger than 4k cells we go async. Otherwise upload will be the same like it was before Manually tested next scenarios:
feel free to test import to a view by yourselves 😉 . nextcloud-import-2026-03-25_19.50.46.mp4Cypress tests were extended with scenarios for large file. |
d084b8c to
08afa01
Compare
fa1c6f4 to
f452172
Compare
f452172 to
e7798cc
Compare
enjeck
left a comment
There was a problem hiding this comment.
Sorry, a few more comments. These should be the last ones then we can merge. Thanks!
|
@enjeck fixed everything, please check and merge 🙏 |
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
enjeck
left a comment
There was a problem hiding this comment.
Awesome, thank you so much!
Right now module not ready to import large tables. This PR improves import flow by moving it into asynchronous job.
🗒️ TODO:
🔍 Preview
Notification once import scheduled

Activity item with import stats

🎥 Demo
https://github.com/user-attachments/assets/6be864ef-fb26-40a3-9e4c-c98e1d55419d