Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update: mainブランチからマージ #43

Merged
merged 36 commits into from
Jan 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
cce79c4
[release-0.14] マルチエンジン機能を実験的機能から通常機能にあげる (#1641)
Hiroshiba Nov 10, 2023
6bea67c
[release-0.14] to 0.14.9 (#1647)
Hiroshiba Nov 10, 2023
c6f6582
開発環境であればconfigをリセットするか聞くようにする (#1630)
Hiroshiba Nov 14, 2023
65eb90e
Hotfix: 初回起動と0.13からの更新が出来ないのを修正 (#1652)
sevenc-nanashi Nov 18, 2023
8b591a5
[release-0.14] to 0.14.10 (#1654)
Hiroshiba Nov 18, 2023
6665b61
Merge branch 'release-0.14' into buffer-0.14
Hiroshiba Nov 18, 2023
2520cf7
merge 0.14.10 (#1655)
Hiroshiba Nov 18, 2023
88cfdfc
複数選択:複数削除を追加 (#1656)
sevenc-nanashi Nov 23, 2023
2e552dc
複数選択:イントネーションのリセットを複数選択対応 (#1659)
sevenc-nanashi Nov 24, 2023
7ec48c9
TwitterをXに変更 (#1660)
nohimazin Nov 29, 2023
37d52de
複数選択:台本欄の空白をクリックで複数選択を解除するように (#1662)
sevenc-nanashi Dec 3, 2023
3d89f4f
複数選択:話者変更するとAudioQueryのテキストがAudioCellのテキストと一致しなくなるバグを修正 (#1665)
sevenc-nanashi Dec 14, 2023
fe7ef3e
複数選択:Production Buildで出す様に (#1664)
sevenc-nanashi Dec 20, 2023
bb4e0b1
buildファイルの比較を緩い等価比較に変更 (#1679)
Tksn07 Dec 28, 2023
fb34081
コンポーネント群の修正 (#1681)
Tksn07 Dec 30, 2023
7ddfaeb
複数選択:選択中の背景を濃くする (#1683)
sevenc-nanashi Jan 5, 2024
f692df0
Improve: e2eテストを改善 (#1685)
sevenc-nanashi Jan 6, 2024
1e7bed7
設定値を増やすときの手間を減らす (#1694)
Hiroshiba Jan 8, 2024
3152e37
Code: schema系の命名規則を統一 (#1697)
sevenc-nanashi Jan 9, 2024
4c63106
[docs] 依存ライブラリのライセンス情報の生成は自動であることを案内 (#1675)
Hiroshiba Jan 10, 2024
60e3db1
[release-0.14] to 0.14.11 (#1706)
Hiroshiba Jan 11, 2024
08da46d
Merge remote-tracking branch 'upstream/release-0.14' into buffer-0.14
Hiroshiba Jan 12, 2024
f8ffb90
merge 0.14.11 (#1707)
Hiroshiba Jan 12, 2024
97ebf38
utility.tsよりexportされている関数やクラスのユニットテストを追加 (#1701)
weweweok Jan 12, 2024
577cd93
メモとルビ機能を設定で変更可能にし、デフォルトをオフにする (#1700)
Hiroshiba Jan 12, 2024
80a3eb0
useFetchNewUpdateInfosのテストを追加 (#1678)
Hiroshiba Jan 12, 2024
06e8721
メモ機能・ルビ機能の記法を全角記号にも対応させた (#1709)
weweweok Jan 13, 2024
e100dc9
Refactor: 修飾キーのcomposableを追加 (#1711)
sevenc-nanashi Jan 15, 2024
766131d
feat: アップデートのスキップ機能を追加 (#1708)
sabonerune Jan 15, 2024
9d9cb7a
アップデート通知周りのUIと実装調整 (#1713)
Hiroshiba Jan 16, 2024
49e2c7c
Add: VRTを追加 (#1688)
sevenc-nanashi Jan 17, 2024
f17eb8e
fix: 追加エンジンでのUpdateInfoの型エラーを修正 (#1718)
sabonerune Jan 17, 2024
8f1b395
アップデート通知のe2eテスト (#1716)
Hiroshiba Jan 17, 2024
ac5956c
openapiの更新 (#1720)
Hiroshiba Jan 17, 2024
6d6e670
Merge: main -> buffer/2024-01-09
sevenc-nanashi Jan 19, 2024
ed6c283
Update: styleIdの変更に追従
sevenc-nanashi Jan 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ on:

env:
VOICEVOX_ENGINE_REPO_URL: "https://github.com/VOICEVOX/voicevox_engine"
VOICEVOX_ENGINE_VERSION: 0.14.6
VOICEVOX_ENGINE_VERSION: 0.14.7
VOICEVOX_RESOURCE_VERSION: 0.15.0-preview.3
VOICEVOX_EDITOR_VERSION:
|- # releaseタグ名か、workflow_dispatchでのバージョン名か、999.999.999-developが入る
Expand Down
63 changes: 58 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,16 +84,34 @@ jobs:
sed -i -e 's|"executionArgs": \[\],|"executionArgs": ["--port=50021"],|' .env.test
cp .env.test .env

- name: Check if commit message includes [update snapshots]
id: check-whether-to-update-snapshots
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const commits = ${{ toJson(github.event.commits) }};
if (!commits) {
// pull_request などでコミットがない場合はスキップ
core.setOutput("shouldUpdateSnapshots", false);
process.exit(0);
}
const shouldUpdateSnapshots = commits.some((commit) =>
commit.message.toLowerCase().includes("[update snapshots]")
);
core.setOutput("shouldUpdateSnapshots", shouldUpdateSnapshots);
console.log(`shouldUpdateSnapshots: ${shouldUpdateSnapshots}`);

- name: Run npm run test:browser-e2e
run: |
if [ -n "${{ runner.debug }}" ]; then
export DEBUG="pw:browser*"
fi
if [[ ${{ matrix.os }} == ubuntu-* ]]; then
xvfb-run --auto-servernum npm run test:browser-e2e
else
npm run test:browser-e2e
ARGS=""
if [[ ${{ steps.check-whether-to-update-snapshots.outputs.shouldUpdateSnapshots }} == 'true' ]]; then
ARGS="--update-snapshots"
fi
npm run test:browser-e2e -- $ARGS

- name: Run npm run test:electron-e2e
run: |
Expand All @@ -110,9 +128,44 @@ jobs:
if: failure()
uses: actions/upload-artifact@v3
with:
name: playwright-report
name: playwright-report-${{ matrix.os }}
path: playwright-report

- name: Upload updated snapshots to artifact
if: steps.check-whether-to-update-snapshots.outputs.shouldUpdateSnapshots == 'true'
uses: actions/upload-artifact@v4
with:
name: updated-snapshots-${{ matrix.os }}
path: tests/e2e/browser/*-snapshots/*

commit-snapshots:
runs-on: ubuntu-latest
permissions:
contents: write
needs:
- e2e-test
steps:
- uses: actions/checkout@v3

- name: Download artifacts
uses: actions/download-artifact@v4
with:
pattern: updated-snapshots-*
path: tests/e2e/browser
merge-multiple: true

- name: Commit updated snapshots
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
if [ -n "$(git status --porcelain)" ]; then
git add tests/e2e/browser
git commit -m "(スナップショットを更新)"
git push
else
echo "No changes to commit"
fi

lint:
runs-on: ubuntu-latest
steps:
Expand Down
3 changes: 2 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ LGPL_LICENSEを参照してください。

2. ソースコードの公開が不要な別ライセンス

別ライセンスを取得したい場合は、ヒホ(twitter: @hiho_karuta)に求めてください。
別ライセンスを取得したい場合は、ヒホに求めてください。
X アカウント: @hiho_karuta
30 changes: 28 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,14 +190,29 @@ npm run test-watch:browser-e2e -- --headed # テスト中の UI を表示
```

Playwright を使用しているためテストパターンを生成することもできます。
ブラウザ版を起動している状態で以下のコマンドを実行してください
**ブラウザ版を起動している状態で**以下のコマンドを実行してください

```bash
npx playwright codegen http://localhost:5173/#/home --viewport-size=800,600
```

詳細は [Playwright ドキュメントの Test generator](https://playwright.dev/docs/codegen-intro) を参照してください。

#### スクリーンショットの更新

ブラウザ End to End テストでは Visual Regression Testing を行っています。
以下の手順でスクリーンショットを更新できます:

1. フォークしたリポジトリの設定で GitHub Actions を有効にします。
2. リポジトリの設定の Actions > General > Workflow permissions で Read and write permissions を選択します。
3. `[update snapshots]` という文字列をコミットメッセージに含めてコミットします。

```bash
git commit -m "UIを変更 [update snapshots]"
```

4. Github Workflow が完了すると、更新されたスクリーンショットがコミットされます。

### Electron End to End テスト

Electron の機能が必要な、エンジン起動・終了などを含めた End to End テストを実行します。
Expand All @@ -209,6 +224,8 @@ npm run test-watch:electron-e2e # 監視モード

## 依存ライブラリのライセンス情報の生成

依存ライブラリのライセンス情報は Github Workflow でのビルド時に自動生成されます。以下のコマンドで生成できます。

```bash
# get licenses.json from voicevox_engine as engine_licenses.json

Expand Down Expand Up @@ -278,6 +295,14 @@ npx openapi-generator-cli generate \
npm run fmt
```

### OpanAPI generator のバージョンアップ

新しいバージョンの確認・インストールは次のコマンドで行えます。

```bash
npx openapi-generator-cli version-manager list
```

## VS Code でのデバッグ実行

npm scripts の `serve` や `electron:serve` などの開発ビルド下では、ビルドに使用している vite で sourcemap を出力するため、ソースコードと出力されたコードの対応付けが行われます。
Expand All @@ -287,4 +312,5 @@ npm scripts の `serve` や `electron:serve` などの開発ビルド下では
## ライセンス

LGPL v3 と、ソースコードの公開が不要な別ライセンスのデュアルライセンスです。
別ライセンスを取得したい場合は、ヒホ(twitter: [@hiho_karuta](https://twitter.com/hiho_karuta))に求めてください。
別ライセンスを取得したい場合は、ヒホに求めてください。
X アカウント: [@hiho_karuta](https://x.com/hiho_karuta)
4 changes: 2 additions & 2 deletions build/splitNsisArchive.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ const createIni = (sizes, hashes) => {
// target: electron-builder.Target
exports.default = async function (target) {
const projectName = process.env.npm_package_name;
if (projectName === undefined) {
if (projectName == undefined) {
const ErrorMessage = "Project name is undefined.";
console.error(ErrorMessage);
throw ErrorMessage;
}
const projectVersion = process.env.npm_package_version;
if (projectVersion === undefined) {
if (projectVersion == undefined) {
const ErrorMessage = "Project version is undefined.";
console.error(ErrorMessage);
throw ErrorMessage;
Expand Down
19 changes: 16 additions & 3 deletions docs/細かい設計方針.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,28 @@ SpeakerId は話者が持つ ID で、世界で唯一かつ不変。エンジン
StyleId はスタイルごとの ID で、エンジンごとに唯一であれば良いです。

声を一意に決めるには、(EngineId, SpeakerId, StyleId)の3組が揃っている必要がある、という仕様を目指しています。
現状は、音声合成APIに SpeakerId 引数が無いため、(EngineId, StyleId)の2組で一意に声が決まっています。
現状は、音声合成 API に SpeakerId 引数が無いため、(EngineId, StyleId)の2組で一意に声が決まっています。
現状は StyleId はエンジンごとに唯一である必要がありますが、話者ごとに唯一であれば良いという仕様を目指しています。

VOICEVOX は歴史的経緯により、 SpeakerId と StyleId が混同していることがあります。
特に型が整数値になっている SpeakerId は StyleId と混同している場合があります。
(エンジン API の SpeakerId 引数に StyleId を渡したりなど。)

StyleId は現在整数値型になっていますが、将来的にはUuidにしたいと考えています
StyleId は現在整数値型になっていますが、将来的には Uuid にしたいと考えています

## シングルファイルコンポーネント(SFC、`.vue`ファイル)のtemplate、script、styleの順序
## シングルファイルコンポーネント(SFC、`.vue`ファイル)の template、script、style の順序

`<template>`、`<script>`、`<style>`の順序で記述してください。

## Zod のスキーマと型定義

Zod のスキーマ(`z.object`)の変数名は、`[camelCaseでの名前]Schema`、型定義(`z.infer`)の名前は、`[PascalCaseでの名前]Type`としてください。

```ts
export const hogeFugaSchema = z.object({
hoge: z.string(),
fuga: z.number(),
});

export type HogeFugaType = z.infer<typeof hogeFugaSchema>;
```
2 changes: 1 addition & 1 deletion openapi.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion openapitools.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "7.0.0"
"version": "7.2.0"
}
}
Loading
Loading