Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow disable Collab Panel, Assistant Panel, Chat Panel #7121

Open
1 task done
fisenkodv opened this issue Jan 31, 2024 · 21 comments
Open
1 task done

Allow disable Collab Panel, Assistant Panel, Chat Panel #7121

fisenkodv opened this issue Jan 31, 2024 · 21 comments
Labels
assistant AI feedback for Assistant (inline or panel) chat Feedback for chat and messaging collaboration features collaboration The umbrella label for all collaboration features enhancement [core label] panel Feedback for panels. Panels are the content that fills the docks. setting Feedback for preferences, configuration, etc

Comments

@fisenkodv
Copy link

fisenkodv commented Jan 31, 2024

Check for existing issues

  • Completed

Describe the feature

Allow to disable Collab Panel, Assistant Panel, Chat Panel, Inline Assist in the setting, e.g.

"features": {
    "collab": false,
    "assistant": false,
    "chat": false
}

If applicable, add mockups / screenshots to help present your vision of the feature

No response

@fisenkodv fisenkodv added admin read Pending admin review enhancement [core label] triage Maintainer needs to classify the issue labels Jan 31, 2024
@mrnugget
Copy link
Member

Hey! What would be the difference to just hiding them with these shortcuts (or the commands in command palette)?

screenshot-2024-01-31-08 55 26@2x

That state is sticky, so if you hide the collab panel, close and reopen Zed, it's still hidden.

@SomeoneToIgnore
Copy link
Contributor

There's actually a way to remove all related buttons and effectively disable the functionality too:

"collaboration_panel": {
    "button": false,
},
"collaboration_panel": {
    "button": false,
},
"chat_panel": {
    "button": false,
},

and maybe we should have a "how to remove all integrations" docs entry that we can iterate on?

@naim94a
Copy link

naim94a commented Jan 31, 2024

Hiding the buttons isn't enough. For example - one could ^ + ⏎ to open AI assist panel, and then have no way to close it - because the AI assist button is hidden.

Edit: Just realized that the dock shortcuts closes the panel. I still think there should at least be a button on the UI that allows closing panels such as the AI assist.

@SomeoneToIgnore
Copy link
Contributor

SomeoneToIgnore commented Jan 31, 2024

To start with, ctrl-enter by default does not open any panels but the assistant "modal"-ish thing, which can be closed by ESC; assistant panel shortcut is cmd-shift-?.
While not convenient, one could disable all those keybindings explicitly, in addition to hiding all the buttons.

So, nothing impossible to work around so far it seems, and keeping a doc entry with those to copy-paste from is still an option to start with this issue.

@fisenkodv
Copy link
Author

Hey! What would be the difference to just hiding them with these shortcuts (or the commands in command palette)?

screenshot-2024-01-31-08 55 26@2x

That state is sticky, so if you hide the collab panel, close and reopen Zed, it's still hidden.

Ideally, there should be a way to remove all related buttons and effectively disable the functionality, not just hiding them.

@fisenkodv
Copy link
Author

There's actually a way to remove all related buttons and effectively disable the functionality too:

"collaboration_panel": {
    "button": false,
},
"collaboration_panel": {
    "button": false,
},
"chat_panel": {
    "button": false,
},

and maybe we should have a "how to remove all integrations" docs entry that we can iterate on?

"collaboration_panel": {
  "button": false
},
"chat_panel": {
  "button": false
},
"assistant": {
  "button": false
}

@SomeoneToIgnore will hide the buttons, but won't disable the functionality, isn't it?

@SomeoneToIgnore
Copy link
Contributor

SomeoneToIgnore commented Jan 31, 2024

As noted above, removing buttons cleans the interface, but leaves the possibility to e.g. open the related features with the keybindings.
But without having those, we would not see e.g. assistant panel (so no resources are occupied by its rendering), there's no way to input things into the assistant panel and there are no background tasks related to it.
Similarly, ctrl-enter is a noop when not invoked, and staying offline in the collab panel makes both it and the channels noop.

So, a bunch of json configs so far, and the issue (mentioning those 3 items specifically) seems to be solved, given the PR into the docs: now all those 3 panes do not exist (the corresponding component is not created ergo no way to capture input or focus inside) and there's no keybinding that make it to appear.

We can sure work on the usability of this approach in the future, but essentially it will stay the same, so for now, it is great to mention in the docs.
Yet, apparently there's a desire to disable it even more?
Could it be #6756 then is what's needed?
It has a better description of "disabling" and also a broader list which also involves copilot, ctrl-enter action, semantic project search and all future AI/ML integrations.

@piechologist
Copy link

I agree with @fisenkodv that it should be easier to disable the various panels and assistants.

It took me some time to figure out the relevant settings when trying out Zed. Even though, there's still that magic wand icon (Inline Assist) next to to the Buffer Search that can't be hidden at all. If I accidentally click that, the panel appears and can't be dismissed because I've removed the Cmd-R shortcut.

Much tinkering for just removing features you don't need, want, or be allowed to use…

@fisenkodv
Copy link
Author

As noted above, removing buttons cleans the interface, but leaves the possibility to e.g. open the related features with the keybindings. But without having those, we would not see e.g. assistant panel (so no resources are occupied by its rendering), there's no way to input things into the assistant panel and there are no background tasks related to it. Similarly, ctrl-enter is a noop when not invoked, and staying offline in the collab panel makes both it and the channels noop.

So, a bunch of json configs so far, and the issue (mentioning those 3 items specifically) seems to be solved, given the PR into the docs: now all those 3 panes do not exist (the corresponding component is not created ergo no way to capture input or focus inside) and there's no keybinding that make it to appear.

We can sure work on the usability of this approach in the future, but essentially it will stay the same, so for now, it is great to mention in the docs. Yet, apparently there's a desire to disable it even more? Could it be #6756 then is what's needed? It has a better description of "disabling" and also a broader list which also involves copilot, ctrl-enter action, semantic project search and all future AI/ML integrations.

A bunch of configs could almost solve the problem (Inline Assistant button in the editor at the right of the magnifying glass icon still being displaying). IMO, it would be nicer/cleaner to disable the feature by setting a flag in the config.

@JosephTLyons JosephTLyons added collaboration The umbrella label for all collaboration features setting Feedback for preferences, configuration, etc panel Feedback for panels. Panels are the content that fills the docks. assistant AI feedback for Assistant (inline or panel) chat Feedback for chat and messaging collaboration features and removed triage Maintainer needs to classify the issue admin read Pending admin review labels Feb 1, 2024
@haze
Copy link

haze commented Feb 11, 2024

I've disabled these using features here

@maxdeviant
Copy link
Member

In the next Preview release there will be a new setting for disabling the Assistant: #9706.

@SpicyRicecaker
Copy link

I've applied the config suggested by @fisenkodv to try and hide all the ai/collab features

"collaboration_panel": {
  "button": false
},
"chat_panel": {
  "button": false
},
"assistant": {
  "button": false
}

However, the copilot button is still visible for me...
image

...and I can't find any setting option to disable it. Is there a way to do this currently?

@timriley
Copy link

@SpicyRicecaker How about with this? It's what I have, and I don't see that copilot button:

  "features": {
    "copilot": false,
    "inline_completion_provider": "none"
  },
  "collaboration_panel": {
    "button": false
  },
  "chat_panel": {
    "button": false
  },
  "assistant": {
    "enabled": false,
    "version": "1",
    "button": false
  },
  "assistant_v2": {
    "enabled": false
  }

@SpicyRicecaker
Copy link

@timriley thanks for the response!

"features": {
  "inline_completion_provider": "none"
}

got rid of the copilot button for me.

@mhanuszh
Copy link

I believe the ability to "Right click > Hide button" for any button is paramount for fluid UX, escpecially for new people

@harr1424
Copy link

harr1424 commented Aug 7, 2024

Here is a problem with using one of the suggestions above:

  "features": {
    "copilot": false,
    "inline_completion_provider": "none"
  },
  "collaboration_panel": {
    "button": false
  },
  "chat_panel": {
    "button": false
  },
  "assistant": {
    "enabled": false,
    "version": "1",
    "button": false
  },
  "assistant_v2": {
    "enabled": false
  }

After doing this, move your terminal panel to the right (where the assistant panel displays by default). If you change focus away from Zed, and then return to Zed, the assistant panel opens with no prompting.

image

After I change focus to another application's window, and return:

image

it would be ideal to completely disable the features described in this issue.

@Solarunit
Copy link

I would like to have an option to disable all of it too

@iahu
Copy link

iahu commented Oct 24, 2024

just put all the junk panels to left and hide them all,

{
  "project_panel": {
    "dock": "left"
  },
  "assistant": {
    "dock": "left",
    "version": "2",
    "enabled": false
  },
  "assistant_v2": {
    "enabled": false
  },
  "chat_panel": {
    "dock": "left",
    "button": false
  },
  "notification_panel": {
    "dock": "left",
    "button": false
  },
  "collaboration_panel": {
    "button": false
  },
  "features": {
    "inline_completion_provider": "none",
    "copilot": false,
  },
}

@maxfaa
Copy link

maxfaa commented Nov 11, 2024

Can someone tell me the difference between "version": "1" and "version": "2"?

@truh
Copy link

truh commented Nov 20, 2024

control-shift-C opening collab instead of copying stuff in the console sometimes it pretty annoying. This isn't solved by the hiding the button.

@tjconcept
Copy link

control-shift-C opening collab instead of copying stuff in the console sometimes it pretty annoying. This isn't solved by the hiding the button.

For this reason I have a keymap of:

{
  "use_key_equivalents": true,
  "bindings": {
    // originally "collab_panel::ToggleFocus"
    "cmd-shift-c": null
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assistant AI feedback for Assistant (inline or panel) chat Feedback for chat and messaging collaboration features collaboration The umbrella label for all collaboration features enhancement [core label] panel Feedback for panels. Panels are the content that fills the docks. setting Feedback for preferences, configuration, etc
Projects
None yet
Development

No branches or pull requests