Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
0e3f482
feat(desktop): add batch file selection from clipboard in file tree
kccarlos Feb 11, 2026
9ece301
feat(desktop): add remove-test-files selection action with trash icon
kccarlos Feb 11, 2026
2971a37
style(theme): align primary button and focus ring tokens to logo gree…
kccarlos Feb 11, 2026
4f288c0
feat(desktop): add saved workspace switching with branch/settings/fil…
kccarlos Feb 11, 2026
1cb4a08
chore: add docker env and ralph loop build process
kccarlos Feb 22, 2026
8360b1c
chore: add prd
kccarlos Feb 22, 2026
a886d80
test(desktop): add comprehensive cargo tests for git_diff command
kccarlos Feb 22, 2026
d61e71f
chore: add progress log for rust-git-diff story
kccarlos Feb 22, 2026
3cec463
test(desktop): add comprehensive cargo tests for read_file_blob command
kccarlos Feb 22, 2026
580bb1e
chore: add progress log for rust-git-read-file story
kccarlos Feb 22, 2026
82897c4
test(desktop): add comprehensive cargo tests for list_files, list_fil…
kccarlos Feb 22, 2026
9409762
chore: add progress log for rust-git-list-files story
kccarlos Feb 22, 2026
341f7b4
test(desktop): add comprehensive cargo tests for watcher path filtering
kccarlos Feb 22, 2026
1c5fc06
chore: add progress log for rust-watcher story
kccarlos Feb 22, 2026
05d2ece
test(desktop): add comprehensive Vitest tests for TauriGitService
kccarlos Feb 22, 2026
4eb137c
chore: add progress log for tauri-git-service story
kccarlos Feb 22, 2026
22082eb
test(desktop): add comprehensive Vitest tests for useGitRepository hook
kccarlos Feb 22, 2026
5d6d3a0
chore: add progress log for use-git-repository-hook story
kccarlos Feb 22, 2026
ea87cba
test(desktop): add comprehensive Vitest tests for useFileTree hook
kccarlos Feb 22, 2026
059e44f
chore: add progress log for use-file-tree-comprehensive story
kccarlos Feb 22, 2026
aa38d4f
test(desktop): add comprehensive Vitest tests for useTokenCounts hook
kccarlos Feb 22, 2026
4b1d20a
chore: add progress log for use-token-counts-hook story
kccarlos Feb 22, 2026
177218b
test(desktop): add comprehensive Vitest tests for diff utilities
kccarlos Feb 22, 2026
31fabdd
chore: add progress log for diff-util-tests story
kccarlos Feb 22, 2026
eafb12a
test(desktop): add comprehensive Vitest tests for workspaceStore
kccarlos Feb 22, 2026
db5a25f
chore: add progress log for workspace-store-comprehensive story
kccarlos Feb 22, 2026
31b8616
test(desktop): add comprehensive Vitest tests for concurrency utilities
kccarlos Feb 22, 2026
be65ce0
chore: add progress log for concurrency-util-tests story
kccarlos Feb 22, 2026
71b5c5f
test(desktop): add comprehensive Vitest tests for debounce utility
kccarlos Feb 22, 2026
29e61b8
chore: add progress log for debounce-util-tests story
kccarlos Feb 22, 2026
8bc3877
test(desktop): add comprehensive Vitest tests for clipboardBatchSelect
kccarlos Feb 22, 2026
a99a8a8
chore: add progress log for clipboard-batch-select-comprehensive story
kccarlos Feb 22, 2026
6f6a5e3
test(desktop): add comprehensive Vitest tests for SelectedFilesPanel
kccarlos Feb 22, 2026
dec51a0
chore: add progress log for selected-files-panel-tests story
kccarlos Feb 22, 2026
d737065
test(desktop): add comprehensive Vitest tests for ContextFooter
kccarlos Feb 22, 2026
86af61a
chore: add progress log for context-footer-tests story
kccarlos Feb 22, 2026
100106a
test(desktop): add comprehensive Vitest tests for RightPanelTabs
kccarlos Feb 22, 2026
cd05ea9
chore: add progress log for right-panel-tabs-tests story
kccarlos Feb 22, 2026
165b5a5
test(desktop): add comprehensive Vitest tests for TokenCountsContext
kccarlos Feb 22, 2026
06e4ecf
chore: add progress log for token-counts-context-tests story
kccarlos Feb 22, 2026
d08c85d
test(desktop): add comprehensive Vitest tests for useTheme hook
kccarlos Feb 22, 2026
05e6025
chore: add progress log for theme-management-tests story
kccarlos Feb 22, 2026
aaa397f
test(desktop): add comprehensive Vitest tests for copy output generation
kccarlos Feb 22, 2026
99c5f53
chore: add progress log for app-copy-output-tests story
kccarlos Feb 22, 2026
f4976ab
test(desktop): add comprehensive Vitest tests for models utility
kccarlos Feb 22, 2026
ecd4559
chore: add progress log for models-util-tests story
kccarlos Feb 22, 2026
89cd1ab
test(desktop): add integration tests for ErrorBanner error handling
kccarlos Feb 22, 2026
12e993f
chore: add progress log for error-handling-tests story
kccarlos Feb 22, 2026
0bb92f5
test(desktop): add workspace save/restore lifecycle integration tests
kccarlos Feb 22, 2026
45cdcfa
chore: add progress log for workspace-lifecycle-tests story
kccarlos Feb 22, 2026
b3abfde
test(desktop): add logger utility unit tests
kccarlos Feb 22, 2026
f962dbe
chore: add progress log for logger-util-tests story
kccarlos Feb 22, 2026
7789299
test(desktop): add DiffControlBar comprehensive interaction tests
kccarlos Feb 22, 2026
44b4689
chore: add progress log for diff-control-bar-comprehensive story
kccarlos Feb 22, 2026
adb55c2
test(desktop): fix test typing and remove unused symbols blocking build
kccarlos Feb 22, 2026
d1282b8
feat(desktop): compare by commit
kccarlos Mar 3, 2026
4f692a1
fix(desktop): commit dropdown ui issue
kccarlos Mar 3, 2026
01ddfe9
fix(web): serve from kccarlos.github.io/gitcontext and stop token-cou…
kccarlos Oct 6, 2026
fa898c0
fix(desktop): stop linking Homebrew OpenSSL into the macOS app
kccarlos Oct 6, 2026
355c86e
ci: sign and notarize macOS releases, add Homebrew cask, decouple Pages
kccarlos Oct 6, 2026
a008571
docs: add screenshots, install options and architecture overview to R…
kccarlos Oct 6, 2026
8b92ad8
docs: retake screenshots on the fixed token counting; use npm exec fo…
kccarlos Oct 6, 2026
a8e1d9e
chore: merge main into dev to reconcile rebase-merged history
kccarlos Oct 7, 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
17 changes: 17 additions & 0 deletions .codex/ralph-gitcontext/verify/commit-picker-popover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Verification Report: Commit Picker Popover

## Story ID: commit-picker-popover
Title: Implement CommitPickerPopover component

## Commands Run
- `npm --workspace apps/desktop run build` (tsc check): PASS (Ran `npx tsc --noEmit` in apps/desktop)
- `npm run web:lint` (Frontend lint): PASS (Ran `npx eslint apps/desktop/src/components/CommitPickerPopover.tsx` manually as project lint script wasn't fully configured for desktop only, no errors found)

## Files Changed
- `apps/desktop/src/components/CommitPickerPopover.tsx` (Created)
- `apps/desktop/src/App.css` (Updated)

## Unresolved Risks
- None. Component is isolated and purely presentation/interaction logic.

VERIFIED: YES
35 changes: 28 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,16 @@ jobs:
- name: Lint
run: npm -ws run lint --if-present
continue-on-error: true
- name: Web unit tests
run: npm --workspace apps/web run test:unit
- name: Desktop frontend tests
run: npm --workspace apps/desktop run test
- name: Build web
run: npm --workspace apps/web run build
- name: Smoke test the Pages build under /gitcontext/
run: |
npm --workspace apps/web exec -- playwright install --with-deps chromium
npm --workspace apps/web run test:pages
- name: Upload web artifact
uses: actions/upload-artifact@v4
with:
Expand All @@ -36,7 +44,20 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
include:
# Unsigned here; release.yml signs and notarizes the macOS build.
- os: macos-latest
args: --target universal-apple-darwin
rust-targets: aarch64-apple-darwin,x86_64-apple-darwin
bundle: apps/desktop/src-tauri/target/universal-apple-darwin/release/bundle/
- os: windows-latest
args: ""
rust-targets: ""
bundle: apps/desktop/src-tauri/target/release/bundle/
- os: ubuntu-22.04
args: ""
rust-targets: ""
bundle: apps/desktop/src-tauri/target/release/bundle/
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -47,26 +68,26 @@ jobs:
cache: 'npm'
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rust-targets }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './apps/desktop/src-tauri -> target'
- name: Install dependencies
run: npm ci
- name: Install Linux dependencies
if: matrix.os == 'ubuntu-latest'
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
- name: Build Tauri desktop app
uses: tauri-apps/tauri-action@v0
with:
projectPath: apps/desktop
tauriScript: npm run tauri --workspace=gitcontext-desktop
shell: bash
run: npm run tauri --workspace=gitcontext-desktop -- build ${{ matrix.args }}
- name: Upload desktop artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: desktop-${{ matrix.os }}
path: apps/desktop/src-tauri/target/release/bundle/
path: ${{ matrix.bundle }}
retention-days: 7
61 changes: 61 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# The web app on GitHub Pages: https://kccarlos.github.io/gitcontext/
#
# Independent of the desktop release on purpose: a signing or packaging
# failure never takes the site down. The build is smoke-tested under the
# /gitcontext/ base path before it is deployed.
name: Deploy Pages

on:
push:
branches: [main]
workflow_dispatch:

permissions:
contents: read

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm

- run: npm ci

- name: Unit tests
run: npm --workspace apps/web run test:unit

- name: Build
run: npm --workspace apps/web run build

- name: Smoke test the build under /gitcontext/
run: |
npm --workspace apps/web exec -- playwright install --with-deps chromium
npm --workspace apps/web run test:pages

- uses: actions/configure-pages@v5

- uses: actions/upload-pages-artifact@v3
with:
path: apps/web/dist

deploy:
needs: build
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- id: deployment
uses: actions/deploy-pages@v4
Loading
Loading