filamentphp / filament

A collection of beautiful full-stack components for Laravel. The perfect starting point for your next app. Using Livewire, Alpine.js and Tailwind CSS.
https://filamentphp.com
MIT License
19.22k stars 2.96k forks source link

Speed of loading tables #9303

Closed kayvanaarssen closed 1 year ago

kayvanaarssen commented 1 year ago

Package

filament/filament

Package Version

v3+

Laravel Version

N/A

Livewire Version

No response

PHP Version

PHP 8.2.0

Problem description

When using bigger tables and using the table size of 25+ for example 50 or All (Yeah All) Than the loading times are huge. The issue is also in the demo: https://demo.filamentphp.com/shop/orders

Expected behavior

Since we have used other products and Vue.js / Laravel Backpack loading of tables was really quick with these kinds of datasets. Would be awesome if we can see some huge improvements here.

The issue is most notable with 50+ items in a CRUD and sure All will be very heavy. But a page size of 75 / 100 / 200 will sometimes with big datasets be a usecase.

Steps to reproduce

If you select All here at the bottom 1000 records will be loaded. You have to wait a bit, and after that's done and you refresh. The loading of the table will take about 14-18 seconds. Does not matter how powerful the server is, and also your browser page may crash...

Reproduction repository

(https://github.com/filamentphp/filament)

Relevant log output

No response

github-actions[bot] commented 1 year ago

Hey @kayvanaarssen! We're sorry to hear that you've hit this issue. 💛

However, it looks like you forgot to fill in the reproduction repository URL. Can you edit your original post and then we'll look at your issue?

We need a public GitHub repository which contains a Laravel app with the minimal amount of Filament code to reproduce the problem. Please do not link to your actual project, what we need instead is a minimal reproduction in a fresh project without any unnecessary code. This means it doesn't matter if your real project is private / confidential, since we want a link to a separate, isolated reproduction. That would allow us to download it and review your bug much easier, so it can be fixed quicker. Please make sure to include a database seeder with everything we need to set the app up quickly.