Commit Graph
1018 Commits
Author SHA1 Message Date
Michael Panchenko c8d79786e4 GH: cache gopls and language server deps. Remove terraform-ls intallation
terraform-ls is installed on the fly
2025-07-06 23:48:43 +02:00
Michael Panchenko 3e1b7e1f56 Merge pull request #265 from oraios/refactoring/simplify_ls_setup
Refactoring/simplify ls setup
2025-07-06 23:33:01 +02:00
Joshua Shanks f76ed700fa Fix X11/XCB crash when running MCP server in empty directories (#278)
Summary
Fixes X11/XCB crash when running serena-mcp-server in directories without source files
Adds headless environment detection to prevent GUI operations in SSH/WSL/Docker environments
Improves error messages to provide clear guidance when no source files are found
Problem
When running serena-mcp-server --context ide-assistant --project /empty/dir in a headless environment (SSH, WSL, Docker), the application would crash with X11/XCB errors:

[xcb] Unknown sequence number while appending request
[xcb] You called XInitThreads, this is not your fault
[xcb] Aborting, sorry about that.
python: ../../src/xcb_io.c:157: append_pending_request: Assertion `\!xcb_xlib_unknown_seq_number' failed.
Root Cause
Empty directories cause ProjectConfig.autogenerate() to raise a ValueError
The exception handler attempts to show a GUI error dialog using tkinter
In headless environments, tkinter crashes with X11/XCB errors
Solution
Headless Detection: Added is_headless_environment() to detect when running without a display
Skip GUI in Headless: Modified show_fatal_exception_safe() to skip GUI attempts in headless environments
Better Error Messages: Improved the error message for empty projects with clear instructions
2025-07-06 23:21:41 +02:00
Michael Panchenko 6c48a4da20 Merge branch 'main' into refactoring/simplify_ls_setup
# Conflicts:
#	src/solidlsp/ls.py
2025-07-06 23:16:42 +02:00
Michael Panchenko 1f38ec5f7b Format, removed unused vars 2025-07-06 23:15:33 +02:00
Michael Panchenko 1c2492c63c Typo 2025-07-06 22:23:31 +02:00
Michael Panchenko 49679c9318 TF LS: fixed method order execution
Previously a method relying on self.logger being set was called before it was set
2025-07-06 22:23:25 +02:00
Michael Panchenko 3981f021c6 Minor simplification of tf LS, formatting
Also fixed call to terraform.exe on non-windows platforms
2025-07-06 22:23:21 +02:00
Yen 1df9732390 feature/terraform language server support (#277)
Adds terraform support
2025-07-06 22:23:18 +02:00
Michael Panchenko a24dcea427 Formatting, removed unused vars and imports 2025-07-06 22:23:17 +02:00
Michael Panchenko 5102a38fbe Don't include relative_path in symbol's children dict representation 2025-07-06 22:23:07 +02:00
Dominik Jain bb595eb7e7 Refine runtime dependency helpers (#286) 2025-07-06 22:10:11 +02:00
Michael Panchenko aa0c0e5373 Minor fixes in tf download, simplifications in tf detection 2025-07-06 18:59:51 +02:00
Michael Panchenko 03745a9f52 Typo in import 2025-07-06 18:38:54 +02:00
Michael Panchenko 3eba4c4a1c Refactoring: use ls_resources_dir in all other LS 2025-07-06 18:36:44 +02:00
Michael Panchenko 7e06148648 Refactoring: added base method ls_resources_dir, used in C# LS 2025-07-06 18:28:22 +02:00
Michael Panchenko 45541e2ea2 Merge branch 'refs/heads/main' into refactoring/simplify_ls_setup 2025-07-06 17:58:35 +02:00
Michael Panchenko b2d6d33cbf Typo 2025-07-06 17:58:13 +02:00
Michael Panchenko 75afabb02f Merge branch 'main' into refactoring/simplify_ls_setup 2025-07-06 17:48:30 +02:00
Michael Panchenko caa25759e4 TF LS: fixed method order execution
Previously a method relying on self.logger being set was called before it was set
2025-07-06 17:48:19 +02:00
Michael Panchenko 790f17711b Inlined TF params and runtime deps 2025-07-06 17:35:57 +02:00
Michael Panchenko 1af8748f6f Merge branch 'main' into refactoring/simplify_ls_setup 2025-07-06 17:28:38 +02:00
Michael Panchenko 65975f4c40 Minor simplification of tf LS, formatting
Also fixed call to terraform.exe on non-windows platforms
2025-07-06 17:27:48 +02:00
Yen ab24304ceb feature/terraform language server support (#277)
Adds terraform support
2025-07-06 17:15:54 +02:00
Michael Panchenko 5eba8a749b Formatting, removed unused vars and imports 2025-07-06 14:08:07 +02:00
Michael Panchenko 6107b179bf Don't include relative_path in symbol's children dict representation 2025-07-06 14:06:16 +02:00
Michael Panchenko 62741a7abd Merge pull request #261 from dbernazal/elixir-support
Elixir Support
2025-07-06 00:13:27 +02:00
Michael Panchenko cf2a0c248b Moved omnisharp module up, minor tweaks
In this state, C# tests with omnisharp as LS mostly pass, except those querying for references
2025-07-06 00:08:40 +02:00
Michael Panchenko 751bf15619 Refactored jedi-server, removed a whole lot of unnused config 2025-07-05 23:54:00 +02:00
Dominik Jain 5d7c7a3a75 Merge pull request #282 from oraios/refactoring/tools
Refactor tools.py into a package with several modules
2025-07-05 19:51:40 +02:00
Dominik Jain ff57a5b267 Limit tool registry to serena.tools 2025-07-05 19:06:29 +02:00
Dominik Jain f071edd4ac Extract module workflow_tools 2025-07-05 18:54:36 +02:00
Dominik Jain 6ba755b43f Split history tools_base.py to workflow_tools.py - restore name of source-file 2025-07-05 18:50:06 +02:00
Dominik Jain 276078804f Split history tools_base.py to workflow_tools.py - resolve conflict and keep both files 2025-07-05 18:50:05 +02:00
Dominik Jain 445916b4ff Split history tools_base.py to workflow_tools.py - rename source-file to git-split-temp 2025-07-05 18:50:05 +02:00
Dominik Jain 40c6436221 Split history tools_base.py to workflow_tools.py - rename file to target-name 2025-07-05 18:50:05 +02:00
Dominik Jain e8615dd73a Extract module config_tools 2025-07-05 18:49:13 +02:00
Dominik Jain b6a3cdcc12 Split history tools_base.py to config_tools.py - restore name of source-file 2025-07-05 18:46:47 +02:00
Dominik Jain 297df1cf09 Split history tools_base.py to config_tools.py - resolve conflict and keep both files 2025-07-05 18:46:46 +02:00
Dominik Jain b55bfae7b8 Split history tools_base.py to config_tools.py - rename source-file to git-split-temp 2025-07-05 18:46:46 +02:00
Dominik Jain 0e89eb10a6 Split history tools_base.py to config_tools.py - rename file to target-name 2025-07-05 18:46:46 +02:00
Dominik Jain 5a35c45beb Extract module cmd_tools 2025-07-05 18:45:19 +02:00
Dominik Jain 561b04e464 Split history tools_base.py to cmd_tools.py - restore name of source-file 2025-07-05 18:38:19 +02:00
Dominik Jain 3077c981ed Split history tools_base.py to cmd_tools.py - resolve conflict and keep both files 2025-07-05 18:38:19 +02:00
Dominik Jain 6d4f701532 Split history tools_base.py to cmd_tools.py - rename source-file to git-split-temp 2025-07-05 18:38:18 +02:00
Dominik Jain 70273dabdf Split history tools_base.py to cmd_tools.py - rename file to target-name 2025-07-05 18:38:18 +02:00
Dominik Jain 1a6245afa2 Extract module memory_tools 2025-07-05 18:31:45 +02:00
Dominik Jain 87255ff5b7 Split history tools_base.py to memory_tools.py - restore name of source-file 2025-07-05 18:26:13 +02:00
Dominik Jain 9e362be631 Split history tools_base.py to memory_tools.py - resolve conflict and keep both files 2025-07-05 18:26:13 +02:00
Dominik Jain 90c1436b01 Split history tools_base.py to memory_tools.py - rename source-file to git-split-temp 2025-07-05 18:26:12 +02:00