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