Commit Graph
2141 Commits
Author SHA1 Message Date
Dominik Jain 2139552b0f Fix health check incorrectly checking symbol kind against int instead of SymbolKind.name 2026-02-14 00:48:50 +01:00
Dominik Jain 63377658d7 Improve docstrings 2026-02-13 23:51:55 +01:00
Dominik Jain a0aa3a7205 Fix duplicate computation of included children 2026-02-13 23:46:05 +01:00
Dominik Jain 82d711aeb5 LanguageServerSymbol.to_dict: Remove include_ prefix from params 2026-02-13 23:40:47 +01:00
Dominik Jain cbff50b710 Apply SymbolDictGrouper in FindReferencingSymbolsTool & JetBrainsFindReferencingSymbolsTool
Resolves #1021
2026-02-13 23:22:16 +01:00
Dominik Jain d41b9ec964 Implement dict transformation in symbol overview tools using SymbolDictGrouper,
adding support for the necessary transformations of the final dictionaries
2026-02-13 22:31:32 +01:00
Dominik Jain a1f95902ca Remove _sanitize_symbol_dict, making to_dict fully flexible instead
This fixes a bug: _sanitize_symbol_dict was not recursively applied
to children, causing children to contain superfluous entries
(full location, etc.)

Additional change: Improve factorisation of symbol overview computation
2026-02-13 21:37:08 +01:00
Dominik Jain 2760508269 Add test for symbol key types 2026-02-13 19:20:08 +01:00
Dominik Jain d80c45e7e7 Refactoring: Move jetbrains_plugin_client and jetbrains_types out of tools package
This resolves cyclic import issues
2026-02-13 19:20:08 +01:00
Dominik Jain 798a31b6a7 Implement generic SymbolDictGrouper (and specialisations for LS & JB)
It represents a reasonable compromise between pragmatism and type-safety.
Soundness is checked at runtime, but if the grouper is instantiated statically,
then we immediately detect misspecification.

One example application is implemented in GetSymbolsOverviewTool

Provides basis for #1021
2026-02-13 18:36:05 +01:00
Dominik Jain 66a12eee3c Fix type annotation 2026-02-13 16:38:40 +01:00
Dominik Jain 036a065848 Dashboard: Improve accessibility of logs view
'Overview' and 'Logs' are now tabs instead of menu items
2026-02-13 15:15:26 +01:00
Dominik Jain 88327d6192 Merge pull request #1035 from oraios/limited-log-buffer
Limit the size of the log buffer
2026-02-13 15:02:16 +01:00
Dominik Jain 1ab009ccf5 Limit the size of the log buffer
Fixes #1034
2026-02-13 14:51:10 +01:00
Dominik Jain 21bc996f10 Merge pull request #1028 from oraios/fix-ls-open-file-stale-buffers
LSPFileBuffer: Ensure that file contents are never stale
2026-02-13 12:52:08 +01:00
Dominik Jain 37965666be LSPFileBuffer: Ensure that file contents are never stale by monitoring file modification date
For every read access on .contents, check for external file modification
and re-read if necessary, invalidating the content hash as well.

Fixes #1013
2026-02-13 12:48:12 +01:00
Dominik Jain 1064afceed Merge pull request #1030 from oraios/fix-symbol-body-end
Handle end_col when extracting symbol body
2026-02-13 03:58:23 +01:00
Dominik Jain 256cb61416 DependencyProviders: Allow only lists for commands to ensure robustness 2026-02-13 03:20:13 +01:00
Dominik Jain cd2f6f6717 Update list of LS supporting ls_path 2026-02-13 03:12:28 +01:00
Dominik Jain 8c54806abe Marksman: Use DependencyProvider, fixing run command not working with spaces in path 2026-02-13 03:12:28 +01:00
Dominik Jain 1ab7e0aa97 YamlLanguageServer: Use DependencyProvider, fixing run command not working with spaces in path 2026-02-13 03:02:59 +01:00
Dominik Jain 754806af3e BashLanguageServer: Use DependencyProvider 2026-02-13 02:59:35 +01:00
Dominik Jain c195b2961a Handle end_col when extracting symbol body
Fixes #1029
2026-02-13 02:56:48 +01:00
Dominik Jain 4809d5882b TaploLanguageServer: Use DependencyProvider, fixing run command not working with spaces in path 2026-02-13 02:56:48 +01:00
Dominik Jain 58f2727800 BashLanguageServer: Fix run command failing in case of spaces in path 2026-02-13 02:48:59 +01:00
Dominik Jain 05031e6afb Merge pull request #1000 from oraios/copilot/fix-news-display-logic
Filter news items by installation date
2026-02-13 00:12:13 +01:00
Dominik Jain be155a348e Improve JetBrains usage documentation
Relates to #1027
2026-02-12 21:26:22 +01:00
Dominik Jain 3e71411780 Improve language requirements/alternatives documentation 2026-02-11 21:17:27 +01:00
Dominik Jain d65a99034b Disable Phpactor tests that find references on Windows (takes forever/fails) 2026-02-11 21:02:30 +01:00
Dominik Jain af6ce686ad _postprocess_symbol_collection_response: Apply conversion recursively 2026-02-11 19:42:33 +01:00
Dominik Jain 83c4116257 Merge pull request #1002 from takeokunn/feature/support-phpactor
Add Phpactor as alternative PHP language server
2026-02-11 13:27:31 +01:00
Michael Panchenko d7125fabe1 Merge pull request #1010 from Proton23/fix/add-python-artifacts-to-dockerignore
fix: Add Python artifacts to .dockerignore
2026-02-09 22:16:46 +01:00
Antonio MelilloandCursor 23a860cdc0 fix: Add Python artifacts to .dockerignore
Docker build fails when local .venv directory exists because:
1. COPY . /workspaces/serena/ copies .venv into container
2. RUN uv venv fails with 'virtual environment already exists'

This change prevents the issue by excluding Python development artifacts:
- .venv (virtual environment)
- __pycache__ (Python bytecode cache)
- *.pyc (compiled Python files)
- .pytest_cache (test cache)

These files are not needed for Docker builds as the container creates
its own clean environment.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 21:44:03 +01:00
Michael Panchenko 257d0370ee Fix nix hover test - wrong position in test 2026-02-09 12:05:53 +01:00
Dominik Jain 3b707283f0 Fix log message parameters #1004 2026-02-09 02:04:57 +01:00
Dominik Jain c1c54e9936 Merge pull request #1003 from bahaaza/fix/switch-modes-bug
Fix: switch_modes tool silently failing to change modes
2026-02-09 01:56:03 +01:00
Bahaa Zahika 271e2006d2 Fix switch_modes tool silently failing to change modes
set_modes() applied requested modes directly to self._active_modes,
then called _update_active_modes_and_tools() which recreates
_active_modes from scratch (global config -> project config -> CLI
overrides), discarding the change.

Fix: store the requested modes into self._mode_overrides so they
survive the rebuild and take highest priority, matching the behavior
of CLI --mode flags.

Also adds test coverage for set_modes() which was previously untested.

Bug was introduced in commit 40a3075 on Jan 26, 2026.
2026-02-09 01:08:37 +02:00
Michael Panchenko 46d3f11427 Human > AI (for now) 2026-02-07 20:23:18 +01:00
takeokunn e0c2a4ff93 Merge branch 'feature/support-phpactor' of ssh://github.com/takeokunn/serena into feature/support-phpactor
# Conflicts:
#	test/conftest.py
2026-02-08 01:08:26 +09:00
takeokunn 46fabd69f4 fix(test): merge PHP test classes into TestPhpLanguageServers
Consolidate TestPhpLanguageServer and TestPhpPhpactorLanguageServer
into a single TestPhpLanguageServers class. Both Language.PHP and
Language.PHP_PHPACTOR are now parametrized together, with conditional
branching where the two language servers differ in behavior.

Addresses review comment on PR #1002.
2026-02-08 01:03:17 +09:00
takeokunn c972380d0a fix(test): remove php_phpactor symlink and add repo alias mapping
Remove the unnecessary php_phpactor -> php symlink. Instead, add a
_LANGUAGE_REPO_ALIASES mapping in conftest.py so that variant language
servers (PHP_PHPACTOR, PYTHON_JEDI, RUBY_SOLARGRAPH) resolve to their
base language's test repository without needing filesystem symlinks.

Addresses review comment on PR #1002.
2026-02-08 01:03:12 +09:00
takeokunn d39967dd67 fix(php): add PHP version validation for Phpactor
Check that the installed PHP version is >= 8.1 before proceeding with
Phpactor setup. Raises RuntimeError with a clear message if the version
is too old, and logs a warning if the version string cannot be parsed.

Addresses review comment on PR #1002.
2026-02-08 01:03:04 +09:00
Dominik Jain ee6b819633 Merge pull request #1001 from oraios/fix-trace-logger
Fix logging of language server process communication, renaming
2026-02-07 15:41:42 +01:00
Dominik Jain 4d0a4f6180 Merge remote-tracking branch 'origin/main' into feature/support-phpactor 2026-02-07 15:03:41 +01:00
takeokunn 65c24a0df8 feat(php): add Phpactor as alternative PHP language server
- Introduce PHP_PHPACTOR enum and integration in ls_config
- Implement PhpactorServer for PHP with dependency management
- Update docs and changelog for Phpactor support and usage
- Add project template entry for php_phpactor
- Provide tests for Phpactor LSP definition and reference features
2026-02-07 22:40:56 +09:00
copilot-swe-agent[bot]andMischaPanch eff7cc605a Remove test file as requested
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:52:30 +00:00
Dominik Jain 8f7ef3b4bf Fix: Use regular logger instead of LSP trace logger in LanguageServerProcess
Previously, even important error cases were not logged at all, because
the trace logger is rarely enabled.

Fixes #999
2026-02-07 13:17:53 +01:00
copilot-swe-agent[bot]andMischaPanch 373baef040 Address code review feedback for consistency
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:13:37 +00:00
copilot-swe-agent[bot]andMischaPanch 8c6fdda646 Fix linting and formatting issues
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:12:17 +00:00
copilot-swe-agent[bot]andMischaPanch 61891370e4 Add installation date filtering to news display logic
Co-authored-by: MischaPanch <35432522+MischaPanch@users.noreply.github.com>
2026-02-07 12:09:52 +00:00