Skip to content

Typed workspace errors - #57649

Merged
MrSubidubi merged 16 commits into
mainfrom
typed-workspace-errors
Jun 7, 2026
Merged

Typed workspace errors#57649
MrSubidubi merged 16 commits into
mainfrom
typed-workspace-errors

Conversation

@MrSubidubi

Copy link
Copy Markdown
Member

This migrates the Workspace::show_error method to take a generic type that implements WorkspaceError instead. That trait containts methods to show a proper error message but most importantly means to help with providing actions given certain errors.

The intention for this is rather easy: Whenever we show an error to the user on the workspace level, that error should be

  • actionable to a degree, even if that is only opening logs or whatnot
  • show a message that is understandable to the user
  • for not-too-critical errors, should hide after a certain delay and not force the user to dismiss it using their mouse.

For now, there exist trait implementations for string error types and anyhow errors. The long term goal here is to get rid of these altogether and migrate everything to be strongly typed and especially actionable instead.

Self-Review Checklist:

  • I've reviewed my own diff for quality, security, and reliability
  • The content is consistent with the UI/UX checklist
  • Tests cover the new/changed behavior
  • Performance impact has been considered and is acceptable

Release Notes:

  • N/A

MrSubidubi and others added 6 commits May 25, 2026 14:53
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label May 25, 2026
@zed-community-bot zed-community-bot Bot added the staff Pull requests authored by a current member of Zed staff label May 25, 2026
MrSubidubi and others added 2 commits June 2, 2026 10:01
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
@MrSubidubi
MrSubidubi marked this pull request as ready for review June 2, 2026 21:50
@MrSubidubi
MrSubidubi enabled auto-merge June 7, 2026 16:55
@MrSubidubi
MrSubidubi added this pull request to the merge queue Jun 7, 2026
Merged via the queue into main with commit 215ca2f Jun 7, 2026
32 checks passed
@MrSubidubi
MrSubidubi deleted the typed-workspace-errors branch June 7, 2026 16:58
TomPlanche pushed a commit to TomPlanche/zed that referenced this pull request Jun 8, 2026
This migrates the `Workspace::show_error` method to take a generic type
that implements `WorkspaceError` instead. That trait containts methods
to show a proper error message but most importantly means to help with
providing actions given certain errors.

The intention for this is rather easy: Whenever we show an error to the
user on the workspace level, that error should be
- actionable to a degree, even if that is only opening logs or whatnot
- show a message that is understandable to the user
- for not-too-critical errors, should hide after a certain delay and not
force the user to dismiss it using their mouse.


For now, there exist trait implementations for string error types and
anyhow errors. The long term goal here is to get rid of these altogether
and migrate everything to be strongly typed and especially actionable
instead.

Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Release Notes:

- N/A

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
This was referenced Jun 18, 2026
jonx pushed a commit to jonx/zed-aros that referenced this pull request Jul 17, 2026
This migrates the `Workspace::show_error` method to take a generic type
that implements `WorkspaceError` instead. That trait containts methods
to show a proper error message but most importantly means to help with
providing actions given certain errors.

The intention for this is rather easy: Whenever we show an error to the
user on the workspace level, that error should be
- actionable to a degree, even if that is only opening logs or whatnot
- show a message that is understandable to the user
- for not-too-critical errors, should hide after a certain delay and not
force the user to dismiss it using their mouse.


For now, there exist trait implementations for string error types and
anyhow errors. The long term goal here is to get rid of these altogether
and migrate everything to be strongly typed and especially actionable
instead.

Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Release Notes:

- N/A

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
jolutz pushed a commit to jolutz/zed that referenced this pull request Aug 8, 2026
This migrates the `Workspace::show_error` method to take a generic type
that implements `WorkspaceError` instead. That trait containts methods
to show a proper error message but most importantly means to help with
providing actions given certain errors.

The intention for this is rather easy: Whenever we show an error to the
user on the workspace level, that error should be
- actionable to a degree, even if that is only opening logs or whatnot
- show a message that is understandable to the user
- for not-too-critical errors, should hide after a certain delay and not
force the user to dismiss it using their mouse.


For now, there exist trait implementations for string error types and
anyhow errors. The long term goal here is to get rid of these altogether
and migrate everything to be strongly typed and especially actionable
instead.

Self-Review Checklist:

- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable

Release Notes:

- N/A

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement staff Pull requests authored by a current member of Zed staff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants