11 Commits
Author SHA1 Message Date
Lu Fan(SonnyCalcr) 1b875267db refactor: 移除 WebView2,界面只保留 Direct2D (#1013)
* refactor(engine): 语音独立工具改用原生托盘菜单,移除 WebView2

托盘菜单改用 Win32 弹出菜单,设置项改为用关联编辑器打开 config.toml,关于页改为消息框。删除 window_webview2 与两份 HTML 资源,windows-app 特性不再依赖 webview2 端口。

* refactor(server): 移除 WebView2,候选窗、工具栏、托盘菜单与设置窗口只保留 Direct2D

删除 src/webview2 与 webview_utils,小窗口的置顶、皮肤重载和工具栏状态缓存移到 window/small_windows,presenter 成为唯一路径,D2D 下的置顶时序与 cloak 行为保持不变。设置进程去掉 WebView2 宿主、鼠标转发与启动图,只构建原生窗口;旧快捷方式传入的 --d2d / --webview2 被忽略。删除 appearance.ui_backend 与 appearance.settings_ui_backend(读取、写入、设置页下拉框与两份配置模板),升级时由模板合并丢弃旧值。设置窗口的图片资源移到 server/assets/settings,安装到数据目录的 assets\settings。不再链接 WebView2Loader,vcpkg 去掉 webview2 端口。

* build(installer): 打包与 CI 不再处理 WebView2 页面和运行时

Prepare-PackageFiles 去掉 -UiHtmlDirectory 与 html 暂存,改为暂存 server/assets/settings;安装器不再检查 WebView2 Runtime、不再创建 ProgramData 下的 WebView2 用户数据目录,升级和卸载时清理旧版留下的 webview2 / webview2-settings 与数据目录里的 html。CI 删除设置页构建、契约同步检查和候选窗 DOM 测试,release 的打包任务不再依赖网页产物;dependabot 去掉 npm。第三方声明去掉 WebView2Loader。

* refactor(ui-html): 删除 WebView2 页面与设置页前端工程

候选窗、工具栏、托盘菜单、设置页、主题和契约副本都已没有使用者;设置窗口用到的图片资源已移到 server/assets/settings。sync-contracts.py 与 pnpm/Vite/TypeScript 工程一并删除,契约仍以 engine/contracts/webview 为唯一来源。

* docs(server): 文档改为只描述 Direct2D 界面

仓库地图去掉 ui-html,组件边界、uiAccess 与置顶时序、设置窗口和配置读写的说明改写为 Direct2D 唯一界面;安装说明去掉 WebView2 Runtime 检查,打包命令去掉 -UiHtmlDirectory;engine/contracts/webview 的说明改为设置窗口是唯一使用者,名字是历史遗留。

* docs(skins): 皮肤说明不再区分 WebView2 与 D2D 渲染器

v2 字段去掉「仅 WebView2」,改为说明由 Direct2D 原生渲染、部分字段仍在补全;颜色必须带 # 改为清单格式约定。随包的 skins/niya-demo/skin.toml 不改,免得用户机器上的同名皮肤在升级时被当成已修改而改名备份。

* docs(ui): demo 说明文字不再提 WebView2
2026-10-17 02:48:02 +08:00
fanlusky 28689361ad fix(ci): unblock packaging on the self-hosted runners
Two independent failures kept the v0.6.5 installer from being built after
the pipe probe was fixed.

The package job died in "Verify the release commit is on main" with git
exiting 128 on dubious ownership: runner instance 2 leaves _work owned by
SYSTEM while the job runs as `runner`. actions/checkout is unaffected, so
the first plain git call is what fails, and only jobs scheduled onto that
instance see it. Mark the workspace as safe in the three self-hosted jobs.

Neither vcpkg manifest carried a builtin-baseline, so vcpkg resolved ports
against the registry at HEAD and every build depended on a live fetch of
microsoft/vcpkg. When that fetch degraded, the ports simply vanished:

    Fetching registry information from https://github.com/microsoft/vcpkg (HEAD)...
    fmt does not exist
    utfcpp does not exist

Build TSF x64 failed this way twice and passed twice on the same runner,
which is what an unpinned registry looks like. Pin both manifests to
04a9d8e5, the commit vcpkg-lock.json already records as resolved.
2026-09-09 02:18:57 +08:00
Evan c89ef6f7b2 fix(deps): pin through a git registry so main builds again (#18)
The baseline bump in #17 broke main. builtin-baseline names a commit in the vcpkg clone on the
machine, and the one bundled with the Windows runner is shallow, so it does not have a commit from
yesterday:

    fatal: path 'versions/baseline.json' exists on disk, but not in '04a9d8e5...'
    while loading baseline version for curl

The old baseline worked only because it was old enough to be present locally, which means the
mechanism was going to fail on any sufficiently fresh pin.

Declaring the default registry as a git registry makes vcpkg fetch the pinned commit itself. That is
what MSIME-Windows already does, and MSIME-Engine#17 has now confirmed the same fix on all three
platforms. vcpkg-configuration.json existed here as an empty object, so this fills it in.
2026-09-05 18:43:15 +09:00
Evan Hu eb67da166c chore(deps): move the vcpkg baseline forward from January 2026
The pinned baseline was 66c0373d, committed 2026-01-16 and 2870 commits behind. Nothing was watching
it: the dependabot template in this org declares only github-actions and gitsubmodule.

Eight ports move. The pairing worth watching is spdlog 1.15.1 to 1.17.0 alongside fmt 11.0.2 to
12.2.0, since spdlog builds against fmt and a mismatched pair is a familiar way to break a build.
webview2 also moves a long way, 1.0.2277.86 to 1.0.4191.47.

CI builds Release here but runs no tests, so a green check means it compiles and nothing more. The
WebView2 loader and the candidate window are the parts to exercise by hand before trusting this.
2026-09-05 18:04:09 +09:00
fanlusky a09ea0a238 Add doubao asr support. 2026-08-14 16:36:34 +08:00
fanlusky 765e340251 Integrate the voice input method. 2026-07-18 00:42:24 +08:00
fanlumaster 5e6ee87626 [feat]: add cloud api 2026-03-26 01:44:07 +08:00
fanlumaster 1e916a2226 adjust vcpkg config 2026-02-28 18:19:11 +08:00
fanlumaster 704cae5162 [dep]: use vcpkg webview2 lib to replace origianal nuget lib 2026-02-28 15:05:38 +08:00
fanlumaster 28d11c0d9f [config]: Read toml config file from appdata location 2026-01-30 12:27:23 +08:00
fanlumaster 7c618a06fc [dev]: Change 3rd-party lib to vckpg and add sqlite3 2025-04-20 17:42:18 +08:00