MeowOS
|
e9b6b690c1
|
feat(sdk): 中文拼音输入法落地 (agent-229, 设计稿 IME_PINYIN_DESIGN.md) — 静态表词库(403音节+329词,rodata ~20.5KB,零堆)+引擎(meow_pinyin.c,音节切分DFS+联想)+SDK集成(MEOW_IME_PINYIN尾部追加零ABI破坏,组合条+候选栏+翻页+中英切换,英文零回归)
meow_ui.a→a7a9043e; hello/files/ncm重链已部署; test_pinyin 5项全过+test_ime_fix零回归
|
2026-08-31 18:34:51 +08:00 |
|
MeowOS
|
f34818037f
|
fix(launcher): 开机亮度停100竞态 (agent-230) — settings未读到前不盲写100, 挂起+读到后补应用; launcher aa6c95a4→8ebae666; 宿主4场景PASS
|
2026-08-31 18:21:40 +08:00 |
|
MeowOS
|
c7d02e66e9
|
fix(sdk): App内物理音量/媒体键无效真根因 (agent-226) — 本机物理键只更新EVIOCGKEY位图不进事件流(launcher用位图轮询故正常,SDK读流故App收不到); 输入线程加EVIOCGKEY位图轮询+120ms同码窗口去重(流+位图双源不双跳); 卡上三App已重链部署(hello 2a1316f7/files ef0082bc/ncm 42e67e15)
真机验证: 音量键改settings.conf+媒体键IPC转发链路通; 宿主全PASS
|
2026-08-31 18:11:04 +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
|
d394c73a7c
|
chore(build): fw_content.conf 对齐 M2.88(launcher/verify/power/amsd/am/route 全量 md5 刷新)+ S89 预置 meow_route.conf
|
2026-08-31 16:36:01 +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
|
6c78a88b8c
|
feat(ncm): 二期功能批 (agent-222) — 专辑封面(al.picUrl+切歌换封面)+歌词后台加载+大歌单分页(/api/playlist/track/all 首50触底续载)+歌词字面\n修复+播放页豆腐块修
ncm→9c4a79f6 已部署卡上; 宿主离线样本全过(零新增网络请求)
|
2026-08-31 15:51:05 +08:00 |
|
MeowOS
|
ab4da09e75
|
fix(sdk+launcher): 图标不渲染真根因(agent-219) — meow_ui_img.c scale_buf cover 采样把乘写成除(÷缩放比→采到源图左上角透明区,全丢); 改乘+居中裁剪偏移修正; 宿主旧测试用纯色图掩盖了该bug。+ main_menu App退出/结构变化重绘时 fb_pan_buf0_force 无条件pan回buffer0(防App翻页留buffer1致菜单残帧)
meow_ui.a→3e0ee8f7 launcher→9d0efc2f hello→9609ea6e files→90f5cf07 ncm→be8be221(均已上卡); 真机截图证据 .tmp/meowbug/fix1.png+fix_b2_after.png
|
2026-08-31 15:42:24 +08:00 |
|
MeowOS
|
05a19a9ea3
|
feat(sec): 签名鉴权 2B (agent-221) — meow_verify 多公钥数组+v2签名块(含ts,未来宽限,兼容v1)+meow_sign verify子命令+产签README; svc_power 面板身份精确路径绑定(删启发式,3反例验证)
meow_verify→6c2e8ed2; svc_power→306df962; qemu+宿主全过
|
2026-08-31 15:36:45 +08:00 |
|
MeowOS
|
249b6224ab
|
feat(route): meow_route 音频输出路由自动跟随插孔 (agent-220) — svcd托管,1s轮询switch state,4.4优先; 只写变化+读回校验+不重试风暴; 真机已部署运行(svcd tf conf)
meow_route fa2b80be; 主机模拟状态机全过+真机cset/cget往返验证; 物理插拔端到端待用户插耳机实测
注: 223 拼音IME设计稿已出(devdocs/plan/IME_PINYIN_DESIGN.md, 静态表方案~272KB, qemu验证通过)
|
2026-08-31 15:32:13 +08:00 |
|
MeowOS
|
e8deed88bd
|
fix(launcher): 图标区空白——menu_draw_icon 垫块+首字母先画、图片叠加(icon透明/解码失败时占位仍可见); 补 sys_mem_available_kb 实现(解锁OOM护栏编译) (agent-218)
launcher 333d6f53→9902f19c; 宿主test_host_icon PASS
|
2026-08-31 14:34:28 +08:00 |
|
MeowOS
|
228e9e79e0
|
fix(launcher): App暴毙后卡死根因——execpipe 裸阻塞 read 改 poll+2s超时(agent-214) + ams_drain_stdout 64KB有界 + reap_wait兜底5处裸waitpid + watchdog关继承fd + font_sha256_file popen改有界 + 既有警告清理; fix(ncm): cookie盐不随包名(旧登录态可解)
launcher 97c1b222→333d6f53; ncm→1124dbf2; 宿主harness stall/ok/orphan全过
|
2026-08-31 13:36:23 +08:00 |
|
MeowOS
|
efbd1d5a2f
|
chore: 随 meow_font.a 流式解码重链 hello/files/ncm(hello 42ebe4ec / files b2caccbc / ncm ce25cf21)
|
2026-08-31 13:28:56 +08:00 |
|
MeowOS
|
c0f7a95719
|
feat(font+sys): 字库内存纪律(agent-215)+sysui接管launcher监管(agent-216)
215: meow_font.c 流式分块解码(gbk峰值40→23.5MB, 逐字节校验一致) + 多字体槽5→4+16MB驻留预算; 量化: gbk稳态驻留17.3MB vs common 4.2MB(OOM主因); meow_font.a→67113c03 meow_ui.a→223d5401
216: bootmenu让位(sysui在则start launcher让位, 不在则exec兜底) + S70预置launcher.conf enabled=1(+旧设备升级迁移); launcher崩溃可自动拉起; bootmenu 4441822d / S70 e435affc / S90 e0ace111
216注: S70早启动与选单共存为真机重点观察项
|
2026-08-31 13:28:07 +08:00 |
|
MeowOS
|
90e28e7b7e
|
fix(ncm): 二维码随容器缩放(模块边长=(容器-32)/模块数,修内容长QR溢出卡片) + 夜间深灰底浅灰码 + slogan改繁体「音樂的力量」(用户定案)
|
2026-08-31 13:07:20 +08:00 |
|
MeowOS
|
f20e4cddd0
|
refactor(ncm): 包名 os.meow.ncm→dev.player.ncm(非系统应用,不用 os.meow.* 保留前缀;卡上目录+MeowData+logs 已同步迁移,登录态保留)
|
2026-08-31 12:50:32 +08:00 |
|
MeowOS
|
5fbf30755c
|
feat(amsd): meow_amsd 活动管理器一期 + am CLI (agent-212, 用户定案) — svcd托管(trigger=boot); 生命周期注册表(状态/时长/退出码/信号/崩溃计数+历史环形); launcher launch/exit/stdout管道捕获上报(logcat式,崩溃尾巴drain不丢); am status/list/history/start/kill(root门); crash双保险转发; S89预置conf
amsd f8d7f61b / am cfc4cbd4 / launcher 97c1b222(含字库扫描签名门控修CPU100%)
宿主+qemu全链路验证通过
|
2026-08-31 12:45:29 +08:00 |
|
MeowOS
|
3e414176c3
|
fix(launcher): 字库启动竞态两连修 — ①卡就绪(热插拔轮询)后重扫字库 presets(开机早扫时卡未挂载只剩默认项,App 大字库声明落空→豆腐块)②扫描根目录不可读且仅默认项时不写 index(修开机覆盖掉卡上18条索引)
launcher b33da20a→9ae64777; test_font_tier PASS
|
2026-08-31 11:12:55 +08:00 |
|
MeowOS
|
8964cd1750
|
feat(ncm): 复古UI重做 (agent-211, 按 NCM_UI_DESIGN.md) — 白红/黑红双套配色(ncm_palette+主题监听实时换肤); 主页红topbar+个人区+双页签(我创建的/我收藏的, is_collected/subscribed已补); 搜索页(cloudsearch,仅确认时发请求); 歌单详情封面头块+播放全部; 播放页黑胶唱盘(行扫圆+封面裁圆+唱针+分带刷新); 播放页tick分带刷新修整页重绘隐患
ncm→90a25cf0; 0 warning; 宿主14张双主题截图目检+core测试全过
|
2026-08-31 10:26:44 +08:00 |
|
MeowOS
|
4cec476dd9
|
fix(ncm): 启动卡顿+大歌单+No tracks 三连修 (agent-209) — ①home/playlist 加载改后台 worker ②大歌单 detail n=1(tracks瘦身)+响应cap 2MB ③song_detail c数组引号转义 ④P0: MIPS32 long=32位歌曲id溢出→int64 ⑤eapi批缓冲2048→4096
ncm→f6bd765a 已部署; 真机验证(风控合规): 小歌单✓ 大歌单256首✓ 启动不卡✓; 已知: 大歌单首屏~30s(二期改分页端点)
|
2026-08-31 09:43:35 +08:00 |
|
MeowOS
|
a651df0e9b
|
fix(ncm): weapi挂死根因修复 (agent-207, 6缺陷叠加) — ①超时改CLOCK_MONOTONIC(墙钟NTP回拨致poll超长阻塞) ②响应头解析隔行跳行漏Content-Length ③请求头缓冲1KB→8KB ④cookie值截断192B致MUSIC_U不完整被当游客(改ptr+len不截断+按名去重) ⑤split处NUL覆盖body首字节 ⑥Content-Length:0直接DONE; status_check硬上限6s; 803后worker线程取uid/nick落盘(修uid恒空)
ncm→bf6d2a79 已部署; 真机1次验证(风控合规): status_check 721ms rc=0 uid=408996274; user_playlist 2.5s rc=0 count=64
|
2026-08-31 09:00:23 +08:00 |
|
MeowOS
|
4ec81024da
|
fix(ncm): 803 后先落登录态立即跳 home(status_check 真机挂死,昵称获取延后——歌单请求会独立验证 cookie)
|
2026-08-31 08:31:19 +08:00 |
|
MeowOS
|
701516db8e
|
fix(ncm): 响应头缓冲 4KB→16KB + set-cookie 提取缓冲 1KB→4KB(真机联调:802 后网易 set-cookie 风暴溢出 ERR_FULL 致登录失败)
|
2026-08-31 08:22:23 +08:00 |
|
MeowOS
|
796d022c77
|
feat(ncm): unikey 失败自动 5s 退避重试(不再要求用户点重试)
|
2026-08-31 08:12:05 +08:00 |
|
MeowOS
|
4199dc77ea
|
fix(ncm): 设备无系统 CA → App 自带 Mozilla CA bundle(cacert.pem) 显式指给 core HTTP 层;真机验证 unikey ok/QR ready(修复 rc=-5 TLS 错误)
|
2026-08-31 08:06:41 +08:00 |
|
MeowOS
|
f806395dbe
|
feat(ncm): 登录流程关键节点日志(unikey/轮询状态迁移/803落cookie/poll失败)便于真机联调
|
2026-08-31 08:00:57 +08:00 |
|
MeowOS
|
7c75bb52dd
|
chore: 误入库宿主测试二进制 test_sdk_fixes 移出跟踪+gitignore
|
2026-08-31 07:54:16 +08:00 |
|
MeowOS
|
9b4195724c
|
feat(sdk+launcher): SDK nav/media封装 + §10.5 App前台唤起通知中心 (agent-206) — meow_ui_nav.c(env栈初始化+report/request_exit) + meow_ui_media.c(懒连断线重连, meta上报+playctl接收) + MSG_NOTIF_OPEN=0x28/CLOSE=0x29(0x25/26已被占); SDK顶部下滑手势→IPC; launcher App前台会话叠加通知中心(SIGSTOP→读帧→接管输入→恢复SIGCONT, 面板内App崩溃即关); hello接线验证
meow_ui.a→9a8eb7ef; hello→fc299577; launcher→b33da20a; 宿主5套件+新test_notif_open+qemu分发 全过
出入: SDK符号用meow_ui_前缀防与launcher内同名冲突; 叠加会话真机待验; §10.5文档旧号段已过时
|
2026-08-31 07:53:57 +08:00 |
|
MeowOS
|
21519ce2e4
|
feat(ncm): 网易云客户端 v1 UI+播放链路 (agent-205) — os.meow.ncm: 登录页(真实unikey二维码+轮询状态机)/我的歌单(listview)/歌单详情/播放页(封面+seek+滚动歌词+竖横屏切换)/设置(音质默认Hi-res+缓存上限默认10G); 播放线程(缓存LRU+minimp3→ALSA UAPI直开hw:0,0); 媒体会话MSG_META上报+PLAYCTL接收(首真实媒体源)
ncm 1e331964 (text 764KB); 0 warning; 宿主离屏6页截图目检+真实QR可扫+qemu-mipsel干净启动+解码446xRT
真机待联调: ALSA时序/803扫码闭环/媒体会话联动/gbk大字库渲染
|
2026-08-31 07:24:59 +08:00 |
|
MeowOS
|
32543ac616
|
feat(launcher): 媒体会话+Now Playing (agent-204) — MSG_META(0x72)/MSG_PLAYCTL(0x73)+meow_media.c(最近活跃源=active_seq净序,30s超时回收); 通知中心顶部媒体卡片(封面缓存+进度seek+控制键); 主界面中部/右缘左滑进 Now Playing 大页(封面+元数据+进度+控制+歌词占位), 左缘返回; 空态完备
launcher a42171a1→ddfe616e; 宿主 test_media ALL PASS + qemu 端到端(META注册→PLAYCTL下发闭环)
出入: 卡片以媒体会话为权威非通知; PLAYCTL 走会话fd(断连防御留后续)
|
2026-08-31 06:51:04 +08:00 |
|
MeowOS
|
8012948b26
|
feat(ncm): 网易云核心库 core/ (agent-203) — ncm_http(mbedtls TLS1.2+chunked+流式限幅)/ncm_crypto(eapi/weapi/linuxapi, RSA raw逐字节验证)/ncm_login(unikey→二维码→轮询状态机→cookie加密落盘)/ncm_api(歌单/详情/播放地址Hi-res逐档降级/歌词)/ncm_cache(LRU 默认10G)/ncm_store(deviceId持久化+机器密钥)
宿主+qemu-mipsel 全链路 PASS(unikey实拿/801轮询/eapi往返/RSA对拍/缓存LRU); -Wall -Wextra 自有代码0warning
待联调: 803真扫码、真机 hw:0,0 播放链路
|
2026-08-31 06:41:23 +08:00 |
|
MeowOS
|
85b4aea24f
|
feat(launcher): M3导航栈+M5通知点击跳转 (agent-202) — nav_stack(≤16深)+MSG_NAV REPORT/EXIT+launch_activity链路注入(MEOW_ACTIVITY/MEOW_CHAIN)+栈根退出回主屏; 通知点击按route_status(0拉起/1 NO ROUTE/2 SOURCE NOT FOUND/-1 NONE关面板不动作); picker协议位预留(0x0070/0x0071); 裸App兼容
launcher 4fe4103a→a42171a1; qemu实测 declare/query/nav report/exit/notify+querynotif 全过
发现: §10.5 App前台通知中心叠加会话(MSG_NOTIF_OPEN)实际未实现,文档超前,待补
|
2026-08-31 06:27:10 +08:00 |
|
MeowOS
|
955dbe1228
|
feat(launcher): 主界面 MD3 化双布局 (agent-201, 用户定案) — 卡片宫格(2列223x112圆角16+按压态)/大图标列表双布局, ui.home_layout=card|list 设置切换; app.json icon 加载缓存+首字母占位; 图片背景 cover 居中裁剪+明暗叠加层(display.bg_overlay_alpha 默认128,预渲染快照不每帧缩放); 全 MD3 语义色零硬编码; 标题接 font.size.title
launcher 3c7c2ec7→4fe4103a; mipsel 0 warning; 宿主纯逻辑测试(几何/cover/首字母/截断) ALL PASS; 真机待验观感
|
2026-08-31 06:05:33 +08:00 |
|
MeowOS
|
c96e912518
|
feat(ncm): 网易云技术栈预研+构建验证 (agent-200) — 选型: mbedtls3.6.2裁剪(TLS+AES+MD5+RSA raw+Base64,~388KB)/jsmn(2.2KB)/qrcodegen(10.8KB)/minimp3(37.4KB), 合计~438KB; HTTPS unikey 全链路宿主+qemu-mipsel 实测通过; RSA raw 与 Python pow 逐字节一致; MP3 解码非瓶颈
vendor源码+out产物不入库(126MB, gitignore; 版本/许可/裁剪见 VENDOR_NOTES.md, build_*.sh 可复现)
|
2026-08-31 06:03:36 +08:00 |
|
MeowOS
|
2d93298f8a
|
feat(launcher): 通知查询/清除 IPC + App崩溃直报crash (agent-199) — MSG_NOTIFY_QUERY(0x25)/QUERY_RESULT(0x27)/DISMISS_ALL(0x26,保留媒体/进度/常驻红线), DISMISS(0x22)复用既有; 序列化在主循环单写者做; launch_app waitpid 回收处 notify_app_crash(信号杀/非0退出上报 /tmp/meow_crash.sock best-effort, 干净exit不报)
launcher 61f6b0db→3c7c2ec7; qemu IPC 往返+宿主存储单测+mock crash socket 全过; 顺带清理既有告警(util.c/app_launcher.c/meow_ipc.c)
|
2026-08-31 05:46:46 +08:00 |
|
MeowOS
|
29e1b35da8
|
fix(sdk): App 退出日志兜底 — meow_ui_init 安装 SIGTERM/SIGINT 处理器(log_sig_exit: 直写 exit:sigterm 绕过缓冲+exit(0));修 watchdog 返回键杀 App 时日志只有 start 没有 exit 的问题;App 自装处理器(hello BYE)覆盖不受影响 + meow_ui.h 旧日志路径注释更正
meow_ui.a→049fa9db; hello→d0ac55cf; files→3b3bea05; launcher→4f223701; 宿主 widgets PASS
|
2026-08-31 05:30:04 +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
|
5f7e7542bd
|
feat(log): App日志目录扁平化为 MeowOS/logs/<包名>/ (agent-198, 用户定案) — launcher MEOW_LOG_DIR 注入改 logs/<appid>+mkdir_p; SDK meow_ui_log.c 去 apps/ 嵌套; 卡可用时一次性迁移 logs/apps/* 并入新路径; APPS.md/APP_LOG_MANAGER.md 同步
launcher→61f6b0db; files→ac2c2781; 编译0warning(新增代码)
|
2026-08-31 05:24:43 +08:00 |
|
MeowOS
|
32a6a8ed1e
|
feat(sdk): 绘制期通用clip + view递归/on_event接线 (agent-195) — ①栈式clip rect(g_clip_stack[16]), 所有写像素原语过clip, meow_widget_draw push/pop控件矩形(含W_CUSTOM, 根治越界脏区), IME/模态顶层全屏不受影响 ②view enter/leave递归children + meow_view_dispatch_event(z降序子>父命中即消费); hello App层显式驱动退役
meow_ui.a→da4d3a7d; hello→c655ba43; 宿主4套件全PASS(含clip越界断言+view递归断言)
出入: W_SLIDER拇指在max处被裁(既有几何瑕疵可见化,待修); on_draw祖先已进入即画
|
2026-08-31 05:24:43 +08:00 |
|
MeowOS
|
3fd4726198
|
feat(launcher): 字体扫描迁移三级目录 (agent-193) — <family>/<weight>/<tier>/ 支持(两级向后兼容); FONT_PRESETS_MAX 17→64; 设置页 family→weight 两级不变,同weight多tier按加载大字库开关选档(关=common优先/开=gbk优先); index 落盘含三级条目
launcher ab8e610f→d3cae88b; test_font_tier/test_font_weight PASS
已知缺口: SDK meow_font.c MEOW_FONT_INDEX_MAX=32 截断(>32套需同步提); S_NET_MAX=8 family 上限; default 字体仍两级
|
2026-08-31 05:09:42 +08:00 |
|
MeowOS
|
6603e6686c
|
chore: 误入库的宿主测试二进制 test_p1p2p3_repro 移出跟踪 + gitignore
|
2026-08-31 05:04:41 +08:00 |
|
MeowOS
|
e95552b949
|
feat(sdk): 通用长按事件 (agent-191, 用户定案) — MEOW_EV_LONG_PRESS 坐标式事件+meow_ui_set_long_press_cb/ms(opt-in,默认500ms,移动>12px取消,长按后抬手抑制TAP/SWIPE); 按钮按住视觉阈值同源; files 长按从App层迁入 SDK
meow_ui.a 4335c33a→6de89c27; hello→72fb20da; files→b1c4f58f
宿主 widgets(含6条长按断言)/p1p2p3/ime_fix/test_fsx 全 PASS; 未改 meow_ui_events 结构(防 -Wmissing-field-initializers 破坏既有App)
|
2026-08-31 05:04:26 +08:00 |
|
MeowOS
|
60072a08f1
|
feat(pkg): version_code 安卓式版本规则落地 (agent-190, 用户定案 APPS §3.8) — app.json 增 version_code(纯数字唯一比较依据), version 仅显示; nyai install/upgrade/list-upgradable/index 全走 code 比较(缺 code 拒装); launcher meow_pkg_install 同步门禁; 旧点分比较函数移除
nyai f2938d28→4cf5f690; launcher 24c9ee5d→ab8e610f; 宿主 9 场景全过(升/同版/降级拒/缺code拒/index/upgrade一致)
出入: 全新安装缺 code 放行(门禁仅 replacing 分支); export 保留签名的版本比对仍用显示版字符串(nyai+launcher 一致,待后续统一)
|
2026-08-31 04:56:24 +08:00 |
|
MeowOS
|
555c4a458e
|
feat(svc_power): 读级命令鉴权放宽到任意调用者 (agent-189, 用户定案) — STATUS/BATTERY/REBOOT_REASON/UPGRADE_STATUS/dac status 读级不再查 uid;动作级维持 os.meow.*/系统身份;authtest +16 断言 ALL PASS。svc_power e0494eb7→c6ddf3f8
|
2026-08-31 04:55:49 +08:00 |
|
MeowOS
|
c8ffdfbad9
|
fix(meowpanel): 文件列表排序——目录优先+名称不区分大小写(原 readdir 原始顺序混杂);条目上限 1024 防巨目录爆内存;设备实测生效
|
2026-08-31 04:55:02 +08:00 |
|
MeowOS
|
cf86cbd387
|
feat(crash): meow_crash 系统级崩溃捕获 (agent-187) — svcd 服务异常退出上报(AF_UNIX best-effort,不崩svcd)+dmesg增量扫segfault/oops; 落盘 TF MeowOS/logs/crash_<bootts>.log 无卡回退/tmp+迁移; CLI dump/tail; S89 预置 crash.conf(主会话补)
meow_crash 62781084; meow_svcd da6ebc66→605646c4(仅+68行上报挂点); 宿主5场景全过(上报链路/dmesg增量/无卡迁移/铁律验证/CLI)
|
2026-08-31 04:39:34 +08:00 |
|
MeowOS
|
243148e440
|
feat(sdk): 结构化列表控件 W_LISTVIEW (agent-186) — MEOW_APP_SDK §5.5 A②落地: 图标(内置folder/file符号或img)+标题+副标题+右侧操作(arrow/switch/check/more), 单选/多选/禁态, 行右1/3操作区命中, 视口裁剪, 全语义色; meow_ui_img_scaled 弱引用防二进制膨胀; files App 自绘列表完整迁移(长按留App层)
meow_ui.a ece0ecdb→4335c33a; hello 07b1ee37→07c0c5a5; files 6f6b0a6d→22b6b606
宿主: widgets(含4条listview新断言)/p1p2p3/ime_fix/test_fsx 全 PASS
|
2026-08-31 04:39:34 +08:00 |
|
MeowOS
|
3f57d7fd4f
|
feat(sec): 二期签名鉴权 2A 最小闭环 (agent-185) — meow_verify(Ed25519验签CLI,公钥固化,TweetNaCl+SHA256单文件) + meow_sign(宿主keygen/sign,尾部180B footer签名块,私钥仅.keys/不入库) + nyai/meow_pkg_install 验签分级(有签必验/os.meow.*无签拒装/第三方直装告警/三重绑定/原签存.mpk.src导出保留) + svc_power IPC鉴权(SO_PEERCRED→/proc/pid/exe→包名/系统身份allowlist,系统动作仅os.meow.*或系统身份) + cmd_upgrade同步签名分级防绕过
meow_verify 37e50606; nyai f2938d28; svc_power e0494eb7; launcher 24c9ee5d(含热重载)
宿主验证12项全过(正例/篡负载/篡包名/无签系统包拒/第三方直装/降级拒/导出round-trip byte-identical/verify缺失宁缺勿装/footer容忍/E2E PERM/鉴权分类)
出入: TweetNaCl替orlp/ed25519(任务允许同等实现); 读级暂仍uid==0(用户随后定案放宽到任意调用者,待改); 系统身份allowlist为启发式
|
2026-08-31 04:33:46 +08:00 |
|
MeowOS
|
f50abae02a
|
feat(launcher): 应用列表热重载 — 2s 轮询比对 MeowAPPs 目录签名(自身+各应用目录 mtime FNV 混合),变化即重扫刷新;常驻主界面推新包约 2s 内出现,不再需重启
|
2026-08-31 04:14:00 +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 |
|