naiba and naiba/CloudCode
381eee0cec
fix(agentcompat): constrain command harness to Linux
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 14:09:20 +00:00
naiba and naiba/CloudCode
5d7fef6408
test(agentcompat): isolate stress resource sampling
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 08:04:17 +00:00
naiba and naiba/CloudCode
a7cf600bd7
test(agentcompat): configure connection count sampling
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 08:02:45 +00:00
naiba and naiba/CloudCode
02ccdf038c
test(agentcompat): expose connection count fixture option
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 08:02:19 +00:00
naiba and naiba/CloudCode
d96b34b0d4
ci: require agentcompat stress validation
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:55:20 +00:00
naiba and naiba/CloudCode
d501f23473
test(agentcompat): add exact stress scenario
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:54:03 +00:00
naiba and naiba/CloudCode
64daa6e9ae
test(agentcompat): add scenario CLI wiring
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:52:28 +00:00
naiba and naiba/CloudCode
9af3720bf0
test(agentcompat): add integration scenarios
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:51:20 +00:00
naiba and naiba/CloudCode
b3b3d92895
test(agentcompat): add evidence validation
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:50:03 +00:00
naiba and naiba/CloudCode
1c3e926819
test(agentcompat): add protocol clients
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:48:15 +00:00
naiba and naiba/CloudCode
8a0e84b214
test(agentcompat): add dashboard runtime harness
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:46:55 +00:00
naiba and naiba/CloudCode
2a3245c412
test(agentcompat): add agent runtime harness
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:45:05 +00:00
naiba and naiba/CloudCode
3a9e0c7887
test(agentcompat): add process supervision harness
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:43:28 +00:00
naiba and naiba/CloudCode
0543995ec3
test(agentcompat): harden deterministic fixtures
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:42:03 +00:00
naiba and naiba/CloudCode
fcf58b0b4b
test(agentcompat): define integration contracts
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:39:48 +00:00
naiba and naiba/CloudCode
391f622c75
test(agentcompat): cover SQLite hold arbitration
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:37:59 +00:00
naiba and naiba/CloudCode
52c766d27c
test(rpc): cover reentrant state observers
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:36:50 +00:00
naiba and naiba/CloudCode
aee586baad
feat(agentcompat): add dashboard listener hooks
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:33:38 +00:00
naiba and naiba/CloudCode
3f6de265a0
fix(mcp): harden dashboard dispatch lifecycle
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:32:16 +00:00
naiba and naiba/CloudCode
2640b86d3a
feat(agentcompat): expose dashboard capability routes
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:30:50 +00:00
naiba and naiba/CloudCode
0c6eb416a5
feat(agentcompat): add SQLite hold scoped attribution
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:29:21 +00:00
naiba and naiba/CloudCode
26e92da33b
feat(agentcompat): add scoped IO stream capabilities
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:27:33 +00:00
naiba and naiba/CloudCode
c756ef9385
fix(rpc): make IO stream lifecycle race-safe
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:26:19 +00:00
naiba and naiba/CloudCode
8b47ff141f
feat(agentcompat): add shared runtime contracts
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-20 04:25:03 +00:00
naiba and naiba/CloudCode
a416e3bf29
test(compat): complete NAT fixture shutdown
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-14 06:13:57 +00:00
naiba and naiba/CloudCode
be9af6fcb3
test(compat): harden fixture containment cleanup
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-14 06:12:00 +00:00
naiba and naiba/CloudCode
92a1cc76be
test(compat): add deterministic local fixtures
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-14 05:49:15 +00:00
naiba and naiba/CloudCode
b01ff45ef4
chore(frontend-templates): bump user-dist v2.4.1 and aobobo-dist v1.4.6
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-12 06:27:58 +00:00
github-actions[bot]
40a688f7cb
update contributors[no ci]
2026-07-04 19:09:29 +08:00
naiba and naiba/CloudCode
1477138dad
chore(frontend-templates): bump admin-dist v2.2.5, user-dist v2.3.2 and aobobo-dist v1.4.5
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-07-04 11:08:03 +00:00
naiba and naiba/CloudCode
fd31e5f1b0
chore(frontend-templates): add aobobo template
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-06-28 01:09:23 +00:00
naiba and naiba/CloudCode
e1045ffd30
fix(api): redact profile password hash
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-06-28 01:09:23 +00:00
github-actions[bot]
015c49c8e3
update contributors[no ci]
2026-06-27 11:30:20 +08:00
naiba
6aab2e4919
Merge pull request #1213 from nezhahq/dependabot/github_actions/github-actions-02325a8da5
...
chore(deps): bump the github-actions group with 2 updates
2026-06-27 11:30:04 +08:00
dependabot[bot]
94a70a668b
chore(deps): bump the github-actions group with 2 updates
...
Bumps the github-actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout ) and [actions/cache](https://github.com/actions/cache ).
Updates `actions/checkout` from 6 to 7
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v6...v7 )
Updates `actions/cache` from 5 to 6
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
- dependency-name: actions/cache
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-23 16:14:34 +00:00
naiba and naiba/CloudCode
d750fa035d
chore(frontend-templates): bump user-dist v2.3.1
...
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba >
2026-06-20 11:01:54 +00:00
naiba
39d398066d
fix(api): redact third-party credentials in ddns/notification list
...
GET /api/v1/ddns and /api/v1/notification returned full objects with
plaintext credentials (Cloudflare/TencentCloud secrets, webhook URLs
with embedded bot tokens, Authorization headers). Redact these fields
in the list responses.
Since the frontend edit form repopulates from the list endpoint, the
update handlers now treat an empty submitted credential as "no change"
and preserve the stored value, preventing accidental secret wipes.
Ref: GHSA-ww5p-j6cj-6mqq
2026-06-20 01:54:50 +00:00
naiba
d556c3216f
chore(frontend-templates): bump user-dist v2.3.0 and nazhua-dist v1.1.0
2026-06-20 00:40:38 +00:00
naiba
8cd2da79b8
chore(frontend-templates): bump admin-dist v2.2.4
2026-06-20 00:39:47 +00:00
github-actions[bot]
d9ae9cc772
update contributors[no ci]
2026-06-20 08:25:32 +08:00
naiba
874a47c32c
Merge pull request #1211 from hamster1963/fix-service
...
Filter service stats based on user permissions
2026-06-20 08:25:15 +08:00
hamster1963
7a61da098b
fix(service): filter service stats based on user permissions
2026-06-20 00:45:53 +08:00
naiba
3d74cd9431
fix(alert): retain Duration samples for offline rules so they fire
...
RetentionWindow() trimmed offline-rule samples to 1, but Check's offline
branch reads points[len-Duration:] and needs Duration samples. The window
never filled, boundCheck always returned "passed", and offline alerts never
fired a notification — while other alert types worked. Offline rules now
retain Duration samples (cycle rules still keep 1, matching their last-sample
lookback).
Fixes the prior over-correction in RetentionWindow; corrects the test that
had pinned the buggy offline=1 value, and adds offline + combined-rule
regression tests driving the real trim loop.
2026-06-08 00:57:14 +00:00
naiba
576e6773c0
fix(release): bump user-dist to v2.1.2 (v2.1.1 never released upstream)
...
The v2.2.2 Release workflow failed: fetch-frontends.sh fetched user-dist
from hamster1963/nezha-dash-v2 at v2.1.1, but upstream went v2.1.0 -> v2.1.2
and never tagged v2.1.1, so the dist.zip download 404'd and unzip aborted the
build. Point at the existing v2.1.2 asset.
2026-06-07 16:23:24 +00:00
naiba
b12b1709d9
test(alert): pin sample-slice memory-boundedness invariant
...
Add TestCheckStatus_SampleMemoryBounded asserting that, across 100k ticks,
the per-(alert,server) sample slice length and capacity stay bounded by the
rule's retention window and never grow with elapsed time.
2026-06-07 16:14:31 +00:00
naiba
e756b4540c
fix(alert): keep sample history by rule-defined retention window
...
Trim alert samples using AlertRule.RetentionWindow() (max rule duration)
instead of Check()'s verdict max, which is 0 while a rule's window is still
filling. The old max<=0 trim wiped history every tick, so Duration>=2 general
rules never accumulated enough samples and never fired a notification.
Add model + end-to-end singleton regression tests covering sample
accumulation, the retention-window contract, and the actual notify path.
2026-06-07 16:11:43 +00:00
naiba
66de244c2e
feat(oauth2): add dashboard_host setting for callback URL
...
Decouple OAuth2 callback host from agent install host. When dashboard_host
is empty, the request Host is passed through; otherwise non-reserved hosts
are pinned to dashboard_host. Added to reserved-host allowlist for NAT.
2026-06-06 05:03:12 +00:00
naiba
c595728609
chore(frontend-templates): bump admin-dist v2.2.2 and user-dist v2.1.1
2026-06-06 04:55:31 +00:00
dependabot[bot]
d8d8729ecb
chore(deps): bump the github-actions group with 11 updates ( #1198 )
2026-06-05 11:01:02 +08:00
naiba
6e9510d26a
chore(frontend-templates): bump admin-dist v2.2.0
2026-06-05 02:42:58 +00:00