Zed Improved. Aiming to improve upon Zed and make a truly delightful code editor. https://zed.dev
Find a file
Finn Evers ea0f5144c9
title_bar: Ensure git onboarding banner dismissal is properly respected (#28147)
A user reported this issue [on
Discord](https://discord.com/channels/869392257814519848/873292398204170290/1357879959422636185).

The issue here only arises for users which recently installed Zed or had
previously not dismissed the Git Onboarding component. It was introduced
by https://github.com/zed-industries/zed/pull/27412, which made the
banner component reusable.

For every banner, there is a value stored in the KVP store when it was
first dismissed. For the git onboarding banner, this was
`zed_git_banner_dismissed_at` initially, but this key would have been
changed by the linked PR. A change would have resulted in the banner
being shown again for users who already dismissed the panel, so for the
special case of `Git Onboarding`, a check was added which ensured this
would not happen.

However, this check was only added for reading from the key from the DB
but not on writing the git onboarding dismissal it to the DB. Thus, if a
user who had not previously dismissed the panel opened Zed, we would
check for the old key to be present in the DB. Since that would not be
the case, the banner would be shown. If the user dismissed the panel, it
would be stored in the database with the new key. Thus, on a reopen of
Zed, the banner would again be shown since for the old key there would
still be no value present and users are unable to dismiss the panel.


This PR fixes this behavior by moving the check into the method that
generates the key. With this, users which were unaffected by the bug
will still not see the panel again. Users who would install Zed with
this change present will be able to properly dismiss the panel aswell.
Users which were affected by the bug need to dismiss the banner one more
time. That happens because I did not want to modify the dismissal check
to check for two keys (the original one and the new one), as it would
clutter the logic even more for this special case. If this would be
preferred, feel free to let me know.

Release Notes:

- Fixed an issue where dismissing the git onboarding banner would not be
persisted across sessions.
2025-04-05 14:33:46 +00:00
.cargo nix: Clean up build (#27881) 2025-04-01 22:35:15 +00:00
.cloudflare docs: Document context servers (#21170) 2024-11-25 11:05:14 -05:00
.config workspace-hack: remove openssl from remote_server (#27990) 2025-04-03 00:49:07 +00:00
.github ci: Prettier GitHub Actions display (#28062) 2025-04-03 23:12:33 +00:00
.zed debugger: Start on tabless design (#27837) 2025-04-03 16:11:14 +00:00
assets agent: Fix deleting threads in history via keyboard (#28113) 2025-04-04 17:45:44 -03:00
crates title_bar: Ensure git onboarding banner dismissal is properly respected (#28147) 2025-04-05 14:33:46 +00:00
docs docs: Adjust assistant configuration docs table of contents (#28099) 2025-04-04 12:47:52 -03:00
extensions chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
legal legal: Terms of Use (2025-02-13) (#24803) 2025-02-13 09:41:43 -05:00
nix nix: Fix the cargo-bundle override (#28061) 2025-04-03 23:15:49 +00:00
script Revert "Use scap library to implement screensharing on X11 (#27807)" (#28141) 2025-04-05 06:01:27 +00:00
tooling workspace-hack: remove openssl from remote_server (#27990) 2025-04-03 00:49:07 +00:00
.git-blame-ignore-revs Add additional git-blame-ignore-revs (#27189) 2025-03-20 09:17:56 -04:00
.gitattributes Prevent GitHub from displaying comments within JSON files as errors (#7043) 2024-01-29 23:11:25 -05:00
.gitignore Add scripts and configuration for building snap package (#25064) 2025-02-19 10:28:23 -07:00
.mailmap Add myself (Ben Kunkle) and Smit to the mailmap (#25590) 2025-02-25 19:55:39 +00:00
Cargo.lock Revert "Use scap library to implement screensharing on X11 (#27807)" (#28141) 2025-04-05 06:01:27 +00:00
Cargo.toml Revert "Use scap library to implement screensharing on X11 (#27807)" (#28141) 2025-04-05 06:01:27 +00:00
clippy.toml chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
CODE_OF_CONDUCT.md Remove community content from docs and point to zed.dev (#19895) 2024-10-29 09:44:58 -04:00
compose.yml Add Postgrest to Docker Compose (#16498) 2024-08-19 20:50:45 -04:00
CONTRIBUTING.md Allow icon themes to provide their own file associations (#24926) 2025-02-15 00:35:13 +00:00
Cross.toml Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
debug.plist WIP 2023-12-14 09:25:14 -07:00
default.nix Fix nix build (#26270) 2025-03-10 01:06:11 -07:00
docker-compose.sql collab: Setup database for LLM service (#15882) 2024-08-06 17:18:08 -04:00
Dockerfile-collab chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
Dockerfile-collab.dockerignore ci: Move collab to Dockerfile-collab (#18515) 2024-09-30 16:14:26 -04:00
Dockerfile-cross Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
Dockerfile-cross.dockerignore Add remote server cross compilation (#19136) 2024-10-12 23:23:56 -07:00
Dockerfile-distros Support More Linux (#18480) 2024-09-30 17:46:21 -04:00
Dockerfile-distros.dockerignore Support More Linux (#18480) 2024-09-30 17:46:21 -04:00
flake.lock Bump cargo-bundle and cargo-about version in nix (#27803) 2025-03-31 13:33:00 -07:00
flake.nix nix: Separate debug output (#27871) 2025-04-01 14:19:10 -07:00
LICENSE-AGPL Update license year (#24191) 2025-02-04 09:02:59 -05:00
LICENSE-APACHE Update license year (#24191) 2025-02-04 09:02:59 -05:00
LICENSE-GPL Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535) 2024-01-27 13:51:16 +01:00
livekit.yaml Add LiveKit server to Docker Compose (#7907) 2024-02-16 10:49:48 -05:00
Procfile Refactor: Restructure collab main function to prepare for new subcommand: serve llm (#15824) 2024-08-05 12:07:38 -07:00
Procfile.postgrest Fix llm queries (#16006) 2024-08-08 17:21:38 -07:00
README.md Format READMEs (#17454) 2024-09-05 15:39:16 -04:00
renovate.json renovate: Ignore Cargo.toml for workspace-hack (#27976) 2025-04-02 23:24:46 +00:00
rust-toolchain.toml chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
shell.nix Fix nix build (#26270) 2025-03-10 01:06:11 -07:00
typos.toml Switch fully to Rust Livekit (redux) (#27126) 2025-03-28 17:58:23 +00:00

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.


Installation

Packaging status

On macOS and Linux you can download Zed directly or install Zed via your local package manager.

Other platforms are not yet available:

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.