Commit Graph

  • 673f85e4ab docs: APPS.md §3.5 看门狗表对齐现状(虚拟返回键M2.21已移除/SIGUSR1仅裸沉浸App+SDK护栏) + KEY_CONTROL_DESIGN 偏差3/4标已落地(M2.81 NowPlaying横划+媒体键路由) MeowOS 2026-08-31 20:08:27 +08:00
  • 4e3edd7952 build: fw_content.conf M2.89 — launcher 3c1bf9c0(选单抢屏回归修复)/watchdog 6373d8e5(SIGUSR1不误杀框架App)/nyai 2858c3bd(导出exec相对化)/amsd c6c2eda2(陈旧revents丢连接修复) MeowOS 2026-08-31 19:40:30 +08:00
  • 6d1189eadc fix(amsd): launcher 重启后 amsd 失联三修 — am 命令连接被陈旧 revents 提前关闭/ipc_xchg 无超时冻结/无自动重连 MeowOS 2026-08-31 19:38:33 +08:00
  • 21ff5e82ea feat(sdk/ime): 数字键盘改居中九键布局 (1-9 自上而下 3x3,0 垫底居中,底行 ESC|0|退格+OK) + 全链重链 (meow_ui.a ee71b94a; hello 8cb81964/files 8b2b2373/ncm 4e975d6d 已热更到卡)。宿主 test_ime_fix/test_pinyin 全 PASS MeowOS 2026-08-31 19:38:21 +08:00
  • 1cfd124211 fix(launcher): M2.83 回归 — 开机选单期不抢屏。sysui S70 拉起 launcher 时 mode 文件未写+播放器未起,is_meow_mode()=find_hiby_pid<=0 恒真 → 误入 MeowOS 主屏,与选单/HibyOS 播放器抢 fb0+触摸(开机选 HibyOS 黑屏根因)。修: mode 文件缺失且 bootmenu 存活→怠速等写(不设上限,bootmenu 消失回退旧判定); hiby→怠速守护不碰 fb,轮询 mode 变 meow(热键切换)再落地主屏; 等待期被 sysui stop→直走退出尾 MeowOS 2026-08-31 19:33:26 +08:00
  • ee104f1b18 feat(ncm): 三期第一批 — 歌单真分页(取消256截断)+专辑封面ncm_cache+歌词后台加载补锁 MeowOS 2026-08-31 19:33:10 +08:00
  • 5fac5e380d fix(nyai): 导出 exec 绝对路径相对化 + gzip stderr 重定向 (agent-签名产签链路) MeowOS 2026-08-31 19:30:32 +08:00
  • 92086129c5 fix(sdk/watchdog): 236 收尾 — sigusr1_guard 无日志目录时落 stderr 可观测; test_wd_fw 补 fw-app/裸沉浸/裸非沉浸三用例; hello/files/ncm 随 meow_ui.a(4020227c) 重链 (已热更到卡, watchdog 6373d8e5 待入 M2.89) MeowOS 2026-08-31 19:12:51 +08:00
  • 49c31f1901 docs: 全项目文档一致性审计同步 (agent-237) — README/FRAMEWORK_DESIGN/SDK/APPS/PLAN/SETTINGS/SPEC_REF 对齐 M2.88 现状(amsd/picker/签名2B/拼音IME/面板阶段C/ncm改名dev.player.ncm等),过期「未实现」表述按落地实况修正 MeowOS 2026-08-31 19:11:25 +08:00
  • d76f8bc4ba fix(watchdog): 框架App前台时音量/媒体键让位SDK (agent-231) — 启动时经/proc/pid/exe反查app.json framework=1判定,音量/媒体分支 !g_fw_app 门控; 裸App/无SDK/不可读仍兜底(不造成功能真空); 顺手修wd_json_str两边界bug+死代码清理 MeowOS 2026-08-31 19:00:53 +08:00
  • 40b8e33b94 perf(sdk): clip_contains 逐像素函数调用→内联 (agent-235, MIPS汇编实证每像素省34指令,修demo滑动卡顿) + invalidate 分支加 clip 窗口收敛 overdraw MeowOS 2026-08-31 18:59:54 +08:00
  • 829ac3ba88 feat(meowpanel): 通知实时化+屏幕增量帧 (agent-234) — /api/notifications 优先 IPC 读 launcher 活跃集(source:ipc,超时回退TF), dismiss/clear 联动 launcher 内存; /api/screen.jpeg?delta=1 8x8块比对+变化块外接矩形子图(近静态27KB→804B), 前端canvas叠加+开关 MeowOS 2026-08-31 18:50:12 +08:00
  • e9b6b690c1 feat(sdk): 中文拼音输入法落地 (agent-229, 设计稿 IME_PINYIN_DESIGN.md) — 静态表词库(403音节+329词,rodata ~20.5KB,零堆)+引擎(meow_pinyin.c,音节切分DFS+联想)+SDK集成(MEOW_IME_PINYIN尾部追加零ABI破坏,组合条+候选栏+翻页+中英切换,英文零回归) MeowOS 2026-08-31 18:34:51 +08:00
  • f34818037f fix(launcher): 开机亮度停100竞态 (agent-230) — settings未读到前不盲写100, 挂起+读到后补应用; launcher aa6c95a4→8ebae666; 宿主4场景PASS MeowOS 2026-08-31 18:21:40 +08:00
  • c7d02e66e9 fix(sdk): App内物理音量/媒体键无效真根因 (agent-226) — 本机物理键只更新EVIOCGKEY位图不进事件流(launcher用位图轮询故正常,SDK读流故App收不到); 输入线程加EVIOCGKEY位图轮询+120ms同码窗口去重(流+位图双源不双跳); 卡上三App已重链部署(hello 2a1316f7/files ef0082bc/ncm 42e67e15) MeowOS 2026-08-31 18:11:04 +08:00
  • 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) MeowOS 2026-08-31 17:40:04 +08:00
  • d394c73a7c chore(build): fw_content.conf 对齐 M2.88(launcher/verify/power/amsd/am/route 全量 md5 刷新)+ S89 预置 meow_route.conf MeowOS 2026-08-31 16:36:01 +08:00
  • fbdd77a72e feat(meowpanel): 阶段C收尾——实时画面+远程遥控 (agent-224) — /api/screen.jpeg(fb0活动帧→自研最小baseline JPEG编码器,480x720≈24KB/帧,无libm零依赖) + /api/input/tap(坐标注入,BTN_TOUCH先行时序,本机触摸优先5s仲裁); 前端「屏幕」页(1fps可调,点击映射,息屏提示) MeowOS 2026-08-31 16:21:11 +08:00
  • 6c78a88b8c feat(ncm): 二期功能批 (agent-222) — 专辑封面(al.picUrl+切歌换封面)+歌词后台加载+大歌单分页(/api/playlist/track/all 首50触底续载)+歌词字面\n修复+播放页豆腐块修 MeowOS 2026-08-31 15:51:05 +08:00
  • 57fd15e83d docs(framework): amsd 二期 picker 契约标注已落地 (agent-225) MeowOS 2026-08-31 15:47:20 +08:00
  • 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致菜单残帧) MeowOS 2026-08-31 15:42:24 +08:00
  • 05a19a9ea3 feat(sec): 签名鉴权 2B (agent-221) — meow_verify 多公钥数组+v2签名块(含ts,未来宽限,兼容v1)+meow_sign verify子命令+产签README; svc_power 面板身份精确路径绑定(删启发式,3反例验证) MeowOS 2026-08-31 15:36:45 +08:00
  • 249b6224ab feat(route): meow_route 音频输出路由自动跟随插孔 (agent-220) — svcd托管,1s轮询switch state,4.4优先; 只写变化+读回校验+不重试风暴; 真机已部署运行(svcd tf conf) MeowOS 2026-08-31 15:32:13 +08:00
  • e8deed88bd fix(launcher): 图标区空白——menu_draw_icon 垫块+首字母先画、图片叠加(icon透明/解码失败时占位仍可见); 补 sys_mem_available_kb 实现(解锁OOM护栏编译) (agent-218) MeowOS 2026-08-31 14:34:28 +08:00
  • 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盐不随包名(旧登录态可解) MeowOS 2026-08-31 13:36:23 +08:00
  • efbd1d5a2f chore: 随 meow_font.a 流式解码重链 hello/files/ncm(hello 42ebe4ec / files b2caccbc / ncm ce25cf21) MeowOS 2026-08-31 13:28:56 +08:00
  • c0f7a95719 feat(font+sys): 字库内存纪律(agent-215)+sysui接管launcher监管(agent-216) MeowOS 2026-08-31 13:28:07 +08:00
  • 90e28e7b7e fix(ncm): 二维码随容器缩放(模块边长=(容器-32)/模块数,修内容长QR溢出卡片) + 夜间深灰底浅灰码 + slogan改繁体「音樂的力量」(用户定案) MeowOS 2026-08-31 13:07:20 +08:00
  • f20e4cddd0 refactor(ncm): 包名 os.meow.ncm→dev.player.ncm(非系统应用,不用 os.meow.* 保留前缀;卡上目录+MeowData+logs 已同步迁移,登录态保留) MeowOS 2026-08-31 12:50:32 +08:00
  • 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 MeowOS 2026-08-31 12:45:29 +08:00
  • b81e7438e4 docs: 全量文档同步到 M2.83 (agent-213) — README 能力全景/框架文档消息号+M3M5落地标注/SDK listview+长按+§10.5已实现标注/APPS version_code+媒体键路由/DEVELOPMENT_PLAN 主线进度; devdocs(WORK_STATE/RECOVERY_PROMPT/DEV_NOTES)本地同步 MeowOS 2026-08-31 12:30:34 +08:00
  • 3e414176c3 fix(launcher): 字库启动竞态两连修 — ①卡就绪(热插拔轮询)后重扫字库 presets(开机早扫时卡未挂载只剩默认项,App 大字库声明落空→豆腐块)②扫描根目录不可读且仅默认项时不写 index(修开机覆盖掉卡上18条索引) MeowOS 2026-08-31 11:12:55 +08:00
  • 8964cd1750 feat(ncm): 复古UI重做 (agent-211, 按 NCM_UI_DESIGN.md) — 白红/黑红双套配色(ncm_palette+主题监听实时换肤); 主页红topbar+个人区+双页签(我创建的/我收藏的, is_collected/subscribed已补); 搜索页(cloudsearch,仅确认时发请求); 歌单详情封面头块+播放全部; 播放页黑胶唱盘(行扫圆+封面裁圆+唱针+分带刷新); 播放页tick分带刷新修整页重绘隐患 MeowOS 2026-08-31 10:26:44 +08:00
  • 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 MeowOS 2026-08-31 09:43:35 +08:00
  • 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恒空) MeowOS 2026-08-31 09:00:23 +08:00
  • 4ff8c8baa3 chore(build): fw_content.conf 更新到 M2.82(launcher b33da20a 等) MeowOS 2026-08-31 08:47:07 +08:00
  • 4ec81024da fix(ncm): 803 后先落登录态立即跳 home(status_check 真机挂死,昵称获取延后——歌单请求会独立验证 cookie) MeowOS 2026-08-31 08:31:19 +08:00
  • 701516db8e fix(ncm): 响应头缓冲 4KB→16KB + set-cookie 提取缓冲 1KB→4KB(真机联调:802 后网易 set-cookie 风暴溢出 ERR_FULL 致登录失败) MeowOS 2026-08-31 08:22:23 +08:00
  • 796d022c77 feat(ncm): unikey 失败自动 5s 退避重试(不再要求用户点重试) MeowOS 2026-08-31 08:12:05 +08:00
  • 4199dc77ea fix(ncm): 设备无系统 CA → App 自带 Mozilla CA bundle(cacert.pem) 显式指给 core HTTP 层;真机验证 unikey ok/QR ready(修复 rc=-5 TLS 错误) MeowOS 2026-08-31 08:06:41 +08:00
  • f806395dbe feat(ncm): 登录流程关键节点日志(unikey/轮询状态迁移/803落cookie/poll失败)便于真机联调 MeowOS 2026-08-31 08:00:57 +08:00
  • 7c75bb52dd chore: 误入库宿主测试二进制 test_sdk_fixes 移出跟踪+gitignore MeowOS 2026-08-31 07:54:16 +08:00
  • 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接线验证 MeowOS 2026-08-31 07:53:57 +08:00
  • 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接收(首真实媒体源) MeowOS 2026-08-31 07:24:59 +08:00
  • 32543ac616 feat(launcher): 媒体会话+Now Playing (agent-204) — MSG_META(0x72)/MSG_PLAYCTL(0x73)+meow_media.c(最近活跃源=active_seq净序,30s超时回收); 通知中心顶部媒体卡片(封面缓存+进度seek+控制键); 主界面中部/右缘左滑进 Now Playing 大页(封面+元数据+进度+控制+歌词占位), 左缘返回; 空态完备 MeowOS 2026-08-31 06:51:04 +08:00
  • 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持久化+机器密钥) MeowOS 2026-08-31 06:41:23 +08:00
  • 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兼容 MeowOS 2026-08-31 06:27:10 +08:00
  • 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 MeowOS 2026-08-31 06:05:33 +08:00
  • 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 解码非瓶颈 MeowOS 2026-08-31 06:03:36 +08:00
  • 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不报) MeowOS 2026-08-31 05:46:46 +08:00
  • 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 旧日志路径注释更正 MeowOS 2026-08-31 05:30:04 +08:00
  • feb3df681c feat(meowpanel): 可选密码鉴权 (agent-196, 用户定案) — panel.auth_enabled(默认0)+panel.auth_pass(带盐sha256不明文); token会话(/dev/urandom,TTL12h,内存+卡持久化,静态屏蔽session文件); 未启用零回归,启用后 /api/* 全要会话; 前端登录页+401回跳+设置卡片; 顺带修 settings_write_one 容忍等号两侧空格(原会重复追加行) MeowOS 2026-08-31 05:25:28 +08:00
  • 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 同步 MeowOS 2026-08-31 05:24:43 +08:00
  • 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层显式驱动退役 MeowOS 2026-08-31 05:24:43 +08:00
  • b2e7cc8c70 fix(mdns): 启动竞态+运行期接口重检 (agent-194) — 无可用IPv4不再exit(2)改内部2s等待重试(SIGTERM可打断); 5s周期检测掉线/换IP→重新join组播+A记录实时刷新(修IP变更还带旧地址); 接口down时零应答守卫; MEOW_MDNS_IF 落地 MeowOS 2026-08-31 05:16:18 +08:00
  • 3fd4726198 feat(launcher): 字体扫描迁移三级目录 (agent-193) — <family>/<weight>/<tier>/ 支持(两级向后兼容); FONT_PRESETS_MAX 17→64; 设置页 family→weight 两级不变,同weight多tier按加载大字库开关选档(关=common优先/开=gbk优先); index 落盘含三级条目 MeowOS 2026-08-31 05:09:42 +08:00
  • 6603e6686c chore: 误入库的宿主测试二进制 test_p1p2p3_repro 移出跟踪 + gitignore MeowOS 2026-08-31 05:04:41 +08:00
  • 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 MeowOS 2026-08-31 05:04:26 +08:00
  • 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 同步门禁; 旧点分比较函数移除 MeowOS 2026-08-31 04:56:24 +08:00
  • 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 MeowOS 2026-08-31 04:55:49 +08:00
  • c8ffdfbad9 fix(meowpanel): 文件列表排序——目录优先+名称不区分大小写(原 readdir 原始顺序混杂);条目上限 1024 防巨目录爆内存;设备实测生效 MeowOS 2026-08-31 04:55:02 +08:00
  • f7e45f472e feat(font): gen_font.py 支持 tier/languages/label/--json-name (agent-188, 思源黑体7字重10套已产出入卡) + APPS.md §3.7 音频通路实测定案(MeowOS常驻模式声卡空闲App直开hw:0,0) + §3.8 版本号规则(version_code 安卓式) MeowOS 2026-08-31 04:39:35 +08:00
  • 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(主会话补) MeowOS 2026-08-31 04:39:34 +08:00
  • 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层) MeowOS 2026-08-31 04:39:34 +08:00
  • 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同步签名分级防绕过 MeowOS 2026-08-31 04:33:46 +08:00
  • f50abae02a feat(launcher): 应用列表热重载 — 2s 轮询比对 MeowAPPs 目录签名(自身+各应用目录 mtime FNV 混合),变化即重扫刷新;常驻主界面推新包约 2s 内出现,不再需重启 MeowOS 2026-08-31 04:14:00 +08:00
  • 563a9be1d6 feat(meowpanel): 通知中心+文件管理后端补全 (agent-182) — /api/notifications(读TF归档,环形200条)+单删+dismiss_all(保留媒体/进度活动通知); 文件域修4bug(normalize_path丢前导/致白名单必失败、upload multipart 文件名截断恒NULL、rename拼错路径恒ENOTDIR、read>1MB改truncated) + 上传8MB上限+文件名净化+双重白名单防逃逸 MeowOS 2026-08-31 04:14:00 +08:00
  • c187b7bce3 feat(files): 新增外置系统文件管理器 os.meow.files (agent-183) — 目录浏览(虚拟化列表/空态)+文本预览(≤256KB截断)+删除/重命名/新建/属性(BottomSheet+IME);路径写操作限 TF 卡内(拒 .. 越界);多文件结构(app.c+ui/{browser,viewer}.c+ui/common/chrome.c+logic/fsx.c) 按批次②范本 MeowOS 2026-08-31 04:03:56 +08:00
  • b5038f8673 refactor(hello): 视图框架批次③ — 目录嵌套(ui/home/home.c, ui/demo/demo.c+ui/demo/list/list.c) + 视图深度化(demo列表区抽 CONTAINER 子视图, 子>父命中) + on_draw 链路实测通过(list标题改由子视图 on_draw 经注册表绘制) + g_ds.prog 上收 logic/state.c (agent-181) MeowOS 2026-08-31 04:00:15 +08:00
  • 7a1c78c5de feat(nyai): 更新规范+导出过滤 — 防降级安装(version点分比较,新版<已装拒装/缺失拒装,先解 staging 再替换) + 导出两层模式(黑名单 find+tar -T 排除 *.pre_*/.bak_*/logs//*.log/.DS_Store 且去 ./ 前缀 / 白名单 export_files 逐项安全校验) + 导出体检(app.json合法+exec存在可执行) + install/upgrade 成功后自清 .bak_<pid> + os.meow.* 签名提示与 2A 验签挂点注释 (agent-180) MeowOS 2026-08-31 03:54:38 +08:00
  • f2786552d5 feat(launcher): 蓝牙/WiFi 独立子页面(安卓风)— 新增 subpage.c 统一脚手架(顶栏+分组列表+跟手滚动+左缘返回) + wifi_page.c(开关/当前连接详情/已保存/附近,BSSID去重+中文SSID) + bt_page.c(开关/已连接/已配对/附近扫描配对);SMENU 网络组收敛为 2 入口行 (agent-178) MeowOS 2026-08-31 03:41:51 +08:00
  • 366bf6bb5d fix(meowpanel): nyai 路径改固件内置 /usr/bin/nyai 优先+卡上旧路径回退(nyai_bin())— 修 /api/apps/*/export 500(nyai 已进固件,卡上 opt/bin 已清) MeowOS 2026-08-31 03:31:09 +08:00
  • 1d2496b38c refactor(hello): 视图框架批次② — hello.c 拆分为 app.c+ui/{home,full,demo}.c+ui/common/chrome.c+logic/{notify,state}.c(定案B: demo视图态留ui/;定案b: page导航包装activity栈);test_p1p2p3_repro 改多文件链接形态 (agent-177) MeowOS 2026-08-31 03:31:09 +08:00
  • 896f391fee fix(perf+sdk/ime): ①perf net_json 缺 network 对象闭合括号 → 全量 JSON 根对象不闭合/非法(MeowPanel /api/system jv_parse 失败根因,真机+python 双重证实)②IME flush 挂起(meow_gfx_flush_hold): 阻塞循环整周期只记脏、IME画完一次原子上屏,根治 on_tick 进度条与键盘同区两刷频闪 ③TextField on_change 只标脏不重画→改 meow_ui_invalidate 真重画,输入实时回显 MeowOS 2026-08-31 03:11:35 +08:00
  • 08c70aa14c feat(sdk/view): 视图框架批次① — z序绘制物注册表(meow_ui_draw.c: 自动注册+auto_z(深度*步长+层内seq)+set_z(999)置顶+MEOW_Z_AUTO_MAX=127) + meow_view骨架(meow_ui_view.c/.h: 嵌套容器+六生命周期+page_push/pop/replace包装activity栈+sub_push/pop预留桩) + 收敛live_btn走invalidate + hello迁移(d_paint_region/d_redraw删除→meow_ui_invalidate, chrome set_z(999), demo文本注册CUSTOM z=128) (agent-176, 定案见SDK_VIEW_FRAMEWORK_DESIGN.md §E①) MeowOS 2026-08-31 02:38:32 +08:00
  • fbc412e96a chore: 入库宿主测试二进制 meow_svcd_host/meowpanel_host(此前 agent 产物未跟踪) MeowOS 2026-08-31 02:38:32 +08:00
  • 8b7640d11a fix(perf): 补提交 365cf0f 漏提交的重建二进制 meow_svc_perf(fa073bf9)+host(5f02b858) — 源码已在 365cf0f,二进制当时漏 add MeowOS 2026-08-31 02:38:15 +08:00
  • 2d7fe81229 fix(sdk/ime): IME 修复(shift小写基/OK只提交不关/阻塞喂on_tick agent-169) + dialog INPUT回归(dlg_ime_change_cb实时回写+适配新语义 agent-173) + test_sdk_fixes shift断言更新 + 宿主测试test_ime_fix MeowOS 2026-08-31 02:01:56 +08:00
  • c515a33ac4 docs(repo): 仓库公开文档同步到 M2.73/0.7.68 + 修 fw_content.conf 过期 md5(meow_svcd da6ebc66/meow_svc_perf fa073bf9, 否则打包 md5 强校验失败中止) (agent-171) MeowOS 2026-08-31 01:41:11 +08:00
  • ae51fe9f70 feat(meowpanel): MeowPanel 后端(HTTP/JSON单进程, 内嵌静态托管, 对接meow_svc_perf/power IPC, 设置镜像, 文件/应用/按键注入) + 前端(蓝牙栏) + 服务配置 + README (agent-164/165) MeowOS 2026-08-31 01:29:44 +08:00
  • fc0ed4938f fix(sdk/hello): P1 z-order重叠(FAB被下层动态控件抹掉,d_redraw→d_paint_region按z栈重画重叠区) + P2 list焦点(命中非list区域释放焦点滚页面) + P3 list脏区(W_LIST裁剪视口,标题栏/底部无残留) (agent-166) MeowOS 2026-08-31 01:27:01 +08:00
  • 4cf8e1e6ca fix(svcd): remove_svc_idx memmove 左移后 argv[] 同源悬垂 — 对移动区间每槽 svc_rebuild_argv 重定位(agent-167 诚实的同类bug, 一并根治) MeowOS 2026-08-31 01:14:44 +08:00
  • 408b165ba3 fix(svcd): load_conf 用局部tmp, *s=tmp 后 argv[] 指针悬垂指向已销毁栈帧(tmp.exec/argbuf)导致 /proc/pid/cmdline 错乱 — 抽 svc_rebuild_argv 重建 argv[] 指向 s 自身成员 (agent-167) MeowOS 2026-08-31 01:14:12 +08:00
  • 365cf0f1c0 feat(svc_perf): network 采集并入 perf 聚合 — 真实 WiFi(wpa_cli/ip) + 蓝牙(hci0/sysfs) + hostname_local, SYSTEM 子集输出, /api/perf 保持轻量 (agent-165) MeowOS 2026-08-31 01:06:30 +08:00
  • c9a1d0e6af docs(build): 新增 scripts/build/README.md 固件打包脚本使用说明(用法/配置格式/产物归档/踩坑/最小打包步骤) MeowOS 2026-08-31 00:33:17 +08:00
  • 85760dbeb3 docs(build): fw_content.conf 注释修正 — /etc/shutdown_logo.jpeg(图片,框架拷) 与 S95shutdown_logo(init脚本,清单项) 区分 MeowOS 2026-08-31 00:32:03 +08:00
  • 6df14a44b6 build: 通用打包脚本优化 — 产物归档 fw_apps/out/(fw_apps/build/分离防互清) + fw_content.conf 升级 M2.73 权威清单(补svc_power/svc_perf+刷新md5) + 删过时独立脚本build_fw_apps_m267.sh MeowOS 2026-08-31 00:31:06 +08:00
  • cc3c39ff2f chore: 补入 test_sb_collapse.c(agent-146 全屏状态栏收合宿主测, 此前漏入库) + docs 字体档位定案锚点(→FONT_SYSTEM.md) MeowOS 2026-08-31 00:19:49 +08:00
  • b8c36bd33c fix(sdk/hello): M2.71控件真机bug批次 — 圆形进度脏区+整环修复/Slider拖动/Dialog·Sheet背景快照scrim不叠黑/Disabled圆角α/点击重置息屏/滑动跟手/IME残影·键位·主题配色/List选中点击 (agent-162) MeowOS 2026-08-31 00:19:40 +08:00
  • b12404a986 feat(svc_power): 升级写保护(卡根r3proii.upt存在+非空+可读+size>0, 失败不写mtd5/不重启) + dac status读板载audio.volume真实0-100(弃amixer dummy) (agent-163) MeowOS 2026-08-31 00:18:50 +08:00
  • 07e621e03b docs: MEOW_APP_SDK §6.1 命中顺序补"模态层=命中首层+scrim外区拦截消费"(根治穿透) MeowOS 2026-08-30 23:57:55 +08:00
  • 9f19f2887e feat(hello): 控件库demo演示页(agent-159) — M2.71 Material组件展示+交互 MeowOS 2026-08-30 23:28:50 +08:00
  • 23727cf400 feat(system): 系统框架一期 — 专项服务(性能/电源)+IPC+电源CLI+电菜单改经服务(agent-155) MeowOS 2026-08-30 23:16:12 +08:00
  • 898bc176c9 docs: 仓库侧公开文档更新到 M2.71/0.7.66 + 系统框架(agent-157) MeowOS 2026-08-30 23:01:59 +08:00
  • dcba5975a2 feat(sdk): meow_config_* App配置读写API(agent-158) MeowOS 2026-08-30 23:01:31 +08:00
  • 9c733fcf73 feat(sdk): 控件库第二批 Material 子集(agent-152) MeowOS 2026-08-30 22:33:51 +08:00
  • 2cb6a7c16f feat(sdk): 控件库第一批通用基座(agent-150) + launcher/hello 重链 MeowOS 2026-08-30 21:57:46 +08:00
  • e6f0b665e3 refactor(launcher): 拆分 meow_launcherd.c(9778行)→meow_launcherd/ 多文件(agent-149) MeowOS 2026-08-30 21:38:30 +08:00
  • 1481ae00c4 fix(statusbar): 全屏状态栏收合 — 上移出屏+停渲染+热区28保留+左缘指示条屏顶(agent-146) MeowOS 2026-08-30 20:18:13 +08:00
  • 03962fffac fix(statusbar): present() 尊重 inset — App进程不写顶条28px区, 根治进App顶条黑1s(agent-145) MeowOS 2026-08-30 19:54:48 +08:00