Duplicate views

Some users are getting duplicate views on the left pane when entering their workspace. Those views are contributed via vscode extensions.

Not sure if it is related but we also see the thrown errors “A toolbar item is already registered with the ‘${id}’ ID.”

There are not disconnections or any other errors while it happens.

Does it happen to anyone else? Any clue what could cause this?

Can you please add a bit more context to the issue? Maybe your Theia version, the VS Code extension that causing the problem or the Theia package.json you’re using. Thanks!

Extensions (not including our own custom ones):

  • @theia/console 1.8.0
  • @theia/core 1.8.0
  • @theia/debug 1.8.0
  • @theia/editor 1.8.0
  • @theia/file-search 1.8.0
  • @theia/filesystem 1.8.0
  • @theia/git 1.8.0
  • @theia/keymaps 1.8.0
  • @theia/markers 1.8.0
  • @theia/messages 1.8.0
  • @theia/mini-browser 1.8.0
  • @theia/monaco 1.8.0
  • @theia/navigator 1.8.0
  • @theia/outline-view 1.8.0
  • @theia/output 1.8.0
  • @theia/plugin-dev 1.8.0
  • @theia/plugin-ext 1.8.0
  • @theia/plugin-ext-vscode 1.8.0
  • @theia/preferences 1.8.0
  • @theia/preview 1.8.0
  • @theia/process 1.8.0
  • @theia/scm 1.8.0
  • @theia/scm-extra 1.8.0
  • @theia/search-in-workspace 1.8.0
  • @theia/task 1.8.0
  • @theia/terminal 1.8.0
  • @theia/timeline 1.8.0
  • @theia/userstorage 1.8.0
  • @theia/variable-resolver 1.8.0
  • @theia/vsx-registry 1.8.0
  • @theia/workspace 1.8.0

I can’t say it is a specific extension that causing the problem because we experience this duplication with several views, not consistently.

The errors about “A toolbar item is already registered” seems new in 1.8.0. We don’t see those on 1.7.0 (but not only theia version has changed since).

I have checked out and built Theia from the 1.8.0 tag. I could not reproduce with the VS Code extensions shipped with Theia. Where does the error come from? Can you share the set (or subset) of public VS Code extensions you use?

I’m pretty sure https://github.com/eclipse-theia/theia/pull/8700 is the cause. It changes the widget id which somehow cause two widgets, one from restore and another one with the new id.

But wasn’t that PR merged long before 1.7.0?

The commit earliest tag is 1.8.0: https://github.com/eclipse-theia/theia/commit/5c164f7ff35a4599c1fbea511c066a9365fae2b3

Ah, you’re talking about 1.7.0, not 1.17.0.

@amiramw are you aware of the problem occurring recently? Does clearing the saved workbench state help?