docs: remove false 30-minute idle timeout claim from deployment guides - #2417
Open
examon wants to merge 1 commit into
Open
docs: remove false 30-minute idle timeout claim from deployment guides#2417examon wants to merge 1 commit into
examon wants to merge 1 commit into
Conversation
The Limitations tables in docs/setup/scaling.md and docs/setup/backend-services.md state that the CLI automatically cleans up sessions after 30 minutes of inactivity. There is no such timeout: idle sessions are cleaned up only when a positive --session-idle-timeout is configured on the server, and nothing is configured by default. Replace both rows with the opt-in framing already used by docs/features/session-persistence.md. Both guides describe connecting to a separately launched CLI server, where the SDK-side sessionIdleTimeoutSeconds option is documented as ignored, so the rows point at the --session-idle-timeout server flag instead.
Contributor
There was a problem hiding this comment.
Pull request overview
Corrects deployment guidance to accurately state that CLI session cleanup is disabled by default.
Changes:
- Replaces the false 30-minute timeout claim.
- Documents the opt-in
--session-idle-timeout <seconds>server flag.
Show a summary per file
| File | Description |
|---|---|
docs/setup/scaling.md |
Corrects the scaling limitations table. |
docs/setup/backend-services.md |
Corrects the backend services limitations table. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 2/2 changed files
- Comments generated: 0
- Review effort level: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2416
What was wrong
The Limitations tables in
docs/setup/scaling.mdanddocs/setup/backend-services.mdboth claimed the CLI automatically cleans up idle sessions after 30 minutes:There is no such timeout. Idle-session cleanup is opt-in and off by default — sessions are cleaned up for inactivity only when a positive idle timeout is configured on the server, and nothing is configured by default.
The rest of the documentation already says this correctly:
docs/features/session-persistence.mdstates "By default, sessions have no idle timeout", anddocs/setup/multi-tenancy.mdlists "Not settingsessionIdleTimeoutSeconds" as a common pitfall — a pitfall that only exists because there is no default. Both offending files also contradict themselves within a few lines, recommending hand-rolled periodic cleanup immediately above the row that says the CLI already does it.Before / after
Both rows, previously:
Now, in both files:
"No idle timeout by default" is a genuine limitation, so the row keeps its place in the table rather than being dropped, and it now points at the setting that actually applies.
Why the server flag rather than
sessionIdleTimeoutSecondsBoth of these guides describe connecting to a separately launched CLI server —
scaling.mdusescliUrl,backend-services.mdusesRuntimeConnection.forUri(...), and both deploycopilot --headlessdirectly.nodejs/src/types.tsdocumentssessionIdleTimeoutSecondsas "Ignored when connecting to an existing runtime viaRuntimeConnection.forUri", anddocs/setup/multi-tenancy.mdalready states the same rule: withforUri(...), configure the idle timeout on the runtime process itself.Naming the SDK option in these two guides would therefore have sent readers to a setting that is silently dropped in the topology the guides teach. The server flag is also language-neutral, which matters because
backend-services.mdcarries Python, Go, C# and Java examples alongside TypeScript.Verification
A positive/negative pair, because the CLI logs a line at
--log-level debugwhen it starts its idle-session checker. Tested with CLI1.0.81-10, the version pinned innodejs/package-lock.json. Note that--session-idle-timeoutdoes not appear incopilot --help, the same as--portand--headless, which these guides already instruct readers to pass.Arm A logs
Started session timeout checker (timeout: 300000ms, check interval: 300000ms); arm B logs no checker line and no idle- or stale-session activity at all. Debug logging is live in both arms — this run produced 22 and 20[DEBUG]lines, differing by exactly arm A's two checker lines — so arm B's zero is a real absence, not a logging gap. Exact counts vary by version and environment.Scope was checked repo-wide: these were the only two places claiming a default or automatic idle timeout. The remaining
30-minute references are explicit opt-in examples and recommendations, and are correct as they stand.Checks
main.git diff --checkis clean; both rows keep the sibling style of their table (bold first cell, two columns, trailing pipe, no terminal punctuation).