Commit Graph

28992 Commits

Author SHA1 Message Date
Peter Steinberger
bb15b7c53c perf(runtime): trim config, media, and secrets tests 2026-04-08 01:49:23 +01:00
Peter Steinberger
e80ae14771 test: speed up effective tools inventory test 2026-04-08 01:44:13 +01:00
Peter Steinberger
02d41b98c0 test: speed up plugin registry loader tests 2026-04-08 01:44:13 +01:00
Peter Steinberger
e5d0dbdc7c test: speed up auto reply command tests 2026-04-08 01:44:13 +01:00
Peter Steinberger
b52f106533 refactor: dedupe ui foundry trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
aec24f4599 refactor: dedupe messaging trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
e0b4f3b995 refactor: dedupe provider ui trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
bf03babd2b refactor: dedupe extension trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
08cee3316d refactor: dedupe core trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
3174c6919d refactor: dedupe gateway memory trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
a96a1aa670 refactor: dedupe plugin auto-reply trimmed readers 2026-04-08 01:36:39 +01:00
Peter Steinberger
63e00b811e refactor: dedupe config cli command trimmed readers 2026-04-08 01:36:38 +01:00
Peter Steinberger
3ff56020b1 refactor: dedupe gateway trimmed readers 2026-04-08 01:36:38 +01:00
Peter Steinberger
4cfa4b95c3 refactor: dedupe plugin trimmed readers 2026-04-08 01:36:38 +01:00
Peter Steinberger
ae1cc2d6df refactor: dedupe matrix trimmed readers 2026-04-08 01:36:38 +01:00
Peter Steinberger
df91db906f refactor: dedupe cli cron trimmed readers 2026-04-08 01:36:38 +01:00
Peter Steinberger
ca8685d5f2 fix: harden parallels upgrade checks 2026-04-08 01:34:35 +01:00
Peter Steinberger
ce07a38f0c test: trim config migration smoke coverage 2026-04-08 01:29:43 +01:00
Aftab
700efe6d16 fix(daemon): skip machine-scope fallback on permission-denied bus errors (#62337)
* fix(daemon): skip machine-scope fallback on permission-denied bus errors; fall back to --user when sudo machine scope fails

When systemctl --user fails with "Failed to connect to bus: Permission
denied", the machine-scope fallback is now skipped. A Permission denied
error means the bus socket exists but the process cannot connect to it,
so --machine user@ would hit the same wall.

Additionally, the sudo path in execSystemctlUser now tries machine scope
first but falls through to a direct --user attempt if it fails, instead
of returning the error immediately.

Fixes #61959

* fix(daemon): guard against double machine-scope call when sudo path already tried it

When SUDO_USER is set and machine scope fails with a non-permission-denied
bus error, execution falls through to the direct --user attempt. If that
also fails with a bus-unavailable message, shouldFallbackToMachineUserScope
returns true and machine scope is tried a second time -- a redundant exec
that was never reachable before this PR opened the fallthrough path.

Add machineScopeAlreadyTried flag and include it in the bottom-fallback
guard condition so the second call is skipped when machine scope was
already attempted in the sudo branch.

Add regression test asserting exactly 2 execFile calls in this scenario.

* fix: keep sudo systemctl scoped

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-04-08 01:22:31 +01:00
Peter Steinberger
381d229699 Tests: type sessions send gateway mock 2026-04-08 01:18:01 +01:00
Peter Steinberger
bdcf8b9796 test: trim secrets runtime x_search coverage 2026-04-08 01:16:58 +01:00
Peter Steinberger
27f122c4bf Tests: stabilize memory dreaming time windows 2026-04-08 01:14:33 +01:00
Josh Lehman
8359e5f584 fix: pass threadId through sessions_send announce delivery (#62758) 2026-04-07 17:11:33 -07:00
Peter Steinberger
29decd58dd test: narrow config migration smoke coverage 2026-04-08 01:09:54 +01:00
Peter Steinberger
c907dfa058 test: trim duplicate config migration coverage 2026-04-08 01:07:38 +01:00
Peter Steinberger
c1d08e3ddc test: split channel textChunkLimit schema coverage 2026-04-08 01:04:49 +01:00
Peter Steinberger
cddfd7781e test: fold identity defaults into existing config suites 2026-04-08 00:58:02 +01:00
Peter Steinberger
b998156083 test: trim config defaults and secrets refresh coverage 2026-04-08 00:54:08 +01:00
Peter Steinberger
51633fc13a fix: respect disabled heartbeat guidance 2026-04-08 00:51:13 +01:00
Peter Steinberger
4d3c72a521 fix: surface Claude CLI API errors 2026-04-08 00:44:50 +01:00
Peter Steinberger
259e9abbc5 Tests: align provider synthetic auth fixture 2026-04-08 00:43:55 +01:00
Peter Steinberger
93d71acbd8 test: fix provider usage mocks and trim media runner setup 2026-04-08 00:40:11 +01:00
Peter Steinberger
7f508755a1 Tests: use timeout-classed compaction failure 2026-04-08 00:39:22 +01:00
Peter Steinberger
552b5d3859 test: speed up cli and process tests 2026-04-08 00:30:22 +01:00
Peter Steinberger
f9dcd1e155 test: speed up agent runtime helper tests 2026-04-08 00:30:22 +01:00
Peter Steinberger
c01666f7ab test: speed up agent auth config tests 2026-04-08 00:30:22 +01:00
Peter Steinberger
cda0c66258 Tests: type provider usage plugin mocks 2026-04-08 00:25:39 +01:00
zhumengzhu
f6bf8c7202 fix(logging): correct levelToMinLevel mapping and related filter logic for tslog v4 (#44646)
* fix: correct levelToMinLevel mapping and isFileLogLevelEnabled direction for tslog v4

* test: add regression tests for logging level filter and child logger inheritance

* fix: propagate minLevel to toPinoLikeLogger sub-loggers

* fix: correct shouldLogToConsole comparison direction in subsystem.ts

* test: cover logging threshold regressions

* fix(logging): treat silent as non-emittable level

---------

Co-authored-by: Altay <altay@uinaf.dev>
2026-04-08 00:19:20 +01:00
Josh Lehman
6bd480ea1f fix: honor explicit auth profile selection (#62744)
* Auth: fix native model profile selection

Fix native `/model ...@profile` targeting so profile selections persist onto the intended session, and preserve explicit session auth-profile overrides even when stored auth order prefers another profile. Update the reply/session regressions to use placeholder example.test profile ids.

Regeneration-Prompt: |
  Native `/model ...@profile` commands in chat were acknowledging the requested auth profile but later runs still used another account. Fix the target-session handling so native slash commands mutate the real chat session rather than a slash-session surrogate, and keep explicit session auth-profile overrides from being cleared just because stored provider order prefers another profile. Update the tests to cover the target-session path and the override-preservation behavior, and use placeholder profile ids instead of real email addresses in test fixtures.

* Auth: honor explicit user-locked profiles in runner

Allow an explicit user-selected auth profile to run even when per-agent auth-state order excludes it. Keep auth-state order for automatic selection and failover, and add an embedded runner regression that seeds stored order with one profile while verifying a different user-locked profile still executes.

Regeneration-Prompt: |
  The remaining bug after fixing native `/model ...@profile` persistence was in the embedded runner itself. A user could explicitly select a valid auth profile for a provider, but the run still failed if per-agent auth-state order did not include that profile. Preserve the intended semantics by validating user-locked profiles directly for provider match and credential eligibility, then using them without requiring membership in resolved auto-order. Add a regression in the embedded auth-profile rotation suite where stored order only includes one OpenAI profile but a different user-locked profile is chosen and must still be used.

* Changelog: note explicit auth profile selection fix

Add the required Unreleased changelog line for the explicit auth-profile selection and runner honor fix in this PR.

Regeneration-Prompt: |
  The PR needed a mandatory CHANGELOG.md entry under Unreleased/Fixes. Add a concise user-facing line describing that native `/model ...@profile` selections now persist on the target session and explicit user-locked OpenAI Codex auth profiles are honored even when per-agent auth order excludes them, and include the PR number plus thanks attribution for the PR author.
2026-04-07 16:12:25 -07:00
Peter Steinberger
1c1eb542b6 perf(test): trim infra provider and approval suites 2026-04-08 00:10:20 +01:00
Peter Steinberger
5e2736089d fix: resolve ci type regressions 2026-04-08 00:09:42 +01:00
Peter Steinberger
ef903d881e refactor: dedupe channel trimmed readers 2026-04-08 00:09:42 +01:00
Peter Steinberger
ee0425a705 refactor: dedupe agent trimmed readers 2026-04-08 00:09:42 +01:00
Peter Steinberger
b3ecabbbb7 refactor: dedupe gateway trimmed readers 2026-04-08 00:09:42 +01:00
Peter Steinberger
669b352d36 refactor: dedupe auto-reply trimmed readers 2026-04-08 00:09:42 +01:00
Peter Steinberger
c7ecc1ebf4 refactor: dedupe infra trimmed readers 2026-04-08 00:09:41 +01:00
Peter Steinberger
134588fc17 refactor: dedupe gateway trimmed readers 2026-04-08 00:09:41 +01:00
Peter Steinberger
65ea8c60f3 refactor: dedupe agent trimmed readers 2026-04-08 00:09:41 +01:00
Peter Steinberger
e3b9c4a0a3 refactor: dedupe command trimmed readers 2026-04-08 00:09:41 +01:00
Peter Steinberger
c7347a492e refactor: dedupe discord trimmed readers 2026-04-08 00:09:41 +01:00