0.3.11 - #1343
Merged
Merged
0.3.11#1343
Conversation
Room steps deliver their result through a scoped submission tool such as submit_room_plan, submit_room_review, declare_room_checks, or send_room_message. Once that tool result is accepted, some providers (for example the Codex responses endpoint) finish the follow-up round with only a reasoning item and no visible output. That stream decodes to nothing and previously tripped the model_empty_response safety net, failing the whole room request even though the plan was already durably accepted. Skip the empty-response failure when the turn is a room step that already recorded an accepted scoped submission, so the room runner can consume the structured result normally. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
A scoped room submission (submit_room_plan, submit_room_review) is durable once its tool result reports accepted:true. A turn that then ends failed — for example a transport error or provider failure on the final synthesis round — previously discarded the submission and failed the whole request or review. The coordination and review runners now recover a schema-valid accepted submission from a non-completed turn instead of failing, matching the loop-level rule that an empty post-submission stream is a normal stop. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Introduced remote access settings in the application, allowing users to enable remote access to the workbench. - Added new localization files for remote access in English, Hindi, Japanese, Korean, Russian, Thai, and Chinese. - Implemented normalization and merging functions for remote access settings. - Updated app settings types to include remote access configurations. - Created tests for remote access settings to ensure proper functionality and defaults. - Enhanced the GUI API surface to support remote access operations.
…isibility toggle - Added QR code generation for remote access URLs. - Implemented password visibility toggle in the password input fields. - Improved UI components for better accessibility and user experience. - Updated translations for new features in multiple languages. - Enhanced file upload handling for remote web mode.
…sized devices - Added support for a mobile layout in the remote web environment, allowing for a more user-friendly experience on narrow viewports. - Introduced a bottom sheet presentation for the right panel, enhancing accessibility and interaction on mobile devices. - Updated various components (e.g., WorkbenchTopBar, WorkbenchSideRail, WorkbenchLeftSidebar) to accommodate mobile-specific behaviors and styles. - Implemented responsive CSS rules to ensure proper display and functionality on mobile devices. - Enhanced localization files to include new terms related to the mobile layout.
Let new Rooms Agents be defined in a chat interview or a profile form, and let the form take over mid-interview without mixing setup prompts into the stable system prefix. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the remote-web phone layout on a single-row topbar (compact session title, icon-only affordances, no wrap), balance the empty-state hero so it stops orphaning characters, and make the composer a rounded card with single-line horizontally scrolling control rows and a 16px iOS-zoom-safe textarea. The expand-workspace toggle is hidden on remote mobile because the "..." bottom sheet already covers right-panel access. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The Remote panel can now probe the host for a Tailscale install and, when the tailnet is up, surface the device tailnet address as a ready-to-copy access URL — giving users a documented path for reaching Kun from outside the LAN through their own VPN instead of a public relay. The probe is host-only: remote tailscale detect is intentionally left out of the remote invoke allowlist so browser clients cannot trigger host-side process checks. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
GUI projects can keep extra writable roots beside the primary workspace, sync them onto Code threads, and show them in the file tree without creating a second sidebar project. Co-authored-by: Cursor <cursoragent@cursor.com>
Zero the 5.25rem desktop side-rail reserve and switch the centering clamp to a fixed 12px page gutter so the timeline and composer span the full phone width. Tighten the user bubble (88% max width, 18px radius, smaller padding) and drop the composer inner-glow ring on small screens.
…sualization - Introduced `ChartSvg`, `CartesianMarks`, and `RadialMarks` components for rendering various chart types. - Implemented `ChartTooltip` for displaying hover information on charts. - Updated `deriveTurnSections` to manage completed and pending chart blocks effectively. - Enhanced `ConversationTurn` to include loading states for pending charts using `ChartSkeleton`. - Refactored localization strings to rename "Conversation visualization" to "Session display optimization" across multiple languages. - Updated settings type definitions to reflect changes in visualization features.
Keep the composer mention menu above timeline text with an opaque popover, and show each candidate's room avatar. Co-authored-by: Cursor <cursoragent@cursor.com>
Empty discussion workspaces were clamped to delegated '.' scopes, so members could not inspect a named project. Keep writes and commands read-only while allowing host file reads and Fast Context inheritance. Co-authored-by: Cursor <cursoragent@cursor.com>
Let Work, Design, and Code boards pick Excalidraw per board without converting scenes, while PPT and HTML/SVG drafts stay on the Kun canvas. Co-authored-by: Cursor <cursoragent@cursor.com>
GUI-launched Electron often misses the Tailscale CLI on PATH, so the panel reported installed-but-disconnected even when utun already had a 100.64/10 address. Scan interfaces first, keep CLI as a fallback, and auto-detect when the remote panel opens. Co-authored-by: Cursor <cursoragent@cursor.com>
Use locale-aware auto voice and SHA-verified WASM/weights so first Chinese playback caches about 10MB, and drop onnxruntime-node plus phonemizer from the packaged app. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Author provider-management translations for ja, ko, ru, hi, and th, and add the missing gateway exposure keys to each locale's model-routes resource so locale completeness tests pass and the UI stops falling back to English. Also correct the failover group strategy comment: the value is only nominal for the synthesized pool since orderGroupMembers already decides member order.
Members may opt into 'mentions' attention so ordinary peer discussion fan-out no longer reaches them; explicit @-mentions and structured invitations still arrive, the default member stays designated on mention-less requests, and task notices reach the owner plus all-attention members. Members without the field behave as 'all'. Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
RoomRuntime.tick now reports whether the pass found live work (pending or\nrunning requests, unfinished tasks, in-flight integrations, peer topics with\nlive or deferred member work, in-progress participation triages, memory jobs,\nand unfinished handoffs). Active runtimes keep the one-second cadence; idle\nones wait min(15s, time to the nearest scheduled reminder), with a one-second\nfloor for past-due reminder retries.\n\nExplicit wake() calls stay immediate: a pending backoff timer is cancelled and\nreplaced with a zero-delay tick, and a wake arriving mid-pass is queued and\ndrains as soon as the current pass ends.\n\nWake coverage was extended to every durable work-producing mutation that\npreviously relied on the unconditional rescan: proposal resolution, reminder\ncancellation, room PATCH, task recovery, integration prepare/action, private\nworkspace epoch bumps, and the reminder agent tools.
Route every room-facing prompt builder and tool description through a new room-ax-surfaces registry: peer and legacy discussion prompts, participation-check instructions, the private-agent system prompt and turn input, reminder wake input, handoff prompt, history-summary and rule-compression prompts, poll invitations, collaboration guidance, playbook index and bodies, and all 18 room tool descriptions. Each surface carries a description and example inputs; a Vitest suite snapshots every rendered example and asserts the advertised tool descriptions match the registry. scripts/render-room-ax-surfaces.mjs renders the registry to dist/room-ax-surfaces.md for review.
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Rooms bot-mode improvements adopted from the raft-source comparison: collaboration guidance, read_room_playbook, send-time freshness hold, proposal cards, private-chat reminders, busy-turn steering, member attention mode, idle tick backoff, and AX surface registry. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and interpretation features - Removed the existing work-paper-reading-plan.zh-CN.md file. - Developed a comprehensive plan for integrating paper reading functionalities into the Work platform. - Introduced features for importing papers from arXiv and papers.cool, generating structured notes, and creating visual interpretations using Excalidraw. - Established a clear directory structure for paper units, including metadata, notes, and figures. - Defined key decisions regarding data handling, user interactions, and system architecture to ensure efficient processing and user experience.
- Updated @tiptap packages to version 3.31.3 for improved features and bug fixes. - Upgraded dompurify to version 3.4.15 for security enhancements. - Updated mermaid to version 11.17.2 for new functionalities. - Enhanced regex for invalid file name characters to include control characters.
Turn the papers surface into a focused three-column research workspace: - library and discover sources (arXiv/feeds/venue) live as virtual editor tabs, with the library tab pinned and restored from persisted layouts - reader drops fixed toolbar/bottom bar for floating navigation, zoom, page, search, tone, translate, and drawer capsules - selection menu gains translate card, quick-ask popover, comment gutter, and add-to-conversation actions - sidebar adds paper tree, metadata info panel, library switcher, and status/tag/group filters - assistant shows paper-aware suggestions and a paper context chip via a composer bridge - floating task ring aggregates paper jobs with stage display and cancel - library rows switch to compact status dots; discover cards refreshed Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The sidebar library switcher dropdown and info panel used bg-ds-panel, which is not a defined color token, so both rendered transparent and overlapping content bled through. Same for ds-accent/ds-active/ ds-surface-subtle across the paper reader and sidebar — icons, buttons, active states, and input fills silently lost their styling. Map them to the real tokens (accent, ds-hover, ds-subtle, ds-card) and surface the library-empty hint that was unreachable behind an early return. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The floating translate button dead-ended on "paper.md missing" when the unit had not been preprocessed. Mirror interpretPaper: run preprocessing on demand (automatically when autoPreprocess is enabled, otherwise after a confirm), then continue into the translate confirmation. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…dfReader - Introduced PaperTranslateSettingsDialog for configuring translation settings. - Refactored translation logic in PaperPdfReader to utilize usePaperReaderTranslate hook. - Enhanced error handling for translation requests, allowing users to configure settings on failure. - Updated UI components to reflect new translation features, including a floating translate card and notices. - Added localization strings for new translation features in multiple languages.
The 0.3.11 renderer bundle (11.4k modules) pushed peak old-space past the ~4 GiB default heap on the 16 GB Linux CI runners, aborting the x64 packaging job with a V8 OOM during "rendering chunks". Route `electron-vite build` through scripts/run-electron-vite-build.cjs, which applies --max-old-space-size=6144 unless NODE_OPTIONS already pins a cap, so the macOS jobs keep their deliberate 4096. Also disable per-chunk gzip size reporting in all three electron-vite targets: it costs heap on large builds and the desktop package never consumes the numbers. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…earch tools R0: split the PDF reader monolith into PaperUnitPdfReader plus focused hooks (selection, position, translate card, immersive, page translate) and a PaperPageStack render layer. R1: reader layout presets (⌥1/2/3, persisted), immersive mode (F, data-immersive, fullscreen sync), 250ms-stable auto selection translation with a collapsible card, comment gutter connector lines with anti-overlap layout and <900px dot mode, info-panel external links, and tree-row actions/status dots. R2: pure pdf text-block extraction, per-page translation overlays with batched IPC + cache + stop, optional side-by-side translated mirror with scroll/zoom sync, ⌘. region visual marks with PNG capture and composer attach, and link/citation hover cards. R3: reading heat bar driven by a cached reading-activity IPC, copyable page-deep-linked citations from gutter/drawer/visual cards, and a citation-neighbor graph in the references drawer. New IPC follows schema -> trusted handler -> preload -> shared contract; translations reuse paper-translate-service; seven locales updated. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Give the agent read-only memory_search/memory_list tools (no approval) so it can enumerate and recall long-term memories, and add authority=directive for user-approved standing rules that are injected every turn across the native loop, Agent SDK, and Cursor SDK paths. Ordinary memories stay untrusted reference evidence; directive creation/update always requires an explicit human decision, imports and distillation can never produce directives, and the GUI gains authority filters, rule promotion, directive diagnostics, chat chips, and approval hints. Refs #1344 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Create memory_records_authority_idx only after the authority column exists so existing V1 SQLite indexes upgrade instead of failing and pinning the store to filesystem fallback. - Pass the caller's live memory policy through listDirectives so the shared manager repository honors directive enablement and budgets per request. - Require authority=directive (forced user decision) for memory_update calls that re-enable, re-time, or rewrite an existing directive. - Respect policy.scopes in directive selection and memory_list. - Add a V1 -> V2 index migration test and fix the stale schema version assertion in the hybrid store test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fold the merge-resolved floating stack (selection menu, ask popover, translate card + mini chip, notice pill, settings dialog) into PaperReaderOverlays and the R2.3 mirror render into PaperTranslatedMirror, keeping PaperUnitPdfReader under the 700-line gate after the develop merge. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- Removed unused dependencies: @tiptap/extension-mathematics, @tiptap/extension-node-range, @tiptap/suggestion, dompurify, lucide, mermaid, prosemirror-highlight, prosemirror-search. - Re-added dependencies: @tiptap/extension-mathematics, @tiptap/extension-node-range, @tiptap/suggestion, dompurify, lucide, mermaid, prosemirror-highlight, prosemirror-search in the appropriate sections of package.json. - Added runner.json for whisper-cli with details for darwin-x64 platform. - Added whisper-cli binary for darwin-x64.
…bench design - full-page views (library, discover) take the whole center when focused; the NOTES group stays mounted but hidden, and empty split groups fold so paper mode never shows the docs start page - add an alpha-capable `accent-tint` color and replace ~110 var()-token opacity classes in paper UI that Tailwind silently dropped (toggle track, selected rows, chips and card surfaces were rendering transparent) - library: real fixed-layout table (min width + horizontal scroll so the title never collapses), sticky header, hairline rows, status dots; new toolbar with search, status tabs, tag/group filters and actions - sidebar: library switcher with an import action, compact library and expandable discover nodes (arXiv today / conference papers / feeds), filters moved into the library toolbar - info panel: collapsible header with copyable arXiv id, icon rows for title/authors/date/venue, inline tag editor, link chips, action grid and edit-metadata button; keeps the last focused paper - reader: neutral gray reading stage with shadowed white pages Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The venue discover tab was an empty page with a bare id input, and its parser picked up subject links instead of paper titles. - scrape the papers.cool venue catalog (series, editions, tracks) with a 12h cache and expose it over `paper-discover:venue-catalog` - parse venue pages into full cards (authors, abstract, PDF, forum link, track, reads) with total count, `group` filter and `skip` paging - venue pane: series chips, year and track segments, filter over loaded papers, load-more paging; opens the newest edition of the first series on first visit and falls back to a manual venue id when the catalog fails - move shared discover card parts into their own module; treat imported papers.cool ids as already in the library Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Kun paper-search engine: arXiv, OpenAlex, Semantic Scholar, papers.cool (conference proceedings and arXiv), Crossref and Europe PMC queried concurrently with per-source timeouts, one retry on 429, and results merged on DOI / arXiv id / venue id / normalized title with reciprocal-rank fusion - `paper_search` tool advertised on Work turns so the assistant can run iterative literature searches; output is a compact ranked listing with ids the user can import - GUI "Paper search" view (sidebar + tab): source chips, year range, merged result cards with per-source status, sort by relevance/citations/year and one-click import; "Agent search" hands the question to the paper assistant with a multi-round search brief - the main process runs the same engine through the app proxy Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Implements work-paper-search-plan P1-P5: one multi-source engine serves both the Work paper search page and agent tools, so results share provenance, caching, rate limits and degradation state. - paper_search/report/citations/details tools; structured paper lists ride a new model-invisible ToolResult meta sideband into chat cards - connectors for OpenReview, PubMed, HAL, Zenodo, CORE, DBLP, Europe PMC/bioRxiv; result cache, per-source rate limiting and auto-degrade, fuzzy title merge for preprint/version duplicates - settings: per-source toggles, credentials and test-source IPC; API keys only travel via env/hot-apply, never kun.config.json - OA PDF chain (direct link -> arXiv -> Unpaywall -> Europe PMC -> CORE) with PDF title verification, 4-way dedupe and batch import - literature-researcher read-only subagent and Work-mode prompt guidance - search page: Agent tab, history, filters, bulk import/export/send-to- assistant, detail pane, keyboard navigation, saved-search feeds Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
The Work stylesheet contract forbids color-mix over --ds-bg-main (UI plugin stages may theme it with gradients). Layer the text-tinted wash as a background-image over an opaque bg-main instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
No description provided.