Peter Steinberger
cdde51c608
test: tighten shared text chunking coverage
2026-03-13 21:40:01 +00:00
Peter Steinberger
56299effe9
test: tighten shared metadata and node resolve coverage
2026-03-13 21:39:11 +00:00
Peter Steinberger
4ecdd7907a
test: tighten shared auth and identity coverage
2026-03-13 21:38:28 +00:00
Peter Steinberger
4fd8b98b10
test: tighten shared message and ipv4 coverage
2026-03-13 21:37:48 +00:00
Peter Steinberger
80569babd3
test: tighten shared chat envelope coverage
2026-03-13 21:37:10 +00:00
Peter Steinberger
fe55622205
test: tighten shared process map and model coverage
2026-03-13 21:36:32 +00:00
Peter Steinberger
2f82ade66f
test: tighten assistant scaffolding coverage
2026-03-13 21:35:31 +00:00
Peter Steinberger
3a59d40109
test: tighten shared pid and node parsing coverage
2026-03-13 21:30:35 +00:00
Peter Steinberger
783d320547
test: tighten shared requirements coverage
2026-03-13 21:29:07 +00:00
Peter Steinberger
330631a0eb
test: tighten shared config eval coverage
2026-03-13 21:28:17 +00:00
Peter Steinberger
5a9d3abc10
test: tighten shared ip helper coverage
2026-03-13 21:27:15 +00:00
Peter Steinberger
090c0c4b5d
test: tighten shared text normalization coverage
2026-03-13 21:26:15 +00:00
Peter Steinberger
0c79c86b40
test: tighten shared singleton and sample coverage
2026-03-13 21:25:20 +00:00
Peter Steinberger
42ccee658d
test: tighten shared avatar and scope coverage
2026-03-13 21:24:38 +00:00
Peter Steinberger
b84c7037de
fix: repair ci audit and type drift
2026-03-13 21:02:19 +00:00
Peter Steinberger
7fe5cd26b5
test: add entry status and ipv4 helper coverage
2026-03-13 20:29:40 +00:00
Peter Steinberger
9666188da8
test: add shared chat helper coverage
2026-03-13 20:28:22 +00:00
Peter Steinberger
d291148e93
test: add shared node and usage helper coverage
2026-03-13 20:26:22 +00:00
Peter Steinberger
2192bb7eb5
test: add shared text and identity helper coverage
2026-03-13 20:24:35 +00:00
Peter Steinberger
8dd454530d
test: add frontmatter and node match coverage
2026-03-13 20:23:26 +00:00
Peter Steinberger
341d3e3493
test: add shared helper coverage
2026-03-13 20:21:43 +00:00
Peter Steinberger
35cf3d0ce5
test: add device auth store coverage
2026-03-13 20:20:27 +00:00
Josh Lehman
50cc375c11
feat(context-engine): plumb sessionKey into all ContextEngine methods ( #44157 )
...
Merged via squash.
Prepared head SHA: 0b341f6f4ce487055d8bc0c0d335c42577941592
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-03-12 12:43:36 -07:00
Vincent Koc
4ca84acf24
fix(runtime): duplicate messages, share singleton state across bundled chunks ( #43683 )
...
* Tests: add fresh module import helper
* Process: share command queue runtime state
* Agents: share embedded run runtime state
* Reply: share followup queue runtime state
* Reply: share followup drain callback state
* Reply: share queued message dedupe state
* Reply: share inbound dedupe state
* Tests: cover shared command queue runtime state
* Tests: cover shared embedded run runtime state
* Tests: cover shared followup queue runtime state
* Tests: cover shared inbound dedupe state
* Tests: cover shared Slack thread participation state
* Slack: share sent thread participation state
* Tests: document fresh import helper
* Telegram: share draft stream runtime state
* Tests: cover shared Telegram draft stream state
* Telegram: share sent message cache state
* Tests: cover shared Telegram sent message cache
* Telegram: share thread binding runtime state
* Tests: cover shared Telegram thread binding state
* Tests: avoid duplicate shared queue reset
* refactor(runtime): centralize global singleton access
* refactor(runtime): preserve undefined global singleton values
* test(runtime): cover undefined global singleton values
---------
Co-authored-by: Nimrod Gutman <nimrod.gutman@gmail.com >
2026-03-12 14:59:27 -04:00
Peter Steinberger
990fc36cbd
refactor: share sampled entry summary formatting
2026-03-08 00:05:24 +00:00
Peter Steinberger
d228a62143
refactor: share trimmed string entry normalization
2026-03-07 23:27:51 +00:00
Peter Steinberger
3c71e2bd48
refactor(core): extract shared dedup helpers
2026-03-07 10:41:05 +00:00
maweibin
09c68f8f0e
add prependSystemContext and appendSystemContext to before_prompt_build ( fixes #35131 ) ( #35177 )
...
Merged via squash.
Prepared head SHA: d9a2869ad69db9449336a2e2846bd9de0e647ac6
Co-authored-by: maweibin <18023423+maweibin@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-05 13:06:59 -05:00
Peter Steinberger
bb60687b89
refactor(nodes): dedupe camera payload and node resolve helpers
2026-03-02 23:32:41 +00:00
Peter Steinberger
b1c30f0ba9
refactor: dedupe cli config cron and install flows
2026-03-02 19:57:33 +00:00
Peter Steinberger
8768487aee
refactor(shared): dedupe protocol schema typing and session/media helpers
2026-03-02 19:57:33 +00:00
Peter Steinberger
dcf8308c8f
refactor(ui): share channel config extras and hint types
2026-03-02 15:21:19 +00:00
Peter Steinberger
693f61404d
refactor(shared): centralize assistant identity and usage timeseries types
2026-03-02 14:36:41 +00:00
Peter Steinberger
d358b3ac88
refactor(core): extract shared usage, auth, and display helpers
2026-03-02 08:54:20 +00:00
Vincent Koc
5a2200b280
fix(sessions): harden recycled PID lock recovery follow-up ( #31320 )
...
* fix: detect PID recycling in session write lock staleness check
The session lock uses isPidAlive() to determine if a lock holder is
still running. In containers, PID recycling can cause a different
process to inherit the same PID, making the lock appear valid when
the original holder is dead.
Record the process start time (field 22 of /proc/pid/stat) in the
lock file and compare it during staleness checks. If the PID is alive
but its start time differs from the recorded value, the lock is
treated as stale and reclaimed immediately.
Backward compatible: lock files without starttime are handled with
the existing PID-alive + age-based logic. Non-Linux platforms skip
the starttime check entirely (getProcessStartTime returns null).
* shared: harden pid starttime parsing
* sessions: validate lock pid/starttime payloads
* changelog: note recycled PID lock recovery fix
* changelog: credit hiroki and vincent on lock recovery fix
---------
Co-authored-by: HirokiKobayashi-R <hiroki@rhems-japan.co.jp >
2026-03-01 21:42:22 -08:00
Vignesh Natarajan
e90429794a
Web UI: strip relevant-memories scaffolding
2026-02-28 13:20:50 -08:00
Peter Steinberger
61b3246a7f
fix(ssrf): unify ipv6 special-use blocking
2026-02-26 03:43:42 +01:00
Peter Steinberger
baf656bc6f
fix: block IPv6 multicast SSRF bypass
2026-02-26 03:35:10 +01:00
Peter Steinberger
3af9d1f8e9
fix: scope Telegram RFC2544 SSRF exception to policy opt-in ( #24982 ) (thanks @stakeswky)
2026-02-24 03:28:00 +00:00
User
9df80b73e2
fix: allow RFC2544 benchmark range (198.18.0.0/15) through SSRF filter
...
Telegram's API and file servers resolve to IPs in the 198.18.0.0/15
range (RFC 2544 benchmarking range). The SSRF filter was blocking these
addresses because ipaddr.js classifies them as 'reserved', and the
filter also had an explicit RFC2544_BENCHMARK_PREFIX check that blocked
them unconditionally.
Fix: exempt 198.18.0.0/15 from the 'reserved' range block in
isBlockedSpecialUseIpv4Address(). Other 'reserved' ranges (TEST-NET-2,
TEST-NET-3, documentation prefixes) remain blocked. The explicit
RFC2544_BENCHMARK_PREFIX check is repurposed as the exemption guard.
Closes #24973
2026-02-24 03:28:00 +00:00
Peter Steinberger
cd5f3fe0c1
test(config): consolidate env/include scenario coverage
2026-02-23 22:16:30 +00:00
Peter Steinberger
0183610db3
refactor: de-duplicate channel runtime and payload helpers
2026-02-23 21:25:28 +00:00
Peter Steinberger
8af19ddc5b
refactor: extract shared dedupe helpers for runtime paths
2026-02-23 05:43:43 +00:00
Peter Steinberger
98427453ba
fix(network): normalize SSRF IP parsing and monitor typing
2026-02-22 18:55:34 +01:00
Peter Steinberger
3286791316
refactor(agents): dedupe config and truncation guards
2026-02-22 17:54:51 +00:00
Peter Steinberger
333fbb8634
refactor(net): consolidate IP checks with ipaddr.js
2026-02-22 17:02:44 +01:00
Peter Steinberger
dd07c06d00
fix: tighten gateway restart loop handling ( #23416 ) (thanks @jeffwnli)
2026-02-22 10:38:32 +01:00
jeffr
6eaf2baa57
fix: detect zombie processes in isPidAlive on Linux
...
kill(pid, 0) succeeds for zombie processes, causing the gateway lock
to treat a zombie lock owner as alive. Read /proc/<pid>/status on
Linux to check for 'Z' (zombie) state before reporting the process
as alive. This prevents the lock from being held indefinitely by a
zombie process during gateway restart.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 10:38:32 +01:00
Peter Steinberger
a32edf423b
refactor(text): share code-region parsing for reasoning tags
2026-02-22 07:44:57 +00:00
Peter Steinberger
e0db04a50d
fix(security): harden avatar validation and size limits
2026-02-22 08:35:32 +01:00