Skip to content

v1.0.6

Choose a tag to compare

@github-actions github-actions released this 22 Mar 11:24
· 42 commits to master since this release

简体中文 (Simplified Chinese)

Important

🎉 重磅更新:跨平台支持正式降临!
在 v1.0.6 版本中,我们迎来了极其重要的里程碑:全面支持跨平台运行! 除 Windows 外,现在已正式加入对 macOS (Apple Silicon) 与 Linux 系统的原生构建支持。结合底层的彻底重构与平台特异性优化,无论您使用哪个平台,都能获得一致且极为流畅的原生桌面体验。


✨ 新功能

  • 集成并内置了来自 shinkuan/Akagi 的二进制依赖库与模型权重文件。
  • 更新了待机界面,加入了文案描述,现在的待机界面不再只有一个孤零零的呼吸灯。
  • 加入了应用内自动检测更新功能,后续版本能从应用内第一时间获取最新版本动态。

🚀 性能提升

  • 大幅重构前端动画与渲染过渡,并清理了大量无用的 HTML DOM classname 和 CSS 代码,显著提升界面渲染速度。
  • 对 PyTorch 资源引入懒加载机制,大幅缩短应用启动时间并优化内存占用。
  • 优化大量 Dataclass 数据结构的实现机制,提升后台服务运行效率。
  • 移除不再使用的 TilePreloader 组件,降低资源初始化过程中的冗余开销。

🎨 UI/UX 增强

  • 移除网页感强烈的 no-drag 属性及拖拽感,显著提升 Electron 客户端原生桌面级的使用体验。
  • 恢复默认设置后的提示信息从干扰性较强的 Toast 通知改为在顶部状态栏内展示。
  • 优化模型设置相关的提示与文案引导,并实装了更为严格的设置校验逻辑。

⚡ 改进与优化

  • 移除已废弃的 规则驱动的和牌保护 配置选项。
  • 移除前端 vite-plugin-compression 和 @vitejs/plugin-react,改为使用原生 Lightning CSS 进行压缩,并改用基于 Rust 的 @vitejs/plugin-react-swc 进一步提升前端代码热重载速度。

🛠️ 维护与重构

  • 构建系统升级:配合多平台支持,将打包环境从 PyInstaller 全面平滑迁移至 Portable Python 体系;深度整合多平台的 CI/CD 流水线,针对 macOS 精确优化了文件签名与 C++ 引用依赖,并针对 Linux 排除了造成冗余体积的无关 CUDA 库。
  • 架构治理:将 Electron 端的各项源码文件整体迁移并规整到 src/ 层级下;重构 App 初始化流程,精简异常错误处理与失效代码;将所有和组装打牌推荐相关的逻辑合并归拢,统一交由 StateTracker 类处理。
  • 代码清理:将传统的 with open() 操作重构为更现代的 read_text()/write_text();清理 StateTracker 里遗留的失效空属性 discardable_tiles_riichi_declaration。

🐛 问题修复

  • 修复了玩家宣布立直时额外产生不必要的重复立直切牌推荐的 Bug。

🧪 测试与质量

  • 进一步精简与优化针对状态追踪引擎 StateTracker 的测试用例。

📦 更新依赖

  • 升级前端环境依赖,重塑了 vite.config.ts 以全面拥抱 Vite 8.0 体系结构。
  • 升级主要的开发与生产级核心依赖:包含 Electron, @types/node, tar, i18next, lucide-react。
  • 升级了 CI/CD 的核心组件版本,将 GitHub Actions actions/upload-artifact 从 v6 升级到了 v7。
  • 移除由于架构升级而废弃的 devtools-protocol 开发依赖。

English

Important

🎉 Major Milestone: Cross-platform Support is Here!
With v1.0.6, we are thrilled to announce a critical milestone: fully-fledged cross-platform compatibility! In addition to Windows, Akagi-NG now officially provides native build support for macOS (Apple Silicon) and Linux systems. Accompanied by a thorough underlying infrastructure restructure and platform-specific optimizations, users across all ecosystems can now enjoy an identical and extraordinarily smooth native desktop experience.


✨ Major Features

  • Integrated and bundled the binary dependencies and model weights from shinkuan/Akagi.
  • Updated the standby interface with descriptive texts; the standby state is no longer just a solitary breathing light.
  • Introduced an in-app automatic update detection feature to effortlessly keep you informed of the latest version releases.

🚀 Performance Improvements

  • Deeply refactored frontend animations and rendering transitions while cleaning up massive amounts of dead HTML DOM classnames and CSS code, significantly boosting interface rendering speed.
  • Introduced a lazy loading mechanism for PyTorch resources to dramatically and optimize application startup speed and memory usage.
  • Optimized the implementation mechanisms of heavy Dataclass structures to enhance the execution efficiency of backend services.
  • Removed the legacy TilePreloader component to reduce redundant overhead during resource initialization.

🎨 UI/UX Enhancements

  • Removed heavy web-like no-drag properties and frustrating drag behaviors, significantly elevating the native desktop usability of the Electron client.
  • Shifted the notification for restoring default settings from disruptive Toast popups to a subtle display in the top status bar.
  • Polished instructions and verbal guidance around model settings, while implementing strictly rigorous configuration validation logics.

⚡ Improvements & Refinements

  • Removed the abandoned Rule-Based Agari Guard configuration option.
  • Removed frontend dependencies vite-plugin-compression and @vitejs/plugin-react. Switched to native Lightning CSS for minification and adopted the Rust-based @vitejs/plugin-react-swc to further turbocharge frontend code Hot Module Replacement (HMR) speeds.

🛠️ Maintenance & Refactoring

  • Build System Upgrade: Solidified multi-platform environments support by seamlessly migrating the packaging distributor directly from PyInstaller to the Portable Python ecosystem. Deeply integrated multi-platform CI/CD pipelines, precisely optimized code sign and C++ references for macOS, and safely excluded irrelevant CUDA libraries that caused bloated app sizes for Linux.
  • Architectural Governance: Migrated and organized all Electron source code cohesively under the src/ directory. Streamlined the App initialization flow by condensing systematic error catching and resolving dead code. Consolidated all logics related to assembling discard recommendations into the unified StateTracker class.
  • Codebase Cleanup: Modernized traditional with open() operations into more modern read_text()/write_text() patterns. Cleaned up the legacy phantom attribute discardable_tiles_riichi_declaration within the StateTracker.

🐛 Bug Fixes

  • Fixed a bug where a player's declaration of Riichi would unexpectedly generate an unnecessary and duplicated discard recommendation.

🧪 Testing & Quality

  • Further streamlined and optimized explicit test case suites targeting the state tracking engine StateTracker.

📦 Dependency Updates

  • Upgraded the frontend environment dependencies and reshaped vite.config.ts to fully embrace with the newly updated Vite 8.0 architecture.
  • Bumped major core production & development dependencies, including Electron, @types/node, tar, i18next and lucide-react.
  • Upgraded CI/CD core component versions by successfully bumping GitHub Actions actions/upload-artifact from v6 to v7.
  • Purged the devtools-protocol development dependency which was deprecated due to recent architectural upgrades.

Full Changelog: v1.0.5...v1.0.6