The `Install R language server` step started failing on the new
`ubuntu-24.04` runner image (`ubuntu-latest`) because the R `fs`
package falls back to a source build and its `configure` step calls
`pkg-config --exists libuv`, which fails with:
Package libuv was not found in the pkg-config search path.
fatal error: uv.h: No such file or directory
ERROR: configuration failed for package 'fs'
That cascades through `pkgload` -> `roxygen2` -> `languageserver`,
making `test/solidlsp/r/test_r_basic.py` error out at setup with
`RuntimeError: R languageserver package is not installed`.
Verified locally on a clean `ubuntu:24.04` container: `libuv1-dev`
is not preinstalled but is available in the `noble` apt repo
(version `1.48.0-1.1build1`). Installing it makes
`pkg-config --exists libuv` succeed (`pkg-config --modversion libuv`
returns `1.48.0`), which is exactly what the `fs` configure script
needs.
Linux-only via `if: runner.os == 'Linux'` so the step is a no-op
on macOS and Windows runners (libuv is bundled differently there
and `fs` is delivered as a binary).
Refs: #1419
* Fix: Expert deadlock by sending didOpen(mix.exs) before readiness wait
Expert's build pipeline only starts after receiving a textDocument/didOpen
notification. Without it, Serena waited 300 s for $/progress signals that
Expert never emitted, causing a deadlock on every cold start.
* feat: add JSON language server support via vscode-json-languageserver (fixes#1391)
Add support for JSON files using the `vscode-json-languageserver` npm package
from Microsoft. This provides document symbol navigation and hover information
for JSON files.
The implementation follows the existing YAML language server pattern:
- Auto-installs `vscode-json-languageserver` via npm on first use
- Requires Node.js and npm
- Marked as experimental (must be explicitly specified)
Co-Authored-By: Octopus <liyuan851277048@icloud.com>
Co-authored-by: octo-patch <octo-patch@github.com>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
Cause: Implementation of text_utils.search_text
Serena's tools use 0-based line numbers, and this information
is now also centrally added to the instructions (manual).
(including web view on Windows)
* Remove heartbeat (browsers no longer allow windows to be closed anyway)
* Prevent parallel requests pertaining to the executions queue
Both measures eliminate parallel requests (which, apparently, can lead
to memory leaks in Chromium-based browsers; no such observations in Firefox).
Fixes#1389
* Keep the replace_content tool enabled
* Instruct the agent to use Serena's editing tools, especially
when editing code that was read through Serena
This is in reaction to Claude Code's editing tool denying edits
without corresponding prior reads
Resolves#1400
- query_project: Support use of project root instead of project name
- list_queryable_projects: Return both project names and project roots
Resolves#1388
This allows the stateful handling introduced for #1370#1372
to correctly apply to HTTP mode as well, by adjusting tools to be session-aware:
* InitialInstructionsTool
* ActivateProjectTool