feat(web): 左栏任务筛选区默认折叠(偏好仍持久化)+ bump 0.12.8
进页面只见「筛选 ▸」一行,点开才展开;用户显式展开过(localStorage 存 "0")才默认展开,否则一律折叠。已选筛选条件折叠后仍生效。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
211b008821
commit
977923b6cf
|
|
@ -21,6 +21,10 @@
|
|||
|
||||
## 已完成关键能力
|
||||
|
||||
### 2026-06-15 / 左栏任务筛选区默认折叠
|
||||
|
||||
- 接 2026-06-13「筛选区可折叠」一条:把默认态从展开改为**折叠**(进页面只见「筛选 ▸」一行,点开才展开)。偏好仍持久化 —— 用户显式展开过(`zcbot.task-filters-collapsed` 存 `"0"`)才默认展开,否则一律折叠。改动:`web/static/js/chat.js`(默认判定 `!== "0"`,onclick 改存 `"1"/"0"`)、`web/static/js/state.js` 注释。bump 0.12.7 → 0.12.8。
|
||||
|
||||
### 2026-06-15 / system prompt 按 backend 注入「运行环境」段:纠正平台误报 + 写明禁外网
|
||||
|
||||
- 接上两条(--shm-size + mmdc wrapper 修执行层)。再查发现**引导层的根问题在 system prompt**:`general_v1.md` 的「平台」段写死 "Windows + cmd.exe",但线上是 **docker = Ubuntu 容器 + bash** ── 模型被误导在 Linux 里打 cmd 构文(`where mmdc 2>nul`),且没引导"渲图走本地",模型以为 mermaid.ink 等在线服务能用、反复去试(其实**境外被墙**,容器有外网但渲图不该依赖出站)白烧 token。
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。
|
||||
# 改版本只动这一行。
|
||||
__version__ = "0.12.7"
|
||||
__version__ = "0.12.8"
|
||||
|
|
|
|||
|
|
@ -196,17 +196,18 @@ $("filter-order").onchange = () => loadTaskList();
|
|||
$("filter-wd").onchange = () => loadTaskList(); // select 选完立即筛
|
||||
$("btn-refresh-tasks").onclick = () => loadTaskList();
|
||||
|
||||
// 筛选区折叠(默认展开;偏好持久化)。折叠只藏 UI,已选中的筛选条件仍生效。
|
||||
// 筛选区折叠(默认折叠;偏好持久化)。折叠只藏 UI,已选中的筛选条件仍生效。
|
||||
function applyTaskFiltersCollapsed(collapsed) {
|
||||
document.body.classList.toggle("task-filters-collapsed", collapsed);
|
||||
$("filter-toggle").textContent = collapsed ? "筛选 ▸" : "筛选 ▾";
|
||||
}
|
||||
$("filter-toggle").onclick = () => {
|
||||
const next = !document.body.classList.contains("task-filters-collapsed");
|
||||
localStorage.setItem(LS_TASK_FILTERS_COLLAPSED, next ? "1" : "");
|
||||
localStorage.setItem(LS_TASK_FILTERS_COLLAPSED, next ? "1" : "0");
|
||||
applyTaskFiltersCollapsed(next);
|
||||
};
|
||||
applyTaskFiltersCollapsed(localStorage.getItem(LS_TASK_FILTERS_COLLAPSED) === "1");
|
||||
// 默认折叠:只有用户显式展开过(存 "0")才展开
|
||||
applyTaskFiltersCollapsed(localStorage.getItem(LS_TASK_FILTERS_COLLAPSED) !== "0");
|
||||
|
||||
// 搜索 q 是 text input → 300ms debounce 避免每字符打 API
|
||||
let _filterDebounce = null;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ export const LS_LEFT_COLLAPSED = "zcbot.left-collapsed";
|
|||
export const LS_RIGHT_COLLAPSED = "zcbot.right-collapsed";
|
||||
export const LS_LEFT_WIDTH = "zcbot.left-width";
|
||||
export const LS_RIGHT_WIDTH = "zcbot.right-width";
|
||||
export const LS_TASK_FILTERS_COLLAPSED = "zcbot.task-filters-collapsed"; // 左栏筛选区折叠偏好(默认展开)
|
||||
export const LS_TASK_FILTERS_COLLAPSED = "zcbot.task-filters-collapsed"; // 左栏筛选区折叠偏好(默认折叠)
|
||||
|
||||
// ?embed=1&parent_origin=https://... → iframe 模式;父页面用 postMessage 推 token
|
||||
// 可选 task_id=<uuid>:首次签发 token 后自动定位到该 task 并加载消息
|
||||
|
|
|
|||
Loading…
Reference in New Issue