laravel / nova-issues

554 stars 35 forks source link

Nova 2.0.5: HasMany, BelongsToMany and HasOne relationships get data from server, but not render grid view in details #1629

Closed wemersonrv closed 5 years ago

wemersonrv commented 5 years ago

Description:

Nova relationship fields HasOne, HasMany, BelongsToMany views are not rendering the grid view with related data.

The fields are fine, they recover the right related data from server-side but not render the view. see image below, that the related data is fine, but view not render.

Everything works fine before, but after upgrading to the new 2.0.5 these issues starts.

Important update: This issue is fine in Linux, only in Windows it happens. Test in windows 10... try to remove vendor and composer.lock and composer update again... republish the assets and to all agan.... not works in windows!

related

Steps To Reproduce:

  1. Add the first user with administrator privileges, using custom command php artisan user:new admin

  2. Go to Usuario resource and Add a Usuario with a valid Brazilian CPF. And set all boolean options to true, save him and go to his detail page.

  1. Create new Informações do(a) Cliente and Informações do(a) Veterinário(a) HasOne related data...

At this point you will see the view not render fine, but the data recovered from server-side not works.

wfeller commented 5 years ago

I've got the same issue, the data is retrieved from the server, but then sometimes gets displayed, and sometimes doesn't (keeps showing the loading animation).

wemersonrv commented 5 years ago

I've got the same issue, the data is retrieved from the server, but then sometimes gets displayed, and sometimes doesn't (keeps showing the loading animation).

  • Laravel Version: 5.8.18
  • Nova Version: 2.0.5
  • PHP Version: 7.3.4
  • Operating System and Version: macOS Mojave 10.14.5
  • Browser type and version: Safari 12.1.1 (14607.2.6.1.1)

Yep @wfeller this is happening a lot, and in my case; it's slow too... very slow. A request to show a index resource with only 3 records that takes less than 3 to 5 seconds before, now is taking about 30secs... even 50 secs and sometimes with timeout.

Talked a lot via email with nova support about this (and other) 2.0.5 issue about 10 days ago from now. So they know about this... I opened this issue here to mantain it documented.... And support does not respond to me for 5 days, since I emailed them some code samples to verify! So i believe they are working hard in a fix to this problems

tumispro commented 5 years ago

Same issue. It happens in every browser sometimes. When it happens to a user, he or she often can't get it to work again and has to switch to another browser temporarily. Clearing cookies doesn't seem to help. It then starts working again at random, the next day for example.

Issue happened in Chrome, Safari and Firefox, all on MacOS.

FaridAghili commented 5 years ago

Same here Laravel Version: 5.8.17 Nova Version: 2.0.5 PHP Version: 7.2.11

I guess this on occurs on Windows (10?) cause when I moved to exact code to an Ubuntu system it works.

wemersonrv commented 5 years ago

Same here Laravel Version: 5.8.17 Nova Version: 2.0.5 PHP Version: 7.2.11

I guess this on occurs on Windows (10?) cause when I moved to exact code to an Ubuntu system it works.

Yep, same to me. In linux server works. This really is an windows issue! Will update the request with this new information

wemersonrv commented 5 years ago

More details now, i think this is not a laravel nova issue. But with PHP embed server...

Works in a couple of servers in linux and windows, nginx, apache, etc.. not works with embed php server when uses php artisan serve... See below working fine even in windows when not use embed php server:

image

tumispro commented 5 years ago

I’m using neither php artisan serve nor Windows and do experience the issue, although irregularly. It happens since 2.0.5, I do think it’s related to the update. For me this issue definitely isn’t closed.

FaridAghili commented 5 years ago

I don't use php server, I'm using nginx and I don't think it's server related, because as said in first post, the is retrieved in browser, but it doesn't render the view.

wemersonrv commented 5 years ago

I don't use php server, I'm using nginx and I don't think it's server related, because as said in first post, the is retrieved in browser, but it doesn't render the view.

Yep.. retrieve data from the server.. both in embed php server with artisan, and nginx server...

But... See the image below: Same code, same files... just differente servers pointing the same project... both retrieving data, but one works, other nope. Soo i thing even in view it's server related because the views are loaded in server too.

image

FaridAghili commented 5 years ago

Same environment, same web server (nginx), same database (mysql), same everything (!), version 2.0.5 of Nova doesn't work, earlier versions work.

Closing the issue and ignoring doesn't solve the problem, this is a bug existing out there.

wemersonrv commented 5 years ago

Same environment, same web server (nginx), same database (mysql), same everything (!), version 2.0.5 of Nova doesn't work, earlier versions work.

Closing the issue and ignoring doesn't solve the problem, this is a bug existing out there.

Farid, i really think the problem is with nova... that conflicts with some servers... and other observation: with embed php server with artisan the result is toooooo slow... but so much slow!

I close the issue because it was pointed to others... but i will let it open again... Its my interest that laravel nova staff see it and resolve. of couse.

jonowat commented 5 years ago

I'm getting this too, running on Windows with artisan serve. The issue appears to be that the loading state of the card is not being reset after fetching the resources.

Within the resources\js\views\Index.vue file:

There seems to be a slight discrepancy with the timings that the getResources executes between a resource index and as a relationship table, so the getLenses is setting this.loading = true after getResources has already finished and set this.loading = false.

The fix I have found is to rearrange the getLenses : From:

getLenses() {
            this.lenses = []
            this.loading = true

            if (this.viaResource) {
                return
            }
            ....
}

To:

getLenses() {
            this.lenses = []
            if (this.viaResource) {
                return
            }
            this.loading = true
            ....
}
wemersonrv commented 5 years ago

For me it's solved by not using embed server. So install nginx.

davidgabbay commented 5 years ago

same problem, relationship does not show. its forever loading with Chrome. however when using Firefox its working well. im using Xampp on Win10 and Microsoft SQL server, Laravel 5.8 and nova 2.05

pktharindu commented 5 years ago

Related to #1608 and #1610. I guess we'll have to wait for the Nova 2.0.6 version.

DanielDarrenJones commented 5 years ago

Can also confirm this issue, happens on macOS running Laravel Valet.

Downgrading to nova 2.0.3 fixed for me, but I haven't tested in 2.0.4.

This feels like a race condition issue, and is likely tied to Vue.

wemersonrv commented 5 years ago

@pktharindu i guess laravel nova staff does not care about theyur paid customers. I buy single and pro licences, sent them email about this a couple of weeks ago and after some emails, about update issues; i show them the problem and they nerver answered me. this scares me because i pay for a product to receive support, or at least some information about informations i've sent to them. but they don't give a minimum consideration... This issue has 10 days now, and i've email support again and tell about this specific issue related to the email i've sent them before. BUT NO ONE ANSWER ME FOR SOME WEEKS. And i pay for the product... This is very bad considering the price of the licenses and the negligence of not giving us more information and ignoring the emails of paid customers.

Sorry guys for venting, but that's what I'm feeling at the moment: I'm frustrated because of these issues are destroying my productivity and stopping me to finish my product. And then realize that nova staff don't care!

Other information... Guys, forget what i'm say about embed php server versus nginx or apache server... see the prints below, that not works on each server i've try... sometimes works, sometimes nope!!!! See below some prints of same screen after a F5 refresh... works, not works, works again. Sometimes i need to refresh page 10 times to get all relations working...

image

See, first works second nope... above, is the inverse... and i just refresh the page. image

All 3 works now... after refresh page image

Give other page refreh, and the two first relations stop work. image

tharindu-abans commented 5 years ago

My company brought the license on my recommendation and now they are trying to bite my head off for this. I reported this bug 20 days ago (#1608) and it was marked as closed the very next day. But no new releases have been released so far.

I got nothing but love for the Nova. But I strongly feel that these type of issues should be addressed way sooner as it renders the whole app unusable.

preliot commented 5 years ago

In another bug report, it's stated this is fixed in 2.0.6. However, this is not yet released.

(I'm luckely still in production with my application, but indeed, i too find updating to slow.)

pehbehbeh commented 5 years ago

We also love Nova for the most parts but things like that destroy the overall picture. 😞

I can not believe this has been fixed for almost three weeks now and still no release... https://github.com/laravel/nova-issues/issues/1608#issuecomment-493686855

Issues like that should be hotfixed ASAP because Nova is unusable right now.

We are basically forced to use an older release which also has it's own annoying bugs (e.g. pagination #1514) ... which are fixed in an even more broken release. 😑

Would really appreciate an ETA from @davidhemphill on this.

It is hard to explain this to anybody. I have to assume there are some good reasons behind this and IMHO the Nova team owes an explanation to all paying customers.

wemersonrv commented 5 years ago

We also love Nova for the most parts but things like that destroy the overall picture. 😞

I can not believe this has been fixed for almost three weeks now and still no release... #1608 (comment)

Issues like that should be hotfixed ASAP because Nova is unusable right now.

We are basically forced to use an older release which also has it's own annoying bugs (e.g. pagination #1514) ... which are fixed in an even more broken release. 😑

Would really appreciate an ETA from @davidhemphill on this.

It is hard to explain this to anybody. I have to assume there are some good reasons behind this and IMHO the Nova team owes an explanation to all paying customers.

Today they release the 2.0.6 version, but nothing about this issue yet! I believe this is scheduled to next version and hope it will be fixed soon!

I will not update my projects now, will work ever with two releases delay for safety!

DanielDarrenJones commented 5 years ago

@wemersonrv have you testing to see if this fixes the issue?

wemersonrv commented 5 years ago

@wemersonrv have you testing to see if this fixes the issue?

Nope because 2 reasons:

  1. It's not in release changelog
  2. I don't have time, this issue (and others) take me a lot of time and i need to make some releases to my customers first before take adventures by testing new nova releases...

For now, 2.0.3 it's my oficial version till i test, test, test, test and test again because i like nova although the new team does not care about us!!! So this is my PRODUCTION release for now!

preliot commented 5 years ago

Just downloaded 2.0.6 and tested it in my application. Now related resources are visible again.

@wemersonrv If you have time, test it with a seperate branch. Easy to rollback.

wemersonrv commented 5 years ago

@DanielDarrenJones and @preliot Updated one project to test first and it showing all relations, both in nginx/apache server and in PHP embed server via php artisan serve... The only issue is that with embed server is slow, but i believe it's a php problem not by laravel framework or laravel nova.

Just to be sure, I removed the vendor folder and composer.lock file, updated the composer and reinstall all packages again. Apparently everything is ok so far, no more such problems. I did refresh the screens about 20 times and it always worked OK!

pehbehbeh commented 5 years ago

Seems to be working fine with 2.0.6. Don't forget to artisan nova:publish the assets. 😉

davidhemphill commented 5 years ago

This issue seems fixed. If the issue is persisted in recent versions, please open a new issue.

incraigulous commented 5 years ago

This is still happening for me on the latest version using Valet. Absolutely not fixed yet.

Lippur commented 4 years ago

This still happens almost every time when viewing a resource, even after clearing all caches. Loading some of the panels fails, sometimes giving a toast of "Unauthenticated", sometimes not.

Lippur commented 4 years ago

So the fix appears to be to use a non thread safe build of PHP on Windows. So far, it has resolved the issue.