jurialmunkey / skin.arctic.fuse

Other
143 stars 21 forks source link

:bug: Clicking on the Discover side button in the context menu from any item on the home screen doesn't work properly [Proposed Fix] #960

Closed OfficerKD637 closed 2 weeks ago

OfficerKD637 commented 2 weeks ago

Skin section

Widgets

Current Behavior

Hey J!

It's me again. Apologies for the continuous posting.

I just discovered (pun intended) that clicking on the discover side button in the context menu doesn't work on any items in the home screen. It opens the Discover Window but doesn't input the custom search term (the title of the movie/tv show) in the search bar. Although if you're already inside the 1105 hub and call the context menu on any of the displayed items, then the discover side icon works like it should.

Calling the context menu from any item in the home screen and clicking on the Discover side button will only open the hub.

Once you exit the Discover Hub and go back to it again (SwapSearch&Discover on your home screen or having an icon with the action ActivateWindow(1105)) it will populate the search bar with the title of that previously selected item. The onclick SetProperty is loaded in memory but only activates when you exit and re-enter the Discover hub.

Proposed fix: Change the defaultcontrol to 9098 here

I tried this and it luckily works. Let me know what you think.

Expected Behavior

Changing the defaultcontrol to 9098 here should have it work like it used to.

Steps To Reproduce

  1. Once an item (movie or tv show) on your home screen is highlighted, open the context menu
  2. Click on the 'Discover' side icon
  3. Discover Hub opens but the custom search term (title of the item) is not entered in the search bar

Screenshots and Additional Info

No response

Checklist

jurialmunkey commented 2 weeks ago

Try opening a tvshow from discover and then going back, or try setting on down to explore and pressing down then up and you will see why the default control needs to be 52, not 9098

OfficerKD637 commented 2 weeks ago

Try opening a tvshow from discover and then going back, or try setting on down to explore and pressing down then up and you will see why the default control needs to be 52, not 9098

I just tried all that with defaultcontrol set to 9098 and everything worked (lucky it didn't break anything!)

An alternative fix to this bug while keeping the defaultcontrol set to 52 would be to add an AlarmClock here

jurialmunkey commented 2 weeks ago

I just tried all that with defaultcontrol set to 9098 and everything worked (lucky it didn't break anything!)

So focus went back to the tvshow you clicked on when you pressed back to leave the seasons? I am doubtful.

Oh wait... 9098, not 9099 (the edit control). Yeah maybe that works

jurialmunkey commented 2 weeks ago

Ah I know why it was a problem now. If it is the default control, the onfocus state does not trigger, so it does not reroute correctly. Whereas if 52 has focus by default, then the alarm onload to refocus triggers the state.

So whilst it now "works" for the edit control to be filled, it no longer works for rerouting to the correct location (for e.g. if you set the top left "Search" button to open Discover instead it should go to the filter letters but now it will go to the items always because the reroute never happens).

The whole point of 9098 is that we want control over when the rerouting happens (onload or on specific states), not just when we lose focus because we bumped the mouse.

jurialmunkey commented 2 weeks ago

I think I finally know what the issue is and I only realised because of the other issue with the Similar button!

The contextmenu close animation is blocking the edit control from getting focus. The solution is to force the contextmenu closed without an animation first using <onclick>Dialog.Close(contextmenu,true)</onclick>

jurialmunkey commented 2 weeks ago

^^^ This should fix it I think (appears to be working correctly for me). Hopefully! 🤞

OfficerKD637 commented 2 weeks ago

Works like a charm! Both fixes are amazing and doesn't rely on alarms racing against the animations! Thank you so much!