22 Commits
Author SHA1 Message Date
dependabot[bot] 21e7c8b56b chore(deps): bump vendor/opencc from 3ac34aa to 8cf737a (#1015)
Bumps [vendor/opencc](https://github.com/byvoid/opencc) from `3ac34aa` to `8cf737a`.
- [Release notes](https://github.com/byvoid/opencc/releases)
- [Commits](https://github.com/byvoid/opencc/compare/3ac34aa439a9908dd49fa92b5174b46314787ac2...8cf737a4e193db27d675b2ce9867d84aace33745)

---
updated-dependencies:
- dependency-name: vendor/opencc
  dependency-version: 8cf737a4e193db27d675b2ce9867d84aace33745
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-17 03:00:20 +08:00
fanlusky 8b65d6e46b chore(vendor): 更新 opencc 到 3ac34aa4 2026-10-02 13:50:33 +08:00
dependabot[bot] 1a736bf9ce chore(deps): bump vendor/opencc from 2675388 to 2939943
Bumps [vendor/opencc](https://github.com/byvoid/opencc) from `2675388` to `2939943`.
- [Release notes](https://github.com/byvoid/opencc/releases)
- [Commits](https://github.com/byvoid/opencc/compare/26753884f1984add422f3b0249ccee8613deaff6...2939943bd6f4d459b46d7fdcf07a885ab3f01761)

---
updated-dependencies:
- dependency-name: vendor/opencc
  dependency-version: 2939943bd6f4d459b46d7fdcf07a885ab3f01761
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-01 21:18:52 +00:00
fanlusky a7779d2b05 refactor(engine): 将 engine 从 submodule 内嵌为仓内一等组件
`vendor/MetasequoiaImeEngine` submodule 改为 `engine/` 目录,导入的是
product-lock.json 原本钉住的提交 c810d201,逐文件核对过 blob,因此这是一次
搬迁而不是引擎升级。引擎自己的嵌套 submodule(googlepinyinime-rev、utfcpp、
miniaudio)按各自 gitlink 一并展开,来源与提交见 engine/UPSTREAM.md。

Windows 专门化裁掉了不属于本产品的部分:whisper.cpp 与本地推理 provider、
macOS 示例宿主、整个 dictionary/ 建库流水线、上游 CI 与 release-please 配置。
词库仍按 product-lock.json 在构建时取发布产物。

引擎不再进 product-lock.json:没有 gitlink 就没有可比对的东西,锁里写一个上游
commit 等于宣称这棵树仍等于上游,而第一个 Windows 专门化改动落地时这句话就假了。
verify-contracts / verify-checkout 随之移除,verify-published 保留。

CI 与工具链:引擎源码并入根 scripts/format.sh(删掉引擎自己的那份,避免两套排除
列表分叉);引擎 voice.yml 里的 silero_vad.onnx 摘要校验移到本仓 lock job;
engine-bump-triage 工作流与其测试删除;gitsubmodule 的 dependabot 频率由 daily
改为 monthly。

README、README.en、AGENTS.md、CONTRIBUTING、docs/product-release.md 及各子目录
文档同步说明新的位置与边界。
2026-09-12 03:40:48 +08:00
Jia Sui e595975cbe chore(vendor): bump MetasequoiaImeEngine 至 c810d20(scripts/format.sh 格式化) 2026-09-10 17:32:17 +08:00
Jia Sui 3ae68dee7c chore(vendor): bump MetasequoiaImeEngine 并同步 product-lock
Engine c508c84:全拼纠错分类开关、简拼守卫、preedit 原始输入与
候选纠错标记;product-lock.json engine.commit 同 PR 同步
2026-09-10 17:32:16 +08:00
fanlusky 0bf0928fef perf(deps): pick up the cached user-dictionary journal connection
Engine da61ca4 keeps one sqlite connection open for the default journal
instead of opening one and rebuilding the schema per call.
apply_fixed_positions runs on every keystroke, and that open was 90% of the
server-side candidate build under disk load, stalling the task thread long
enough for composition commits to time out and be dropped.

This also advances the engine from the commit develop currently pins to the
merged tip of engine main. Content-wise that is a small step -- 29 files,
mostly additive: fuzzy pinyin options, dictionary state, and their tests.

product-lock.json follows the submodule, so the artifact manifest records the
engine the build actually used and the release gate still sees a merged
engine commit.
2026-09-09 00:02:57 +08:00
Aegon8719 6ff1cff42d issue-52 加入简繁切换快捷键;增加候选词翻页快捷键组合、增加以词定字快捷键组合;
issue-55 候选词与辅助码间保留一个半角空格。
2026-09-08 14:07:48 +08:00
Evan Hu 2ff0509e67 feat(contracts): verify shared product lock primitives 2026-09-07 02:53:50 +09:00
fanlusky a033f4cbda Update submodule 2026-09-07 00:00:51 +08:00
Evan Hu fd4993f7cc chore(server): pin merged Session caret editing interface 2026-09-06 13:18:43 +09:00
Evan Hu 7c44bd18d1 chore(server): prepare Session adoption with merged engine interfaces 2026-09-06 13:13:15 +09:00
Evan 2b8bf937d9 fix(server): adopt isolated engine sessions and helpcode annotations (#178) 2026-09-06 11:44:30 +09:00
Evan Hu 8b5205db96 chore(server): pin merged shared voice provider implementation 2026-09-06 04:37:29 +09:00
Evan Hu c3fcc4a515 refactor(product): consume the consolidated Engine data and shared voice capture
Ports metasequoiaime/MSIME-Windows#153 onto the consolidated repository. That pull request was written against the six-repository layout: it edited product-ci.yml, which no longer exists, and re-pinned Server, UiHtml and Installer, which are directories now.

Three of its pinned commits had not reached this repository at all. The consolidation took each source repository at its main, and Server, UiHtml and Installer each landed two more commits afterwards, so dropping the pins as merely obsolete would have silently dropped the work the pull request exists to consume. The two substantive ones are ported here: Server drops its vendored miniaudio.h and builds against the engine's MetasequoiaIme::VoiceCapture, and the installer collects helpcodes from the engine. UiHtml's was an engine gitlink bump, which one submodule resolves on its own.

The engine is pinned to d0dc0c2b rather than to the b7c799ef that pull request named. b7c799ef predates 403b4a4d, which is what this repository pins today and is the commit that added pagination to the settings dictionary contract, so taking the pull request's pin verbatim would have reverted a contract main already depends on and stripped offset, limit and hasMore back out of the generated web bindings. d0dc0c2b is the engine's main and is the same commit the dictionary release declares as its source, so the code and the data now name one commit.

The helpcodes moved into the engine, so MSIME-HelpCode stops being a product input: the gitlink that pins the contracts pins the tables too. product-lock.json is down to the engine and the dictionary release, and the dictionary itself now ships from MSIME-Engine. Its manifest states which commit built the data and whether that tree was clean, and the lock verifies both, so matching digests can no longer stand in for a source nobody can rebuild from. The retired MSIME-Dict repository stays valid for the one tag that shipped from it and nothing else.

The release job that packages now checks out submodules, because the helpcodes it collects live in one.
2026-09-06 04:13:04 +09:00
Evan Hu 06bba15d4f fix(server): keep settings I/O off UI thread and bound dictionary rendering 2026-09-06 03:31:40 +09:00
Evan Hu 373f8d1473 refactor: collapse the duplicated submodules into one vendor/ directory
Windows, Server and UiHtml each carried their own gitlink to MSIME-Engine, all three pinned to the same commit, and Server carried a gitlink to MSIME-UI that is now the ui/ component. Git only reads the root .gitmodules, so the nested ones had to go regardless.

The engine and the two third-party dependencies now live once at vendor/MetasequoiaImeEngine, vendor/opencc and vendor/cpp-pinyin. Server reaches them through MSIME_VENDOR_DIR and builds ui/ as an out-of-tree subdirectory; the Windows tip's relative contract includes gained the extra level; the ui-html contract sync and the Server env/table generators follow the engine to its new location.
2026-09-06 02:27:52 +09:00
Evan Hu ce2aa1a329 chore(product): lock final composition consumers and current installer 2026-09-06 01:35:30 +09:00
Evan Hu 033afa437a chore(product): lock consumers to the shared composition engine 2026-09-06 01:31:29 +09:00
Evan Hu 1c6c956530 feat(product): lock the shared-session stack and validate dictionary formats 2026-09-06 00:53:26 +09:00
Evan Hu 9b2844534e feat(product): keep WebView and native contracts in one locked combination 2026-09-05 23:10:29 +09:00
Evan Hu 487011c802 feat(product): lock release inputs and share negotiated IPC contracts 2026-09-05 22:32:21 +09:00