From c48b79fd6b577b33f7a1dd14aca4d7d650911fbf Mon Sep 17 00:00:00 2001 From: Sarthak Agarwal Date: Fri, 14 Nov 2025 18:41:20 -0800 Subject: [PATCH 1/5] misc fixes [VSC] --- codeflash/cli_cmds/cmd_init.py | 2 +- codeflash/lsp/beta.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/codeflash/cli_cmds/cmd_init.py b/codeflash/cli_cmds/cmd_init.py index a53d18ce6..9dbd0b24f 100644 --- a/codeflash/cli_cmds/cmd_init.py +++ b/codeflash/cli_cmds/cmd_init.py @@ -1356,7 +1356,7 @@ def ask_for_telemetry() -> bool: from rich.prompt import Confirm return Confirm.ask( - "⚡️ Would you like to enable telemetry to help us improve the Codeflash experience?", + "⚡️ Help us improve Codeflash by sharing anonymous usage data (e.g., commands run, errors encountered)?", default=True, show_default=True, ) diff --git a/codeflash/lsp/beta.py b/codeflash/lsp/beta.py index 39af7e2de..d036677ca 100644 --- a/codeflash/lsp/beta.py +++ b/codeflash/lsp/beta.py @@ -206,6 +206,34 @@ def get_config_suggestions(_params: any) -> dict[str, any]: formatter_suggestions, default_formatter = get_suggestions(CommonSections.formatter_cmds) get_valid_subdirs.cache_clear() + # Provide sensible fallbacks when no subdirectories are found + # Only suggest directories that actually exist in the workspace + if not module_root_suggestions: + cwd = Path.cwd() + common_module_dirs = ["src", "lib", "app"] + module_root_suggestions = ["."] # Always include current directory + + # Add common patterns only if they exist + for dir_name in common_module_dirs: + if (cwd / dir_name).is_dir(): + module_root_suggestions.append(dir_name) + + default_module_root = "." + + if not tests_root_suggestions: + cwd = Path.cwd() + common_test_dirs = ["tests", "test", "__tests__"] + tests_root_suggestions = [] + + # Add common test directories only if they exist + for dir_name in common_test_dirs: + if (cwd / dir_name).is_dir(): + tests_root_suggestions.append(dir_name) + + # Always include current directory as fallback + tests_root_suggestions.append(".") + default_tests_root = tests_root_suggestions[0] if tests_root_suggestions else "." + configured_module_root = Path(server.args.module_root).relative_to(Path.cwd()) if server.args.module_root else None configured_tests_root = Path(server.args.tests_root).relative_to(Path.cwd()) if server.args.tests_root else None configured_test_framework = server.args.test_framework if server.args.test_framework else None From e635fba3146cc07f18cd997cc4038378131b150a Mon Sep 17 00:00:00 2001 From: Sarthak Agarwal Date: Fri, 14 Nov 2025 20:16:22 -0800 Subject: [PATCH 2/5] Update cmd_init.py --- codeflash/cli_cmds/cmd_init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codeflash/cli_cmds/cmd_init.py b/codeflash/cli_cmds/cmd_init.py index 002e7c7bb..3c753672f 100644 --- a/codeflash/cli_cmds/cmd_init.py +++ b/codeflash/cli_cmds/cmd_init.py @@ -1373,7 +1373,7 @@ def ask_for_telemetry() -> bool: from rich.prompt import Confirm return Confirm.ask( - "⚡️ Help us improve Codeflash by sharing anonymous usage data (e.g., commands run, errors encountered)?", + "⚡️ Help us improve Codeflash by sharing anonymous usage data (e.g. errors encountered)?", default=True, show_default=True, ) From 49d83e81cc30135cbe7f069a3ed6cf50e69170c9 Mon Sep 17 00:00:00 2001 From: Sarthak Agarwal Date: Fri, 14 Nov 2025 22:43:23 -0800 Subject: [PATCH 3/5] Update beta.py --- codeflash/lsp/beta.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/codeflash/lsp/beta.py b/codeflash/lsp/beta.py index f08c53f6b..519b8c8a7 100644 --- a/codeflash/lsp/beta.py +++ b/codeflash/lsp/beta.py @@ -235,9 +235,6 @@ def get_config_suggestions(_params: any) -> dict[str, any]: tests_root_suggestions.append(".") default_tests_root = tests_root_suggestions[0] if tests_root_suggestions else "." - configured_module_root = Path(server.args.module_root).relative_to(Path.cwd()) if server.args.module_root else None - configured_tests_root = Path(server.args.tests_root).relative_to(Path.cwd()) if server.args.tests_root else None - configured_test_framework = server.args.test_framework if server.args.test_framework else None try: configured_module_root = ( From 36437da1fd35e71a316998c34b2f29ce138731aa Mon Sep 17 00:00:00 2001 From: misrasaurabh1 Date: Fri, 14 Nov 2025 22:53:06 -0800 Subject: [PATCH 4/5] catch more exceptions --- codeflash/code_utils/git_worktree_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codeflash/code_utils/git_worktree_utils.py b/codeflash/code_utils/git_worktree_utils.py index 2c50d95d1..9a071b741 100644 --- a/codeflash/code_utils/git_worktree_utils.py +++ b/codeflash/code_utils/git_worktree_utils.py @@ -26,11 +26,11 @@ def create_worktree_snapshot_commit(worktree_dir: Path, commit_message: str) -> with repository.config_reader(config_level="repository") as cr: try: username = cr.get("user", "name") - except configparser.NoSectionError: + except (configparser.NoSectionError, configparser.NoOptionError): no_username = True try: email = cr.get("user", "email") - except configparser.NoSectionError: + except (configparser.NoSectionError, configparser.NoOptionError): no_email = True with repository.config_writer(config_level="repository") as cw: if not cw.has_option("user", "name"): From f98bf1ecbbede574ee43443833e8841b73b28878 Mon Sep 17 00:00:00 2001 From: Kevin Turcios Date: Sat, 15 Nov 2025 01:56:27 -0500 Subject: [PATCH 5/5] formatting --- codeflash/lsp/beta.py | 1 - uv.lock | 11 +++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/codeflash/lsp/beta.py b/codeflash/lsp/beta.py index 519b8c8a7..236828be7 100644 --- a/codeflash/lsp/beta.py +++ b/codeflash/lsp/beta.py @@ -235,7 +235,6 @@ def get_config_suggestions(_params: any) -> dict[str, any]: tests_root_suggestions.append(".") default_tests_root = tests_root_suggestions[0] if tests_root_suggestions else "." - try: configured_module_root = ( Path(server.args.module_root).relative_to(Path.cwd()) if server.args.module_root else None diff --git a/uv.lock b/uv.lock index 0d99bdf15..4259924e7 100644 --- a/uv.lock +++ b/uv.lock @@ -372,6 +372,7 @@ dev = [ ] tests = [ { name = "black" }, + { name = "eval-type-backport" }, { name = "jax", version = "0.4.30", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "jax", version = "0.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "jax", version = "0.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, @@ -451,6 +452,7 @@ dev = [ ] tests = [ { name = "black", specifier = ">=25.9.0" }, + { name = "eval-type-backport" }, { name = "jax", specifier = ">=0.4.30" }, { name = "numpy", specifier = ">=2.0.2" }, { name = "pandas", specifier = ">=2.3.3" }, @@ -699,6 +701,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1b/c2/4bc8cd09b14e28ce3f406a8b05761bed0d785d1ca8c2a5c6684d884c66a2/editor-1.6.6-py3-none-any.whl", hash = "sha256:e818e6913f26c2a81eadef503a2741d7cca7f235d20e217274a009ecd5a74abf", size = 4017, upload-time = "2024-01-25T10:44:58.66Z" }, ] +[[package]] +name = "eval-type-backport" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/23/079e39571d6dd8d90d7a369ecb55ad766efb6bae4e77389629e14458c280/eval_type_backport-0.3.0.tar.gz", hash = "sha256:1638210401e184ff17f877e9a2fa076b60b5838790f4532a21761cc2be67aea1", size = 9272, upload-time = "2025-11-13T20:56:50.845Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/d8/2a1c638d9e0aa7e269269a1a1bf423ddd94267f1a01bbe3ad03432b67dd4/eval_type_backport-0.3.0-py3-none-any.whl", hash = "sha256:975a10a0fe333c8b6260d7fdb637698c9a16c3a9e3b6eb943fee6a6f67a37fe8", size = 6061, upload-time = "2025-11-13T20:56:49.499Z" }, +] + [[package]] name = "exceptiongroup" version = "1.3.0"