Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
48f9c24
chore(deps): bump actions/github-script from 8.0.0 to 9.0.0
dependabot[bot] Apr 13, 2026
dec09fb
chore(deps)(deps): bump the npm-minor-patch group
dependabot[bot] Apr 13, 2026
4c7b3a3
chore(deps): bump the cargo-minor-patch group with 2 updates
dependabot[bot] Apr 13, 2026
1073317
Update package-lock.json
Jordonbc Apr 17, 2026
9913a6e
Fix Spinner issue
Jordonbc Apr 17, 2026
7d38037
Improved threading
Jordonbc Apr 17, 2026
b3e3496
Fixed file delete not working
Jordonbc Apr 19, 2026
fc09cdc
Merge pull request #218 from Open-VCS/dependabot/cargo/Dev/cargo-mino…
Jordonbc Apr 20, 2026
7a82b0b
Merge pull request #217 from Open-VCS/dependabot/npm_and_yarn/Fronten…
Jordonbc Apr 20, 2026
e2f27d5
Merge pull request #216 from Open-VCS/dependabot/github_actions/Dev/a…
Jordonbc Apr 20, 2026
3679684
Update opencode-review.yml
Jordonbc Apr 20, 2026
ca81bd6
chore(deps): bump the actions-minor-patch group with 2 updates
dependabot[bot] Apr 20, 2026
0746cea
chore(deps)(deps-dev): bump the npm-minor-patch group
dependabot[bot] Apr 20, 2026
71b8def
Fixed compile issues
Jordonbc Apr 20, 2026
0e7cebf
Update opencode-review.yml
Jordonbc Apr 20, 2026
1c0863a
Fix: remove continue-on-error to enable fallback
opencode-agent[bot] Apr 20, 2026
eaed4b3
Fix issues
Jordonbc Apr 20, 2026
6dab658
Merge pull request #222 from Open-VCS/Fix/Opencode-Review
Jordonbc Apr 20, 2026
69d1aed
Merge branch 'Dev' into Improved-responsiveness
Jordonbc Apr 20, 2026
8026a8e
Update confirmModal.ts
Jordonbc Apr 20, 2026
f1b82c4
Update confirm.test.ts
Jordonbc Apr 20, 2026
2ea24d8
Update main.ts
Jordonbc Apr 20, 2026
bf0b2f5
Update confirmModal.ts
Jordonbc Apr 20, 2026
9adc0e6
Update modals.ts
Jordonbc Apr 20, 2026
dc8be4b
Merge pull request #219 from Open-VCS/Improved-responsiveness
Jordonbc Apr 20, 2026
1339ae0
Merge branch 'Dev' into dependabot/github_actions/Dev/actions-minor-p…
Jordonbc Apr 20, 2026
8596ec1
Merge branch 'Dev' into dependabot/npm_and_yarn/Frontend/Dev/npm-mino…
Jordonbc Apr 20, 2026
1164a7f
Merge pull request #220 from Open-VCS/dependabot/github_actions/Dev/a…
Jordonbc Apr 20, 2026
32ff3f6
Merge pull request #221 from Open-VCS/dependabot/npm_and_yarn/Fronten…
Jordonbc Apr 20, 2026
dce8f1f
Update package-lock.json
Jordonbc Apr 20, 2026
03b1334
Merge branch 'Dev' of github.com:Open-VCS/OpenVCS into Dev
Jordonbc Apr 20, 2026
36a8d1b
chore(deps): bump rustls-webpki in the cargo group across 1 directory
dependabot[bot] Apr 21, 2026
d533548
Delete openvcs-git-plugin-0.1.0.tgz
Jordonbc Apr 21, 2026
03ad157
Implement Sentry
Jordonbc Apr 21, 2026
0cd9c80
Merge pull request #223 from Open-VCS/dependabot/cargo/cargo-8056535635
Jordonbc Apr 21, 2026
c3dcf56
Merge branch 'Dev' into Sentry
Jordonbc Apr 21, 2026
4007ef0
Update logging.rs
Jordonbc Apr 21, 2026
2153f66
Update monitoring.rs
Jordonbc Apr 21, 2026
02cc8c4
Update opencode-review.yml
Jordonbc Apr 21, 2026
9681bd1
Merge pull request #224 from Open-VCS/Sentry
Jordonbc Apr 21, 2026
f9b9cb6
Update Cargo.lock
Jordonbc Apr 21, 2026
17b7951
Update package-lock.json
Jordonbc Apr 22, 2026
18473b3
Update Git plugin to follow latest commits
Jordonbc Apr 22, 2026
a661358
Implement fix for menus
Jordonbc Apr 22, 2026
336d8e8
Implement plugin update channels
Jordonbc Apr 22, 2026
835079e
Add monitoring, plugin updates
opencode-agent[bot] Apr 22, 2026
53aa42c
Fixed commit issues
Jordonbc Apr 23, 2026
2ec18d0
Fix mod.rs file
Jordonbc Apr 23, 2026
ead22ff
Fixed issues
Jordonbc Apr 23, 2026
6bc1973
Update opencode-review.yml
Jordonbc Apr 23, 2026
43b6db9
Merge branch 'Beta' into Dev
Jordonbc Apr 23, 2026
7cb6a0a
Version Bump
Jordonbc Apr 23, 2026
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
14 changes: 11 additions & 3 deletions .github/workflows/beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:

- name: Compute metadata (date, short SHA)
id: meta
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const date = new Date().toISOString().slice(0, 10);
Expand All @@ -47,7 +47,7 @@ jobs:
core.setOutput('date', date);

- name: Setup Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24'
cache: 'npm'
Expand All @@ -59,6 +59,12 @@ jobs:

- name: Build frontend
working-directory: Frontend
env:
VITE_SENTRY_ENVIRONMENT: beta
VITE_SENTRY_RELEASE: openvcs-beta-${{ steps.meta.outputs.short_sha }}
SENTRY_AUTH_TOKEN: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_AUTH_TOKEN || '' }}
SENTRY_ORG: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_ORG || '' }}
SENTRY_PROJECT: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_PROJECT || '' }}
run: npm run build

- name: Install Rust (stable)
Expand Down Expand Up @@ -89,7 +95,7 @@ jobs:
run: cargo clippy --all-targets -- -D warnings

- name: Remove existing 'openvcs-beta' release & tag
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const owner = context.repo.owner;
Expand All @@ -115,6 +121,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FRONTEND_SKIP_BUILD: '1'
OPENVCS_UPDATE_CHANNEL: beta
OPENVCS_SENTRY_DSN: ${{ secrets.OPENVCS_SENTRY_DSN }}
OPENVCS_SENTRY_ENVIRONMENT: beta
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_PRIVATE_KEY_PASSWORD }}
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
fetch-depth: 0

- name: Initialize CodeQL
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v3
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
Expand All @@ -64,9 +64,9 @@ jobs:

- name: Autobuild
if: matrix.build-mode == 'autobuild'
uses: github/codeql-action/autobuild@c10b8064de6f491fea524254123dbe5e09572f13 # v3
uses: github/codeql-action/autobuild@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v3
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v3
with:
category: "/language:${{ matrix.language }}"
3 changes: 2 additions & 1 deletion .github/workflows/development.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ jobs:
RUSTC_WRAPPER: sccache
SCCACHE_GHA_ENABLED: ${{ vars.SSCCACHE_GHA_ENABLED }}
SCCACHE_CACHE_SIZE: ${{ vars.SSCCACHE_SIZE }}
OPENVCS_UPDATE_CHANNEL: dev
timeout-minutes: 20

steps:
Expand All @@ -59,7 +60,7 @@ jobs:

# ---------- Frontend: lint + typecheck ----------
- name: Setup Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24'
cache: 'npm'
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:

- name: Compute metadata (date, short SHA, compare, changelog)
id: meta
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const date = new Date().toISOString().slice(0, 10); // UTC date
Expand Down Expand Up @@ -152,7 +152,7 @@ jobs:

# ---------- Frontend ----------
- name: Setup Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24'
cache: 'npm'
Expand All @@ -164,6 +164,12 @@ jobs:

- name: Build frontend
working-directory: Frontend
env:
VITE_SENTRY_ENVIRONMENT: nightly
VITE_SENTRY_RELEASE: openvcs-nightly-${{ steps.meta.outputs.short_sha }}
SENTRY_AUTH_TOKEN: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_AUTH_TOKEN || '' }}
SENTRY_ORG: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_ORG || '' }}
SENTRY_PROJECT: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_PROJECT || '' }}
run: npm run build

# ---------- Rust & platform deps ----------
Expand Down Expand Up @@ -197,7 +203,7 @@ jobs:

# ---------- Reset rolling tag (optional but keeps things tidy) ----------
- name: Remove existing 'openvcs-nightly' release & tag (if any)
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const owner = context.repo.owner;
Expand All @@ -224,6 +230,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
FRONTEND_SKIP_BUILD: '1'
OPENVCS_UPDATE_CHANNEL: nightly
OPENVCS_SENTRY_DSN: ${{ secrets.OPENVCS_SENTRY_DSN }}
OPENVCS_SENTRY_ENVIRONMENT: nightly
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_PRIVATE_KEY_PASSWORD }}
with:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/opencode-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,28 +26,28 @@ jobs:
env:
OPENCODE_API_KEY: ${{ secrets.ZEN_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
model: ${{ vars.OPENCODE_REVIEW_MODEL }}
use_github_token: true
use_github_token: false
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvements

- name: fallback
if: steps.review_primary.outcome == 'failure'
if: ${{ steps.review_primary.outcome == 'failure' }}
uses: anomalyco/opencode/github@2410593023d2c61f05123c9b0faf189a28dfbeee
env:
OPENCODE_API_KEY: ${{ secrets.ZEN_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
model: ${{ vars.OPENCODE_REVIEW_MODEL_FALLBACK }}
use_github_token: true
use_github_token: false
prompt: |
Review this pull request:
- Check for code quality issues
- Look for potential bugs
- Suggest improvements
- Suggest improvements
10 changes: 9 additions & 1 deletion .github/workflows/publish-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:

# ---------- Frontend (Node + Vite) ----------
- name: Setup Node
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24'
cache: 'npm'
Expand All @@ -57,6 +57,12 @@ jobs:

- name: Build frontend
working-directory: Frontend
env:
VITE_SENTRY_ENVIRONMENT: stable
VITE_SENTRY_RELEASE: ${{ steps.version.outputs.tag }}
SENTRY_AUTH_TOKEN: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_AUTH_TOKEN || '' }}
SENTRY_ORG: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_ORG || '' }}
SENTRY_PROJECT: ${{ matrix.platform == 'ubuntu-24.04' && secrets.SENTRY_PROJECT || '' }}
run: npm run build

# ---------- Rust toolchain & deps ----------
Expand Down Expand Up @@ -144,6 +150,8 @@ jobs:
# We already built the Frontend; tell Backend/Tauri to skip any beforeBuildCommand
FRONTEND_SKIP_BUILD: '1'
OPENVCS_UPDATE_CHANNEL: stable
OPENVCS_SENTRY_DSN: ${{ secrets.OPENVCS_SENTRY_DSN }}
OPENVCS_SENTRY_ENVIRONMENT: stable
# Stable production builds should report the plain package version (not git metadata).
OPENVCS_OFFICIAL_RELEASE: '1'
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,6 @@ dist-ssr
/Backend/icons/ios
/Core
.env.tauri.local
.env
.opencode/
/openvcs.plugins.local.json
115 changes: 0 additions & 115 deletions .opencode/package-lock.json

This file was deleted.

11 changes: 11 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,17 @@ Backend:

- State lifecycle:
Startup config load, optional reopen-last-repo, runtime config updates.
- Monitoring:
Optional Sentry reporting is initialized separately in `Backend/src/monitoring.rs` and
`Frontend/src/scripts/lib/monitoring.ts`, with backend/frontend events gated by
`general.crash_reports`. The frontend captures errors and relays them to a
backend-owned Sentry client over Tauri IPC, while backend Sentry uses runtime
process env values with a build-time embedded fallback for packaged builds.
Recent frontend console output is retained as breadcrumbs and attached to
frontend monitoring events. Backend Rust `log` records are bridged into
Sentry without replacing the existing console/file logger: `error!` records
produce Sentry events, `warn!` records become breadcrumbs/logs, and `info!`
records become breadcrumbs when crash reporting is enabled.
- Plugin lifecycle:
Built-in/user plugin discovery, config-driven sync, install/uninstall, and approval gating.
- Reliability:
Expand Down
8 changes: 6 additions & 2 deletions Backend/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "openvcs"
version = "0.2.2"
version = "0.3.0"
description = "OpenVCS: a lightweight, highly customizable Git GUI built on Rust & Tauri"
authors = ["Jordon Brooks"]
homepage = "https://bbgames.dev"
Expand All @@ -18,6 +18,7 @@ name = "openvcs_lib"
crate-type = ["staticlib", "cdylib", "rlib"]

[build-dependencies]
dotenvy = "0.15"
tauri-build = { version = "2.4", default-features = false, features = [] }
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
Expand All @@ -26,6 +27,7 @@ serde_json = "1.0"
default = []

[dependencies]
dotenvy = "0.15"
tauri = { version = "2.10", features = [] }
tauri-plugin-opener = "2.5"
serde = { version = "1", features = ["derive"] }
Expand All @@ -35,9 +37,11 @@ tauri-plugin-updater = "2.10"
tokio = { version = "1.51", features = ["io-util", "process", "rt", "sync", "time"] }
dirs = "6"
regex = "1.12"
log = "0.4"
log = "0.4"
env_logger = "0.11"
parking_lot = "0.12"
sentry = { version = "0.46", default-features = false, features = ["backtrace", "contexts", "panic", "reqwest", "rustls", "log", "logs"] }
sentry-log = { version = "0.46", features = ["logs"] }
toml = "1.0.6"
directories = "6"
serde_json = "1.0"
Expand Down
Loading
Loading