π release: sync dev/v1.6 β main for v1.6.0-rc.12 - #667
Conversation
Wholesale-tree sync: this commit's tree is origin/dev/v1.6's tree (0342fa6) verbatim, parented on main.
|
Deployment failed with the following error: Learn More: https://vercel.com/codeswhat?upgradeToPro=build-rate-limit |
π WalkthroughWalkthroughThe release updates version metadata to Possibly related PRs
π₯ Pre-merge checks | β 2β Passed checks (2 passed)
β¨ Finishing Touches π‘ 1π οΈ Fix failing CI checks π‘
π Generate docstrings
π§ͺ Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
π§Ή Nitpick comments (1)
app/api/log-stream.ts (1)
262-266: π Maintainability & Code Quality | π΅ Trivial | β‘ Quick winExtract shared WebSocket authentication-state resolution.
Both gateways duplicate the Passport and anonymous gate calculation. Add a helper in
app/api/ws-upgrade-utils.tsand use it in both gateways.
app/api/log-stream.ts#L262-L266: replace the local calculations with the shared helper.app/api/container/log-stream.ts#L605-L609: replace the local calculations with the shared helper.Proposed shape
-const passportAuthenticated = isAuthenticatedSession(upgradeRequest); -const gateAuthenticated = isAuthenticatedSession(upgradeRequest, { - anonymousAuthActive: registry.isAnonymousAuthenticationActive(), -}); +const { passportAuthenticated, gateAuthenticated } = getUpgradeAuthenticationState( + upgradeRequest, + registry.isAnonymousAuthenticationActive(), +);π€ Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@app/api/log-stream.ts` around lines 262 - 266, Extract the duplicated Passport and anonymous-gate authentication resolution into a shared helper in app/api/ws-upgrade-utils.ts, returning both authentication states while preserving the existing registry-based anonymous-auth flag. In app/api/log-stream.ts lines 262-266 and app/api/container/log-stream.ts lines 605-609, replace the local calculations with the helper and continue deriving each gatewayβs rate-limit key from the returned Passport authentication state.
π€ Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@app/api/backup.ts`:
- Around line 90-92: Update the shared AGENT_LIFECYCLE_UNSUPPORTED_ERROR message
used by the isAgentLifecycleUnsupported check to include rollback alongside
start, stop, and restart, without changing the endpointβs rejection flow.
In `@app/api/docker-trigger.ts`:
- Around line 8-9: Update the AGENT_LIFECYCLE_UNSUPPORTED_ERROR message to
include rollback alongside start, stop, and restart, so unsupported
rollbackContainer requests identify the rejected lifecycle operation.
In `@ui/src/locales/fr/containerComponents.json`:
- Line 172: Restore the "stderr" value in the French catalog entry for the
stderr channel, replacing the misspelled "sdterr" while keeping the surrounding
localization unchanged.
---
Nitpick comments:
In `@app/api/log-stream.ts`:
- Around line 262-266: Extract the duplicated Passport and anonymous-gate
authentication resolution into a shared helper in app/api/ws-upgrade-utils.ts,
returning both authentication states while preserving the existing
registry-based anonymous-auth flag. In app/api/log-stream.ts lines 262-266 and
app/api/container/log-stream.ts lines 605-609, replace the local calculations
with the helper and continue deriving each gatewayβs rate-limit key from the
returned Passport authentication state.
πͺ Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
βΉοΈ Review info
βοΈ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 92016eb5-67a7-4a4d-ba9d-a17d4cb3d159
β Files ignored due to path filters (7)
CHANGELOG.mdis excluded by!CHANGELOG.mdapp/package-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.jsonapps/demo/package-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.jsonapps/web/package-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.jsone2e/package-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.jsonpackage-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.jsonui/package-lock.jsonis excluded by!**/package-lock.json,!**/package-lock.json
π Files selected for processing (58)
README.mdapp/agent/AgentClient.test.tsapp/agent/AgentClient.tsapp/api/backup.test.tsapp/api/backup.tsapp/api/container-actions.test.tsapp/api/container-actions.tsapp/api/container/handlers/list.test.tsapp/api/container/handlers/list.tsapp/api/container/log-stream.test.tsapp/api/container/log-stream.tsapp/api/container/maturity-filter.test.tsapp/api/container/maturity-filter.tsapp/api/docker-trigger.tsapp/api/log-stream.test.tsapp/api/log-stream.tsapp/api/openapi/paths/containers.test.tsapp/api/openapi/paths/containers.tsapp/api/sse-container-enrichment.test.tsapp/api/sse-container-enrichment.tsapp/api/ws-upgrade-utils.test.tsapp/api/ws-upgrade-utils.tsapp/model/container.test.tsapp/model/container.tsapp/model/update-eligibility.test.tsapp/model/update-eligibility.tsapp/package.jsonapp/registry/index.test.tsapp/registry/index.tsapp/updates/request-update.test.tsapp/updates/request-update.tsapp/watchers/providers/docker/Docker.containers.labels-version-finding.test.tsapp/watchers/providers/docker/Docker.containers.test.tsapp/watchers/providers/docker/image-comparison.test.tsapp/watchers/providers/docker/image-comparison.tsapps/demo/package.jsonapps/demo/src/mocks/data/agents.tsapps/demo/src/mocks/data/audit.tsapps/demo/src/mocks/data/containers.tsapps/demo/src/mocks/data/server.tsapps/demo/src/mocks/handlers/app.tsapps/web/package.jsonapps/web/src/lib/site-config.tsapps/web/src/lib/site-content.tscontent/docs/current/api/agent.mdxcontent/docs/current/api/app.mdxcontent/docs/current/api/portwing.mdxcontent/docs/current/quickstart/index.mdxcontent/docs/current/updates/index.mdxe2e/package.jsone2e/tests/security/brace-expansion-lockfile.test.jspackage.jsonscripts/changelog-links.test.mjsscripts/release-docs-identity.test.mjsscripts/release-identity.test.mjsscripts/security-dependency-versions.test.mjsui/package.jsonui/src/locales/fr/containerComponents.json
| if (isAgentLifecycleUnsupported(container)) { | ||
| sendErrorResponse(res, 501, AGENT_LIFECYCLE_UNSUPPORTED_ERROR); | ||
| return; |
There was a problem hiding this comment.
π― Functional Correctness | π‘ Minor | β‘ Quick win
Include rollback in AGENT_LIFECYCLE_UNSUPPORTED_ERROR.
Line 91 returns a message that lists only start/stop/restart. This endpoint rejects rollback. Add rollback to the shared error text.
Proposed fix
export const AGENT_LIFECYCLE_UNSUPPORTED_ERROR =
- "Lifecycle actions (start/stop/restart) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability.";
+ "Lifecycle actions (start/stop/restart/rollback) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability.";π€ Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@app/api/backup.ts` around lines 90 - 92, Update the shared
AGENT_LIFECYCLE_UNSUPPORTED_ERROR message used by the
isAgentLifecycleUnsupported check to include rollback alongside start, stop, and
restart, without changing the endpointβs rejection flow.
| export const AGENT_LIFECYCLE_UNSUPPORTED_ERROR = | ||
| "Lifecycle actions (start/stop/restart) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability."; |
There was a problem hiding this comment.
π― Functional Correctness | π‘ Minor | β‘ Quick win
Include rollback in AGENT_LIFECYCLE_UNSUPPORTED_ERROR.
rollbackContainer returns this constant for unsupported rollback requests. The message lists only start, stop, and restart. Add rollback so the 501 response identifies the rejected operation.
Proposed fix
export const AGENT_LIFECYCLE_UNSUPPORTED_ERROR =
- "Lifecycle actions (start/stop/restart) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability.";
+ "Lifecycle actions (start/stop/restart/rollback) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability.";π Committable suggestion
βΌοΈ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| export const AGENT_LIFECYCLE_UNSUPPORTED_ERROR = | |
| "Lifecycle actions (start/stop/restart) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability."; | |
| export const AGENT_LIFECYCLE_UNSUPPORTED_ERROR = | |
| "Lifecycle actions (start/stop/restart/rollback) are not supported over this container's agent connection, typically because the agent has not advertised the usesControllerDockerTransport capability."; |
π€ Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@app/api/docker-trigger.ts` around lines 8 - 9, Update the
AGENT_LIFECYCLE_UNSUPPORTED_ERROR message to include rollback alongside start,
stop, and restart, so unsupported rollbackContainer requests identify the
rejected lifecycle operation.
| "statusOffline": "Hors ligne", | ||
| "stdout": "stdout", | ||
| "stderr": "stderr" | ||
| "stderr": "sdterr" |
There was a problem hiding this comment.
π― Functional Correctness | π‘ Minor | β‘ Quick win
Restore the stderr label spelling.
Line 172 changes the technical channel label to "sdterr". AppLogEntry.channel and the English catalog use "stderr", so the French log viewer will display a misspelled label. Restore the value.
Proposed fix
- "stderr": "sdterr"
+ "stderr": "stderr"π Committable suggestion
βΌοΈ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "stderr": "sdterr" | |
| "stderr": "stderr" |
π€ Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ui/src/locales/fr/containerComponents.json` at line 172, Restore the "stderr"
value in the French catalog entry for the stderr channel, replacing the
misspelled "sdterr" while keeping the surrounding localization unchanged.
Source: Learnings
Wholesale-tree sync ahead of the v1.6.0-rc.12 cut: the head commit's tree is
origin/dev/v1.6's tree verbatim (630c64ec), parented on main's current head (67f23419). Squash-merging makes main tree-identical todev/v1.6, satisfying the release-cut drift guard (git diff --quiet origin/main origin/dev/v1.6).Brings in since rc.11: #659 security pins, #662/#660/#661/#663 runtime fixes (#636/#604/#605/#637), #664 guard floor, #653β#656 deps, #665 Crowdin, #666 rc.12 prep.
After merge: dispatch
release-cut.yml --ref main -f release_tag=v1.6.0-rc.12.Changelog
501responses for unsupported agent lifecycle actions.v1.6.0-rc.11tov1.6.0-rc.12.v1.6.0-rc.12.Concerns
containerLogs.stderrvalue if"sdterr"is not intentional.August 4, 2026.mainwithrelease_tag=v1.6.0-rc.12after merging.