Open-Shell / Open-Shell-Menu

Classic Shell Reborn.
MIT License
7k stars 433 forks source link

Modern jump lists don't work with pinned items in some circumstances #522

Open bonzibudd opened 4 years ago

bonzibudd commented 4 years ago

Describe the bug When you pin a MS store to the Start menu, the jump list shown doesn't provide any usable links. They just have blank icons and give an error when clicked.

To Reproduce Steps to reproduce the behavior:

  1. Open Start menu
  2. Pin modern app that has a jump list
  3. Open jump list
  4. See unusable links

Expected behavior Links should act the same, whether the item is pinned or not.

Screenshots If applicable, add screenshots to help explain your problem. image

Version:

Additional context I don't know what would cause this, but maybe the identifier for the modern jump lists does not apply to pinned items for some reason.

NebelNidas commented 4 years ago

Weird, it works for me (v4.4.162; Win10 20H2) 🤔: image

bonzibudd commented 4 years ago

@NebelNidas is that item actually pinned? It just looks like a recent item to me.

The items which populate in the "Recent" section still work fine, but when I pin an item, then close and open the menu again, the items become blank.

NebelNidas commented 4 years ago

Yep, it's pinned. Also works for other apps like Sticky Notes (screenshot is German, but shouldn't matter): image

(Windows 10 Version 20H2, Build 19042.572)

ge0rdi commented 4 years ago

I can also confirm that it works well for pinned items on my machine. I can't replicate the issue :(

bonzibudd commented 4 years ago

Hm, I tried on my desktop and a VM and it was broken, but it did work on my laptop. I'll have to investigate this some more, I'm thinking it might have to do with switching between Classic and 7 styles. There seems to be some weirdness anyway, but I can't say definitively.

ge0rdi commented 4 years ago

Try to clear cached info to see if it will help.

bonzibudd commented 4 years ago

Ok, so this bug is more specific than I originally thought, so I will try to explain the reproduce steps more accurately:

  1. Switch to classic style menu
  2. Open menu and view a modern list
  3. Pin the item
  4. Close and re-open menu
  5. View non-functioning list

I can't say for sure if those steps will work for everyone, but this is my best attempt at putting it in reproducible terms.

Also there seems to be an issue where if you switch from the 7-style to the classic style, you can't pin the item from the context menu. If you do that, the item created only appears in the 7-style, and also has the same issue with the list. However, dragging it to the pinned section does work. I'm still confused about this myself, so I apologize if anything is unclear.

ge0rdi commented 4 years ago

@bonzibudd Thank you, now I'm able to replicate. Will try to have a look at it.

ge0rdi commented 4 years ago

This is weird.

I had it in state where Open-Shell displayed wrong icons in jump list (Snip&Sketch app) and clicking jump list resulted in error you mentioned.

So I have debugged it and basically the issue was with shell item returned by this code:

    CComPtr<IShellItem2> item;
    if (SUCCEEDED(SHCreateItemInKnownFolder(FOLDERID_AppsFolder, 0, appId, IID_PPV_ARGS(&item))))

The item didn't contain required properties, such as info that it is modern app, or full package name. Thus Open-Shell was unable to process those jump list items properly.

But this doesn't make sense at all. As this shell item from AppFolder should contain that data.

Then I noticed in MS store that there is update for Snip&Sketch app. So I applied it and now everything is back to normal.

Could you try to update your apps? Eventually try to Repair those apps where you noticed the issue. If that will help.

bonzibudd commented 4 years ago

Thanks for the input. Mine doesn't have any updates at the moment, and I tried the "Repair" and "Reset" options with no luck. I also tried "Clear Cached Data," which didn't seem to help either.

Also, were you able to replicate the glitch with the "Pin" right-click item when switching between classic and 7 menus? If so I will make another issue for that.

ge0rdi commented 4 years ago

Also, were you able to replicate the glitch with the "Pin" right-click item when switching between classic and 7 menus? If so I will make another issue for that.

When I had it in that weird state it didn't matter what style of menu was used, nor whether the item was pinned to start or not. It simply didn't work.

But I can't replicate that anymore. Not sure what it could be related to. Also not sure what I can do about it, because system returned wrong Shell item :(

Gaurav-Original-ClassicShellTester commented 3 years ago

Also as Bonzibudd said, the jumplist icons disappear from the pinned item only after the menu is closed and re-opened. They do show the first time it is pinned and the jumplist expanded.

And also confirm the jumplist items don't actually work when it is pinned. For Calculator it showed me a broken shortcut dialog for the jumplist items (even if the pinned shortcut itself works fine). image

Furthermore, if I unpin and the item returns to the Recent list, the jumplist items do work there and the icons return.

All of this buggy behavior only happens if the per-user Start Menu folder is used for pinning, no issues with the Pinned folder.