中文: 移除设置页标题条的外层 sticky 容器和向上遮罩,避免滚动到底部时出现大面积空白边框;改回单层 sticky 标题按钮,并保留放大字号、灰色粗边框和无阴影样式。
English: Remove the sticky wrapper and upward mask from settings section headers to prevent large blank bordered areas near the bottom of the settings page, while keeping a single-layer sticky button with enlarged text, a thicker gray border, and no shadow.
中文: 为设置页 sticky 标题条增加向上遮罩,并保持标题字号放大、灰色边框加粗、无阴影,避免滚动时设置内容露到标题上方。
English: Add an upward mask for sticky settings section headers while keeping the enlarged title, thicker gray border, and no-shadow styling so scrolled content cannot bleed above the header.
中文: 为五个设置页卡片标题按钮增加 CSS sticky 吸附效果,保持原有折叠展开与局部刷新机制,不引入滚动监听。
English: Add CSS-only sticky behavior to all five settings card headers while preserving the existing collapse/expand and local refresh behavior without scroll listeners.
中文: 进一步稳定设置页下拉框边框显示,避免 Anki 映射行中的 select 控件在选择后被裁剪。
English: Further stabilize select border rendering in the settings Anki mapping rows after note type selection.
中文: 将常规问答题、问答题(多级列表)和填空题的 Anki 映射行统一为相同列宽,让输入框视觉上平齐。
English: Use the same column widths for basic, QA group, and cloze Anki mapping rows so their controls align visually.
中文: 缩减问答题(多级列表)设置行中模板和题目字段区域的宽度,并让问题/答案字段识别摘要保持单行显示。
English: Tighten the QA group note type and title field columns, and keep the detected Q/A slot summary on one line.
中文: 将问答题(多级列表)的题目字段改为可选择下拉框,并将问题/答案字段摘要简化为只显示已识别组数;同步逻辑保留用户选择的题目字段。
English: Make the QA group title field selectable, simplify the Q/A slot summary to the detected pair count, and preserve the selected title field during sync and cache refresh.
中文: 将 Anki 模板、问题字段、答案字段改为三个整体自适应分组,避免最后一组被卡片边界裁切。
English: Group the Anki template, question field, and answer field controls into three adaptive columns so the row stays inside each card.
中文: 设置页卡片类型行的模板和字段控件改为自适应宽度,保留同一行布局并减少过宽下拉框。
English: Make card type template and field controls fluid while preserving the single-row settings layout and reducing oversized dropdowns.
中文: 设置页手动读取 Anki 模板时改为批量读取字段并缓存到 data.json,重新打开设置页可直接使用缓存字段。
中文: 修复字段缓存 loadedAt 类型收窄和测试 fake 缺少批量字段接口导致的 production build 失败。
English: Batch-load Anki model fields for settings, cache them in data.json, and reuse cached fields when reopening the settings page.
English: Fix production build failures by narrowing cached loadedAt values and adding the batch field API to test fakes.
中文: 优化设置页卡片类型布局,隐藏语义问答题与 AnkiConnect URL;允许多级列表问答题从 Anki 模板中选择笔记类型和字段。
中文: 将手动读取到的 Anki 笔记模板列表缓存到 data.json,设置页重新打开后下拉菜单可直接使用上次读取结果。
English: Refine the settings card-type layout, hide Semantic Q&A and the AnkiConnect URL, and let nested-list Q&A use selectable Anki note types and fields.
English: Cache loaded Anki note templates in data.json so settings dropdowns can reuse the last loaded list after reopening.
重构设置页采用五个卡片外壳,提升布局稳定性和局部刷新体验;通过 cardTypeConfigs 驱动各卡片的识别配置,并完成初步的功能测试与验证。 / Refactored settings page into five cards for better stability and partial refresh; unified recognition configurations via cardTypeConfigs with initial testing and verification.
中文: 修复设置页文件夹树半选逻辑,子文件夹选择不再自动提升为父文件夹;补充 Anki Heading Sync 插件同步路径说明。
English: Keep child folder selections explicit in the settings tree, render parent folders as indeterminate, and document the Anki Heading Sync plugin sync target.
覆盖普通卡、Cloze、语义 QA 与 QA Group 12,新增回链名称与放置位置设置、渲染位置控制、QA Group 模板漂移更新与 renderConfigHash 失效。
Cover normal cards, cloze, semantic QA, and QA Group 12 with configurable backlink label and placement, placement-aware rendering, QA Group template drift updates, and renderConfigHash invalidation.
EN: Implement one-way Obsidian to Anki tag sync, nested tag normalization, pure tag-line body cleanup, and QA Group coverage.\nZH: 实现 Obsidian 到 Anki 的单向标签覆盖、嵌套标签规范化、正文纯标签行清理,并补齐 QA Group 覆盖。
- 新增完整双语 i18n 支持,支持按 Obsidian 语言自动切换
- 实现结构化 warning / user error 渲染
- Added full bilingual i18n support with automatic switching based on Obsidian language settings
- Implemented structured warning and user error rendering
中文: 修复 QA Group 同步链路中的多处稳定性问题,包括可点击回链、丢失 noteId 时自动重建、避免在未指定目标 deck 时误调用 changeDeck,以及统一设置页 note type 下拉行为。
English: Fix multiple QA Group stability issues, including clickable backlinks, self-healing recreation when stored noteIds are missing, skipping changeDeck when no target deck is provided, and unifying note type dropdown behavior in settings.
- 修复 QA Group model 管理的 AnkiConnect payload 契约,模板与样式更新改为嵌套 model payload
- 修复 QA Group model 自检与更新链路,补充带 action/model 上下文的错误信息与回归测试
- 解耦 QA Group 与旧 semantic-qa mapping 路径,设置页移除保留 model 的旧映射入口并增加只读状态说明
- Fix the AnkiConnect payload contract for QA Group model management by using nested model payloads for template and styling updates
- Repair the QA Group model ensure/update flow with action/model-aware errors and regression tests
- Decouple QA Group from the legacy semantic-qa mapping path by removing the reserved model from old mapping controls and adding read-only status guidance
Add a parallel QA Group 12 sync path with GI writeback, fixed model management, and GroupId recovery semantics.
新增并行 QA Group 12 同步路径,支持 GI 写回、固定模型管理,以及基于 GroupId 的恢复语义。