MeowOS
|
33b4ae703c
|
README: 校正 meowpanel 二进制 md5 为最终构建 51ffc183(tmpdir 修复后重建)
|
2026-08-31 20:46:30 +08:00 |
|
MeowOS
|
d8b95c0aab
|
MeowPanel: 字体库 tar.gz 导入/导出 + 文件管理自然排序修复 + multipart 二进制边界修复
- 字体库导入/导出(用户 2026-08-31 定案):放弃 zip,与 .mpk 同构走 busybox 'gzip -dc | tar' 管道
(设备必带 tar/gzip,零新增依赖)。导入 POST /api/fonts/import(multipart file=<.tar.gz>,上限32MB,
?force=1 覆盖):tar -t 成员预校验(sanitize_member 拒绝对/../shell 危险字符,恰为三件套平铺)→
解压到临时目录 → opendir/lstat 锁(拒软链/目录/设备/多出条目/解压后超大)→ font.json 解析 family/weight
(safe_dir_segment 消毒)→ 覆盖冲突 409 → sha256_png/idx 仅 WARN → rename 到 MeowOS/fonts/<family>/<weight>/。
导出 GET /api/fonts/export?family=&weight=:tar -cf - | gzip -c 打包 <family>-<weight>.font.tar.gz 流式下载。
列表 GET /api/fonts:扫描三件套齐。前端设置页加「字体库」卡(导入 zip/tar.gz + 409 confirm 后 force=1 重试 + 导出按钮)。
- 文件管理排序修复:/api/files 排序改为目录优先 + 名称自然排序(数字感知 track2<track10,中文按无符号
字节序),替换原 strcasecmp 词法排序(用户报「很离谱」)。
- multipart 二进制边界修复(latent bug):strstr 遇数据内 NUL 提前停止 → memmem 语义 mem_find 字节安全查找,
修复字体 tar.gz/.mpk/二进制上传可能误吞后段的问题。
- 文档同步:docs/MEOWOS_SPEC_REF.md §5.2/§5.7.6、patch_v2/meowpanel/README.md 改 tar.gz 定案;
FONT_SYSTEM.md 无 zip 表述无需改。meow_font_import_zip/export_zip 语义注为 tar.gz(_tgz 可更名)。
- 宿主编译 0 warning(-Werror 亦过);宿主端到端:导入→导出→逐字节比对、损坏/缺件/坏json/穿越/软链/非gzip全拒、
自然排序样本全过;真机已部署(meowpanel md5 51ffc183,服务 running)并 curl 验证 font 端点 + 排序。
|
2026-08-31 20:45:52 +08:00 |
|
MeowOS
|
829ac3ba88
|
feat(meowpanel): 通知实时化+屏幕增量帧 (agent-234) — /api/notifications 优先 IPC 读 launcher 活跃集(source:ipc,超时回退TF), dismiss/clear 联动 launcher 内存; /api/screen.jpeg?delta=1 8x8块比对+变化块外接矩形子图(近静态27KB→804B), 前端canvas叠加+开关
meowpanel→24f53b40 已部署真机验证(通知实时出现/撤下联动/增量帧带宽实测)
|
2026-08-31 18:50:12 +08:00 |
|
MeowOS
|
c041facd89
|
fix(ncm): 歌单详情LoadFailed——track/all端点不存在(404)回退detail+分批song_detail已验证链路; 列表误触改按下锁定行+拖动抑制 (agent-227, 真机验证256首出曲) + perf(meowpanel): 屏幕帧整数定点DCT(无FPU软浮点3.96s→0.19s/帧,实测4-5fps)+前端链式轮询防堆积+实测fps显示 (agent-228)
ncm→73422166 已部署; meowpanel→f310a00e 已部署
|
2026-08-31 17:40:04 +08:00 |
|
MeowOS
|
fbdd77a72e
|
feat(meowpanel): 阶段C收尾——实时画面+远程遥控 (agent-224) — /api/screen.jpeg(fb0活动帧→自研最小baseline JPEG编码器,480x720≈24KB/帧,无libm零依赖) + /api/input/tap(坐标注入,BTN_TOUCH先行时序,本机触摸优先5s仲裁); 前端「屏幕」页(1fps可调,点击映射,息屏提示)
meowpanel→e98aec66 已部署; 真机验证: jpeg非全黑+注入tap拉起Files(日志+截图双证)
注: 注入走 write event1(实测本机可投递,未用uinput)
|
2026-08-31 16:21:11 +08:00 |
|
MeowOS
|
feb3df681c
|
feat(meowpanel): 可选密码鉴权 (agent-196, 用户定案) — panel.auth_enabled(默认0)+panel.auth_pass(带盐sha256不明文); token会话(/dev/urandom,TTL12h,内存+卡持久化,静态屏蔽session文件); 未启用零回归,启用后 /api/* 全要会话; 前端登录页+401回跳+设置卡片; 顺带修 settings_write_one 容忍等号两侧空格(原会重复追加行)
meowpanel→f91856a4; 0 warning; 宿主curl 20例+headless Chromium 全过
|
2026-08-31 05:25:28 +08:00 |
|
MeowOS
|
563a9be1d6
|
feat(meowpanel): 通知中心+文件管理后端补全 (agent-182) — /api/notifications(读TF归档,环形200条)+单删+dismiss_all(保留媒体/进度活动通知); 文件域修4bug(normalize_path丢前导/致白名单必失败、upload multipart 文件名截断恒NULL、rename拼错路径恒ENOTDIR、read>1MB改truncated) + 上传8MB上限+文件名净化+双重白名单防逃逸
meowpanel 8108852f→58a7b186; mipsel/host -Wall -Wextra 0 warning; 宿主 curl 自测全过
需launcher配合项(已记录): MSG_NOTIFY_QUERY 查询帧 + dismiss 广播 IPC
|
2026-08-31 04:14:00 +08:00 |
|
MeowOS
|
c515a33ac4
|
docs(repo): 仓库公开文档同步到 M2.73/0.7.68 + 修 fw_content.conf 过期 md5(meow_svcd da6ebc66/meow_svc_perf fa073bf9, 否则打包 md5 强校验失败中止) (agent-171)
|
2026-08-31 01:41:11 +08:00 |
|
MeowOS
|
ae51fe9f70
|
feat(meowpanel): MeowPanel 后端(HTTP/JSON单进程, 内嵌静态托管, 对接meow_svc_perf/power IPC, 设置镜像, 文件/应用/按键注入) + 前端(蓝牙栏) + 服务配置 + README (agent-164/165)
|
2026-08-31 01:29:44 +08:00 |
|