Skip to content

Releases: IPF-Sinon/DSH-Folk

DSH-Folk 2.2.1-beta.210

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:08

Beta build from 00b14a2 (run #210).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

修 Issue #12:安装的目录改名失败时,回退复制会跟随悬空符号链接(真正的原因)

上一版的诊断把原因钉死了:这台设备上整目录 renameTo 会失败(Android 上它只返回 false,不报错),
而我的回退复制跟随了符号链接去读内容 —— rootfs 里到处是悬空链接(motd-news.timer 这类),
读它必然报 ENOENT,15 毫秒就失败。这是我上一版引入的 bug,被自己加的诊断当场抓住。

这一版:

  • 复制时先判符号链接、用 Os.symlink 原样重建(目标在不在与复制无关);
  • 单条链接建不出来只记日志,不因一个链接废掉整次安装;
  • 保留数据与回滚路径也都改用同一套回退(回滚失败会明确记录 —— 那比安装失败更糟)。

如果你再遇到失败:请把「运行日志」整段复制或用发送日志导出 bugreport。

DSH-Folk 2.2.1-beta.209

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 03:34

Beta build from 8322a6d (run #209).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

修 Issue #12 追因:安装失败的每一步都会说清,并附上分步诊断文件

上一版加的诊断三联没能打出来 —— 只读排查后确认:不是日志被清(clearLog 是先轮转再清空),
而是安装流程里有 4 个失败分支(保留数据 / 移走旧 rootfs / 切换到新 rootfs / 恢复数据)
此前完全静默,用户只看到一句「rootfs 不完整」。这一版:

  • 每个失败分支都记一行,写明败在哪一步;
  • 目录改名失败时回退「复制 + 删除」—— Android 上整目录 renameTo 很容易返回 false 而不报错,
    800MB、几十万条目的 rootfs 正是这种形状,这很可能就是真正的原因;
  • 新增 install-diag.txt:每次安装覆盖写、成功后删除,不受日志清空/截断影响;
  • 「发送日志」现在会把它一并打包,所以失败时必定拿得到。

如果再遇到失败:请把「运行日志」整段复制,或用发送日志导出 bugreport。

DSH-Folk 2.2.1-beta.208

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 09:58

Beta build from ce1eeff (run #208).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

v3.0 收尾三项:回环桥分端点限流、连边即时防成环、解压失败的可诊断性

【回环桥】限流阈值按端点区分(剪贴板 10/分钟、通知与震动 30/分钟;未列出的仍 600/分钟),
窗口也改为按端点各自滚动。仍然只记录不拦截 —— 先观测真实流量再决定是否收紧。
【工作流】连线时即时防成环:会让流程绕回自己的连线被拒绝并提示,不再等到保存才发现。
【运行时安装】修 Issue #12 的可诊断性:解压跳过条目数、必需文件的「存在/大小/可执行」、
chmod 失败数现在都会写进运行日志 —— 以前只报一句「rootfs 不完整」,用户无从判断。

DSH-Folk 2.2.1-beta.207

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 23:25

Beta build from fa9ecd5 (run #207).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

重构收尾:运行时常量表拆出、回环桥加限流与审计(默认只记录)、首页阶段名收敛

【工程】

  • DshRuntime.kt 2662 → 2519 行:17 个常量与纯数据表(超时/路径片段/pnpm 配置键/预装插件名单)搬到 DshRuntimeConstants.kt。
  • DshFsBridge.kt 1387 → 950 行:SAF 路由整族(22 个函数)搬到 DshBridgeSafRoutes.kt;新增 DshBridgeGuard(回环 + token 之后接一层记账/限流/审计)。
  • 回环桥限流默认只记录不拦截(60 秒 / 600 次),审计落在 audit/bridge.jsonl,与能力调用审计同目录 —— 先观测真实流量,需要拦截时再打开。
  • 首页阶段名收敛成唯一映射:HomeDsh 不再自带一份(两份一旦分叉,同一状态在不同主题会显示不同文案)。

【行为】用户可见行为与 2.2.0 一致;这一版用于确认搬家与桥守卫没有碰坏东西(文件访问尤其值得试)。

DSH-Folk 2.2.1-beta.206

Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Oct 15:38

Beta build from 8e754db (run #206).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

重构(内部):安装/校验/解压整簇搬到 DshRuntimeInstaller.kt + 新增 DshRuntimeHost 接口

  • DshRuntime.kt 3047 → 2715 行;搬走 downloadAndInstall/installMeta/installArchive/保留数据/
    ELF 校验/版本落盘等 15 个成员(含私有辅助),调用点写法零改动。
  • 行为不变。这一版主要验证三条路径:检查更新、切换版本、导入本地包(都走这条安装链)。

DSH-Folk 2.2.1-beta.205

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 23:31

Beta build from abde1c6 (run #205).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

重构(内部):DshRuntime.kt 的 6 个数据模型搬到 DshRuntimeModels.kt(纯搬家,无行为变化)

  • DshPhase / PortConflictAction / DshState / DshMeta / RuntimeCheckResult / RuntimeVersion 移出,
    同包移动,调用点与 import 零改动;DshRuntime.kt 3256 → 3047 行。
  • 这一版与 2.2.1-beta.204 行为一致,主要用来确认搬家没碰坏运行时卡片 / 更新检查那几条路径。

DSH-Folk 2.2.1-beta.204

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 23:17

Beta build from 273241f (run #204).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

重构(内部):DshRuntime 的容器环境落地件整簇搬进 DshRuntimeEnv(3255 行,本轮无行为变化)

  • 补充组(/etc/group 补 Android 组名)、pnpm allowBuilds 放行、ICU 列表拼接与相关常量整簇搬走;
  • 上一轮这两个函数搬不动的原因(没带走它们调用的私有辅助)这次一并处理;
  • 公开入口签名不变,纯内部搬家,用户可见行为应与 2.2.0 完全一致 —— 这一版主要用来确认搬家没碰坏东西:
    进终端不再刷 groups: cannot find name for group ID、装插件时依赖构建脚本仍能放行。

DSH-Folk 2.2.0

Choose a tag to compare

@IPF-Sinon IPF-Sinon released this 19 Oct 05:09

更新内容

  • 工作流可以自己画了:流程编辑页整页重做成一块画布 —— 节点是卡片(名字与命令/条件写在卡上,运行状态用边框颜色标出),按住就拖(跟手,松手吸附 12dp 网格)、空白处拖动平移整张画布、点卡片弹出参数窗;从卡片右侧的针脚往外拖就能接下一个节点:落在别的卡片上直接连边,落在空白处弹出节点类型菜单,选完就在你松手的位置把节点建好并连上。
  • 底部「+ 节点」抽屉:把类型卡往外拖到画布上,松手即在新位置直接建好;点一下则在画布上新建(自动分层摆位)。
  • 流程这条线补齐了:AI 创建或修改流程前先给你看流程图与改动差异(危险命令单独标出);执行前缺 Android 权限先弹预检(去授权或跳过);运行详情能看到每一步的状态与输出;条件没走到的分支标成「已跳过」而不是消失;单步超时可配。
  • 安全页两处清理:删掉重复的「权限管理」入口卡;共享存储改成整行可点(点按开关、长按进文件访问范围),说明缩短。
  • 贡献者修复:应用退到后台时,网页里的定时器会暂停(PR #11,@ygpking)。

这一版的主线是工作流:让它从「AI 会用」变成「你自己也能画」。

版本号 2.2.0(versionCode 220001 / 220002),签名与 2.1.1 一致,可直接覆盖安装。

DSH-Folk 2.1.2-beta.203

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 02:32

Beta build from 9a4c772 (run #203).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

修:从针脚拉线、松手落在空白后,选完节点类型新卡片会出现在别处

  • 根因:弹「接哪个节点」菜单时把松手坐标丢了,菜单回来后用的是默认网格位。
  • 现在画布把松手坐标一起交给宿主,选完类型就按那个位置建节点(px→dp→12dp 吸附),
    并且仍然自动连上源节点。抽屉拖出与这条路径共用同一处落点换算。

DSH-Folk 2.1.2-beta.202

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 00:47

Beta build from e4aa850 (run #202).

Signed with the release key, so it upgrades a release install in place.
Less tested than a release — report anything odd.

修:第二次拖动会跳回原位(手势回调的闭包过期)+ 新建流程的卡片位置

  • 根因一:手写 pointerInput 的 key 不变时 Compose 不会重启手势块,块里捕获的还是第一次组合的
    回调 —— 第二次拖动读到的仍是最初坐标。现在拖动/拉线/空白点击的回调都走 rememberUpdatedState。
  • 根因二:新建流程与 AI 生成的定义坐标全是 0,画布显示的是自动布局、模型却还是 0,拖动起点因此
    不一致。现在打开编辑页时就把自动布局写进模型,显示与模型一致。
  • 差异以这份初始布局为基准:自动布局不算用户改动,取消时不会误弹「放弃改动」。