Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
0688f25
issue #685 - point 8
murd0cc Aug 9, 2026
04aa5fa
PR requested changes implemented
murd0cc Aug 11, 2026
9411e41
Maintainability & Code Quality
murd0cc Aug 11, 2026
ca2ed95
coverage improvements
murd0cc Aug 11, 2026
d763846
Merge branch 'main' into issue/685
murd0cc Aug 11, 2026
d4023d1
refactor(types): canonicalize shared provider settings identifiers (#…
WebMad Aug 12, 2026
c35f6e8
[Feat] Add GLM 5.3 support to Z AI and OpenCode Go (#1244)
zoomote[bot] Aug 14, 2026
13cc3fe
[Feat] Add Gemini 3.7 Flash support (#1241)
zoomote[bot] Aug 14, 2026
c4daefc
[Feat] Add Qwen3.8 Max to OpenCode Go (#1245)
zoomote[bot] Aug 14, 2026
63634be
[Fix] DeepSeek V4 costs are underestimated after pricing changes (#1237)
zoomote[bot] Aug 14, 2026
f7239c8
fix: update deepseek-v4-pro reasoning efforts and mappings (#1236)
WHMHammer Aug 14, 2026
193c2f2
feat(api): add NanoGPT provider support (#1239)
taltas Aug 15, 2026
732651f
fix(config): use zoo-code-settings.json for settings export/import (#…
Rafael-Silva-Oliveira Aug 15, 2026
e064cf0
chore: prepare v3.78.0 release (#1249)
taltas Aug 15, 2026
d52f659
fix(task): recover stale delegated children after restart (#1210)
edelauna Aug 16, 2026
73602a9
fixed screenshots
murd0cc Aug 16, 2026
52da89d
Merge branch 'issue/685' of https://github.com/murd0cc/Zoo-Code into …
murd0cc Aug 16, 2026
43c865b
workaround - webview visual test throws error when deleting snapshots.
murd0cc Aug 16, 2026
c427ecb
fixed format from jpeg to png
murd0cc Aug 16, 2026
c9ebb87
fixed snapshot tests
murd0cc Aug 16, 2026
1f99585
test(settings): harden OpenAICompatible mocks with partial-actual imp…
murd0cc Aug 16, 2026
8cac2ac
fix(webview): throttle state pushes to prevent gray screen OOM (#1078)
JunyongParkDev Aug 16, 2026
61cad5b
test: wire AutoApprove visual tests to manual follow-up timer snapshots
murd0cc Aug 16, 2026
3901fec
missing snapshot
murd0cc Aug 16, 2026
dfc839e
Updated screenshot assertion
murd0cc Aug 16, 2026
9081dde
refactor(webview): canonicalize provider and model message identifier…
WebMad Aug 16, 2026
5b6a506
coverage
murd0cc Aug 16, 2026
3e8144a
feat(api): support official GLM-5.3 Z.ai release (#1284)
zoomote[bot] Aug 18, 2026
dbad4af
feat(api): introduce RequestConfigBuilder for SDK-agnostic abort sign…
easonLiangWorldedtech Aug 18, 2026
38d5ee0
fix(shell): delegate VS Code profile reads to Terminal methods (issue…
edelauna Aug 19, 2026
959826b
removed manual snapshots
murd0cc Aug 19, 2026
775f565
generated screenshots
murd0cc Aug 19, 2026
eac2f0c
regenerated snapshots with correct playwright image
murd0cc Aug 19, 2026
05f8a3e
[Fix] Mermaid labels are unreadable in light IDE themes (#1285)
zoomote[bot] Aug 19, 2026
b7f78f8
refactor(providers): canonicalize model-router calls (#1165)
WebMad Aug 20, 2026
252c69b
fix: stream reasoning_content in LM Studio provider (#1175)
daewoongoh Aug 20, 2026
afdede5
lint(providers): enforce canonical identifiers (#1297)
WebMad Aug 20, 2026
63aca68
fix(semble): increase archive download limit (#1306)
navedmerchant Aug 20, 2026
21d35c4
fix(task-history): atomic per-task merge and drop shared index file (…
edelauna Aug 20, 2026
871bb98
[Fix] Chat controls fade into light IDE themes (#1298)
zoomote[bot] Aug 20, 2026
39bdfb1
[Fix] Remaining chat controls fade into light IDE themes (#1312)
zoomote[bot] Aug 21, 2026
1ad8f52
fix(telemetry): default telemetry to opt-out with explicit consent UI…
edelauna Aug 21, 2026
db52d7f
feat(models): add Gemini 3.5 Flash Lite and 3.1 Flash Lite to Gemini …
easonLiangWorldedtech Aug 22, 2026
3dcac60
[Chore] Enforce safe async handling in core tools (#1255)
zoomote[bot] Aug 22, 2026
6ad8a6e
fix(zoo-gateway): stop inventing UI cost from default model prices (#…
JamesRobert20 Aug 22, 2026
fec4e13
[Improve] Keep shared controls legible across IDE themes (#1333)
zoomote[bot] Aug 22, 2026
3aacd91
Reverted the loose pixel tolerance
murd0cc Aug 22, 2026
351d9f3
initialized the i18next instance with the real English settings.json
murd0cc Aug 22, 2026
a9e9462
regenerated snapshots
murd0cc Aug 22, 2026
7da96a1
issue #685 - point 8
murd0cc Aug 9, 2026
2aa8138
PR requested changes implemented
murd0cc Aug 11, 2026
7f3a22a
Maintainability & Code Quality
murd0cc Aug 11, 2026
301d8ae
coverage improvements
murd0cc Aug 11, 2026
aeeec15
fixed screenshots
murd0cc Aug 16, 2026
20d1987
workaround - webview visual test throws error when deleting snapshots.
murd0cc Aug 16, 2026
8e01947
fixed format from jpeg to png
murd0cc Aug 16, 2026
dfc2c63
fixed snapshot tests
murd0cc Aug 16, 2026
04698d2
test(settings): harden OpenAICompatible mocks with partial-actual imp…
murd0cc Aug 16, 2026
e815e91
test: wire AutoApprove visual tests to manual follow-up timer snapshots
murd0cc Aug 16, 2026
19a7e3d
Updated screenshot assertion
murd0cc Aug 16, 2026
8f08b2b
coverage
murd0cc Aug 16, 2026
989d451
removed manual snapshots
murd0cc Aug 19, 2026
a5f2a42
generated screenshots
murd0cc Aug 19, 2026
835d680
regenerated snapshots with correct playwright image
murd0cc Aug 19, 2026
e9a3103
Reverted the loose pixel tolerance
murd0cc Aug 22, 2026
8705bfc
initialized the i18next instance with the real English settings.json
murd0cc Aug 22, 2026
907f420
regenerated snapshots
murd0cc Aug 22, 2026
c8c69b3
Merge branch 'issue/685' of https://github.com/murd0cc/Zoo-Code into …
murd0cc Aug 22, 2026
a16d6e4
regen snapshots in docker
murd0cc Aug 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions webview-ui/src/components/chat/FollowUpSuggest.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,15 @@ export const FollowUpSuggest = ({
// Start countdown timer when auto-approval is enabled for follow-up questions
useEffect(() => {
// Only start countdown if auto-approval is enabled for follow-up questions and no suggestion has been selected
// Also stop countdown if the question has been answered or auto-approval is paused (user is typing)
// Also stop countdown if the question has been answered or auto-approval is paused (user is typing) or timer is disabled (set to 0)
if (
autoApprovalEnabled &&
alwaysAllowFollowupQuestions &&
suggestions.length > 0 &&
!suggestionSelected &&
!isAnswered &&
!isFollowUpAutoApprovalPaused
!isFollowUpAutoApprovalPaused &&
(followupAutoApproveTimeoutMs ?? DEFAULT_FOLLOWUP_TIMEOUT_MS) > 0
Comment thread
murd0cc marked this conversation as resolved.
) {
// Start with the configured timeout in seconds
const timeoutMs =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,13 @@ describe("FollowUpSuggest", () => {
followupAutoApproveTimeoutMs: 3000, // 3 seconds for testing
}

// Test state with timeout disabled (0)
const disabledTimeoutState: TestExtensionState = {
autoApprovalEnabled: true,
alwaysAllowFollowupQuestions: true,
followupAutoApproveTimeoutMs: 0, // Disabled
}

beforeEach(() => {
vi.clearAllMocks()
vi.useFakeTimers()
Expand Down Expand Up @@ -218,6 +225,22 @@ describe("FollowUpSuggest", () => {
expect(screen.queryByText(/\d+s/)).not.toBeInTheDocument()
})

// Should not show countdown when timeout is disabled (set to 0)
it("should not show countdown when timeout is disabled (set to 0)", () => {
renderWithTestProviders(
<FollowUpSuggest
suggestions={mockSuggestions}
onSuggestionClick={mockOnSuggestionClick}
ts={1}
onCancelAutoApproval={mockOnCancelAutoApproval}
/>,
disabledTimeoutState,
)

// Should not show countdown when timeout is disabled
expect(screen.queryByText(/\d+s/)).not.toBeInTheDocument()
})

it("should not render when no suggestions are provided", () => {
const { container } = renderWithTestProviders(
<FollowUpSuggest
Expand Down
8 changes: 6 additions & 2 deletions webview-ui/src/components/settings/AutoApproveSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ export const AutoApproveSettings = ({
label={t("settings:autoApprove.followupQuestions.timeoutLabel")}>
<div className="flex items-center gap-2">
<Slider
min={1000}
min={0}
Comment thread
murd0cc marked this conversation as resolved.
max={300000}
step={1000}
value={[followupAutoApproveTimeoutMs]}
Expand All @@ -263,7 +263,11 @@ export const AutoApproveSettings = ({
}
data-testid="followup-timeout-slider"
/>
<span className="w-20">{followupAutoApproveTimeoutMs / 1000}s</span>
<span className="w-20">
Comment thread
murd0cc marked this conversation as resolved.
{followupAutoApproveTimeoutMs === 0
? "Disabled"
Comment thread
murd0cc marked this conversation as resolved.
Outdated
: `${followupAutoApproveTimeoutMs / 1000}s`}
</span>
Comment thread
coderabbitai[bot] marked this conversation as resolved.
</div>
<div className="text-vscode-descriptionForeground text-sm mt-1">
{t("settings:autoApprove.followupQuestions.timeoutLabel")}
Expand Down
Loading