unchihugo / FluentFlyout

A simple and modern audio flyout for Windows 10/11, built with Fluent 2 Design principles.
GNU General Public License v3.0
226 stars 4 forks source link

[BUG] - Reduces fullscreen game when music change brings up notification #14

Open Yasunaii opened 2 weeks ago

Yasunaii commented 2 weeks ago

Describe the bug + To Reproduce

Case number 1: When music changes its reduced league of legends.

Case number 2: I tried to shoot with obs for the screenshot section and the notification appeared in-game without reducing league of legends but my cursor disappeared permanently. (Sometimes immediately, sometimes after alt+tab) + It made a black screen on obs that hid league of legends. (The bug occurred at the beginning and I couldn't save it, so it didn't happen again).

Case number 3: It works the way I want it to... (I was able to film it on my phone.

additional test: The bug also occurs without compact mode It also occurs with lock keys ( Shift/ Miniscule )

Expected behavior

I'd like FluentFlyout to make the notification appear on top of the game without minimizing it or making the cursor disappear. I'd also like it not to make a black screen on obs (I know it's a bug that happens in game capture with lol but this is a screenshot and it only happens with fluentflyout).

Screenshots OR VIDEO

Video for case number 1 : (Smartphone view because obs for case 2 ) https://github.com/user-attachments/assets/5633abaf-adb6-4791-a701-43f1c5fb0312

Video for case number 2 : Open party on lol (Obs view) : Uploading 2024-11-05 17-20-03.mp4… After on my screen (Smartphone view ) : https://github.com/user-attachments/assets/c14c88c0-7402-4518-81ed-d631756b6320

To show that obs capture in normal time well league of legends look at case number 3 or that's what I'd like to have 100% of the time.

Video for case numer 3 : (It's rare but this time if it worked as I'd like (Notification appears, league of legends remains in full screen, cursor doesn't disappear) https://github.com/user-attachments/assets/da9b7130-b206-4c43-9851-72548aa935ed

Desktop (please complete the following information):

Windows 11 24H2 FluentFlyout 1.3.0

Additional context

Nothing in event viewer

But please excuse me...

The bug report is probably twice as big as it should be, but I wanted to explain the situation as well as I could.

unchihugo commented 2 weeks ago

Hi, thank you so much for reporting this!

In v1.2.3 I fixed some cases of this issue happening, but you've demonstrated that sometimes it still happens in LoL (and possibly other Riot games) in v1.3.0. I haven't seen this happen anymore in other games, so it could be Vanguard AC protection?

I'll definitely investigate this further, but thanks for mentioning that sometimes it does in fact work (as demonstrated in case 3).

Thanks again for the in depth report!

Yasunaii commented 2 weeks ago

I know that league of legends is sometimes annoying with the full screen mode, so I wanted to see if other games had the same problem, so I did a quick “test series” on some games. Apart from rocket league, I didn't look at much: I just : Open the game in the main menu, start recording with OBS, skip the music to cause a fluentflyout notification and watch what it did.

I hope this helps...

Test

https://github.com/user-attachments/assets/c6cdedbc-e9cb-48e4-b564-cd3709a42a62

https://github.com/user-attachments/assets/33f21c36-a399-4138-a8ef-e762e66c51b4

https://github.com/user-attachments/assets/35f274da-a199-42e3-a90c-bed468032e7d

https://github.com/user-attachments/assets/dfbac90f-1856-44ca-bb28-47f17e338915

Launcher

In case I'm going to note the origin of the games, it might be important:

League of legends, valorant : riot Rocket league: Epic game launcher Osu & osu lazer : Dedicated application Rainbow six siege, Apex Legends : Steam Moving out: Xbox app

Yasunaii commented 2 weeks ago

I'll definitely investigate this further, but thanks for mentioning that sometimes it does in fact work (as demonstrated in case 3).

Well, that's quite normal! I discovered FluentFlyout today at 14:30 UTC x). And I really like it, and I think it's in line with the effort I've put into testing the bug as much as possible to try and give some clues as to how to fix it.

unchihugo commented 2 weeks ago

Hi, thank you so much for taking the time to test and record these games! I really appreciate the in-depth help. Just wondering, were the games that you tested out running in fullscreen or windowed fullscreen?

I’ve looked into the issue and may have found a potential fix. I’ll need to test it further to make sure it addresses the problem effectively though.

Well, that's quite normal! I discovered FluentFlyout today at 14:30 UTC x). And I really like it, and I think it's in line with the effort I've put into testing the bug as much as possible to try and give some clues as to how to fix it.

Thank you for the kind words and your support :D

Yasunaii commented 2 weeks ago

So, I tested all the games in exclusive full-screen mode.

I tried rocket league and League of legends in “borderless” mode but the result was the same as in full screen.

If you want, I can try again in full screen without border / full screen windowed to be sure of the results?

I’ve looked into the issue and may have found a potential fix. I’ll need to test it further to make sure it addresses the problem effectively though.

You are fast, I hope it will be directly the right one. :)

Yasunaii commented 2 weeks ago

I tested Rocket league and league of legends in borderless mode and it had the same problem.

In the list of those that didn't work previously, there was only Rainbow Six Siege left, so I tested it in borderless mode and it works (well, my next music button read a github video, but it works! )

I'd like to add that Rainbow Six's full-screen mode has always been a bit of a hassle. You know when you alt+tab and there's a long black screen to switch from one state to another... and those on all my machines that I have them

https://github.com/user-attachments/assets/24d49a20-d001-4eb9-9b0d-52cb55e83d46

unchihugo commented 2 weeks ago

Thank you, that's exactly what I wanted to know!

Overlays have always been a problem for devs unfortunately, one popular example would be Discord's voice chat overlay that wouldn't show up on a lot of games as well. Hopefully I can manage to fix this though.

About the flyout showing GitHub: I'm not sure how I'll be able to fix it showing irrelevant media as in your video, as I'm just retrieving the Windows feature that collects media data. I can however add a placeholder image to the thumbnail so it looks less out of place.

I appreciate your thoroughness!

Yasunaii commented 2 weeks ago

About the flyout showing GitHub: I'm not sure how I'll be able to fix it showing irrelevant media as in your video, as I'm just retrieving the Windows feature that collects media data. I can however add a placeholder image to the thumbnail so it looks less out of place.

It wasn't really a problem! and it works just fine as it is in reality, the application told me the truth: My music is cut and the media on github has been read, it's just perfect behavior!

I'm also impressed to see that at the beginning of the video, the "next" guy pointed this out to me and he was right (I didn't even think it was possible to foresee any changes).

unchihugo commented 2 weeks ago

Hmm, I initially thought I had found a fix for this issue, but after further testing, it turns out that my approach doesn't fix this problem. I'm a bit stuck on this and could really use some help or suggestions from anyone who might have more insights.

The issue occurs when certain games in full-screen (and in some cases windowed full-screen as well) minimize when any flyout appears. I'm thinking it has to do with exclusive full-screen games that don't want anything appearing over them. I've also noticed that some overlays like Discord and GeForce Experience don't overlay on these games in particular as well, although it doesn't minimize the game.

If anyone has ideas on how to solve this or work around it, I’d really appreciate it! Since it seems to be affecting a lot of people, any tips or ideas would be super helpful. Thank you!

loof2736 commented 2 weeks ago

ModernFlyouts doesn't minimize fullscreen apps, though I don't think it displays overtop of them either. Better than nothing I suppose? https://github.com/ModernFlyouts-Community/ModernFlyouts

unchihugo commented 2 weeks ago

For everyone experiencing this fullscreen issue, I'll be releasing a fix in the next update of FluentFlyout!

Once you try the new version, please create a new issue if you still experience any problems with fullscreen detection. Be sure to reference this issue (#14) in your report.

Thanks for everyone's help in identifying this issue!

Yasunaii commented 2 weeks ago

Congratulations and thank you very much! I hope all goes well and good luck with your other FluentFlyout goals!

Yasunaii commented 1 week ago

Hello again!

I just saw your update and wanted to thank you! I'd like to propose an idea (I don't know if it's possible) to improve the function to block games with DirectX fullscreen.

If I've understood correctly, fluentflyout checks if the program uses DirextX AND if it's in fullscreen mode, and if so fluentflyout deactivates itself. In fact, when I saw this way of doing things, I thought of proposing an application exclusion list instead. Let me explain: we saw in the disscusion that not all programs with directX pose a problem, so maybe blocking problematic games manually would be a more elegant solution?

After all, I understand that it's inconvenient for users to have to specify the access path to problematic games, and I don't know if it's possible to deactivate only if the game is in full screen mode. And I also don't know if this is a way for you to delay a real solution since the problem is really hard to explain. If it's effectively a temporary solution, I'm not sure my idea is suitable.

Anyway, I hope I didn't disturb you. Thank you very much for this update! FluentFlyout is really nice to use!

unchihugo commented 1 week ago

Hi! Don't worry, I really don't mind your contributions to this topic, and rather find them helpful!

I'll definitely look into adding an exclusion list as an alternative to just disabling it for all DirectX games. Just wondering though: is the new update mitigating the issues with minimizing so far? I understand it might not be the perfect solution, but I definitely had to get this out as this seemed like a pretty critical issue.

Thank you for helping me on this!

Yasunaii commented 1 week ago

Just wondering though: is the new update mitigating the issues with minimizing so far?

Currently I'm on cyberpunk 2077 which uses Direct X12 and unfortunately it doesn't work in “full screen” ^^'.

in full screen without border it works though. Actually, I think the idea of exclusion might solve the problem, I hope.

And to tell you the truth, I don't know if I'm really helping you x). and i wanted to ask, i didn't restart my pc after the update could this compromise the function?

https://github.com/user-attachments/assets/39d70d1f-a696-41e6-baf1-5936926b74dc

unchihugo commented 1 week ago

Hi @Yasunaii! Could you see if this issue still persists in v1.3.2? Thank you!!

EDIT: nevermind, seems like it's still affected. Seems like this issue has a ton of edge cases. The first fix for this a week ago solved the issue in games like Minecraft and Forza Horizon, the second fix I released today fixed the issue in games like Valorant, but it seems like it's still not fully patched.

And to tell you the truth, I don't know if I'm really helping you x).

You're definitely helping! I wouldn't have known that it still didn't work on some games like Cyberpunk. Thank you!

and i wanted to ask, i didn't restart my pc after the update could this compromise the function?

The updates work perfectly fine without restarting the system :)

Yasunaii commented 1 week ago

I can confirm that the problem persists! (in any case for cyberpunk I haven't tested for others) Overlay problems look like hell to fix! After that, they're not so critical as long as it works in full-screen mode without borders :)

(However, thanks for the upper/lower case notification. I'll take the liberty of thanking you here for sending just one message)

Yasunaii commented 1 week ago

The first fix for this a week ago solved the issue in games like Minecraft and Forza Horizon, the second fix I released today fixed the issue in games like Valorant

Out of curiosity, I went to see on valorant but I still have the same problem in reality :x Sorry T_T I'll become your worst enemy T_T

Edit : Rainbow six siege DX11 or DX12 have the problem. I think the option to detect dirextx is bugged or there's something wrong with my pc.

https://github.com/user-attachments/assets/07f8bf67-2ff8-4a94-acb2-7fadca276109

unchihugo commented 1 week ago

Rainbow six siege DX11 or DX12 have the problem. I think the option to detect dirextx is bugged or there's something wrong with my pc.

Oh you're totally right. Seems like I had made another small little mistake in the code that stopped the new detector function from working. Thank you for catching this!

EDIT: the setting was actually reversed, so if you turn off the DirectX detect option, it should work :)

Yasunaii commented 16 hours ago

It's been a while since I've seen the github and now 1.3.4!

All this to say that all is good !!! It detects well and no alt+tab !

(there's no sound but it works fine) https://github.com/user-attachments/assets/8cec6632-8ac4-4494-b627-fefbee6055fb

Thank you very much ;) You are amazing

unchihugo commented 14 hours ago

Hi! Thank you so much for helping :) So is the bug completely gone on your end now?

Yasunaii commented 13 hours ago

So yes, I don't have any more windows feedback.

The system detects and prevents windows from making a windows return! It's not ideal, but the superposition being super complex, it's already a super band-aid!