ZIm/crates
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
..
activity_indicator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
agent agent: Fix tool use output rendering (#28146) 2025-04-05 13:16:24 +00:00
anthropic collab: Capture upstream input/output rate limits from Anthropic (#28106) 2025-04-04 17:09:00 +00:00
askpass Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assets Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
assistant_context_editor Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
assistant_eval ai: Separate model settings for each feature (#28088) 2025-04-04 11:40:55 -03:00
assistant_settings ai: Separate model settings for each feature (#28088) 2025-04-04 11:40:55 -03:00
assistant_slash_command Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant_slash_commands Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant_tool Implement edit rejection in ActionLog (#28080) 2025-04-04 11:20:18 +00:00
assistant_tools agent: Fix invalid tool names in batch tool description (#28109) 2025-04-04 17:15:39 +00:00
audio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
auto_update Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
auto_update_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
breadcrumbs Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
buffer_diff Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
call Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
cli Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
client telemetry_events: Rename AssistantEvent to AssistantEventData (#28133) 2025-04-04 19:28:32 -04:00
clock Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
collab collab: Include more information on some LLM usage log lines (#28116) 2025-04-04 18:33:23 +00:00
collab_ui Add actions for calls (#28048) 2025-04-04 19:32:41 -07:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component_preview Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
context_server Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
context_server_settings Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
copilot Add tool calling support for GitHub Copilot Chat (#28035) 2025-04-04 21:41:07 +00:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap_adapters debugger: Start on tabless design (#27837) 2025-04-03 16:11:14 +00:00
db Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
debugger_tools Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
debugger_ui debugger_ui: Don't .unwrap debug panel access (#28131) 2025-04-04 22:54:40 +00:00
deepseek Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
diagnostics Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
docs_preprocessor Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
editor Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
evals Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension_api chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
extension_cli Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension_host Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extensions_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
feature_flags Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
feedback Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
file_finder file_finder: Fix filename matching to require contiguous characters (#28093) 2025-04-05 05:01:56 +05:30
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs Fix redundant FS file watches due to LSP path watching (#27957) 2025-04-02 13:36:28 -07:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
git_hosting_providers Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git_ui ai: Separate model settings for each feature (#28088) 2025-04-04 11:40:55 -03:00
go_to_line Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
google_ai Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
gpui Revert "Use scap library to implement screensharing on X11 (#27807)" (#28141) 2025-04-05 06:01:27 +00:00
gpui_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons debugger: Start on tabless design (#27837) 2025-04-03 16:11:14 +00:00
image_viewer Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
indexed_docs Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
inline_completion Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
inline_completion_button Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
install_cli Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
journal Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language buffer: Fix broken auto indent when pasting code starting with new line (#28134) 2025-04-05 05:14:15 +05:30
language_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_model telemetry_events: Rename AssistantEvent to AssistantEventData (#28133) 2025-04-04 19:28:32 -04:00
language_model_selector ai: Separate model settings for each feature (#28088) 2025-04-04 11:40:55 -03:00
language_models Add tool calling support for GitHub Copilot Chat (#28035) 2025-04-04 21:41:07 +00:00
language_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_tools Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
languages Escape carets (^) in Go test regex (#27746) 2025-04-04 12:04:38 +02:00
livekit_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
livekit_client Revert "Use scap library to implement screensharing on X11 (#27807)" (#28141) 2025-04-05 06:01:27 +00:00
lmstudio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
lsp Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
markdown Restore direct use of the input text for Markdown Text (#27620) 2025-04-04 23:12:32 +00:00
markdown_preview Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
media Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
menu Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
migrator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
mistral Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
multi_buffer Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
node_runtime Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
notifications Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
ollama Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
open_ai open_ai: Disable parallel_tool_calls (#28056) 2025-04-03 22:07:37 +00:00
outline Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
outline_panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
picker Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
prettier Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
project Properly query remote ssh server for language servers by name (#28124) 2025-04-04 20:03:51 +00:00
project_panel chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
project_symbols Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
prompt_library ai: Separate model settings for each feature (#28088) 2025-04-04 11:40:55 -03:00
prompt_store chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
proto Split protobufs into separate files (#28130) 2025-04-04 16:15:49 -07:00
recent_projects Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
refineable Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
release_channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote_server Finish removing git repository state and scanning logic from worktrees (#27568) 2025-04-01 17:41:20 -04:00
repl Introduce "Near" block type (#28032) 2025-04-04 17:37:42 -06:00
reqwest_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
rpc Split protobufs into separate files (#28130) 2025-04-04 16:15:49 -07:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search Use new multibuffer excerpts in project search (#27893) 2025-04-02 22:57:40 +00:00
semantic_index Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
semantic_version Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
session Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
settings Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
settings_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippets_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
storybook Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
streaming_diff Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sum_tree Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
tab_switcher Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
task tasks: Add spawn option by tag (#25650) 2025-04-04 14:20:09 +00:00
tasks_ui tasks: Add spawn option by tag (#25650) 2025-04-04 14:20:09 +00:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events telemetry_events: Rename AssistantEvent to AssistantEventData (#28133) 2025-04-04 19:28:32 -04:00
terminal Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
terminal_view Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
time_format Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
title_bar title_bar: Ensure git onboarding banner dismissal is properly respected (#28147) 2025-04-05 14:33:46 +00:00
toolchain_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
ui debugger: Start on tabless design (#27837) 2025-04-03 16:11:14 +00:00
ui_input ui_input: TextField -> SingleLineInput (#28031) 2025-04-03 16:00:43 -03:00
ui_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
ui_prompt Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
util Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
util_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
vim Flesh out helix bindings (#28103) 2025-04-04 12:21:15 -06:00
vim_mode_setting Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
welcome Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
workspace Revert "Use scap library to implement screensharing on X11 (#27807)" (#28141) 2025-04-05 06:01:27 +00:00
worktree Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
zed chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
zed_actions tasks: Add spawn option by tag (#25650) 2025-04-04 14:20:09 +00:00
zeta Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
zlog Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
zlog_settings Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00