release: v0.3.6 - #1217
Merged
Merged
Conversation
…roxy Image, speech, music, and video generation clients called the global fetch directly, so a provider reachable only through the Settings > Providers network proxy failed for media tools while chat worked. ResolveCapabilityProviderCredential now carries the materialized connections proxy URL, the tool providers forward it alongside apiKey/headers, and every media client accepts an injected fetch built by createProxyFetch, sharing the chat model request stack. Proxy unset keeps direct connections unchanged.
POST /v1/threads/{id}/summarize was missing from the Main IPC runtime
allowlist, so every "Summarize" click was rejected inside Main and never
reached the runtime. The renderer folded that rejection into one fixed
"could not summarize" string, which is why the failure left no runtime
log to diagnose.
- allowlist the summarize endpoint for POST only
- report why a summary failed (provider text, timeout, empty output,
aborted) instead of a blanket 503 with no content
- give the user-initiated summary 90s in the runtime and 120s in Main,
up from the 20s background budget
- show the generated summary with a copy action, and reconcile the
sidebar when the runtime no longer stores the thread
- add "Copy session ID" to the thread context menu
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
While a Graph run executed a compiled plan, the composer kept showing the
originating plan checklist as live step progress ("Step 1 / 19") even though
the run had already accepted 7 of its 11 nodes. A healthy run looked stalled,
and the Graph card one row below it reported a contradicting number.
The checklist is seeded once from the plan markdown when the user saves a plan
and is never written again during a Graph run: Graph nodes carry no reference
to thread todos in either direction, so no checklist-to-node mapping exists to
synchronise. The authoritative count was already on screen — the Graph card
reports accepted nodes — so the defect was the contradiction, not a missing
metric.
While a live Graph run owns the thread the checklist chip now presents itself
as a static plan outline ("Plan outline · 19 steps"), says so in its accessible
name, and explains in its detail popover that Graph reports execution progress.
The new selector shares selectComposerGraphRun with the Graph card so the two
surfaces can never disagree about which one is authoritative. The demotion is
scoped to non-terminal runs: a thread that later runs ordinary todo-writing
turns keeps its own step progress.
Adds a desktop end-to-end harness that seeds a real 19-item GUI plan through
the runtime, puts an 11-node Graph run on the thread, and records screenshots
plus a WebM/MP4 walkthrough of the four states.
Fixes #1202
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The checklist demotion read the Graph store directly while the Graph card is gated on showGraphProgress. If Graph Mode is disabled mid-run (or the code-execution surfaces are hidden), the checklist stayed demoted to a plan outline and its popover hint pointed at a Graph card that was not rendered. Pass the same enabled flag the Graph card receives so both surfaces demote and report together.
…rogress-staleness fix(chat): stop the plan checklist from faking Graph progress
The policy proxy raced an unbounded dns.lookup before answering CONNECT, so an unresponsive VPN DNS made browser_use open hang forever with the preview spinner stuck on loading. Bound the lookup with a 10s deadline (dns_timeout), surface the underlying failure detail in navigation_failed results, and audit successful opens for future diagnosis.
…gemini-3.7 ids Gemini CLI subscription providers were never persisted or selectable: the shared-connection baseUrl-optional whitelist omitted the gemini-cli-api kind, so the sync loop skipped the provider entirely and registry projections dropped it from AppSettings, which surfaced as "connection works but the provider cannot be saved / used on the main page". - Add sharedConnectionBaseUrlOptional and use it for connect, catalog commit, credential connect, and settings projection paths - Add gemini-cli-api to the renderer SharedModelConnection kind union - Bootstrap the Code Assist catalog with gemini-3.7-pro-preview and gemini-3.7-flash-preview wire ids (shared preset + provider-catalog) - Merge synced catalogs with user-added ids via geminiCliApiCatalogPatch, with a conservative vision/tool-calling profile for unknown ids
Unified Workbench Design follow-ups resolved the task lock from the render-time thread snapshot. After a lean list refresh or restart the snapshot lost designProfile, so the next Design turn minted a fresh document/board profile and Runtime admission rejected it with design_profile_locked (#1206). Resolve the authoritative lock from the thread detail before submit, pin the locked board instead of creating a new drawing, omit profile fields when the identity cannot be rebuilt so admission reuses the lock, keep lean list refreshes from wiping the local lock, self-heal the store after a 409, strip Design profile fields from Code sends, and enrich the 409 details with the locked document/board and mismatch kind.
… completion Route pools now require a content commit point before marking a target healthy: usage-only, completed-only, and empty streams fail over to the next target and end with the aggregate exhaustion error when none produces content. The round outcome coordinator adds a terminal model_empty_response safety net after bounded recovery windows decline to act, persisting a failed turn with an error item, an error event, and turn_failed instead of turn_completed. ModelRoundEngine also synthesizes a diagnostic when a provider ends with only completed(stopReason=error) and no error chunk, so failed turns always carry a renderable message.
- Implemented a popover for displaying detailed turn usage information. - Added new types for reference price breakdown and associated items. - Created utility functions for formatting turn usage costs and counts. - Updated the TurnUsageRow component to handle visibility and placement of the popover. - Introduced tests for popover placement calculations. - Enhanced localization files with new strings for turn usage details. - Refactored existing code for better readability and maintainability.
…ponents - Implemented local cost visibility in ProviderQuotaPanel when upstream probe fails. - Enhanced ProviderQuotaPanel to display local cost summary using ProviderLocalCostSummaryView. - Updated tests for ProviderQuotaPanel to validate local cost behavior. - Introduced new types for local cost coverage and summary in provider-quota.ts. - Added styles for local cost display in provider-quota-panel and tray-provider-quota. - Extended thread usage hooks to handle local cost estimates and coverage. - Updated localization files to include new strings for local cost features.
- Removed legacy properties from DurableDesignCanvasTurnCompletion type. - Simplified image placement logic in placeGeneratedImagesForTurn function. - Enhanced image result handling by including width and height in GeneratedImageResult type. - Updated tests to reflect changes in image generation and placement behavior. - Improved prompt messages for clarity on image generation workflow in design turns. - Ensured successful image materialization is handled correctly during turn completion.
…unctionality - Updated tooltip text for the restart action to provide clearer user guidance. - Added support for tooltip wrapping to accommodate longer messages. - Modified aria-labels to reflect the new functionality and improve accessibility. - Implemented internationalization for the tooltip text in Chinese. - Enhanced test coverage for tooltip behavior and restart actions. - Introduced thread-specific right panel expansion state management. - Added utility functions for managing thread right panel expansion preferences. - Updated styles for tooltip wrapping in the top bar action buttons. - Refactored dev preview detection to support new auto-open signal structure. - Improved chat store maintenance actions to clear thread-specific preferences.
- Introduced `placeRectNearAnchorAvoiding` function to improve placement of revisions beside their source images. - Updated `placeGeneratedImagesForTurn` and `materializeHistoricalGeneratedImages` to support preserving target revisions. - Modified `ensureGeneratedImageOnCanvas` to handle image revisions more effectively. - Enhanced image annotation dispatch to include image edit reference paths and prevent unnecessary updates to source images. - Updated design turn prompts to clarify handling of existing images and revisions. - Added tests to validate new behavior for image annotations and design turn submissions. - Refactored design locked profile functions to wait for canvas document readiness. - Adjusted styles for composer status overlay for better visual alignment.
- Introduced `setSpreadsheetMutations` action to manage spreadsheet mutations in the document state. - Added `convertSpreadsheet` and `reloadSpreadsheetConflict` actions for handling spreadsheet conversion and conflict resolution. - Updated `WriteDocumentSession` and `WriteWorkspaceState` types to include spreadsheet-related properties. - Enhanced document saving logic to accommodate office documents with spreadsheet formats. - Implemented new workspace spreadsheet types and constants for mutation limits and styles. - Updated app settings to include new model request retry defaults versioning.
…node_modules Move @univerjs/presets, @univerjs/preset-sheets-core, pptx-preview, and docx-preview to devDependencies. Vite already compiles them into out/renderer, so electron-builder was shipping a duplicate production copy inside app.asar, pushing the macOS arm64 app to 947.7 MiB, the DMG to 305.4 MiB, and the ZIP to 319.9 MiB. Add a renderer-bundled-only regression check to check-packaged-runtime-dependencies.cjs so these packages cannot silently re-enter the production dependency graph.
- Added `evaluateSpreadsheetExternalRebase` function to handle external changes in XLSX previews. - Introduced `SpreadsheetExternalRebase` type to encapsulate rebase results. - Enhanced `diffUniverWorkbook` to return base fingerprints for mutations. - Updated localization files to include new messages related to external conflicts and spreadsheet actions. - Implemented conflict resolution logic in `createWriteSpreadsheetActions` to manage local and external changes. - Added tests for spreadsheet editor coordination and conflict resolution. - Refactored workspace store types to accommodate new properties for handling spreadsheet conflicts.
…rize-ipc-allowlist fix(threads): let the sidebar summarize a session
There was a problem hiding this comment.
PR checks failed. Please fix the failing CI jobs before merging.
Failed jobs:
- Build ad-hoc macOS packages (PR)
Run details: https://github.com/KunAgent/Kun/actions/runs/32392018124
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.
Summary
Release Kun v0.3.6 from the validated
developbranch.Release contract
v0.3.6v0.3.5release/release-v0.3.6.md6daa705).Validation
develophead:v0.3.6