gitdoc icon indicating copy to clipboard operation
gitdoc copied to clipboard

Status bar icon disappears when disabling GitDoc, making it hard to re-enable

Open tomglynch opened this issue 11 months ago • 2 comments

Description:
Currently, clicking the status bar icon disables GitDoc, but once disabled, the icon itself disappears. This makes it difficult to re-enable GitDoc without navigating through other settings. A toggle where the button disappears after clicking is an anti-pattern and an odd UX.

Steps to Reproduce:

  1. Click the GitDoc status bar icon.
  2. GitDoc gets disabled, and the icon disappears.
  3. To re-enable GitDoc, you must go through the extension settings or command palette instead of simply clicking the icon again.

Proposed Solution:

  • Instead of removing the status bar icon when GitDoc is disabled, change its appearance to indicate its inactive state.
  • This can be shown whenever the GitDoc extension is installed, rather when GitDoc itself is enabled.
  • Clicking the inactive icon should re-enable GitDoc, acting like a toggle.
  • This gives better visibility of GitDoc and would reduce confusion about when GitDoc is enabled or not.
  • Hovering over the GitDoc icon should also say whether it is enabled or not.

Additional Context:
This change would improve usability by making it easier to toggle GitDoc without hunting through settings.

Sidenote: When I started using GitDoc, I was unaware of what the status bar icon looks like and wasn't sure what I was looking for so I'd recommend including an image of it in the README or extension description.

tomglynch avatar Jan 30 '25 21:01 tomglynch

+1

There's another issue that I've observed, where the status bar icon does not reappear after adding gitdoc.enabled: true in workspace settings. I prefer to enable/disable extensions and their features on a per-workspace basis, rather than having them globally enabled.

In order to get the icon back, I need to manually restart the extension host server. I'm going to try and get some more detailed replication steps to make sure there aren't any other extension that's causing this.

Output from extension host:

2025-02-06 01:12:16.206 [info] Extension host with pid 23891 exiting with code 0
2025-02-06 01:12:16.654 [info] Extension host with pid 25775 started
2025-02-06 01:12:16.654 [info] Skipping acquiring lock for /Users/dev/Library/Application Support/Code/User/workspaceStorage/0acc81b9e611f8f2ef0eb3eba37b68d4.
2025-02-06 01:12:16.658 [info] ExtensionService#_doActivateExtension vscode.github-authentication, startup: false, activationEvent: 'onAuthenticationRequest:github'
2025-02-06 01:12:16.677 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage'
2025-02-06 01:12:16.687 [info] ExtensionService#_doActivateExtension vscode.configuration-editing, startup: false, activationEvent: 'onLanguage:jsonc'
2025-02-06 01:12:16.694 [info] ExtensionService#_doActivateExtension vscode.json-language-features, startup: false, activationEvent: 'onLanguage:jsonc'
2025-02-06 01:12:16.724 [info] ExtensionService#_doActivateExtension vscode.typescript-language-features, startup: false, activationEvent: 'onLanguage:jsonc'
2025-02-06 01:12:16.747 [info] ExtensionService#_doActivateExtension denoland.vscode-deno, startup: false, activationEvent: 'onLanguage:jsonc'
2025-02-06 01:12:16.767 [info] ExtensionService#_doActivateExtension GitHub.copilot-chat, startup: false, activationEvent: 'onFileSystem:ccsettings'
2025-02-06 01:12:17.034 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: false, activationEvent: 'onFileSystem:git', root cause: vscode.git
2025-02-06 01:12:17.037 [info] ExtensionService#_doActivateExtension ecmel.vscode-html-css, startup: false, activationEvent: 'onCommand:vscode-html-css.validate'
2025-02-06 01:12:17.040 [info] ExtensionService#_doActivateExtension vscode.extension-editing, startup: false, activationEvent: 'onLanguage:json'
2025-02-06 01:12:17.047 [info] ExtensionService#_doActivateExtension vscode.npm, startup: false, activationEvent: 'onLanguage:json'
2025-02-06 01:12:17.061 [info] ExtensionService#_doActivateExtension christian-kohler.npm-intellisense, startup: false, activationEvent: 'onLanguage:javascript'
2025-02-06 01:12:17.078 [info] ExtensionService#_doActivateExtension dsznajder.es7-react-js-snippets, startup: false, activationEvent: 'onLanguage:javascript'
2025-02-06 01:12:17.283 [info] ExtensionService#_doActivateExtension sburg.vscode-javascript-booster, startup: false, activationEvent: 'onLanguage:javascript'
2025-02-06 01:12:17.289 [info] ExtensionService#_doActivateExtension unifiedjs.vscode-mdx, startup: false, activationEvent: 'onLanguage:javascript'
2025-02-06 01:12:17.308 [info] ExtensionService#_doActivateExtension VisualStudioExptTeam.intellicode-api-usage-examples, startup: false, activationEvent: 'onLanguage:javascript'
2025-02-06 01:12:17.366 [info] ExtensionService#_doActivateExtension VisualStudioExptTeam.vscodeintellicode, startup: false, activationEvent: 'onLanguage:javascript'
2025-02-06 01:12:17.381 [info] ExtensionService#_doActivateExtension alefragnani.project-manager, startup: false, activationEvent: 'onCommand:projectManager.listProjectsNewWindow'
2025-02-06 01:12:17.388 [info] ExtensionService#_doActivateExtension vscode.markdown-language-features, startup: false, activationEvent: 'onLanguage:markdown'
2025-02-06 01:12:17.425 [info] ExtensionService#_doActivateExtension humao.rest-client, startup: false, activationEvent: 'onLanguage:markdown'
2025-02-06 01:12:17.484 [info] ExtensionService#_doActivateExtension valentjn.vscode-ltex, startup: false, activationEvent: 'onLanguage:markdown'
2025-02-06 01:12:17.501 [info] ExtensionService#_doActivateExtension yzane.markdown-pdf, startup: false, activationEvent: 'onLanguage:markdown'
2025-02-06 01:12:17.503 [info] ExtensionService#_doActivateExtension yzhang.markdown-all-in-one, startup: false, activationEvent: 'onLanguage:markdown'
2025-02-06 01:12:17.558 [info] ExtensionService#_doActivateExtension yatki.vscode-surround, startup: false, activationEvent: '*'
2025-02-06 01:12:19.265 [info] ExtensionService#_doActivateExtension vscode.markdown-math, startup: false, activationEvent: 'api', root cause: yzhang.markdown-all-in-one
2025-02-06 01:12:19.294 [info] ExtensionService#_doActivateExtension vscode.git, startup: false, activationEvent: 'onFileSystem:git'
2025-02-06 01:12:19.332 [info] ExtensionService#_doActivateExtension vscode.github, startup: false, activationEvent: '*'
2025-02-06 01:12:19.382 [info] ExtensionService#_doActivateExtension bierner.markdown-mermaid, startup: false, activationEvent: 'api', root cause: yzhang.markdown-all-in-one
2025-02-06 01:12:19.418 [info] ExtensionService#_doActivateExtension AykutSarac.jsoncrack-vscode, startup: true, activationEvent: 'workspaceContains:**/*.{json}'
2025-02-06 01:12:19.491 [info] Eager extensions activated
2025-02-06 01:12:19.497 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:19.499 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:19.510 [info] ExtensionService#_doActivateExtension alefragnani.Bookmarks, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:19.518 [info] ExtensionService#_doActivateExtension bradlc.vscode-tailwindcss, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:19.537 [info] ExtensionService#_doActivateExtension codespaces-contrib.codeswing, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:19.768 [info] ExtensionService#_doActivateExtension cweijan.vscode-mysql-client2, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:19.989 [info] ExtensionService#_doActivateExtension dbaeumer.vscode-eslint, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.009 [info] ExtensionService#_doActivateExtension esbenp.prettier-vscode, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.051 [info] ExtensionService#_doActivateExtension formulahendry.code-runner, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.083 [info] ExtensionService#_doActivateExtension GitHub.copilot, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.290 [info] ExtensionService#_doActivateExtension GitHub.vscode-pull-request-github, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.346 [info] ExtensionService#_doActivateExtension monokai.theme-monokai-pro-vscode, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.350 [info] ExtensionService#_doActivateExtension ms-vscode-remote.remote-containers, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.451 [info] ExtensionService#_doActivateExtension PKief.material-icon-theme, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.461 [info] ExtensionService#_doActivateExtension ritwickdey.LiveServer, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.470 [info] ExtensionService#_doActivateExtension streetsidesoftware.code-spell-checker, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.513 [info] ExtensionService#_doActivateExtension Thinker.sort-json, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.525 [info] ExtensionService#_doActivateExtension usernamehw.errorlens, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.536 [info] ExtensionService#_doActivateExtension vscode-icons-team.vscode-icons, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.565 [info] ExtensionService#_doActivateExtension vsls-contrib.gitdoc, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.587 [info] ExtensionService#_doActivateExtension vunguyentuan.vscode-css-variables, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.604 [info] ExtensionService#_doActivateExtension zhuangtongfa.material-theme, startup: false, activationEvent: 'onStartupFinished'
2025-02-06 01:12:20.637 [error] Error: [mobx] There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`
    at invariant (/Users/dev/.vscode/extensions/vsls-contrib.gitdoc-0.2.3/node_modules/mobx/lib/mobx.js:94:15)
    at fail (/Users/dev/.vscode/extensions/vsls-contrib.gitdoc-0.2.3/node_modules/mobx/lib/mobx.js:89:5)
    at Timeout._onTimeout (/Users/dev/.vscode/extensions/vsls-contrib.gitdoc-0.2.3/node_modules/mobx/lib/mobx.js:1441:17)
    at listOnTimeout (node:internal/timers:581:17)
    at processTimers (node:internal/timers:519:7)

PsyGik avatar Feb 05 '25 19:02 PsyGik

Made a fix here: https://github.com/lostintangent/gitdoc/pull/91

tomglynch avatar Feb 06 '25 02:02 tomglynch