Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
c5493e5
fix(ci): Update build workflow and configuration
Y-RyuZU Jun 22, 2025
720c86e
fix(types): Replace all 'any' types with proper TypeScript types
Y-RyuZU Jun 22, 2025
efb5813
fix(tests): Rewrite filesystem service tests to use built-in mocking
Y-RyuZU Jun 22, 2025
74e0d6f
refactor: Remove unused imports and variables
Y-RyuZU Jun 22, 2025
c5cf945
fix(types): Resolve TypeScript compilation errors
Y-RyuZU Jun 22, 2025
53093b7
fix(config, ci): improve type safety and remove unused debugging step
Y-RyuZU Jun 22, 2025
d156a67
fix(tauri): update bundle identifier for macOS build
Y-RyuZU Jun 22, 2025
5dc2fbb
fix(config): update Tauri build commands to use "bun run" syntax
Y-RyuZU Jun 22, 2025
711ae97
feat(ci): add environment variables for Tauri signing and update publ…
Y-RyuZU Jun 22, 2025
d0c3d1c
refactor(config): unify configuration structure and add temperature s…
Y-RyuZU Jun 22, 2025
ca16792
feat(translation): implement token counter with smart chunking
Y-RyuZU Jul 1, 2025
5d65ecb
feat(logging): enhance translation logging with comprehensive progres…
Y-RyuZU Jul 1, 2025
d5e1ab5
fix(translation): enable token-based chunking and fix token limit issues
Y-RyuZU Jul 1, 2025
0c3ae96
fix(translation): add token chunking config serialization and UI cont…
Y-RyuZU Jul 1, 2025
7ee3b36
fix: replace error throwing with logging to avoid debug notifications
Y-RyuZU Jul 13, 2025
49a9742
fix: prevent progress bar from jumping backwards
Y-RyuZU Jul 13, 2025
541c0e5
fix: resolve hydration errors in SSR/client rendering
Y-RyuZU Jul 13, 2025
4f69a65
feat: add toast notifications and fix settings persistence
Y-RyuZU Jul 13, 2025
4c22e3f
fix: prevent duplicate language suffixes in quest files
Y-RyuZU Jul 13, 2025
9cf2902
refactor: consolidate defaults into constants directory
Y-RyuZU Jul 13, 2025
87f6ddf
test: update test configuration and add bun support
Y-RyuZU Jul 13, 2025
7de9374
chore: miscellaneous improvements and code cleanup
Y-RyuZU Jul 13, 2025
3ffafec
feat(backup): implement translation backup system
Y-RyuZU Jul 13, 2025
8230634
feat(quest): implement T018 nested directory structure support for FT…
Y-RyuZU Jul 14, 2025
26ea7ad
feat(T020): implement comprehensive legacy .lang file support
Y-RyuZU Jul 14, 2025
83a61b9
feat(quest): implement T021 BetterQuest DefaultQuests.lang direct tra…
Y-RyuZU Jul 14, 2025
6d42563
fix(backup): correct state management in backup settings component
Y-RyuZU Jul 14, 2025
00b2cdd
test: update test configuration and fixtures
Y-RyuZU Jul 14, 2025
a7b4dee
feat(ui): add badge component and update type definitions
Y-RyuZU Jul 14, 2025
f2b06a7
fix(lint): resolve ESLint warnings in quests-tab.tsx
Y-RyuZU Jul 14, 2025
94c0d1e
Merge branch 'main' into tauri - resolve conflicts
Y-RyuZU Jul 15, 2025
cd0d6bc
fix: resolve linting and formatting issues for CI validation
Y-RyuZU Jul 15, 2025
81fd736
fix: update dependencies to resolve security vulnerabilities
Y-RyuZU Jul 15, 2025
e0313f0
fix: allow Cargo.lock in git for CI security audit
Y-RyuZU Jul 15, 2025
34a8d6e
fix: add Cargo.lock to root for CI
Y-RyuZU Jul 15, 2025
e2e7b6c
fix: resolve CI issues
Y-RyuZU Jul 15, 2025
967cabe
fix: resolve frontend type checking and linting issues
Y-RyuZU Jul 15, 2025
08d9fbf
fix: resolve CI issues and apply CodeRabbit suggestions
Y-RyuZU Jul 15, 2025
5572e16
fix: apply Rust formatting
Y-RyuZU Jul 15, 2025
fdd4b84
fix: add missing system dependencies to PR validation workflow
Y-RyuZU Jul 15, 2025
9063a9a
fix: apply clippy uninlined_format_args fixes
Y-RyuZU Jul 15, 2025
b3c227f
fix: apply cargo fmt for remaining formatting issues
Y-RyuZU Jul 15, 2025
a6d4b1a
fix: use npm test in PR validation to run correct test subset
Y-RyuZU Jul 15, 2025
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
4 changes: 4 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ jobs:
build:
name: Build - ${{ matrix.platform.target }}
needs: test
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} # Repository Secret
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
Comment on lines +47 to +50
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Secrets exposed to entire job

Setting GITHUB_TOKEN and signing keys at the job level exposes them to every subsequent step. Restrict to the step that actually needs them (the Tauri build) to minimise leakage surface:

-    env:
-      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
-      TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
...
-      - name: Build Tauri app
-        uses: tauri-apps/tauri-action@v0
+      - name: Build Tauri app
+        uses: tauri-apps/tauri-action@v0
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
+          TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} # Repository Secret
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
# .github/workflows/build.yml
jobs:
build:
runs-on: ubuntu-latest
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
- TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
steps:
- uses: actions/checkout@v3
# … other steps …
- name: Build Tauri app
uses: tauri-apps/tauri-action@v0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
# … remaining steps …
🤖 Prompt for AI Agents
In .github/workflows/build.yml around lines 42 to 45, the environment variables
for GITHUB_TOKEN and Tauri signing keys are set at the job level, exposing these
secrets to all steps. Move these environment variable declarations from the job
level to only the specific step that performs the Tauri build to restrict secret
exposure and minimize the risk of leakage.

strategy:
fail-fast: false
matrix:
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ jobs:
restore-keys: |
${{ runner.os }}-pr-

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

- name: Install dependencies
run: bun install

Expand All @@ -51,7 +56,7 @@ jobs:
run: bun run typecheck

- name: Run tests
run: bun test
run: npm test

Comment on lines 58 to 60
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Mixed package managers may break lock-file determinism

Dependencies are installed with bun install (respecting bun.lockb), but tests run through npm.
If npm test pulls in additional dev-deps, their versions are no longer locked, and Node’s module resolution might not match Bun’s. Two quick fixes:

  1. Run tests with Bun as before (bun test), or
  2. Add a preceding npm ci and pin a package-lock.json plus a dedicated Node setup step:
- name: Setup Node
  uses: actions/setup-node@v4
  with:
    node-version: "20"

- name: Install JS deps (npm)
  run: npm ci

Pick one approach to keep a single source-of-truth.


🏁 Script executed:

#!/bin/bash
# Check for bun install in the workflow
grep -R "run: *bun install" -n .github/workflows/pr-validation.yml || echo "no bun install step found"

# Check for bun test in the workflow
grep -R "run: *bun test" -n .github/workflows/pr-validation.yml || echo "no bun test step found"

# Confirm npm test is present
grep -R "run: *npm test" -n .github/workflows/pr-validation.yml || echo "no npm test step found"

# Check if a package-lock.json is tracked at repo root
if [ -f package-lock.json ]; then
  echo "package-lock.json exists"
else
  echo "no package-lock.json"
fi

Length of output: 390


Ensure a single package manager in CI to keep lock-file determinism

Your workflow currently installs deps with Bun (line 44) but runs tests with npm (line 59), and there’s no package-lock.json in the repo. This can lead to mismatches between bun.lockb and npm’s resolution. Choose one of the following:

• Switch to Bun for testing:
• Update the test step to:
diff - run: npm test + run: bun test

• Or standardize on npm:
• Commit a package-lock.json and pin your Node version
• Before npm test, install with npm ci
```yaml
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install JS deps
  run: npm ci

- name: Run tests
  run: npm test
```

Locations to update:

  • .github/workflows/pr-validation.yml: replace or augment the “Run tests” step at line 59
  • Root of repo: add and commit package-lock.json if choosing npm
🧰 Tools
🪛 YAMLlint (1.37.1)

[error] 60-60: trailing spaces

(trailing-spaces)

🤖 Prompt for AI Agents
In .github/workflows/pr-validation.yml around lines 44 to 60, the workflow
installs dependencies using Bun but runs tests with npm, causing potential
lock-file mismatches. To fix this, standardize on npm by adding a step to set up
Node with a fixed version (e.g., 20), replace the dependency installation step
with `npm ci` to ensure consistent installs, and keep the test step as `npm
test`. Also, commit a `package-lock.json` file at the root of the repo to
maintain lock-file determinism.

- name: Build check
run: |
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# Hidden files (except specific directories)
.*
!.github/
!.devcontainer/

# Cargo.lock should be committed for applications
!Cargo.lock
*.zip
*.tar.gz

Expand Down Expand Up @@ -53,3 +57,4 @@ next-env.d.ts
src-tauri/target/
src-tauri/gen/
src-tauri/logs/
mod_analysis/
Loading
Loading