Skip to content

v0.3.2

Choose a tag to compare

@nzlov nzlov released this 09 Sep 00:21
· 11 commits to master since this release

v0.3.2

中文

本版本为 Side 临时提问新增模型配置和附件支持,改进事件自动滚动、文件下载及移动端图片预览,并在关闭含未提交修改的卡片工作树前增加确认。同时调整素材处理指引,允许将用户已授权的正式素材纳入项目。

Side 临时提问与执行

  • 新建 Side 和继续追问均支持选择模型、思考强度和快速模式,初始配置沿用来源卡片,并可独立调整。
  • 支持上传图片和其他文件,也可以仅提交附件;请求失败时保留草稿与附件,便于重试。
  • 每个 Side 独立保留追问草稿和配置,切换 Side 时不会清空输入。
  • 附件临时文件在 Side 多轮追问期间保持可用,在停止、关闭 Side、离开页面或运行时退出时清理。
  • 校验临时会话归属及可用状态,阻止跨卡片续跑、继续已关闭的 Side,以及同一 Side 同时执行多个回合。
  • 每轮执行显式传递模型和快速模式对应的服务等级,使新建与后续回合正确应用所选配置。
  • Side 继续以只读权限运行,不修改来源卡片的运行配置。

事件浏览与输入体验

  • Side 与卡片详情复用事件自动滚动逻辑:位于底部时跟随新事件,向上浏览历史时保留当前位置。
  • 打开 Side 对话框或切换 Side 时滚动至最新事件。
  • 为 Side 输入区域增加高度约束和内部滚动,改善长提示词及配置控件的布局。

文件下载与媒体预览

  • 为问题附件和会话产物事件的完整预览补齐下载按钮,批注工具栏内也可直接下载。
  • 文件下载改由浏览器原生下载流程处理,无需先将整个文件读取为前端 Blob;统一覆盖附件、临时文件及工作区文件下载。
  • 通过鉴权接口获取短期下载凭据,凭据绑定具体资源及查询参数,并对携带凭据的响应设置禁止缓存和禁止发送来源信息的策略。
  • 修复图片首次打开时的尺寸与布局问题,使图片及视频适应实际预览容器。
  • 修复移动端及独立预览页的高度、滚动和内容溢出问题;缩略图和悬浮预览关闭批注控件。
  • 修正图片平移边界,避免缩放和拖动手势拦截批注工具栏操作。

卡片关闭与工作树保护

  • 手动关闭卡片前检查工作树是否包含未提交变更,包括已暂存、未暂存及未跟踪文件。
  • 存在变更时提示关闭会清理工作树并丢弃修改,用户确认后才继续;取消时保留卡片及工作树。
  • 首页、聊天卡片详情和终端卡片统一使用关闭确认流程;工作树干净、已清理或不存在时无需额外确认。
  • 检查工作树失败时返回错误并阻止关闭,避免跳过检查直接清理。
  • GraphQL CloseSessionInput 新增可选字段 confirmWorktreeClose;需要确认时返回 worktree_close_confirmation_required,客户端应在用户确认后携带该字段重试。

正式项目素材

  • 明确区分预览、下载和过程验证使用的临时文件与需要纳入项目的正式素材。
  • 临时文件继续保存到 ANYCODE_ARTIFACT_DIR;在用户请求或授权范围内,正式素材可按项目目录约定复制、移动或生成到工作树,已有授权无需重复确认。

English

This release adds model configuration and attachments to ephemeral Side questions, improves event auto-scrolling, file downloads, and mobile image previews, and asks for confirmation before closing card worktrees with uncommitted changes. It also updates asset-handling guidance to allow authorized production assets to be included in projects.

Side questions and execution

  • Support model, reasoning-effort, and fast-mode selection for both new Side questions and follow-ups. Initial settings inherit from the source card and can be adjusted independently.
  • Accept images and other file attachments, including attachment-only messages. Preserve drafts and attachments when requests fail so they can be retried.
  • Keep follow-up drafts and settings separately for each Side without clearing input when switching between them.
  • Keep temporary attachments available across Side turns, and clean them up when the Side is stopped or closed, the page is left, or the runtime exits.
  • Validate temporary-thread ownership and availability, preventing cross-card continuation, continuation of closed Sides, and concurrent turns within the same Side.
  • Explicitly pass the selected model and fast-mode service tier on each turn so configuration applies to both initial and subsequent turns.
  • Continue running Side with read-only permissions without changing the source card's execution settings.

Event browsing and input

  • Share event auto-scrolling behavior between Side and card details: follow new events while at the bottom and preserve the scroll position while browsing earlier content.
  • Scroll to the latest event when opening the Side dialog or switching Sides.
  • Constrain Side input height and enable internal scrolling to improve layouts with long prompts and configuration controls.

File downloads and media previews

  • Add download buttons to full previews for question attachments and session artifact events, including previews with annotation toolbars.
  • Use native browser downloads without first loading the entire file into a frontend Blob, consistently covering attachments, artifacts, and workspace files.
  • Obtain short-lived download credentials through authenticated endpoints. Bind credentials to the specific resource and query parameters, and disable caching and referrer transmission for credential-bearing responses.
  • Fix initial image sizing and layout so images and videos fit their actual preview containers.
  • Fix height, scrolling, and overflow issues on mobile and standalone preview pages. Disable annotation controls in thumbnails and hover previews.
  • Correct image panning bounds and prevent zoom and drag gestures from intercepting annotation-toolbar interactions.

Card closing and worktree protection

  • Check for uncommitted worktree changes before manually closing a card, including staged, unstaged, and untracked files.
  • When changes exist, explain that closing will clean up the worktree and discard those changes, and proceed only after confirmation. Canceling preserves the card and worktree.
  • Apply the same confirmation flow to the overview, chat-card details, and terminal cards. Clean, already-cleaned, or missing worktrees require no additional confirmation.
  • Return an error and block closing if worktree inspection fails, preventing cleanup from bypassing the check.
  • Add the optional confirmWorktreeClose field to GraphQL CloseSessionInput. Return worktree_close_confirmation_required when confirmation is needed; clients should retry with this field after user confirmation.

Production assets

  • Distinguish temporary files used for previews, downloads, and intermediate verification from production assets that belong in the project.
  • Continue storing temporary files in ANYCODE_ARTIFACT_DIR. Within the user's request or authorization, production assets may be copied, moved, or generated into the worktree following project asset-directory conventions, without requesting the same authorization again.

Complete commit list / 完整提交列表

  • 6522fc6 — Add missing preview download buttons and use native browser downloads with scoped, short-lived credentials.

    补齐预览下载按钮,并通过绑定资源的短期凭据使用浏览器原生下载。

  • 8b11e03 — Fix initial image layout, mobile preview sizing, panning bounds, and toolbar gesture handling.

    修复图片初始布局、移动端预览尺寸、平移边界及工具栏手势处理。

  • 2b7ef95 — Add Side model configuration and attachments, preserve attachment lifetime across turns, and share event auto-scrolling.

    为 Side 增加模型配置和附件支持,维护跨回合附件生命周期,并复用事件自动滚动。

  • 3bc9f77 — Allow authorized production assets to be included in project worktrees while keeping temporary outputs in the artifact directory.

    允许将已授权的正式素材纳入项目工作树,临时输出继续保存在产物目录。

  • ad5595d — Require confirmation before manually closing cards with uncommitted worktree changes.

    手动关闭含未提交工作树变更的卡片前请求确认。

查看完整变更 / Full changelog: v0.3.1...v0.3.2