chore: address PR #3262 review feedback#3266
Conversation
- Wrap all localStorage calls in try-catch for QuotaExceededError/private browsing - Precompute lastAssistantMessageIndex with useMemo instead of per-message reverse+findIndex - Truncate KB tool description at 500 chars to prevent unbounded length - Add failures: this.flushFailures() to Confluence and Jira connector batch yields - Add depth limit to Jira recursive error extraction to prevent stack overflow - Log citation extraction errors instead of silently swallowing - Add null guard message to e2e kbTool assertion - Consistent placeholder text between create/edit connector dialogs
|
Claude finished @joeyorlando's task in 4m 53s —— View job PR #3266 Review
Overall this is a solid batch of fixes that addresses each review item cleanly. The backend changes are straightforward and correct. The frontend model-initialization rework is more complex but the approach is sound — extracting BackendConfluence connector ( Jira connector ( KB tool description truncation ( Frontendmessage-thread perf ( Citation error logging ( Placeholder consistency ( localStorage error handling ( Issues / Questions1.
Consider either: (a) deleting 2. 3. E2E test failures from earlier CI run — The 3 failures reported in the earlier run (
The latest push should fix these. CI is still running for the latest commit. 4. Missing 5. TestsUnit tests ( E2E test guard ( SummaryThe PR cleanly addresses all 9 review feedback items. The main suggestion is to clean up the dead |
📊 Reputation Summary
How is the score calculated? Read about it in the Reputation Bot repository 🤖 |
Playwright test results
Details
Failed testschromium › ui/chat-auth-required.spec.ts › Chat - Auth Required Tool › renders AuthRequiredTool when tool call fails due to missing credentials Flaky testsapi › api/built-in-agents.spec.ts › Built-In Agents API › auto-configure creates policies for tool via route Skipped testsapi › api/knowledge-bases.spec.ts › Knowledge Bases API › Connector CRUD › connectors are cascade-deleted when knowledge base is deleted |
…/archestra into fix/pr-3262-review-feedback
The ModelSelector's auto-select effect used a ref to track API key changes and would force-select the "best" model whenever apiKeyId changed — even during initialization (null → saved key). This overwrote the user's saved model ~1/6 of the time when the "best" model differed from their choice. Extract resolveAutoSelectedModel() as a pure function that only triggers when the model is genuinely unavailable, regardless of API key transitions. Add regression tests covering the race condition scenario.
🤖 I have created a release *beep* *boop* --- ## [1.1.5](platform-v1.1.4...platform-v1.1.5) (2026-03-11) ### Features * add default model setting for agents and new chats ([#3267](#3267)) ([53c99d3](53c99d3)) * rework chat agent selector/editor ([#3261](#3261)) ([b67b741](b67b741)) ### Bug Fixes * chat-localstorage e2e test model trigger assertion ([#3270](#3270)) ([8b4efbb](8b4efbb)) * support envFrom and preserve user-added env in self-hosted MCP server pods ([#3230](#3230)) ([0ea9fce](0ea9fce)) ### Miscellaneous Chores * address PR [#3262](#3262) review feedback ([#3266](#3266)) ([4e2f175](4e2f175)) * **deps:** bump hono from 4.12.5 to 4.12.7 in /platform/mcp_server_docker_image ([#3263](#3263)) ([51c4e8e](51c4e8e)) * fix self-hosted confluence pagination ([#3271](#3271)) ([c63708c](c63708c)) * sticky footer dialogs, knowledge sources tool improvements, chat fixes ([#3262](#3262)) ([527d16f](527d16f)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: archestra-ci[bot] <222894074+archestra-ci[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Summary
Addresses review feedback from PR #3262:
localStorage.getItem/setItem/removeItemcalls in try-catch to handleQuotaExceededErrorand private browsing restrictionslastAssistantMessageIndexwithuseMemoinstead of creating a reversed array copy per message per renderfailures: this.flushFailures()to batch yields (matching GitHub/GitLab pattern)buildBatchto accept and include failuresextractJiraErrorDetailsrecursion to prevent stack overflow from circular error referencesconsole.warnon citation extraction failure instead of silently swallowing