Commit Graph

252 Commits

Author SHA1 Message Date
Shaun Arman
d759486b51 fix: add debugging output for Ollamaresponse 2026-04-12 17:39:45 -05:00
Shaun Arman
63a055d4fe fix: simplified workflow syntax 2026-04-12 17:39:45 -05:00
Shaun Arman
98a0f908d7 fix: use IP addresses for internal services 2026-04-12 17:39:45 -05:00
Shaun Arman
f47dcf69a3 fix: use actions/checkout with token auth and self-hosted runner 2026-04-12 17:39:45 -05:00
Shaun Arman
0b85258e7d fix: use ubuntu container with git installed 2026-04-12 17:39:45 -05:00
Shaun Arman
8cee1c5655 fix: remove actions/checkout to avoid Node.js dependency 2026-04-12 17:39:45 -05:00
Shaun Arman
de59684432 fix: rename GITEA_TOKEN to TF_TOKEN to comply with naming restrictions 2026-04-12 17:39:45 -05:00
Shaun Arman
849d3176fd feat: add automated PR review workflow with Ollama AI 2026-04-12 17:39:45 -05:00
182a508f4e Merge pull request 'fix: add missing ai_providers migration (014)' (#34) from fix/ai-provider-migration-v0.2.49 into master
All checks were successful
Auto Tag / autotag (push) Successful in 8s
Auto Tag / wiki-sync (push) Successful in 17s
Auto Tag / build-macos-arm64 (push) Successful in 2m28s
Auto Tag / build-windows-amd64 (push) Successful in 15m17s
Auto Tag / build-linux-amd64 (push) Successful in 35m46s
Auto Tag / build-linux-arm64 (push) Successful in 35m40s
Reviewed-on: #34
2026-04-10 18:06:00 +00:00
Shaun Arman
68d815e3e1 fix: add missing ai_providers migration (014)
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m13s
Test / frontend-typecheck (pull_request) Successful in 1m15s
Test / rust-fmt-check (pull_request) Successful in 2m48s
Test / rust-clippy (pull_request) Successful in 18m34s
Test / rust-tests (pull_request) Successful in 20m17s
- Re-add migration 014_create_ai_providers to create ai_providers table
- Add test_create_ai_providers_table() to verify table schema
- Add test_store_and_retrieve_ai_provider() to verify CRUD operations
- Bump version to 0.2.49 in tauri.conf.json

Fixes missing AI provider data when upgrading from v0.2.42
2026-04-10 12:03:22 -05:00
46c48fb4a3 Merge pull request 'feat: support GenAI datastore file uploads and fix paste image upload' (#32) from bug/image-upload-secure into master
All checks were successful
Auto Tag / autotag (push) Successful in 7s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / build-macos-arm64 (push) Successful in 2m31s
Auto Tag / build-windows-amd64 (push) Successful in 14m10s
Auto Tag / build-linux-amd64 (push) Successful in 27m47s
Auto Tag / build-linux-arm64 (push) Successful in 28m14s
Reviewed-on: #32
2026-04-10 02:22:42 +00:00
Shaun Arman
ed2af2a1cc chore: remove gh binary from staging
All checks were successful
Test / frontend-typecheck (pull_request) Successful in 1m12s
Test / frontend-tests (pull_request) Successful in 1m1s
Test / rust-fmt-check (pull_request) Successful in 3m6s
Test / rust-clippy (pull_request) Successful in 25m23s
Test / rust-tests (pull_request) Successful in 26m39s
2026-04-09 20:46:32 -05:00
Shaun Arman
6ebe3612cd fix: lint fixes and formatting cleanup
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m9s
Test / frontend-typecheck (pull_request) Successful in 1m15s
Test / rust-fmt-check (pull_request) Successful in 2m44s
Test / rust-clippy (pull_request) Successful in 24m22s
Test / rust-tests (pull_request) Successful in 25m43s
- Fix TypeScript lint errors in setup.ts and LogUpload
- Remove unused imports and variables
- Fix duplicate Separator exports in ui/index.tsx
- Apply cargo fmt formatting to Rust code
- Update ESLint configuration
2026-04-09 20:42:40 -05:00
Shaun Arman
420411882e feat: support GenAI datastore file uploads and fix paste image upload
Some checks failed
Test / frontend-tests (pull_request) Successful in 59s
Test / frontend-typecheck (pull_request) Successful in 1m5s
Test / rust-fmt-check (pull_request) Failing after 2m25s
Test / rust-clippy (pull_request) Failing after 18m25s
Test / rust-tests (pull_request) Successful in 19m42s
- Add use_datastore_upload field to ProviderConfig for enabling datastore uploads
- Add upload_file_to_datastore and upload_file_to_datastore_any commands
- Add upload_log_file_by_content and upload_image_attachment_by_content commands for drag-and-drop without file paths
- Add multipart/form-data support for file uploads to GenAI datastore
- Add support for image/bmp MIME type in image validation
- Add x-generic-api-key header support for GenAI API authentication

This addresses:
- Paste fails to attach screenshot (clipboard)
- File upload fails with 500 error when using GenAI API
- GenAI datastore upload endpoint support for non-text files
2026-04-09 18:05:44 -05:00
859d7a0da8 Merge pull request 'fix: use 'provider' argument name to match Rust command signature' (#31) from bug/ai-provider-save into master
All checks were successful
Auto Tag / autotag (push) Successful in 7s
Auto Tag / wiki-sync (push) Successful in 7s
Auto Tag / build-macos-arm64 (push) Successful in 2m23s
Auto Tag / build-windows-amd64 (push) Successful in 13m36s
Auto Tag / build-linux-amd64 (push) Successful in 27m18s
Auto Tag / build-linux-arm64 (push) Successful in 28m24s
Reviewed-on: #31
2026-04-09 19:44:41 +00:00
Shaun Arman
b6e68be959 fix: use 'provider' argument name to match Rust command signature
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m2s
Test / frontend-typecheck (pull_request) Successful in 1m10s
Test / rust-fmt-check (pull_request) Successful in 2m22s
Test / rust-clippy (pull_request) Successful in 18m48s
Test / rust-tests (pull_request) Successful in 20m4s
- Update saveAiProviderCmd to pass { provider: config } instead of { config }

The Rust command expects 'provider' parameter, but frontend was sending 'config'.
This mismatch caused 'invalid args provider for command save_ai_provider' error.
2026-04-09 14:15:01 -05:00
b3765aa65d Merge pull request 'bug/mac-build-followup' (#30) from bug/mac-build-followup into master
All checks were successful
Auto Tag / autotag (push) Successful in 9s
Auto Tag / wiki-sync (push) Successful in 8s
Auto Tag / build-macos-arm64 (push) Successful in 3m7s
Auto Tag / build-windows-amd64 (push) Successful in 13m34s
Auto Tag / build-linux-amd64 (push) Successful in 26m54s
Auto Tag / build-linux-arm64 (push) Successful in 27m46s
Reviewed-on: #30
2026-04-09 18:07:40 +00:00
Shaun Arman
fbc6656374 update: node_modules from npm install
All checks were successful
Test / frontend-typecheck (pull_request) Successful in 49s
Test / frontend-tests (pull_request) Successful in 1m0s
Test / rust-fmt-check (pull_request) Successful in 2m35s
Test / rust-clippy (pull_request) Successful in 20m17s
Test / rust-tests (pull_request) Successful in 21m41s
2026-04-09 12:27:44 -05:00
Shaun Arman
298bce8536 fix: add @types/testing-library__react for TypeScript compilation 2026-04-09 12:27:31 -05:00
6593cb760c Merge pull request 'docs: add AGENTS.md and SECURITY_AUDIT.md' (#29) from bug/mac-build-fail into master
Some checks failed
Auto Tag / autotag (push) Successful in 7s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / build-macos-arm64 (push) Failing after 13s
Auto Tag / build-windows-amd64 (push) Successful in 13m44s
Auto Tag / build-linux-amd64 (push) Successful in 27m48s
Auto Tag / build-linux-arm64 (push) Successful in 28m28s
Reviewed-on: #29
2026-04-09 17:07:30 +00:00
Shaun Arman
c49b8ebfc0 fix: force single test thread for Rust tests to eliminate race conditions
All checks were successful
Test / frontend-typecheck (pull_request) Successful in 1m9s
Test / frontend-tests (pull_request) Successful in 1m8s
Test / rust-fmt-check (pull_request) Successful in 2m49s
Test / rust-clippy (pull_request) Successful in 19m2s
Test / rust-tests (pull_request) Successful in 20m25s
- Add --test-threads=1 flag to all Rust test commands
- Update .gitea/workflows/test.yml to use serial test execution
- Update AGENTS.md to reflect the serial test requirement

Environment variable modifications in Rust tests cause race conditions
when tests run in parallel because std::env is shared global state.
2026-04-09 10:43:45 -05:00
042335f380 Merge branch 'master' into bug/mac-build-fail
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m11s
Test / frontend-typecheck (pull_request) Successful in 1m23s
Test / rust-fmt-check (pull_request) Successful in 3m29s
Test / rust-clippy (pull_request) Successful in 19m22s
Test / rust-tests (pull_request) Successful in 12m14s
2026-04-09 13:59:52 +00:00
Shaun Arman
92fc67a92c docs: add AGENTS.md and SECURITY_AUDIT.md
Some checks failed
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
- Add AGENTS.md with quick-start commands, structure, patterns, and gotchas
- Add SECURITY_AUDIT.md documenting security architecture and implementation

Note: AGENTS.md includes CI/CD workflow details, environment variables,
and critical patterns (mutex usage, IssueDetail nesting, PII handling)
2026-04-09 08:52:30 -05:00
c7a797d720 Merge pull request 'chore: Add GitHub Actions workflows' (#28) from fix/github-actions-setup into master
Some checks failed
Auto Tag / autotag (push) Successful in 14s
Auto Tag / wiki-sync (push) Successful in 17s
Auto Tag / build-macos-arm64 (push) Failing after 15s
Auto Tag / build-windows-amd64 (push) Successful in 13m31s
Auto Tag / build-linux-amd64 (push) Successful in 26m53s
Auto Tag / build-linux-arm64 (push) Successful in 27m56s
Reviewed-on: #28
2026-04-09 03:17:12 +00:00
e79846e849 Merge branch 'master' into fix/github-actions-setup
Some checks failed
Test / frontend-typecheck (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Test / frontend-tests (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-fmt-check (pull_request) Has been cancelled
2026-04-09 03:16:34 +00:00
Shaun Arman
5b8a7d7173 chore: Add GitHub Actions workflows
All checks were successful
Test / frontend-tests (pull_request) Successful in 1m4s
Test / frontend-typecheck (pull_request) Successful in 1m6s
Test / rust-fmt-check (pull_request) Successful in 2m26s
Test / rust-clippy (pull_request) Successful in 19m4s
Test / rust-tests (pull_request) Successful in 20m16s
- test.yml: Rust fmt/clippy/tests, frontend typecheck/tests
- build-images.yml: CI Docker image builds
- release.yml: Auto-tag, wiki sync, multi-platform release builds

Fixes: -testing-library/react screen import for v16 compatibility
2026-04-08 21:53:44 -05:00
093bc6ea15 Merge pull request 'feat: add image attachment support with PII detection' (#27) from feat/image-attachments into master
Some checks failed
Auto Tag / autotag (push) Successful in 6s
Auto Tag / wiki-sync (push) Successful in 6s
Auto Tag / build-windows-amd64 (push) Successful in 13m26s
Auto Tag / build-macos-arm64 (push) Failing after 19s
Auto Tag / build-linux-amd64 (push) Successful in 26m30s
Auto Tag / build-linux-arm64 (push) Successful in 27m31s
Reviewed-on: #27
2026-04-09 02:22:53 +00:00
Shaun Arman
e83dc19dcc chore: Format Rust code after merge
All checks were successful
Test / frontend-typecheck (pull_request) Successful in 59s
Test / frontend-tests (pull_request) Successful in 57s
Test / rust-fmt-check (pull_request) Successful in 2m13s
Test / rust-clippy (pull_request) Successful in 16m57s
Test / rust-tests (pull_request) Successful in 18m36s
2026-04-08 21:03:36 -05:00
Shaun Arman
d83e8598e0 Merge branch 'bug/branch-creation' into feat/image-attachments
Some checks failed
Test / frontend-typecheck (pull_request) Successful in 1m4s
Test / frontend-tests (pull_request) Successful in 57s
Test / rust-fmt-check (pull_request) Failing after 2m19s
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
2026-04-08 20:58:25 -05:00
Shaun Arman
f6f48b934b fix: Fix encryption test race condition with parallel tests
Some checks failed
Test / frontend-tests (pull_request) Failing after 59s
Test / frontend-typecheck (pull_request) Failing after 1m1s
Test / rust-fmt-check (pull_request) Failing after 2m8s
Test / rust-clippy (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
- Use test-specific key derivation instead of env vars
- Add helper functions encrypt_token_with_key/decrypt_token_with_key
- Avoid conflicts when tests run in parallel
2026-04-08 20:55:37 -05:00
Shaun Arman
9f6cab2436 fix: OpenWebUI provider connection and missing command registrations
- Add debug logging to OpenAI provider for troubleshooting
- Trim trailing periods from model names
- Fix HTTP error handling to capture response details
- Register missing AI provider commands (save/load/delete)
- Fix authenticateWithWebviewCmd to accept optional projectName parameter
2026-04-08 20:44:51 -05:00
Shaun Arman
19cc78a05f feat: add image attachment support with PII detection
Some checks failed
Test / frontend-tests (pull_request) Successful in 1m4s
Test / frontend-typecheck (pull_request) Failing after 1m6s
Test / rust-fmt-check (pull_request) Successful in 2m42s
Test / rust-clippy (pull_request) Successful in 19m1s
Test / rust-tests (pull_request) Failing after 20m7s
- Add image_attachments table to database schema (migration 013)
- Implement image upload, list, delete, and clipboard paste commands
- Add image file PII detection with user approval workflow
- Register image attachment commands in Tauri IPC
- Update TypeScript types and frontend components
- Add unit tests for image attachment functionality
- Update README and wiki documentation
2026-04-08 20:03:34 -05:00
43857fa858 Merge pull request 'chore: add MIT license, security hardening, and repo hygiene' (#26) from chore/public-release-final into master
All checks were successful
Auto Tag / autotag (push) Successful in 10s
Auto Tag / wiki-sync (push) Successful in 14s
Auto Tag / build-macos-arm64 (push) Successful in 4m38s
Auto Tag / build-windows-amd64 (push) Successful in 14m21s
Auto Tag / build-linux-arm64 (push) Successful in 34m5s
Auto Tag / build-linux-amd64 (push) Successful in 34m38s
Reviewed-on: #26
2026-04-07 17:50:45 +00:00
Shaun Arman
93d396bde3 chore: add MIT license, security hardening, and repo hygiene
All checks were successful
Test / frontend-tests (pull_request) Successful in 56s
Test / frontend-typecheck (pull_request) Successful in 1m4s
Test / rust-fmt-check (pull_request) Successful in 2m50s
Test / rust-clippy (pull_request) Successful in 27m48s
Test / rust-tests (pull_request) Successful in 29m52s
License:
- Add MIT LICENSE file (Copyright 2025 Shaun Arman)
- Add MIT badge and Support/Buy-Me-A-Coffee section to README
- Update license section from private to MIT with attribution note

Security (from pre-release audit):
- Remove unscoped fs:allow-read and fs:allow-write from Tauri capabilities
  (H5: unscoped fs permissions undermined filesystem sandboxing; the
  scoped app/temp variants already cover all required paths)
- Add SECURITY_AUDIT.md to .gitignore

Repo hygiene:
- Untrack src-tauri/target/ (6347 build artifacts that should never
  have been committed; .gitignore already listed the path)
- Update .gitignore: remove vendor-specific filenames, replace with
  generic internal-doc patterns (TICKET_*.md, ~$*.docx, etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 12:50:13 -05:00
21a4132629 Merge pull request 'feat/public-release-prep' (#25) from feat/public-release-prep into master
All checks were successful
Auto Tag / autotag (push) Successful in 1m3s
Auto Tag / wiki-sync (push) Successful in 1m4s
Auto Tag / build-macos-arm64 (push) Successful in 3m52s
Auto Tag / build-windows-amd64 (push) Successful in 14m49s
Auto Tag / build-linux-amd64 (push) Successful in 28m20s
Auto Tag / build-linux-arm64 (push) Successful in 28m50s
Reviewed-on: #25
2026-04-07 16:37:36 +00:00
Shaun Arman
0251397836 fix(types): replace normalizeApiFormat() calls with direct value
All checks were successful
Test / rust-clippy (pull_request) Successful in 20m48s
Test / frontend-tests (pull_request) Successful in 2m10s
Test / frontend-typecheck (pull_request) Successful in 2m12s
Test / rust-fmt-check (pull_request) Successful in 4m40s
Test / rust-tests (pull_request) Successful in 22m14s
The normalizeApiFormat helper (which mapped the legacy format identifier
to custom_rest) was removed but still referenced in 4 call sites.
Replace each call with the underlying value directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:34:52 -05:00
Shaun Arman
9a132cce74 fix(fmt): apply rustfmt formatting to webview_fetch.rs
Some checks failed
Test / frontend-tests (pull_request) Successful in 2m10s
Test / frontend-typecheck (pull_request) Failing after 2m16s
Test / rust-fmt-check (pull_request) Has been cancelled
Test / rust-tests (pull_request) Has been cancelled
Test / rust-clippy (pull_request) Has been cancelled
Adjusted line breaks to match rustfmt conventions

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-07 09:47:57 -05:00
Shaun Arman
ead585f583 fix(lint): resolve all clippy warnings for CI compliance
Fixed 42 clippy warnings across integration and command modules:
- unnecessary_lazy_evaluations: Changed unwrap_or_else to unwrap_or
- uninlined_format_args: Modernized format strings to use inline syntax
- needless_borrows_for_generic_args: Removed unnecessary borrows
- only_used_in_recursion: Prefixed unused recursive param with underscore

All files now pass cargo clippy -- -D warnings

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-07 09:47:57 -05:00
Shaun Arman
1de50f1c87 chore: remove all proprietary vendor references for public release
- Delete internal vendor API documentation and handoff docs
- Remove vendor-specific AI gateway URLs from CSP whitelist
- Replace vendor-specific log prefixes and comments with generic 'Custom REST'
- Remove vendor-specific default auth header from custom REST implementation
- Remove vendor-specific client header from HTTP requests
- Remove backward-compat vendor format identifier from is_custom_rest_format()
- Remove LEGACY_API_FORMAT constant and normalizeApiFormat() helper
- Update test to not reference legacy format identifier
- Update wiki docs to use generic enterprise gateway configuration
- Update architecture diagrams and ADR-003 to remove vendor references
- Add Buy Me A Coffee link to README
- Update .gitignore to exclude internal user guide and ticket files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 09:46:25 -05:00
Shaun Arman
fdb4fc03b9 docs(architecture): add C4 diagrams, ADRs, and architecture overview
Comprehensive architecture documentation covering:

- docs/architecture/README.md: Full C4 model diagrams (system context,
  container, component), data flow sequences, security architecture,
  AI provider class diagram, CI/CD pipeline, and deployment diagrams.
  All diagrams use Mermaid for version-controlled diagram-as-code.

- docs/architecture/adrs/ADR-001: Tauri vs Electron decision rationale
- docs/architecture/adrs/ADR-002: SQLCipher encryption choices and
  cipher_page_size=16384 rationale for Apple Silicon
- docs/architecture/adrs/ADR-003: Provider trait + factory pattern
- docs/architecture/adrs/ADR-004: Regex + Aho-Corasick PII detection
- docs/architecture/adrs/ADR-005: Auto-generate encryption keys at
  runtime (documents the fix from PR #24)
- docs/architecture/adrs/ADR-006: Zustand state management rationale

- docs/wiki/Architecture.md: Updated module table (14 migrations, not
  10), corrected integrations description, updated startup sequence to
  reflect key auto-generation, added links to new ADR docs.

- README.md: Fixed stale database paths (tftsr → trcaa) and updated
  env var descriptions to reflect auto-generation behavior.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 09:35:35 -05:00
Shaun Arman
d294847210 fix(lint): use inline format args in auth.rs
Fixes clippy::uninlined_format_args warnings by using inline
variable formatting (e.g., {e} instead of {}, e).

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-07 09:35:35 -05:00
Shaun Arman
f0358cfb13 fix(db,auth): auto-generate encryption keys for release builds
Fixes two critical issues preventing Mac release builds from working:

1. Database encryption key auto-generation: Release builds now
   auto-generate and persist the SQLCipher encryption key to
   ~/.../trcaa/.dbkey (mode 0600) instead of requiring the
   TFTSR_DB_KEY env var. This prevents 'file is not a database'
   errors when users don't set the env var.

2. Plain SQLite to encrypted migration: When a release build
   encounters a plain SQLite database (from a previous debug build),
   it now automatically migrates it to encrypted SQLCipher format
   using ATTACH DATABASE + sqlcipher_export. Creates a backup at
   .db.plain-backup before migration.

3. Credential encryption key auto-generation: Applied the same
   pattern to TFTSR_ENCRYPTION_KEY for encrypting AI provider API
   keys and integration tokens. Release builds now auto-generate
   and persist to ~/.../trcaa/.enckey (mode 0600) instead of
   failing with 'TFTSR_ENCRYPTION_KEY must be set'.

4. Refactored app data directory helper: Moved dirs_data_dir()
   from lib.rs to state.rs as get_app_data_dir() so it can be
   reused by both database and auth modules.

Testing:
- All unit tests pass (db::connection::tests + integrations::auth::tests)
- Verified manual migration from plain to encrypted database
- No clippy warnings

Impact: Users installing the Mac release build will now have a
working app out-of-the-box without needing to set environment
variables. Developers switching from debug to release builds will
have their databases automatically migrated.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-07 09:35:34 -05:00
Shaun Arman
9e8db9dc81 feat(ai): add tool-calling and integration search as AI data source
This commit implements two major features:

1. Integration Search as Primary AI Data Source
   - Confluence, ServiceNow, and Azure DevOps searches execute before AI queries
   - Search results injected as system context for AI providers
   - Parallel search execution for performance
   - Webview-based fetch for HttpOnly cookie support
   - Persistent browser windows maintain authenticated sessions

2. AI Tool-Calling (Function Calling)
   - Allows AI to automatically execute functions during conversation
   - Implemented for OpenAI-compatible providers and Custom REST provider
   - Created add_ado_comment tool for updating Azure DevOps tickets
   - Iterative tool-calling loop supports multi-step workflows
   - Extensible architecture for adding new tools

Key Files:
- src-tauri/src/ai/tools.rs (NEW) - Tool definitions
- src-tauri/src/integrations/*_search.rs (NEW) - Integration search modules
- src-tauri/src/integrations/webview_fetch.rs (NEW) - HttpOnly cookie workaround
- src-tauri/src/commands/ai.rs - Tool execution and integration search
- src-tauri/src/ai/openai.rs - Tool-calling for OpenAI and Custom REST provider
- All providers updated with tools parameter support

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-07 09:35:34 -05:00
9f730304cc Merge pull request 'fix(ci): remove explicit docker.sock mount — act_runner mounts it automatically' (#22) from fix/build-images-duplicate-socket into master
All checks were successful
Auto Tag / autotag (push) Successful in 1m39s
Auto Tag / build-macos-arm64 (push) Successful in 4m42s
Auto Tag / build-windows-amd64 (push) Successful in 16m15s
Auto Tag / build-linux-arm64 (push) Successful in 28m32s
Auto Tag / wiki-sync (push) Successful in 1m44s
Auto Tag / build-linux-amd64 (push) Successful in 26m57s
Reviewed-on: #22
2026-04-06 02:18:55 +00:00
Shaun Arman
f54d1aa6a8 fix(ci): remove explicit docker.sock mount — act_runner mounts it automatically 2026-04-05 21:18:11 -05:00
bff11dc847 Merge pull request 'feat(ci): add persistent pre-baked Docker builder images' (#21) from feat/persistent-ci-builders into master
Reviewed-on: #21
2026-04-06 02:15:36 +00:00
Shaun Arman
eb8a0531e6 feat(ci): add persistent pre-baked Docker builder images
Add three Dockerfiles under .docker/ and a build-images.yml workflow that
pushes them to the local Gitea container registry (172.0.0.29:3000).

Each image pre-installs all system deps, Node.js 22, and the Rust cross-
compilation target so release builds can skip apt-get entirely:

  trcaa-linux-amd64:rust1.88-node22   — webkit2gtk, gtk3, all Tauri deps
  trcaa-windows-cross:rust1.88-node22 — mingw-w64, nsis, Windows target
  trcaa-linux-arm64:rust1.88-node22   — arm64 multiarch dev libs, Rust 1.88

build-images.yml triggers automatically when .docker/ changes on master
and supports workflow_dispatch for manual/first-time builds.

auto-tag.yml is NOT changed in this commit — switch it to use the new
images in the follow-up PR (after images are pushed to the registry).

One-time server setup required before first use:
  echo '{"insecure-registries":["172.0.0.29:3000"]}' \
    | sudo tee /etc/docker/daemon.json && sudo systemctl restart docker
2026-04-05 21:07:17 -05:00
bf6e589b3c Merge pull request 'feat(ui): UI fixes, theme toggle, PII persistence, Ollama install instructions' (#20) from feat/ui-fixes-ollama-bundle-theme into master
Reviewed-on: #20
2026-04-06 01:54:36 +00:00
Shaun Arman
9175faf0b4 refactor(ollama): remove download/install buttons — show plain install instructions only 2026-04-05 20:53:57 -05:00
Shaun Arman
0796297e8c fix(ci): remove all Ollama bundle download steps — use UI download button instead 2026-04-05 20:53:57 -05:00