feat: replace application and tray icons

Update release metadata to 0.1.17 and use ready/not-ready tray assets.

AI-assisted-by: Codex
AI-model: gpt-5.6-sol
AI-reasoning-effort: medium
Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
2026-09-01 20:36:05 +08:00
co-authored by Codex
parent ed1bf16e24
commit edd352e3d4
21 changed files with 25 additions and 17 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
## 项目范围 ## 项目范围
MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.16`。 MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.17`。
不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。 不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。
+6
View File
@@ -2,6 +2,12 @@
本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 的格式。 本项目遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 的格式。
## [0.1.17] - 2026-09-01
### 变更
- 更新应用图标,并将托盘图标统一为“已就绪”和“未就绪”两种状态。
## [0.1.16] - 2026-08-26 ## [0.1.16] - 2026-08-26
### 修复 ### 修复
+1 -1
View File
@@ -2,7 +2,7 @@
## 项目范围 ## 项目范围
MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.16`。 MeloASR 是仅面向 Linux 的 Fcitx5 桌面语音输入工具。项目名为 `MeloASR`,分发包名为 `meloasr`,当前版本为 `0.1.17`。
不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。 不得恢复 Windows、PowerShell 或 Tauri 输出路径。发行版差异只能存在于依赖说明和打包配置,不能进入语音输入核心逻辑。
+1 -1
View File
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(meloasr-fcitx5 VERSION 0.1.16 LANGUAGES CXX) project(meloasr-fcitx5 VERSION 0.1.17 LANGUAGES CXX)
include(GNUInstallDirs) include(GNUInstallDirs)
include(CTest) include(CTest)
+1 -1
View File
@@ -6,7 +6,7 @@ Comment[zh_CN]=将 MeloASR 网页后端连接到当前输入上下文
Type=SharedLibrary Type=SharedLibrary
Library=@MELOASR_LIBRARY_PATH@ Library=@MELOASR_LIBRARY_PATH@
Category=Module Category=Module
Version=0.1.16 Version=0.1.17
OnDemand=False OnDemand=False
Configurable=False Configurable=False
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "meloasr", "name": "meloasr",
"productName": "MeloASR", "productName": "MeloASR",
"version": "0.1.16", "version": "0.1.17",
"private": true, "private": true,
"packageManager": "pnpm@11.21.0", "packageManager": "pnpm@11.21.0",
"author": "MeloASR contributors", "author": "MeloASR contributors",
+2 -2
View File
@@ -1,6 +1,6 @@
# Linux 分发打包 # Linux 分发打包
MeloASR 0.1.16 的系统包由两部分组成: MeloASR 0.1.17 的系统包由两部分组成:
- Electron 应用安装到 `/opt/meloasr`,命令入口为 `/usr/bin/meloasr`; - Electron 应用安装到 `/opt/meloasr`,命令入口为 `/usr/bin/meloasr`;
- Fcitx5 常驻 addon 由目标发行版中的 CMake/Fcitx5 开发包编译,并安装到该环境报告的 addon 目录。 - Fcitx5 常驻 addon 由目标发行版中的 CMake/Fcitx5 开发包编译,并安装到该环境报告的 addon 目录。
@@ -40,7 +40,7 @@ pnpm run build:linux:dir
packaging/deb/build-deb.sh packaging/deb/build-deb.sh
``` ```
产物位于 `packaging/out/meloasr_0.1.16_<arch>.deb`。依赖名称按 Debian/Ubuntu 系列填写,但尚未在各发行版完成安装验证。 产物位于 `packaging/out/meloasr_0.1.17_<arch>.deb`。依赖名称按 Debian/Ubuntu 系列填写,但尚未在各发行版完成安装验证。
## rpm ## rpm
+1 -1
View File
@@ -1,5 +1,5 @@
pkgname=meloasr pkgname=meloasr
pkgver=0.1.16 pkgver=0.1.17
pkgrel=1 pkgrel=1
pkgdesc='Web-backed voice input for Fcitx5' pkgdesc='Web-backed voice input for Fcitx5'
arch=('x86_64') arch=('x86_64')
+1 -1
View File
@@ -4,7 +4,7 @@
```bash ```bash
curl --fail --location --remote-name \ curl --fail --location --remote-name \
https://github.com/Melorise/MeloASR/releases/download/v0.1.16/PKGBUILD https://github.com/Melorise/MeloASR/releases/download/v0.1.17/PKGBUILD
makepkg --syncdeps --cleanbuild makepkg --syncdeps --cleanbuild
``` ```
+1
View File
@@ -16,6 +16,7 @@
<binary>meloasr</binary> <binary>meloasr</binary>
</provides> </provides>
<releases> <releases>
<release version="0.1.17" date="2026-09-01"/>
<release version="0.1.16" date="2026-08-26"/> <release version="0.1.16" date="2026-08-26"/>
<release version="0.1.15" date="2026-08-26"/> <release version="0.1.15" date="2026-08-26"/>
<release version="0.1.14" date="2026-08-26"/> <release version="0.1.14" date="2026-08-26"/>
+1 -1
View File
@@ -2,7 +2,7 @@
set -euo pipefail set -euo pipefail
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
version="${MELOASR_VERSION:-0.1.16}" version="${MELOASR_VERSION:-0.1.17}"
arch="${MELOASR_DEB_ARCH:-$(dpkg --print-architecture)}" arch="${MELOASR_DEB_ARCH:-$(dpkg --print-architecture)}"
app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}" app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}"
work_dir="${project_dir}/packaging/out/deb-root" work_dir="${project_dir}/packaging/out/deb-root"
+1 -1
View File
@@ -2,7 +2,7 @@
set -euo pipefail set -euo pipefail
project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)" project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.." && pwd)"
version="${MELOASR_VERSION:-0.1.16}" version="${MELOASR_VERSION:-0.1.17}"
app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}" app_dir="${1:-${MELOASR_ELECTRON_APP_DIR:-${project_dir}/release/linux-unpacked}}"
stage_dir="${project_dir}/packaging/out/rpm-root" stage_dir="${project_dir}/packaging/out/rpm-root"
top_dir="${project_dir}/packaging/out/rpmbuild" top_dir="${project_dir}/packaging/out/rpmbuild"
+3
View File
@@ -36,6 +36,9 @@ tar -C %{buildroot} -xzf %{SOURCE0}
/etc/xdg/autostart/meloasr.desktop /etc/xdg/autostart/meloasr.desktop
%changelog %changelog
* Tue Sep 01 2026 MeloASR contributors - 0.1.17-1
- Replace the application and tray icons; use one icon for ready and one for all not-ready states.
* Wed Aug 26 2026 MeloASR contributors - 0.1.16-1 * Wed Aug 26 2026 MeloASR contributors - 0.1.16-1
- Migrate dependency installation and build commands from npm to pnpm. - Migrate dependency installation and build commands from npm to pnpm.
+1 -3
View File
@@ -8,10 +8,8 @@ const copies = [
['src/renderer/overlay.html', 'dist/renderer/overlay.html'], ['src/renderer/overlay.html', 'dist/renderer/overlay.html'],
['src/renderer/overlay.css', 'dist/renderer/overlay.css'], ['src/renderer/overlay.css', 'dist/renderer/overlay.css'],
['src/assets/logo.png', 'dist/assets/logo.png'], ['src/assets/logo.png', 'dist/assets/logo.png'],
['src/assets/tray-loading.png', 'dist/assets/tray-loading.png'], ['src/assets/tray-notready.png', 'dist/assets/tray-notready.png'],
['src/assets/tray-ready.png', 'dist/assets/tray-ready.png'], ['src/assets/tray-ready.png', 'dist/assets/tray-ready.png'],
['src/assets/tray-login-required.png', 'dist/assets/tray-login-required.png'],
['src/assets/tray-error.png', 'dist/assets/tray-error.png']
]; ];
for (const [source, target] of copies) { for (const [source, target] of copies) {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

+3 -3
View File
@@ -6,10 +6,10 @@ import type { SettingsWindow } from './settings-window';
type TrayState = 'loading' | 'ready' | 'login-required' | 'error'; type TrayState = 'loading' | 'ready' | 'login-required' | 'error';
const ICONS: Record<TrayState, string> = { const ICONS: Record<TrayState, string> = {
loading: 'tray-loading.png', loading: 'tray-notready.png',
ready: 'tray-ready.png', ready: 'tray-ready.png',
'login-required': 'tray-login-required.png', 'login-required': 'tray-notready.png',
error: 'tray-error.png' error: 'tray-notready.png'
}; };
function trayImage(state: TrayState): Electron.NativeImage { function trayImage(state: TrayState): Electron.NativeImage {