Skip to content

v6.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 10:32
· 36 commits to main since this release

OhGithubLost v6.3.0

无障碍补全 + 恢复 UI 截屏矩阵 + 消除两套「可见性」定义。
Accessibility completed, the UI screenshot matrix restored, and two conflicting definitions of "storage visibility" unified.

新增 / Added

  • 无障碍语义标注(4 处):此前全项目 Semantics 为 0 —— 50 个图标按钮虽都有
    tooltip(Flutter 会自动取作语义标签),但自定义可点击区域没有任何语义标注,
    屏幕阅读器只能念出"按钮",用户不知道点了会怎样。
    • 标题栏窗口控件(最小化 / 最大化 / 关闭)→ Semantics(button: true, label: …)
    • 代码配色色板 → Semantics(button: true, selected: …, label: 颜色 #rrggbb)
    • 通知开关行 → Semantics(toggled: …, button: true, label: 消息内容)
    • 仓库页分支选择条 → Semantics(button: true, label: 选择分支)
    • 文案 4 键 × 15 语言。
  • 恢复 UI 截屏矩阵:从 2 张样本扩回 26 张(5 页面 × 亮/暗 × 横/竖 = 20,
    再加 3 平台 × 亮/暗的首页 = 6)。此前退化成冒烟测试后,UI 改动无法自动发现视觉回归。

变更 / Changed

  • 「落盘可见性」统一成一套判定。此前有两处定义:

    • OgLStoragePlan.userVisible:mode != internal(按档位)
    • OgLAppDirs.isUserVisible:tier ∈ {public, desktop}(按路径分级)

    两者在「桌面文档目录不可写、最终落到应用支持目录」时会给出相反结论。
    今天没露馅纯属侥幸 —— 界面接的是前者、测试锁的是后者,谁也没验证过它们一致。
    现统一为路径分级(唯一来源),SAF 档作为例外单列(用户授权过就可见)。
    新增测试把「无论什么档位,可见性都等于按路径分级的结论」钉成回归。

  • OgLAppDirs.categoryFolder 补上 artifact 映射。此前漏了 Action 构建产物,
    一旦被用到会静默落到 other/ —— 用户看不到任何异常,只是分类目录不对。
    补上映射,并新增测试把底座与中枢两份映射逐枚举比对(新增分类漏改一侧立刻红灯)。
    死代码转为防漂移护栏。

修复 / Fixed

  • window_windows.dart 缩进损坏:第 27/29/30 行等顶格,Linux 同位置正常。
    应是 v6.0.1 删除注入脚本那次重构的残留。
  • app_dirs.dart 注释与代码矛盾:_resolveRoot() ② 档注释原说应用外部目录
    「文件管理器可见」,而 isUserVisible() 明确判为不可见(Android 11+ 隐藏
    Android/data/)。注释会误导后续维护,已改为准确描述并说明为何仍选它作退路。
  • appTitle 三份字面量重复(windows / linux / macos):值上收到
    window_capability.dart 的 kOgLAppTitle,各平台保留同名常量指向它
    (不删符号),消除标题悄悄分叉的可能。

已知限制 / Known limitations

  • 音频不做内置播放:Contents API 对超过 1 MB 的文件不返回内容,音频必然超限。
    预览页给出「下载」动作,之后可在下载管理页交给系统播放器。
  • Linux 裸放安装包仅 3 / 6:deb(amd64 / arm64)与 rpm(x86_64)已产出;
    rpm(arm64)因 Ubuntu 的 rpm 缺少 aarch64 平台定义、无法在 x86_64 宿主上交叉构建;
    两个 AppImage 因 appimagetool 未接受到 ARCH 环境变量而退出码 1。
    三种包在 zip / 7z 里都齐全,功能不缺,只是未裸放直传。详见「产物」一节。
  • 14 种语言的加速协议文本仍为旧版(zh 已改,键集合未变故门禁通过)。
    法律 / 隐私文本在 15 种语言下不一致是合规风险,需按既定流程补齐。
  • 私有仓库的 raw 内容无法走加速(README 仓库内图片、仓库文件):raw 端点
    没有签名机制,交给代理等于送令牌。这是硬约束。
  • macOS / iOS 自 v5.6.0 起弃用。
  • Linux 需要 glibc ≥ 2.35(Ubuntu 22.04 一代及以上)。

产物 / Artifacts

Android arm64-v8a / armeabi-v7a / x86_64 / universal-APK / AAB、
Windows x64 / arm64、Linux x64 / arm64,每份均含 zip 与 7z。

Linux 裸放安装包:本版只产出了 3 / 6(如实说明)

amd64 / x86_64 arm64
.deb ✅ ✅
.rpm ✅ ❌ Ubuntu 的 rpm 缺少 aarch64 平台定义,无法交叉构建
.AppImage ❌ ❌ appimagetool 声称未收到 ARCH,退出码 1

三种包在 zip / 7z 里都齐全,功能不缺,只是未裸放直传。
裸放安装包是 v6.2.0 才开始产出的(此前从未真正发布过),缺失项后续补齐。