piroor / treestyletab

Tree Style Tab, Show tabs like a tree.
http://piro.sakura.ne.jp/xul/treestyletab/
Other
3.51k stars 279 forks source link

[Bug] Right click on tab does nothing #3596

Closed Nexen23 closed 3 months ago

Nexen23 commented 4 months ago

Short description

Cannot open tab context menu since ~25.12.2023

Steps to reproduce

  1. Use Firefox profile for a long time with TST.
  2. Update TST & Firefox to newest versions in the late december of 2023.
  3. Right click on any tab in TST

Expected result

Tab context menu opened (with "Pin" and other options)

Actual result

Nothing happend

Environment

Extra context

Tab context menu worked fine before I tried to update Firefox/TST in the end of 2023 to resolve another issue (TST didn't show any it's options (opened through extensions screen. Instead of options, there was a blank screen), so I couldn't change css and other preferences. Later I understood that it probably was loading very-very slowly, so I should've just waited a few minutes. Even now settings loads slowly, but it takes about 10 seconds now)

From that time I updated Firefox/TST multiple times. Problem still persists. No such problem with clean profile, as well as without TST. Also tried my chrome css on new profile - no problem with that. Couldn't try TST options on different profile because "export options" button at the very bottom doesn't do anything.

Info from TST debugging

In TST console saw: Untitled They are triggered whenever I open "Extensions -> TST -> Options". After "failed to load managed storage with 10 times retly" - visually options show up instead of a blank screen.

Clicking "export options" doesn't show any errors in the console. There are also no error when I right click on the tabs (which is the point of this issue)

I also saw "show internal logs" button in "TST options", but it also does nothing (as "export options").

It is mentions in https://github.com/piroor/treestyletab/wiki/How-to-inspect-tree-of-tabs#how-to-start-debugger-for-tree-style-tab that you can choose sidebar but I fail to find how it can be done, specifically On the top-right corner of the debugger window, there are some buttons, so click the Select an iframe as the currently targeted document button. - I don't see such an option

Nexen23 commented 4 months ago

I tried clicking refresh in "inspect TST" window and these were the startup messages スクリーンショット 2024-07-25 131023

Nexen23 commented 4 months ago

I also found where iframe as the currently targeted option was. Contrary to how-to-start-debugger wiki, it was not a button, but an option in inspector settings, which was already ticked for me. But now I don't know how to do next step - Choose /sidebar/sidebar.html from the list (because iframe... wasn't a button - there is no list showing up)

Nexen23 commented 4 months ago

スクリーンショット 2024-07-25 131410 Probably I somehow need to switch here to /sidebar, but have no idea how

Nexen23 commented 4 months ago

Just for the sake of more info tried to run gMetricsData.toString()

 "total 962 msec
85: index: Loaded
61: init: start
543: (async) init: waiting for waitUntilCompletelyRestored, ContextualIdentities.init and configs.$loaded
544: init: prepare
1: init: Migration.migrateConfigs
23: (async) init: getting all tabs across windows
38: restoreWindowFromEffectiveWindowCache: start
3: restoreWindowFromEffectiveWindowCache: validity check: start
0: restoreWindowFromEffectiveWindowCache: validity check: signature failed.
0: restoreWindowFromEffectiveWindowCache: validity check: matching actual signature of got cache
0: restoreWindowFromEffectiveWindowCache: validity check: actual signature failed.
1: (async) rebuildAll: restore tabs in window 1 from cache
36: (async) rebuildAll: tabs in window 1
19: (async) init: rebuildAll
19: loadTreeStructure: start
130: loadTreeStructure: read stored data
0: applyTreeStructureToTabs: start
0: applyTreeStructureToTabs: preparation
56: applyTreeStructureToTabs: attach/detach
3: applyTreeStructureToTabs: collapse/expand
0: loadTreeStructure: Tree.applyTreeStructureToTabs
190: (async) loadTreeStructure: restoration for windows
191: (async) init: TreeStructure.loadTreeStructure
3: init: started listening
19: init: started initializing of context menu
211: (async) init: initializing API for other addons
206: (async) init: exporting tabs to sidebars" 

log.logs.join('\n') prints nothing

Nexen23 commented 4 months ago

In 7th point of https://github.com/piroor/treestyletab/wiki/How-to-inspect-tree-of-tabs#how-to-collect-startup-logs-of-tst I noticed how you're supposed to change inspection to the sidebar. But there is not such button near 3-dots in my case.

Actually, there is but only when I open 3-dots menu and it is grayed out. If I switch Select an iframe as the currently targeted document on and off - that button apprears/disappears, but still grayed out and still hides itself when I exit 3-dots menu. スクリーンショット 2024-07-25 132500 スクリーンショット 2024-07-25 132538

Nexen23 commented 4 months ago

Tried to see if /sidebar can be choosen on another PC - it does, that menu is working fine allowing to choose /sidebar properly

Also tried click "refresh" in Inspect window on another PC and got the same startup messages about managed storaged is not provided and failed to send "ready" message to... That PC is macos with TST 4.0.20 and Firefox 128.0

piroor commented 4 months ago
Nexen23 commented 4 months ago
  • Is there any error in the browser console (Ctrl-Shift-J) ?

No, nothing

* Does this problem happen with other similar addons providing sidebar panel with custom context menu items? Could you try to open the context menu with the sidebar panel provided by "Tab Sidebar"? https://addons.mozilla.org/firefox/addon/tab-sidebar-we/ If you see same problem, it looks to be a problem of Firefox itself.

Yes, that addon works fine. I also deleted all chrome.css, so that default firefox top tabs panel showed up and it's context menu also works fine, meanwhile TST right clicks at the same time - don't work

Is there any other debug info I could collect to provide more details? For example, "export" button or "show logs" in TST options doesn't work too. Maybe it has the same reason to be broken so it's better to focus on that instead? I tried to see if there is anything in browser console on click and there is! On each click there is a line: スクリーンショット 2024-07-29 201955

When I open TST Options in console there are errors: スクリーンショット 2024-07-29 202848

piroor commented 4 months ago

Hmm, present error information collected by you don't contain any information about the reason of the problem... It means that something completely unexpected is happen on your case.

piroor commented 4 months ago

I've added some codes to collect more detailed logs around initialization of the context menu. Could you try collecting logs with the development build? Steps:

  1. Download development build of TST from https://github.com/piroor/treestyletab/actions/runs/10158757503
  2. Load the downloaded xpi as described at https://github.com/piroor/treestyletab?tab=readme-ov-file#development-builds
  3. Go to TST's options dialog,
  4. Scroll to the bottom of the options page, and activate "Debug mode".
  5. Deactivate all log modules.
  6. Activate only two log modules: background/tab-context-menu and sidebar/tab-context-menu.
  7. Go to about:debugging.
  8. Open debugger for TST.
  9. Switch to the Console panel.
  10. Click the trash box icon to clear all existing logs.
  11. Right-click on a tab in the TST sidebar panel to show the context menu.
  12. Collect logs reported in the debug console.

For example, here is the log on my environment when the context menu is shown successfully:

tst<Sidebar-1>: 17:20:43.888 sidebar/tab-context-menu:           onContextMenu: start [common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
tst<Sidebar-1>: 17:20:43.891 sidebar/tab-context-menu:           onContextMenu:  
Object { target: span.extra-items-container.front, originalTarget: span
, onInputField: null, context: null }
[common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
notify context menu is overridden [tab-context-menu.js:678:11](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/sidebar/tab-context-menu.js)
tst<Sidebar-1>: 17:20:43.896 sidebar/tab-context-menu:           onContextMenu: override context as tab context menu [common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
tst<BG>: 17:20:43.959 background/tab-context-menu:     tab-context-menu: internally called: 
Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} }
[common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
tst<BG>: 17:20:43.973 background/tab-context-menu:        TSTAPI.kCONTEXT_MENU_UPDATE: 
Object { type: "contextMenu-update", params: (2) […] }

Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined }
[common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
tst<BG>: 17:20:43.976 background/tab-context-menu:        TSTAPI.kCONTEXT_MENU_UPDATE: 
Object { type: "contextMenu-update", params: (2) […] }

Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined }
[common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
tst<BG>: 17:20:43.979 background/tab-context-menu:        TSTAPI.kCONTEXT_MENU_UPDATE: 
Object { type: "contextMenu-update", params: (2) […] }

Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined }
[common.js:735:13](moz-extension://c88dd328-6d50-4080-9691-ebb6ec4a3dbe/common/common.js)
...(similar logs)...
tst<BG>: 17:20:44.475 background/tab-context-menu:        TSTAPI.kCONTEXT_MENU_UPDATE: 
Object { type: "contextMenu-update", params: (2) […] }

Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined }
common.js:735:13
tst<BG>: 17:20:44.477 background/tab-context-menu:        TSTAPI.kCONTEXT_MENU_UPDATE: 
Object { type: "contextMenu-update", params: (2) […] }

Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined }
common.js:735:13
tst<Sidebar-1>: 17:20:45.229 sidebar/tab-context-menu:     tab-context-menu: internally called: 
Object { type: "treestyletab:contextMenu-updated", items: {…} }
common.js:735:13
tst<Sidebar-1>: 17:20:47.069 sidebar/tab-context-menu:     tab-context-menu: internally called: 
Object { type: "treestyletab:ping-to-sidebar", windowId: 1 }
common.js:735:13
tst<Sidebar-1>: 17:27:30.099 sidebar/tab-context-menu:     tab-context-menu: internally called: 
Object { type: "treestyletab:ping-to-sidebar", windowId: 1 }
Nexen23 commented 3 months ago

I've added some codes to collect more detailed logs around initialization of the context menu. Could you try collecting logs with the development build?

Greatly appreciated! Just to make sure also cloned profile, uninstalled every extensions including TST beforehand as well as chrome*.css. (I forgot to mention before what reinstalling TST also doesn't fix right-click problem)

Logs on single right-click with dev-TST ``` 23:31:18.872 tst: 23:31:18.872 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 23:31:18.874 tst: 23:31:18.875 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.876 tst: 23:31:18.876 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.877 tst: 23:31:18.877 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.879 tst: 23:31:18.879 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.880 tst: 23:31:18.881 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.881 tst: 23:31:18.881 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.882 tst: 23:31:18.882 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.883 tst: 23:31:18.883 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.884 tst: 23:31:18.884 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.885 tst: 23:31:18.885 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.886 tst: 23:31:18.886 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.887 tst: 23:31:18.887 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.887 tst: 23:31:18.888 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.888 tst: 23:31:18.889 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.889 tst: 23:31:18.890 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.889 tst: 23:31:18.890 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.890 tst: 23:31:18.891 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.890 tst: 23:31:18.891 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.891 tst: 23:31:18.891 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.892 tst: 23:31:18.892 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.892 tst: 23:31:18.893 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.893 tst: 23:31:18.893 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.894 tst: 23:31:18.894 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.895 tst: 23:31:18.895 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.896 tst: 23:31:18.897 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.897 tst: 23:31:18.897 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.897 tst: 23:31:18.898 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.898 tst: 23:31:18.899 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.899 tst: 23:31:18.899 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.899 tst: 23:31:18.900 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.900 tst: 23:31:18.901 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.901 tst: 23:31:18.902 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.902 tst: 23:31:18.902 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.903 tst: 23:31:18.903 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.904 tst: 23:31:18.905 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.905 tst: 23:31:18.905 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.905 tst: 23:31:18.906 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.906 tst: 23:31:18.907 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.907 tst: 23:31:18.907 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.907 tst: 23:31:18.908 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.908 tst: 23:31:18.909 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.909 tst: 23:31:18.909 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.909 tst: 23:31:18.910 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.910 tst: 23:31:18.911 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.911 tst: 23:31:18.911 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.911 tst: 23:31:18.912 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.912 tst: 23:31:18.912 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.913 tst: 23:31:18.914 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.915 tst: 23:31:18.915 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.916 tst: 23:31:18.917 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.917 tst: 23:31:18.917 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.917 tst: 23:31:18.918 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.918 tst: 23:31:18.918 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.918 tst: 23:31:18.919 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.919 tst: 23:31:18.919 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.919 tst: 23:31:18.920 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.920 tst: 23:31:18.921 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.921 tst: 23:31:18.921 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.922 tst: 23:31:18.922 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.922 tst: 23:31:18.923 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.923 tst: 23:31:18.924 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.924 tst: 23:31:18.925 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.925 tst: 23:31:18.926 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.926 tst: 23:31:18.926 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.926 tst: 23:31:18.927 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.927 tst: 23:31:18.927 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.927 tst: 23:31:18.928 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.928 tst: 23:31:18.928 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.928 tst: 23:31:18.929 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.929 tst: 23:31:18.929 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.931 tst: 23:31:18.932 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.932 tst: 23:31:18.932 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.933 tst: 23:31:18.933 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.933 tst: 23:31:18.933 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:31:18.977 tst: 23:31:18.977 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 ```
Just to make sure, cleared logs and clicked another time: ``` 23:32:14.197 tst: 23:32:14.198 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 23:32:14.201 tst: 23:32:14.201 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.202 tst: 23:32:14.203 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.203 tst: 23:32:14.204 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.205 tst: 23:32:14.206 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.207 tst: 23:32:14.207 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.208 tst: 23:32:14.208 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.209 tst: 23:32:14.210 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.210 tst: 23:32:14.210 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.211 tst: 23:32:14.212 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.212 tst: 23:32:14.212 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.213 tst: 23:32:14.214 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.214 tst: 23:32:14.214 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.215 tst: 23:32:14.215 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.215 tst: 23:32:14.216 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.216 tst: 23:32:14.216 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.217 tst: 23:32:14.217 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.217 tst: 23:32:14.217 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.218 tst: 23:32:14.218 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.218 tst: 23:32:14.218 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.219 tst: 23:32:14.219 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.219 tst: 23:32:14.220 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.220 tst: 23:32:14.221 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.221 tst: 23:32:14.222 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.222 tst: 23:32:14.222 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.223 tst: 23:32:14.223 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.223 tst: 23:32:14.224 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.224 tst: 23:32:14.225 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.225 tst: 23:32:14.226 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.225 tst: 23:32:14.226 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.226 tst: 23:32:14.227 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.227 tst: 23:32:14.227 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.228 tst: 23:32:14.228 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.229 tst: 23:32:14.229 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.230 tst: 23:32:14.231 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.231 tst: 23:32:14.232 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.232 tst: 23:32:14.232 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.232 tst: 23:32:14.233 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.235 tst: 23:32:14.235 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.237 tst: 23:32:14.237 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.238 tst: 23:32:14.238 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.238 tst: 23:32:14.238 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.239 tst: 23:32:14.239 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.239 tst: 23:32:14.240 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.240 tst: 23:32:14.240 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.240 tst: 23:32:14.241 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.241 tst: 23:32:14.242 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.242 tst: 23:32:14.242 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.242 tst: 23:32:14.243 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.243 tst: 23:32:14.243 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.244 tst: 23:32:14.244 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.244 tst: 23:32:14.245 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.245 tst: 23:32:14.245 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.246 tst: 23:32:14.246 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.246 tst: 23:32:14.247 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.247 tst: 23:32:14.247 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.247 tst: 23:32:14.248 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.248 tst: 23:32:14.249 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.249 tst: 23:32:14.250 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.250 tst: 23:32:14.250 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.250 tst: 23:32:14.251 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.252 tst: 23:32:14.252 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.253 tst: 23:32:14.253 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 23:32:14.291 tst: 23:32:14.291 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 ```

I also found how to get /sidebar logs in TST "Inspect" window. Button to choose it appears only after you click refresh in that window. But by default there are no logs when I right click But if I click refresh multiple times, there are duplicate instances occur (but it not always duplicates everything). Screenshot from non dev TST: スクリーンショット 2024-07-30 232029

piroor commented 3 months ago

Thank you for collecting logs! I've realized that your log doesn't contain onContextMenu: ... messages which was added by recent commits and should appear in logs from the development build. Did you use regular release build of TST after you cloned the profile? Otherwise, something looks to block the trigger event to open the context menu on your environment unexpectedly. Hmm...

Nexen23 commented 3 months ago

No, I used provided xpi. But just to make sure, I will repeat the process, but with screenshots.

Where I got XPI: xpi スクリーンショット 2024-07-31 101341

Addons before: before xpi スクリーンショット 2024-07-31 100118

Addons after: after xpi スクリーンショット 2024-07-31 100156

Options (btw, they do 10 seconds load too with debug xpi): options スクリーンショット 2024-07-31 100239

Click: click スクリーンショット 2024-07-31 100652

Click logs (this time it added "treestyletab:notify-may-end-tab-switch" for some reason when I launched windows-ebmedded screenshoting app) ``` 10:06:40.581 tst: 10:06:40.581 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 10:06:40.583 tst: 10:06:40.584 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.585 tst: 10:06:40.586 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.586 tst: 10:06:40.586 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.587 tst: 10:06:40.588 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.588 tst: 10:06:40.588 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.589 tst: 10:06:40.589 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.590 tst: 10:06:40.590 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.591 tst: 10:06:40.591 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.594 tst: 10:06:40.595 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.596 tst: 10:06:40.597 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.598 tst: 10:06:40.599 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.599 tst: 10:06:40.600 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.600 tst: 10:06:40.601 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.601 tst: 10:06:40.602 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.602 tst: 10:06:40.603 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.602 tst: 10:06:40.603 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.603 tst: 10:06:40.603 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.604 tst: 10:06:40.604 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.604 tst: 10:06:40.604 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.605 tst: 10:06:40.605 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.606 tst: 10:06:40.606 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.606 tst: 10:06:40.607 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.607 tst: 10:06:40.608 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.608 tst: 10:06:40.608 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.608 tst: 10:06:40.609 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.609 tst: 10:06:40.609 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.610 tst: 10:06:40.610 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.611 tst: 10:06:40.611 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.612 tst: 10:06:40.612 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.612 tst: 10:06:40.612 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.613 tst: 10:06:40.613 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.615 tst: 10:06:40.616 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.616 tst: 10:06:40.617 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.617 tst: 10:06:40.617 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.617 tst: 10:06:40.618 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.618 tst: 10:06:40.619 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.619 tst: 10:06:40.619 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.619 tst: 10:06:40.620 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.620 tst: 10:06:40.621 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.622 tst: 10:06:40.622 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.623 tst: 10:06:40.623 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.623 tst: 10:06:40.624 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.624 tst: 10:06:40.624 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.624 tst: 10:06:40.625 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.625 tst: 10:06:40.626 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.626 tst: 10:06:40.626 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.627 tst: 10:06:40.628 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.627 tst: 10:06:40.628 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.628 tst: 10:06:40.629 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.629 tst: 10:06:40.630 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.629 tst: 10:06:40.630 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.630 tst: 10:06:40.631 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.631 tst: 10:06:40.632 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.631 tst: 10:06:40.632 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.632 tst: 10:06:40.633 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.632 tst: 10:06:40.633 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.633 tst: 10:06:40.634 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.634 tst: 10:06:40.635 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.635 tst: 10:06:40.635 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.636 tst: 10:06:40.636 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.637 tst: 10:06:40.637 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.638 tst: 10:06:40.638 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 10:06:40.677 tst: 10:06:40.677 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 10:06:42.382 tst: 10:06:42.383 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "meta" } common.js:735:13 10:06:42.384 tst: 10:06:42.384 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "meta" } common.js:735:13 10:06:42.384 tst: 10:06:42.384 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-end-tab-switch", modifier: "meta" } common.js:735:13 10:06:42.385 tst: 10:06:42.385 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-end-tab-switch", modifier: null } common.js:735:13 10:06:55.081 tst: 10:06:55.082 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:ping-to-sidebar", windowId: 1 } common.js:735:13 ```
piroor commented 3 months ago

Thanks! So your logs mean that something cancels "contextmenu" event. Could you collect logs again with one more log module sidebar/mouse-event-listener? It will help to understand the reason of the cancel if the mouse event is canceled by TST itself.

Nexen23 commented 3 months ago

Thanks! So your logs mean that something cancels "contextmenu" event. Could you collect logs again with one more log module sidebar/mouse-event-listener? It will help to understand the reason of the cancel if the mouse event is canceled by TST itself.

Sure. Here it is:

Logs with extra sidebar/mouse-event-listener ``` 19:59:46.854 tst: 19:59:46.854 sidebar/mouse-event-listener: onMouseDown: found target tab: Object { id: 3, index: 1, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } mousedown { target: span.extra-items-container.front, buttons: 2, clientX: 107, clientY: 66, layerX: 69, layerY: 29 } common.js:735:13 19:59:46.855 tst: 19:59:46.856 sidebar/mouse-event-listener: onMouseDown Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:735:13 19:59:46.856 tst: 19:59:46.856 sidebar/mouse-event-listener: Sending message to mousedown listeners Object { extraContentsInfo: {…} } common.js:735:13 19:59:46.857 tst: 19:59:46.857 sidebar/mouse-event-listener: => allowed common.js:735:13 19:59:46.861 tst: 19:59:46.862 sidebar/mouse-event-listener: onMouseUp: Object { id: 3, index: 1, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } Object { living: true } common.js:735:13 19:59:46.869 tst: 19:59:46.869 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 19:59:46.871 tst: 19:59:46.871 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.872 tst: 19:59:46.872 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.873 tst: 19:59:46.874 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.874 tst: 19:59:46.874 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.875 tst: 19:59:46.876 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.876 tst: 19:59:46.877 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.876 tst: 19:59:46.877 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.877 tst: 19:59:46.877 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.878 tst: 19:59:46.879 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.879 tst: 19:59:46.879 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.879 tst: 19:59:46.880 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.880 tst: 19:59:46.881 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.880 tst: 19:59:46.881 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.881 tst: 19:59:46.881 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.882 tst: 19:59:46.882 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.882 tst: 19:59:46.882 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.883 tst: 19:59:46.884 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.883 tst: 19:59:46.884 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.884 tst: 19:59:46.885 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.884 tst: 19:59:46.885 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.885 tst: 19:59:46.885 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.886 tst: 19:59:46.886 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.886 tst: 19:59:46.887 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.887 tst: 19:59:46.887 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.888 tst: 19:59:46.888 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.889 tst: 19:59:46.889 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.889 tst: 19:59:46.890 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.890 tst: 19:59:46.890 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.891 tst: 19:59:46.891 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.891 tst: 19:59:46.892 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.892 tst: 19:59:46.893 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.893 tst: 19:59:46.894 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.894 tst: 19:59:46.895 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.895 tst: 19:59:46.896 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.895 tst: 19:59:46.896 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.896 tst: 19:59:46.897 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.897 tst: 19:59:46.897 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.898 tst: 19:59:46.898 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.898 tst: 19:59:46.898 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.899 tst: 19:59:46.900 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.900 tst: 19:59:46.900 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.900 tst: 19:59:46.901 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.902 tst: 19:59:46.902 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.903 tst: 19:59:46.903 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.904 tst: 19:59:46.904 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.904 tst: 19:59:46.904 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.905 tst: 19:59:46.906 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.905 tst: 19:59:46.906 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.906 tst: 19:59:46.906 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.907 tst: 19:59:46.907 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.907 tst: 19:59:46.908 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.908 tst: 19:59:46.909 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.908 tst: 19:59:46.909 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.909 tst: 19:59:46.910 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.910 tst: 19:59:46.910 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.910 tst: 19:59:46.911 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.911 tst: 19:59:46.912 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.912 tst: 19:59:46.913 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.913 tst: 19:59:46.913 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.913 tst: 19:59:46.914 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.914 tst: 19:59:46.915 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.915 tst: 19:59:46.916 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.916 tst: 19:59:46.916 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.916 tst: 19:59:46.917 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.917 tst: 19:59:46.917 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.917 tst: 19:59:46.918 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.918 tst: 19:59:46.919 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.918 tst: 19:59:46.919 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.919 tst: 19:59:46.920 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.919 tst: 19:59:46.920 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.920 tst: 19:59:46.921 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.921 tst: 19:59:46.921 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.921 tst: 19:59:46.922 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.922 tst: 19:59:46.923 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.922 tst: 19:59:46.923 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.923 tst: 19:59:46.923 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.924 tst: 19:59:46.924 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.924 tst: 19:59:46.924 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.925 tst: 19:59:46.925 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.925 tst: 19:59:46.926 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.926 tst: 19:59:46.926 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.926 tst: 19:59:46.927 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.927 tst: 19:59:46.927 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.927 tst: 19:59:46.928 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.928 tst: 19:59:46.928 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.928 tst: 19:59:46.929 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.929 tst: 19:59:46.929 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.929 tst: 19:59:46.930 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.930 tst: 19:59:46.930 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.930 tst: 19:59:46.931 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.931 tst: 19:59:46.931 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.931 tst: 19:59:46.932 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_CREATE: Object { type: "contextMenu-create", params: {…} } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:59:46.986 tst: 19:59:46.987 sidebar/mouse-event-listener: handleDefaultMouseUp Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:735:13 19:59:46.986 tst: 19:59:46.987 sidebar/mouse-event-listener: onMouseUp: notify as a blank area click to other addons common.js:735:13 19:59:46.988 tst: 19:59:46.989 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 ```
piroor commented 3 months ago

Hmm, your log said that TST worked as:

  1. Handle mousedown event
  2. Handle mouseup event
  3. Initialize context menu internally

On the other hand, expected order is:

  1. Handle mousedown event
  2. Initialize context menu internally
  3. Handle mouseup event
  4. Handle contextmenu event
  5. Initialize context menu again

The difference is the order of 2 and 3. Could you try press down the mouse button, hold it a while, and release the button? If it shows the context menu, the problem may be caused by slowed down of TST's operations

Sorry I misunderstood your log, ignore my previous comment...

piroor commented 3 months ago

I've introduced some changes possibly affect to this issue. Could you try the development build? https://github.com/piroor/treestyletab/actions/runs/10201669419

If you still see the problem, could you try press down the mouse button, hold it a while, and release the button? It should force to TST to operate the context menu initialization same to the case on my environment so I hope it should work as expected. Otherwise we need to find something other blocker...

Nexen23 commented 3 months ago

I've introduced some changes possibly affect to this issue. Could you try the development build? https://github.com/piroor/treestyletab/actions/runs/10201669419

If you still see the problem, could you try press down the mouse button, hold it a while, and release the button? It should force to TST to operate the context menu initialization same to the case on my environment so I hope it should work as expected. Otherwise we need to find something other blocker...

Unfortunatelly didn't work out

Logs with fast right click ``` 19:56:34.504 tst: 19:56:34.504 sidebar/mouse-event-listener: onMouseDown: found target tab: Object { id: 3, index: 1, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } mousedown { target: span.extra-items-container.front, buttons: 2, clientX: 102, clientY: 56, layerX: 64, layerY: 19 } common.js:735:13 19:56:34.528 tst: 19:56:34.528 sidebar/mouse-event-listener: onMouseDown Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:735:13 19:56:34.529 tst: 19:56:34.530 sidebar/mouse-event-listener: Sending message to mousedown listeners Object { extraContentsInfo: {…} } common.js:735:13 19:56:34.530 tst: 19:56:34.531 sidebar/mouse-event-listener: => allowed common.js:735:13 19:56:34.535 tst: 19:56:34.536 sidebar/mouse-event-listener: onMouseUp: Object { id: 3, index: 1, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } Object { living: true } common.js:735:13 19:56:34.545 tst: 19:56:34.546 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 19:56:34.548 tst: 19:56:34.548 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.549 tst: 19:56:34.549 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.551 tst: 19:56:34.551 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.551 tst: 19:56:34.552 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.552 tst: 19:56:34.553 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.554 tst: 19:56:34.554 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.555 tst: 19:56:34.556 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.556 tst: 19:56:34.556 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.557 tst: 19:56:34.558 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.558 tst: 19:56:34.559 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.559 tst: 19:56:34.560 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.560 tst: 19:56:34.561 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.561 tst: 19:56:34.561 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.562 tst: 19:56:34.562 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.562 tst: 19:56:34.562 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.563 tst: 19:56:34.563 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.564 tst: 19:56:34.564 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.564 tst: 19:56:34.564 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.565 tst: 19:56:34.565 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.565 tst: 19:56:34.565 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.566 tst: 19:56:34.566 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.567 tst: 19:56:34.567 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.567 tst: 19:56:34.568 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.568 tst: 19:56:34.568 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.569 tst: 19:56:34.569 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.569 tst: 19:56:34.570 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.570 tst: 19:56:34.570 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.571 tst: 19:56:34.571 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.571 tst: 19:56:34.572 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.572 tst: 19:56:34.573 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.573 tst: 19:56:34.574 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.574 tst: 19:56:34.575 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.575 tst: 19:56:34.575 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.575 tst: 19:56:34.576 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.576 tst: 19:56:34.576 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.577 tst: 19:56:34.577 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.577 tst: 19:56:34.578 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.578 tst: 19:56:34.579 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.578 tst: 19:56:34.579 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.579 tst: 19:56:34.580 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.580 tst: 19:56:34.580 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.580 tst: 19:56:34.581 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.581 tst: 19:56:34.582 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.582 tst: 19:56:34.582 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.582 tst: 19:56:34.582 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.583 tst: 19:56:34.583 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.584 tst: 19:56:34.584 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.585 tst: 19:56:34.585 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.587 tst: 19:56:34.587 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.588 tst: 19:56:34.588 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.588 tst: 19:56:34.589 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.589 tst: 19:56:34.589 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.589 tst: 19:56:34.590 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.590 tst: 19:56:34.590 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.591 tst: 19:56:34.591 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.591 tst: 19:56:34.591 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.592 tst: 19:56:34.592 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.593 tst: 19:56:34.594 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.594 tst: 19:56:34.594 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.595 tst: 19:56:34.595 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.598 tst: 19:56:34.599 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.599 tst: 19:56:34.600 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:56:34.604 tst: 19:56:34.605 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mouseup", button: undefined, altKey: undefined, ctrlKey: undefined, metaKey: undefined, shiftKey: undefined, tab: {…} } common.js:735:13 19:56:34.686 tst: 19:56:34.686 sidebar/mouse-event-listener: handleDefaultMouseUp Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:735:13 19:56:34.688 tst: 19:56:34.688 sidebar/mouse-event-listener: onMouseUp: notify as a blank area click to other addons common.js:735:13 19:56:34.688 tst: 19:56:34.688 sidebar/mouse-event-listener: onMouseUp: on somewhere, tab = true common.js:735:13 19:56:34.688 tst: 19:56:34.688 sidebar/mouse-event-listener: onMouseUp: on somewhere, tab = true common.js:735:13 19:56:34.695 tst: 19:56:34.696 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 ```

From what I saw, it doesn't react to initial press, only when I fully release the right click. So these logs are essentially identical

Logs with right press, hold for about 10 seconds, release ``` 19:57:15.635 tst: 19:57:15.635 sidebar/mouse-event-listener: onMouseDown: found target tab: Object { id: 3, index: 1, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } mousedown { target: span.extra-items-container.front, buttons: 2, clientX: 68, clientY: 52, layerX: 30, layerY: 15 } common.js:735:13 19:57:15.636 tst: 19:57:15.636 sidebar/mouse-event-listener: onMouseDown Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:735:13 19:57:15.637 tst: 19:57:15.637 sidebar/mouse-event-listener: Sending message to mousedown listeners Object { extraContentsInfo: {…} } common.js:735:13 19:57:15.637 tst: 19:57:15.637 sidebar/mouse-event-listener: => allowed common.js:735:13 19:57:15.644 tst: 19:57:15.644 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 19:57:15.645 tst: 19:57:15.646 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.646 tst: 19:57:15.647 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.647 tst: 19:57:15.647 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.647 tst: 19:57:15.648 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.648 tst: 19:57:15.648 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.649 tst: 19:57:15.649 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.649 tst: 19:57:15.650 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.650 tst: 19:57:15.650 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.650 tst: 19:57:15.651 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.651 tst: 19:57:15.652 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.652 tst: 19:57:15.652 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.652 tst: 19:57:15.653 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.653 tst: 19:57:15.654 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.654 tst: 19:57:15.654 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.654 tst: 19:57:15.654 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.655 tst: 19:57:15.655 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.655 tst: 19:57:15.655 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.656 tst: 19:57:15.656 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.657 tst: 19:57:15.657 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.657 tst: 19:57:15.657 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.658 tst: 19:57:15.658 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.658 tst: 19:57:15.658 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.659 tst: 19:57:15.659 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.660 tst: 19:57:15.660 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.660 tst: 19:57:15.661 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.661 tst: 19:57:15.661 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.661 tst: 19:57:15.662 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.662 tst: 19:57:15.662 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.662 tst: 19:57:15.663 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.663 tst: 19:57:15.663 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.664 tst: 19:57:15.664 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.664 tst: 19:57:15.665 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.665 tst: 19:57:15.666 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.665 tst: 19:57:15.666 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.666 tst: 19:57:15.667 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.667 tst: 19:57:15.668 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.668 tst: 19:57:15.668 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.668 tst: 19:57:15.669 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.669 tst: 19:57:15.670 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.669 tst: 19:57:15.670 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.670 tst: 19:57:15.670 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.670 tst: 19:57:15.671 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.671 tst: 19:57:15.671 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.672 tst: 19:57:15.672 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.672 tst: 19:57:15.672 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.673 tst: 19:57:15.674 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.673 tst: 19:57:15.674 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.674 tst: 19:57:15.675 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.675 tst: 19:57:15.675 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.675 tst: 19:57:15.675 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.676 tst: 19:57:15.676 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.676 tst: 19:57:15.677 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.677 tst: 19:57:15.677 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.677 tst: 19:57:15.678 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.678 tst: 19:57:15.678 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.679 tst: 19:57:15.679 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.679 tst: 19:57:15.679 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.680 tst: 19:57:15.681 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.681 tst: 19:57:15.682 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.682 tst: 19:57:15.682 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.683 tst: 19:57:15.683 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.683 tst: 19:57:15.684 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 19:57:15.685 tst: 19:57:15.686 sidebar/mouse-event-listener: onMouseUp: Object { id: 3, index: 1, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } Object { living: true } common.js:735:13 19:57:15.727 tst: 19:57:15.728 sidebar/mouse-event-listener: handleDefaultMouseUp Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:735:13 19:57:15.728 tst: 19:57:15.728 sidebar/mouse-event-listener: onMouseUp: notify as a blank area click to other addons common.js:735:13 19:57:15.728 tst: 19:57:15.728 sidebar/mouse-event-listener: onMouseUp: on somewhere, tab = true common.js:735:13 19:57:15.728 tst: 19:57:15.729 sidebar/mouse-event-listener: onMouseUp: on somewhere, tab = true common.js:735:13 19:57:15.729 tst: 19:57:15.730 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mouseup", button: undefined, altKey: undefined, ctrlKey: undefined, metaKey: undefined, shiftKey: undefined, tab: {…} } common.js:735:13 19:57:15.731 tst: 19:57:15.732 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 ```
Nexen23 commented 3 months ago

But I found something bizarre (or maybe it's intended behavior 🤷 ). If I right fast-click with my ctrl/alt pressed, there will be spam of tab-context-menu until I release ctrl/alt

Logs with ctrl+click and release ctrl after few seconds ``` 20:06:43.983 tst: 20:06:43.984 sidebar/mouse-event-listener: onMouseDown: found target tab: Object { id: 1, index: 2, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } mousedown { target: span.extra-items-container.front, buttons: 2, clientX: 139, clientY: 84, layerX: 101, layerY: 11 } common.js:735:13 20:06:43.984 tst: 20:06:43.985 sidebar/mouse-event-listener: onMouseDown Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: true, shiftKey: false, altKey: false, metaKey: false, tab: 1, tabId: 1, twisty: false, … } common.js:735:13 20:06:43.985 tst: 20:06:43.986 sidebar/mouse-event-listener: Sending message to mousedown listeners Object { extraContentsInfo: {…} } common.js:735:13 20:06:43.986 tst: 20:06:43.986 sidebar/mouse-event-listener: => allowed common.js:735:13 20:06:43.996 tst: 20:06:43.997 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: true, metaKey: false, shiftKey: false, tab: {…} } common.js:735:13 20:06:43.998 tst: 20:06:43.999 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:43.999 tst: 20:06:44.000 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.001 tst: 20:06:44.002 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.002 tst: 20:06:44.003 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.003 tst: 20:06:44.003 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.003 tst: 20:06:44.004 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.004 tst: 20:06:44.005 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.005 tst: 20:06:44.005 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.006 tst: 20:06:44.006 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.006 tst: 20:06:44.007 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.007 tst: 20:06:44.008 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.008 tst: 20:06:44.009 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.008 tst: 20:06:44.009 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.009 tst: 20:06:44.010 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.010 tst: 20:06:44.011 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.010 tst: 20:06:44.011 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.011 tst: 20:06:44.011 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.012 tst: 20:06:44.012 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.013 tst: 20:06:44.013 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.014 tst: 20:06:44.014 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.015 tst: 20:06:44.015 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.016 tst: 20:06:44.016 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.017 tst: 20:06:44.017 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.017 tst: 20:06:44.018 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.018 tst: 20:06:44.018 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.019 tst: 20:06:44.019 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.019 tst: 20:06:44.020 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.020 tst: 20:06:44.021 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.021 tst: 20:06:44.021 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.021 tst: 20:06:44.022 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.022 tst: 20:06:44.023 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.023 tst: 20:06:44.024 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.024 tst: 20:06:44.024 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.024 tst: 20:06:44.025 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.025 tst: 20:06:44.025 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.025 tst: 20:06:44.026 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.026 tst: 20:06:44.027 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.027 tst: 20:06:44.028 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.027 tst: 20:06:44.028 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.028 tst: 20:06:44.029 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.029 tst: 20:06:44.030 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.029 tst: 20:06:44.030 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.030 tst: 20:06:44.031 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.031 tst: 20:06:44.032 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.032 tst: 20:06:44.033 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.032 tst: 20:06:44.033 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.033 tst: 20:06:44.033 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.034 tst: 20:06:44.034 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.035 tst: 20:06:44.035 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.036 tst: 20:06:44.036 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.036 tst: 20:06:44.037 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.037 tst: 20:06:44.037 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.038 tst: 20:06:44.039 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.039 tst: 20:06:44.039 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.040 tst: 20:06:44.040 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.040 tst: 20:06:44.041 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.041 tst: 20:06:44.041 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.042 tst: 20:06:44.043 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.043 tst: 20:06:44.044 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.045 tst: 20:06:44.045 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.047 tst: 20:06:44.047 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.048 tst: 20:06:44.048 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:735:13 20:06:44.071 tst: 20:06:44.072 sidebar/mouse-event-listener: onMouseUp: Object { id: 1, index: 2, windowId: 1, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } Object { living: true } common.js:735:13 20:06:44.106 tst: 20:06:44.106 sidebar/mouse-event-listener: handleDefaultMouseUp Object { targetType: "tab", window: 1, windowId: 1, ctrlKey: true, shiftKey: false, altKey: false, metaKey: false, tab: 1, tabId: 1, twisty: false, … } common.js:735:13 20:06:44.106 tst: 20:06:44.107 sidebar/mouse-event-listener: onMouseUp: notify as a blank area click to other addons common.js:735:13 20:06:44.107 tst: 20:06:44.107 sidebar/mouse-event-listener: onMouseUp: on somewhere, tab = true common.js:735:13 20:06:44.107 tst: 20:06:44.107 sidebar/mouse-event-listener: onMouseUp: on somewhere, tab = true common.js:735:13 20:06:44.108 tst: 20:06:44.109 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mouseup", button: undefined, altKey: undefined, ctrlKey: undefined, metaKey: undefined, shiftKey: undefined, tab: {…} } common.js:735:13 20:06:44.110 tst: 20:06:44.110 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:735:13 20:06:44.134 tst: 20:06:44.135 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.216 tst: 20:06:44.216 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.233 tst: 20:06:44.233 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.265 tst: 20:06:44.266 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.424 tst: 20:06:44.424 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.431 tst: 20:06:44.431 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.464 tst: 20:06:44.464 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.508 tst: 20:06:44.509 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.530 tst: 20:06:44.530 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.563 tst: 20:06:44.563 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.610 tst: 20:06:44.611 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.629 tst: 20:06:44.629 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.661 tst: 20:06:44.662 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.708 tst: 20:06:44.709 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.728 tst: 20:06:44.728 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.761 tst: 20:06:44.761 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.809 tst: 20:06:44.809 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.827 tst: 20:06:44.827 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.860 tst: 20:06:44.860 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.915 tst: 20:06:44.915 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.926 tst: 20:06:44.926 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:44.959 tst: 20:06:44.959 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.014 tst: 20:06:45.014 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.025 tst: 20:06:45.025 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.058 tst: 20:06:45.058 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.112 tst: 20:06:45.113 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.123 tst: 20:06:45.123 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.156 tst: 20:06:45.157 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.210 tst: 20:06:45.210 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.222 tst: 20:06:45.223 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.256 tst: 20:06:45.256 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.312 tst: 20:06:45.312 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.322 tst: 20:06:45.323 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.355 tst: 20:06:45.355 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.412 tst: 20:06:45.413 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.421 tst: 20:06:45.421 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.453 tst: 20:06:45.454 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-start-tab-switch", modifier: "control" } common.js:735:13 20:06:45.456 tst: 20:06:45.456 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-may-end-tab-switch", modifier: "control" } common.js:735:13 ```
Nexen23 commented 3 months ago

Just to make sure, I tried to make clean profile (where TST works as intended) and see what logs it will give.

  1. Bizarre behavior above doesn't occur. If I right click with ctrl/alt - there is no logs at all. My guess is it may have something to do with some TST settings. Unfortunatelly can't export+import them to clean profile
  2. Here are logs of right click and when context menu is shown as intended (also no logs on right press, only when released logs appear)
Logs with clean profile, new TST and right click ``` tst: 20:11:40.654 sidebar/mouse-event-listener: onMouseDown: found target tab: Object { id: 3, index: 2, windowId: 3, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } mousedown { target: span.extra-items-container.front, buttons: 2, clientX: 162, clientY: 90, layerX: 124, layerY: 18 } common.js:733:13 tst: 20:11:40.662 sidebar/mouse-event-listener: onMouseDown Object { targetType: "tab", window: 3, windowId: 3, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:733:13 tst: 20:11:40.666 sidebar/mouse-event-listener: Sending message to mousedown listeners Object { extraContentsInfo: {…} } common.js:733:13 tst: 20:11:40.667 sidebar/mouse-event-listener: => allowed common.js:733:13 tst: 20:11:40.668 sidebar/mouse-event-listener: onMouseUp: Object { id: 3, index: 2, windowId: 3, highlighted: false, active: false, attention: false, pinned: false, status: "complete", hidden: false, discarded: false, … } Object { living: true } common.js:733:13 tst: 20:11:40.678 background/tab-context-menu: tab-context-menu: internally called: Object { type: "tab-mousedown", button: 2, altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, tab: {…} } common.js:733:13 tst: 20:11:40.683 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.685 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.685 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.688 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.689 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.690 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.691 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.692 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.694 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.695 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.696 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.697 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.699 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.701 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.703 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.704 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.705 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.706 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.707 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.708 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.710 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.711 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.712 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.714 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.716 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.718 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.720 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.722 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.723 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.724 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.725 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.727 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.728 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.729 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.730 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.730 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.731 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.732 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.733 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.733 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.735 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.737 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.737 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.739 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.740 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.740 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.742 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.743 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.744 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.744 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.745 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.746 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.747 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.748 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.748 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.749 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.750 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.753 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.753 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.755 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.757 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.759 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.763 background/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:notify-context-overridden", context: null } common.js:733:13 tst: 20:11:40.765 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.766 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.767 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.768 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.769 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.770 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.770 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.771 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.771 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.772 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.774 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.776 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.777 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.778 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.780 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.782 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.783 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.784 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.785 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.786 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.787 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.789 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.790 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.791 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.793 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.794 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.795 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.796 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.797 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.798 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.799 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.800 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.801 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.801 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.802 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.802 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.803 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.804 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.805 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.806 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.807 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.808 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.809 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.809 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.810 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.810 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.811 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.812 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.813 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.813 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.814 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.815 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.815 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.816 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.816 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.817 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.818 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.820 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.822 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.823 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.825 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.826 background/tab-context-menu: TSTAPI.kCONTEXT_MENU_UPDATE: Object { type: "contextMenu-update", params: (2) […] } Object { id: "treestyletab@piro.sakura.ne.jp", url: undefined } common.js:733:13 tst: 20:11:40.832 sidebar/mouse-event-listener: handleDefaultMouseUp Object { targetType: "tab", window: 3, windowId: 3, ctrlKey: false, shiftKey: false, altKey: false, metaKey: false, tab: 3, tabId: 3, twisty: false, … } common.js:733:13 tst: 20:11:40.833 sidebar/mouse-event-listener: onMouseUp: notify as a blank area click to other addons common.js:733:13 tst: 20:11:40.952 sidebar/tab-context-menu: tab-context-menu: internally called: Object { type: "treestyletab:contextMenu-updated", items: {…} } common.js:733:13 ```
Nexen23 commented 3 months ago

Thought what maybe I have strange mouse with special right click, but no. Laptop touchpad with physical right button press+hold don't give logs too until released

piroor commented 3 months ago

Thanks a lot!

No such problem with clean profile, as well as without TST.

As these results including above, something broken information in your regular profile looks to trigger this problem.

Couldn't try TST options on different profile because "export options" button at the very bottom doesn't do anything.

This also strange. The button should just download a JSON file into your Download folder and I can't imagine what blocks that.

Could you try to clear some cache information with these steps?:

  1. Exit Firefox.
  2. Delete the folder C:\Users\xxx\AppData\Local\Mozilla which contains the cache.
  3. Go to your profile folder like C:\Users\xxxx\AppData\Roaming\Mozilla\Firefox\Profiles\xxxx.main.
  4. Backup the profile folder.
  5. Delete files in your profile:
    • browser-extension-data (folder)
    • extension-store (folder)
    • storage (folder)
    • addonStartup.json.lz4
    • storage.sqlite
    • xulstore.json
  6. Start Firefox.
  7. Try to open the context menu on the sidebar.

After all please restore the profile.

piroor commented 3 months ago

One more possibility: If you use something user style sheet in TST's options, it may affect to the problem, so please clear it (after backup).

Nexen23 commented 3 months ago

Thanks a lot!

No such problem with clean profile, as well as without TST.

As these results including above, something broken information in your regular profile looks to trigger this problem.

Couldn't try TST options on different profile because "export options" button at the very bottom doesn't do anything.

This also strange. The button should just download a JSON file into your Download folder and I can't imagine what blocks that.

Could you try to clear some cache information with these steps?:

1. Exit Firefox.

2. Delete the folder `C:\Users\xxx\AppData\Local\Mozilla` which contains the cache.

3. Go to your profile folder like `C:\Users\xxxx\AppData\Roaming\Mozilla\Firefox\Profiles\xxxx.main`.

4. Backup the profile folder.

5. Delete files in your profile:

   * browser-extension-data (folder)
   * extension-store (folder)
   * storage (folder)
   * addonStartup.json.lz4
   * storage.sqlite
   * xulstore.json

6. Start Firefox.

7. Try to open the context menu on the sidebar.

After all please restore the profile.

Spoiler: found a file which if removed fixes right click.

Tried clearing User Styles (they were commented but still), cache, mentioned files - didn't help.

Started randomly deleting files like places.sql, content-prefs.sql e.t.c. to the point where got BSOD on FF start :)

Experimentally found out what if I delete prefs.js - right click starts working! As well as TST Options show up immediatelly and Export button works too. (btw I have 17 of other prefs-*.js files, but they don't affect the issue)

But I fail to find the culprit among it's content. At first I though about deleting 50% of options and see where it goes. But TST bricked: doesn't render tabs in the sidebar, doesn't show Options anymore (blank screen), but TST sidebar still opens up on the startup (I installed TST on that profile for experiments). Then I tried deleting all prefs except these which had treestyletab in it. TST still bricks. Do you have any pointers as to what I must not delete to stop the bricking? If so, I could bisect the problematic line after that. (if you have none - it's okay, I will try bisect anyway, it will just take much more time, file is 100kb long)

Nevertheless, here are all treestyletab* prefs in the prefs.js (I tried deleting ONLY them but didn't help, although extensions.treestyletab.tabbar.autoShow.accelKeyDown looked promising):

my treestyletab* prefs ``` user_pref("extensions.treestyletab.allowSubtreeCollapseExpand.horizontal", true); user_pref("extensions.treestyletab.autoCollapseExpandSubtreeOnAttach", false); user_pref("extensions.treestyletab.autoCollapseExpandSubtreeOnSelect", false); user_pref("extensions.treestyletab.autoCollapseExpandSubtreeOnSelect.onCurrentTabRemove", false); user_pref("extensions.treestyletab.collapseExpandSubtree.dblclick", true); user_pref("extensions.treestyletab.maxTreeLevel.horizontal", 20); user_pref("extensions.treestyletab.openGroupBookmark.behavior", 2305); user_pref("extensions.treestyletab.prefsVersion", 14); user_pref("extensions.treestyletab.show.context-item-bookmarkTabSubtree", true); user_pref("extensions.treestyletab.show.context-item-reloadDescendantTabs", true); user_pref("extensions.treestyletab.show.context-item-removeAllTabsButThisTree", true); user_pref("extensions.treestyletab.show.context-item-removeDescendantTabs", true); user_pref("extensions.treestyletab.tabbar.autoShow.accelKeyDown", false); user_pref("extensions.treestyletab.tabbar.fixed.vertical", true); user_pref("extensions.treestyletab.tabbar.height", 38); user_pref("extensions.treestyletab.tabbar.invertTab", false); user_pref("extensions.treestyletab.tabbar.position", "right"); user_pref("extensions.treestyletab.tabbar.style", "plain"); user_pref("extensions.treestyletab.tooltip.mode", 0); user_pref("extensions.treestyletab.twisty.style", "modern-black"); ```
piroor commented 3 months ago

Those extensions.treestyletab.* entries in prefs.js were used by TST 0.9 and older versions. TST 2.0 and later is WebExtensions and never refers them so they are safe to delete.

I have 95KB prefs.js. Here are some entries safe to delete I think:

On the other hand, here are entries dangerous to delete I think:

extensions.webextensions.* entries look critical but they may affect to this problem. privacy.* entries also possibly affect to this problem - some privacy features to prevent fingerprinting may break addons.

Nexen23 commented 3 months ago

Those extensions.treestyletab.* entries in prefs.js were used by TST 0.9 and older versions. TST 2.0 and later is WebExtensions and never refers them so they are safe to delete.

I have 95KB prefs.js. Here are some entries safe to delete I think:

* `app.normandy.*` : information about remotely applied.

* `app.update.*` : information about auto update of Firefox.

* `browser.uiCustomization.state` : toolbar customization result.

* `devtools.*` : information about developer tools.

* `gfx*` : cached information about hardware acceleration.

* `media.*` : cached information about media encoder/decoder plugins.

* `numbus.*` : information about experiments of Firefox.

* `print.*`, `printer*` : cached information about printers and saved printing settings.

* `urlclassifier.*` : cached information of safe browsing.

On the other hand, here are entries dangerous to delete I think:

* `extensions.webextensions.ExtensionStorageIDB.migrated.*` : they need to be there to keep storage information.

* `extensions.webextensions.uuids` : it needs to be there to keep relationship of their public IDs and internal auto-generated IDs.

* `identity.*` : information about Firefox Sync.

extensions.webextensions.* entries look critical but they may affect to this problem. privacy.* entries also possibly affect to this problem - some privacy features to prevent fingerprinting may break addons.

Many thanks! It appears only extensions.webextensions.uuids was necessary to stop bricking TST. The cause of right-click bug was user_pref("extensions.webextensions.remote", false); I found things like https://blog.mozilla.org/addons/2020/03/05/extensions-in-firefox-74/ and https://bugzilla.mozilla.org/show_bug.cgi?id=1613141 , but now it's a mystery how it got to my prefs in the first place :/

Nevertheless, it's still unclear why it broke only 6 months ago. I found this post https://blog.nightly.mozilla.org/2024/01/22/happy-new-year-these-weeks-in-firefox-issue-152/ Untitled But it's only typo in the comment. But just because someone saw this typo can mean that at the beggining of 2024 someone worked near "extensions.webextensions.remote" logic, so there probably some extra commits which could have affected me.

It's also quite interesting how it affected only TST in my case.

Once again, thanks a lot! I was suffering for half a year waiting either TST or Firefox fix it and now I'm free from this misery :)

piroor commented 3 months ago

I can't imagine why extensions.webextensions.remote=false affected only for TST on your environment, but it makes sense anyway. In old days that Firefox's multi-process architecture (the project name "electrolysis", aka e10s) was in early development, disabling e10s was a better choice to get stability and speed. But now Firefox is totally redesigned based on enabled e10s. Disabled e10s mode is not recommended because it is not tested and maintained well anymore.

Nexen23 commented 3 months ago

I can't imagine why extensions.webextensions.remote=false affected only for TST on your environment, but it makes sense anyway. In old days that Firefox's multi-process architecture (the project name "electrolysis", aka e10s) was in early development, disabling e10s was a better choice to get stability and speed. But now Firefox is totally redesigned based on enabled e10s. Disabled e10s mode is not recommended because it is not tested and maintained well anymore.

Makes sence! Thanks a lot. I'll close the issue then :)