ca5b687ee1
feat: config version history — auto-save on deploy, side-by-side JSON diff
2026-07-17 18:47:19 +08:00
232526de06
feat: CSV alarm export — supports filters, Excel-compatible with BOM
2026-07-17 18:16:10 +08:00
3adc1e1a43
refactor: register alarm API routes at /api/ level instead of /ui/api/ — consistent REST design
2026-07-17 18:09:46 +08:00
139baeef5f
fix: add /ui prefix to alarm API calls — chart trending data was 404
2026-07-17 18:06:50 +08:00
a58c99a2f3
feat: alarm trend bar chart on dashboard — past 7 days, pure Canvas
2026-07-17 17:55:36 +08:00
a594e05692
refactor: unify terminology — 视频通道→检测通道, 场景→场景管理, 人脸库管理→人脸库
2026-07-17 17:51:45 +08:00
c71922a05d
fix: hide static msg div when toast shows, prevent double display
2026-07-17 17:45:14 +08:00
53577b0ea6
feat: toast notifications replace URL parameter messages — auto-dismiss, no page reload
2026-07-17 17:43:56 +08:00
b2fbae9e4b
feat: device row warning highlight when online but media server not running
2026-07-17 17:39:53 +08:00
bc5bd7d3fc
fix: alarm badge shows 99+ on initial render for counts above 99
2026-07-17 17:36:16 +08:00
3d7313585c
feat: alarm notification — topbar bell badge + title flash with unacknowledged count
2026-07-17 17:32:19 +08:00
13d22ce848
fix: wizard camera picker — select from existing video sources dropdown
2026-07-17 17:23:50 +08:00
bf0fed23f9
fix: wizard reads device channels from agent /v1/preview/channels instead of SQLite
2026-07-17 17:21:28 +08:00
b50ccda82d
fix: wizard step 2 — separate assigned/added cameras, show loading state for features
2026-07-17 17:06:59 +08:00
3f3a2a0987
feat: deployment wizard — guided 3-step device setup for standard mode
2026-07-17 16:59:00 +08:00
59a18f3e62
feat: dashboard redesign with real-time alarm stream via SSE
2026-07-17 16:43:13 +08:00
3f6f3ddbb5
feat: alarm center enhancement — workflow, severity, filters, SSE
2026-07-17 16:35:42 +08:00
c14173acd2
docs: update improvement plan and tracking based on code review
2026-07-17 16:28:46 +08:00
2b989aa368
docs: add implementation tracking for improvement plan
2026-07-17 16:22:47 +08:00
27584f931a
fix: use vendored hls.js instead of CDN in monitor page
2026-07-17 16:21:31 +08:00
770e50ab7b
chore: ignore editor backup files (*~, *.exe~)
2026-07-17 11:47:39 +08:00
aa76607092
feat: add standard/expert mode toggle for sidebar menu
...
- Add mode toggle switch at sidebar bottom (标准/专家)
- Hide complex system config items in standard mode
- Remove '主模块' nav section header
- Persist mode selection in localStorage
2026-07-17 11:46:37 +08:00
ccde3aeea6
fix: update import path in alarm_collector.go (p0-dashboard merge)
2026-07-17 11:10:16 +08:00
44ad821213
merge: p0-dashboard into master
...
- feat: alarm page date filter, pagination, auto-cleanup
- feat: device batch config apply
- feat: task timestamps, dirty state, confirmation dialog
- feat: gallery builder tools for face registration
- fix: remove transactions causing SQLITE_BUSY
- docs: project documentation for software copyright
- chore: UI improvements across the board
2026-07-17 11:09:06 +08:00
d422ffd48e
refactor: rebrand to SafeSight Control (merge p0-dashboard)
2026-07-17 11:08:47 +08:00
46f264d4d4
refactor: rebrand to SafeSight Control
...
- Rename binary: managerd → safesightd
- Rename config: managerd.json → safesightd.json
- Update Go module: 3588AdminBackend → safesight-control
- Update all import paths and references
- Rename scripts and deploy files
2026-07-17 11:00:12 +08:00
2921c180cb
修改平台名称和界面,增加了项目介绍文档和部分代码注释;为申请软著增加的代码文件。
2026-06-10 14:31:55 +08:00
7a2e82db0d
fix: default alarm range to past 7 days, '全部' from 2020
2026-05-12 17:25:35 +08:00
ad98dee68f
fix: restore '全部' link, keep per_page on same row
2026-05-12 17:16:36 +08:00
bc085533a1
fix: standard pagination with ellipsis (1 … cur±2 … N)
2026-05-12 17:12:45 +08:00
0f4c75fe26
fix: preserve per_page param in pagination links
2026-05-12 17:10:56 +08:00
b4a9772211
fix: pagination shows ±3 pages with prev/next arrows, 20 per page default with selector
2026-05-12 17:09:32 +08:00
8f68fbbb0d
chore: remove redundant '告警中心' title from alarms page
2026-05-12 17:05:55 +08:00
e5922ea6c0
feat: add week/month quick links to alarms page, remove subtitle
2026-05-12 17:05:14 +08:00
316a05aec4
fix: add '全部' link and improve empty state message on alarms page
2026-05-12 17:03:27 +08:00
74ca578483
feat: alarm page date filter, pagination, auto-cleanup
...
- 告警页增加日期范围筛选(默认今天),50 条/页分页
- AlarmCollector.GetFiltered 支持 from/to/limit/offset
- alarm_retention_days 配置项(默认 30 天),超期自动清理
2026-05-12 16:58:56 +08:00
65eb988905
fix: move form inside device panel, use display:contents to preserve tab layout
2026-05-12 16:50:17 +08:00
84b8b1c65a
fix: remove transactions causing SQLITE_BUSY, add coding rules
...
- persistTask: 去掉事务,每个 Exec 原子即可
- saveAsset(profiles): 去掉事务,profile 和 units 分步保存
- CLAUDE.md: 加两条规则——不用事务除非必要;调试只加日志不改代码
2026-05-12 16:43:44 +08:00
700b2246c7
fix: confirmation dialog fires only once (remove duplicate listener), remove debug log
2026-05-12 15:38:32 +08:00
1a15ab80d6
fix: clear URL params after showing status, so refresh doesn't repeat stale messages
2026-05-12 15:26:42 +08:00
49ab6ae688
fix: form element now wraps device panel so checkboxes are submitted
...
之前 <form> 只包裹按钮,checkbox/hidden input 在表单外,
导致 submit() 提交空数据。
2026-05-12 15:21:29 +08:00
418bf3c80b
fix: persist features only after pipeline success, not before
...
actionConsoleSave: 先跑流水线,成功后再存 DB。
空功能提交不再清空 DB,改为提示用户。
2026-05-12 15:16:49 +08:00
67e8c3617a
fix: console status display — task info overridden by msg
2026-05-12 15:10:34 +08:00
ea955eb265
revert: remove config_apply retry (500 is fatal)
...
500 是 agent 端 media-server reload 超时导致的致命错误,
不应在 managerd 端重试。根因在 agent 的 10s 超时过短。
2026-05-12 14:54:57 +08:00
f2b3941e4a
fix: console stays after deploy, auto-refresh, config retry
...
- 下发后留在控制台,显示状态提示,6秒自动刷新
- 任务页 SSE 自动连接(无需手动点击)
- 总览页有执行中任务时自动刷新
- config_apply 增加 3 次重试(agent 500 时)
2026-05-12 14:51:59 +08:00
15f6f91fb6
feat: task timestamps, dirty state, confirmation dialog
...
- Task 模型增加 CreatedAt/CompletedAt,DB 读取和快照同步
- 总览页最近任务显示时间,限制5条,增加"更多 →"链接
- 任务中心增加创建时间/完成时间列
- 管控台"保存并下发"按钮:修改功能或视频源后才激活
- 下发前弹出变更摘要确认对话框
- 下发后回到管控台并显示任务ID
2026-05-12 14:26:10 +08:00
7eca9454b0
feat: DB-agent feature sync with conflict detection
...
- ConsoleFeature 增加 Available/Conflict 字段
- pageConsole 显示 agent 全部能力(含不可用的),不可用项 disabled
- DB 已启用但 agent 不可用时标记为冲突 ⚠
- 不可用功能 hover 显示原因
2026-05-12 13:57:03 +08:00
700d964524
feat: device capabilities from agent /v1/capabilities
...
Agent 新增 /v1/capabilities 接口,返回设备检测能力列表。
Managerd 控制台查询此接口,仅显示设备真实支持的功能。
- Agent: capabilities.go — 根据插件节点类型映射能力
- Managerd: pageConsole 查询 /v1/capabilities 过滤可选功能
- ConsoleFeature 增加 Description 字段,hover 显示说明
- 旧 agent 无此接口时回退为显示已持久化的功能
2026-05-12 13:52:53 +08:00
286dcaa945
feat: persist device features to DB as source of truth
...
- device_features 表:持久化设备检测功能选择
- pageConsole 从 DB 读取功能选择(非从模板反推)
- actionConsoleSave 先存 DB 再从 DB 读取运行流水线
- 模板选择改为最精确匹配(单功能只用该功能模板)
- 修复内存指标解析(补充 memory 字段)
2026-05-12 13:40:37 +08:00
25cf456047
feat: console one-click auto-config pipeline
...
管控台一键自动配置:勾选检测功能 + 分配视频源 → 自动生成配置并下发
新增:
- FeatureRegistry: 功能→模板映射与选择算法
- template_composer: 多模板 DAG 浅合并
- AutoConfigService: 完整流水线
- console.html: 视频源分配交互
修改:
- actionConsoleSave: stub → 完整自动配置编排
- pageConsole: 修复功能勾选回显 + 内存指标解析
- main.go: 注入 AutoConfigService
- .gitignore: /managerd 只匹配根目录二进制
2026-05-12 13:26:49 +08:00