staniel359 / muffon

Advanced multi-source music streaming + discovery client for desktop. Free, clean, no login, no ads.
https://muffon.netlify.app
GNU Affero General Public License v3.0
1.4k stars 58 forks source link

Tab shows different content when switching from another tab. #145

Open dmitry-buzzwoo opened 9 months ago

dmitry-buzzwoo commented 9 months ago

https://github.com/staniel359/muffon/assets/140138846/7908019a-be44-46ad-b312-56501f2ff6c3

staniel359 commented 9 months ago

@dmitry-buzzwoo Hello. This is very weird. Added to planned.

xyloflake commented 9 months ago

@staniel359 this is a memory infrastructure bug. I don’t think you’ll be able to solve this. Please asssign me this one.

xyloflake commented 9 months ago

@dmitry-buzzwoo does this always happen? Are there specific repro steps?

staniel359 commented 9 months ago

@xyloflake Why is it a memory issue? I assume it's a Vue's cached pages bug.

xyloflake commented 9 months ago

@staniel359 please explain the logic used for keeping tabs separate on muffon in discord DMs.

I suspect this is a memory issue because there are some memory leaks I recently discovered in the code responsible for BrowserView.

dmitry-buzzwoo commented 9 months ago

@xyloflake I had this problem when I switched from YouTube playlist tab to a video tab. This is the only details I can tell you about.

dmitry-buzzwoo commented 9 months ago

Also, another unrelated issue is when I use hot key "cmd+r" to update the tab, all tabs are being updated.

xyloflake commented 9 months ago

@xyloflake I had this problem when I switched from YouTube playlist tab to a video tab. This is the only details I can tell you about.

Thanks. @staniel359 @gamersi can you guys try reproducing the bug?

xyloflake commented 9 months ago

Also, another unrelated issue is when I use hot key "cmd+r" to update the tab, all tabs are being updated.

That's expected. @staniel359 uses BrowserView to implement tabs. They're not in reality tabs, they're just Out Of Process Iframes. That means all the tabs exist in a single webpage. When you hit Ctrl/Cmd+R, you're triggering the whole webpage to reload, thus reloading all the tabs in existence.

dmitry-buzzwoo commented 9 months ago

I see, but I suppose in theory it's possible? There is a "refresh" button which reloads just an active tab. I think it's possible to track the currently active tab on "cmd+r" interception and refresh the only active tab like the "refresh" button does?

That's up to you. But I think it will just improve UX.

dmitry-buzzwoo commented 9 months ago

btw, refreshing the tab that shows an incorrect content (video instead of playlist) doesn't help. To show the correct content, I have to switch to another tab first and then switch back.

staniel359 commented 9 months ago

@dmitry-buzzwoo Page reloading shouldn't work via shortcuts. Could you send a video of this behavior?

dmitry-buzzwoo commented 9 months ago

https://github.com/staniel359/muffon/assets/140138846/597290f9-8d80-4c3e-949f-4c422aa97198

xyloflake commented 9 months ago

@staniel359 what's with the horrendous loading speed?

staniel359 commented 9 months ago

@xyloflake It's basically 6 Electron instances loading at once.

xyloflake commented 9 months ago

@dmitry-buzzwoo may I know your mac specs please?

dmitry-buzzwoo commented 9 months ago

@xyloflake sure:

Model Name: MacBook Air Model Identifier: Mac14,2 Chip: Apple M2 Total Number of Cores: 8 (4 performance and 4 efficiency) Memory: 16 GB System Firmware Version: 10151.61.4 OS Loader Version: 10151.61.4 System Version: macOS 14.2.1 (23C71) Kernel Version: Darwin 23.2.0 Boot Volume: Macintosh HD Boot Mode: Normal

xyloflake commented 9 months ago

@staniel359 this is too slow for such a powerful machine.

staniel359 commented 1 month ago

@dmitry-buzzwoo Have you encountered this again?