As I wrote in another posts, I am disappointed in the current state of Livewire 3, where even a simple redirect doesn't work correctly - this error can be seen on github discussions and forums for many years, perhaps it's something that is hard to solve? I don't know.
Anyway, my only other option - outside of plain HTMX or Unpoly - is Inertia.
So, I have a few questions about it.
Do scrollbar freezes, like here on Laracasts discussion or even video courses, occur from time to time? I haven't experienced it much on other sites but it happens to me on Laracasts quite often - twice a day? The scrollbar disappears and I have to refresh the page - then it works. I am on Macbook m1 and the latest Chrome.
How is the refresh of items using cache and Inertia? For example, on Laracasts when I click on the new reply in the top right corner pop up area. It doesn't disappear. I think after a full page refresh it disappears. Can't test right now, don't have any new replies currently. Basically, does Inertia update states in real-time or you have these things where something that should be set ass read is still hanging as unread, etc.
I know how to deal with expired csrf token pages, both in Laravel and Inertia, but is there some similar surprise that is Inertia specific and can surprise my visitors - and doesn't appear on pure Laravel sites?
Do you notice 2-3x smaller data traffic as advertised - or another phenomenon - clicking more stuff by users (because it's faster, or because they think it haven't reloaded, ...) makes the smaller payloads less noticeable? I am really curious, because personally I don't think this is super important thing but I might be wrong.
Inertia is just a glue between the Laravel backend and the SPA frontend, like React or Vue. None of your questions really apply to Inertia.
If you have feeback about the website, I don't think this is the right thread.
I've never used Livewire, but I was curious about your claim that the issues remain unfixed for years. I checked the GitHub links that you pasted. Did you read those threads? They merged a fix in 2021.
OK. To be completely honest I have used Livewire 2 as well. But it was buggy as well and didn't offer the "SPA" like navigation back then so I abandoned it and used plain Laravel with manual javascript for reordering, uploads, and effects.
Now when Livewire 3 does that I thought, great, but I was bombarded with the same basic issues, like already mentioned redirect problem. It seems that the problem is that the redirect is on the frontend instead of backend. There are some workarounds to redirect in blade or creating a blank blade file but I hate this, redirects should work out of the box. It's a very common thing to do in if then conditions based on the current state of things etc. And it could be on multiple places of your logic not only one, that's why redirecting via router or middleware is out of question. E.g. you can have some generated links and based on the some logic e.g. from a form on that same page the selection there will be an instant redirect to page-3 or /login or /new-offer.
Right now, when I redirect somebody to /login he is stuck with the url /what-are-we-doing , which if he shared or bookmarked would be totally wrong.
One thing I could say about Livewire that beginner won't know is that, if you didn't create your own template and bought it from say ThemeForest for example, you need to be careful when using Inertia.
Why?
There are 2 cases for this:
Let's say you bought React/Vue/Svelte template. Converting them to Inertia, especially if you're beginner is hard as hell. There are a lot of things that need to be converted, like store, route, etc.
Let's say you bought a HTML or Laravel template, this could be a problem depending how they use their assets. For example, if they have different custom assets for each pages, sometimes it's hard to use them. Because you can't link them from app.blade.php right? Otherwise it will conflict, so your easiest solution might be to put it in the head of each React/Vue/Svelte pages. However doing so makes this asset loaded in the head and not body. This could cause problem to other asset that relied on ordering.