Skip to content

自动保存缺少明确状态反馈,需核查设置页提交与持久化语义 #1160

Description

@qqqqqf-q

问题

部分设置页面移除手动保存后采用静默自动保存,但用户缺少判断“正在保存、已保存、尚未保存或保存失败”的明确反馈。控件显示新值不等于后端已经持久化;用户无法判断何时可以离开或刷新。

本 issue 单独记录自动保存的反馈与提交语义,不要求立即实施,也不主张给所有页面恢复保存按钮。

已有依据与待确认部分

  • feat: autosave settings surfaces, drop manual save buttons #940 将 Bot general、heartbeat、compaction、tool approval 和已有 provider 编辑等设置改为自动保存,其描述明确采用成功静默、失败提示的策略。
  • 当前核查源码 apps/web/src/composables/use-autosave-queue.ts(7c97536e4cbb67fbef0805c72513f3ce23458928)内部维护保存队列,但对调用方仅返回 scheduleSync、stop,没有统一可订阅的保存状态。个人资料页也采用成功静默的自动保存。
  • 历史反馈(2026-08-20):配置 Claude Code 第三方接入时,页面没有保存按钮,填写后被理解为已自动保存,但刷新后内容丢失;同时明确提出自动保存应有界面反馈。此项是历史用户报告,尚未在当前版本复现,也尚未确定是保存、缓存、SDK 还是版本差异。
  • “多个页面缺少反馈”需要逐页核实,不能把共享队列的行为当成所有页面都相同的证明。

待调查范围

从上述已转换的设置页及 ACP 配置入口开始,逐页记录:保存触发时机(选择、输入、防抖、失焦、确认)、请求中的状态、成功/失败反馈、离开与刷新行为,以及 OSS / Cloud 和部署版本差异。

将两个问题分别验证:

  1. 保存成功但用户看不到状态。
  2. 实际没有持久化或读回旧值,却让用户误以为保存成功。

预期与验收方向

  • 自动保存区域提供轻量且一致的状态反馈,能区分待保存、保存中、已保存和失败;不需要每次成功都弹 toast。
  • “已保存”以最新编辑对应的请求成功为依据,不能仅根据本地控件或乐观状态判断;连续修改与请求失败时也不能误报。
  • 失败明确提示并提供恢复方式;保留草稿或回滚的行为应清楚。
  • 对尚未提交或仍在保存的内容,明确离开/刷新时的处理;对已保存内容不增加多余确认。
  • 需要显式提交或有副作用的表单保留清晰的保存入口,避免同一字段出现“确认后还要另存”的歧义。
  • 验证慢网、断网、连续修改、立即离开/刷新及重新进入后的读回结果。界面反馈测试与真正持久化测试分开记录。

关联

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugFixes a bug or unexpected behavior

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions