From ba73228d760309790a43523040112be19010d2b9 Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Wed, 1 Apr 2026 11:59:07 +0200 Subject: [PATCH] migrator: Remove text thread settings migration (#52889) Since this was just removing unused keys, but behavior isn't broken if they are there. So we can just leave them as-is Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A Co-authored-by: Bennet Bo Fenner Co-authored-by: MrSubidubi --- crates/migrator/src/migrations.rs | 6 - .../src/migrations/m_2026_03_31/settings.rs | 29 ----- crates/migrator/src/migrator.rs | 109 +----------------- 3 files changed, 2 insertions(+), 142 deletions(-) delete mode 100644 crates/migrator/src/migrations/m_2026_03_31/settings.rs diff --git a/crates/migrator/src/migrations.rs b/crates/migrator/src/migrations.rs index c49df39d59..d554ee1dd8 100644 --- a/crates/migrator/src/migrations.rs +++ b/crates/migrator/src/migrations.rs @@ -316,9 +316,3 @@ pub(crate) mod m_2026_03_23 { pub(crate) use keymap::KEYMAP_PATTERNS; } - -pub(crate) mod m_2026_03_31 { - mod settings; - - pub(crate) use settings::remove_text_thread_settings; -} diff --git a/crates/migrator/src/migrations/m_2026_03_31/settings.rs b/crates/migrator/src/migrations/m_2026_03_31/settings.rs deleted file mode 100644 index 1a3fdb109f..0000000000 --- a/crates/migrator/src/migrations/m_2026_03_31/settings.rs +++ /dev/null @@ -1,29 +0,0 @@ -use anyhow::Result; -use serde_json::Value; - -use crate::migrations::migrate_settings; - -pub fn remove_text_thread_settings(value: &mut Value) -> Result<()> { - migrate_settings(value, &mut migrate_one) -} - -fn migrate_one(obj: &mut serde_json::Map) -> Result<()> { - // Remove `agent.default_view` - if let Some(agent) = obj.get_mut("agent") { - if let Some(agent_obj) = agent.as_object_mut() { - agent_obj.remove("default_view"); - } - } - - // Remove `edit_predictions.enabled_in_text_threads` - if let Some(edit_predictions) = obj.get_mut("edit_predictions") { - if let Some(edit_predictions_obj) = edit_predictions.as_object_mut() { - edit_predictions_obj.remove("enabled_in_text_threads"); - } - } - - // Remove top-level `slash_commands` - obj.remove("slash_commands"); - - Ok(()) -} diff --git a/crates/migrator/src/migrator.rs b/crates/migrator/src/migrator.rs index 46cccfc405..ceb6ec2e0e 100644 --- a/crates/migrator/src/migrator.rs +++ b/crates/migrator/src/migrator.rs @@ -247,7 +247,6 @@ pub fn migrate_settings(text: &str) -> Result> { migrations::m_2026_03_16::SETTINGS_PATTERNS, &SETTINGS_QUERY_2026_03_16, ), - MigrationType::Json(migrations::m_2026_03_31::remove_text_thread_settings), ]; run_migrations(text, migrations) } @@ -941,7 +940,8 @@ mod tests { "foo": "bar" }, "edit_predictions": { - } + "enabled_in_text_threads": false, + } }"#, ), ); @@ -4480,109 +4480,4 @@ mod tests { ), ); } - - #[test] - fn test_remove_text_thread_settings() { - assert_migrate_with_migrations( - &[MigrationType::Json( - migrations::m_2026_03_31::remove_text_thread_settings, - )], - r#"{ - "agent": { - "default_model": { - "provider": "anthropic", - "model": "claude-sonnet" - }, - "default_view": "text_thread" - }, - "edit_predictions": { - "mode": "eager", - "enabled_in_text_threads": true - }, - "slash_commands": { - "cargo_workspace": { - "enabled": true - } - } -}"#, - Some( - r#"{ - "agent": { - "default_model": { - "provider": "anthropic", - "model": "claude-sonnet" - } - }, - "edit_predictions": { - "mode": "eager" - } -}"#, - ), - ); - } - - #[test] - fn test_remove_text_thread_settings_only_default_view() { - assert_migrate_with_migrations( - &[MigrationType::Json( - migrations::m_2026_03_31::remove_text_thread_settings, - )], - r#"{ - "agent": { - "default_model": "claude-sonnet", - "default_view": "thread" - } -}"#, - Some( - r#"{ - "agent": { - "default_model": "claude-sonnet" - } -}"#, - ), - ); - } - - #[test] - fn test_remove_text_thread_settings_only_slash_commands() { - assert_migrate_with_migrations( - &[MigrationType::Json( - migrations::m_2026_03_31::remove_text_thread_settings, - )], - r#"{ - "slash_commands": { - "cargo_workspace": { - "enabled": true - } - }, - "vim_mode": true -}"#, - Some( - r#"{ - "vim_mode": true -}"#, - ), - ); - } - - #[test] - fn test_remove_text_thread_settings_none_present() { - assert_migrate_with_migrations( - &[MigrationType::Json( - migrations::m_2026_03_31::remove_text_thread_settings, - )], - r#"{ - "agent": { - "default_model": { - "provider": "anthropic", - "model": "claude-sonnet" - } - }, - "edit_predictions": { - "mode": "eager" - } -}"#, - None, - ); - } }