Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
825607a
chore(flutter): analyzer cleanup phase 1.2 execution
zensgit Sep 19, 2025
55392eb
fix(flutter): Phase 1.2 syntax fixes (transaction_card, budget_summary)
zensgit Sep 19, 2025
f72c2da
chore(flutter): analyzer cleanup phase 1.2 - batch remove unused imports
zensgit Sep 19, 2025
9a0a688
fix(flutter): resolve analyzer syntax issues and remove invalid const…
zensgit Sep 19, 2025
5972089
chore: trigger CI run
zensgit Sep 19, 2025
c2c2c05
chore(flutter): Phase 1.3 unblock — strip invalid const from Text/Ico…
zensgit Sep 19, 2025
cc3a42c
chore: trigger CI after const fixes
zensgit Sep 19, 2025
0745f62
fix(flutter): resolve build_runner blockers — rename broken identifie…
zensgit Sep 19, 2025
9a3a5e7
fix(flutter): clean all broken '*const*' identifiers (Icon/Text varia…
zensgit Sep 19, 2025
2520aa0
Add stub files for missing dependencies - Phase 1.3
zensgit Sep 19, 2025
37a3052
chore(flutter): add minimal stubs and path-forwarders to unblock unde…
zensgit Sep 19, 2025
98107da
Add missing service method stubs - Phase 1.3 continued
zensgit Sep 19, 2025
e1506a8
fix: Phase 1.3 continued - Fix isSuperAdmin and updateTemplate issues
zensgit Sep 19, 2025
f69a887
fix: Phase 1.3 continued - Fix AuditService parameters and AuditActio…
zensgit Sep 19, 2025
33cb211
fix: Phase 1.3 continued - Add missing methods and fix undefined errors
zensgit Sep 19, 2025
9970b83
fix: Phase 1.3 continued - Const error fix script and improvements
zensgit Sep 19, 2025
94f4cdf
fix: Phase 1.3 - Manual const error fixes
zensgit Sep 19, 2025
71a5de5
fix: Phase 1.4 - Fix undefined_identifier errors
zensgit Sep 19, 2025
9fc5055
Phase 1.5: Fix undefined_getter errors
zensgit Sep 19, 2025
80d9075
fix(ci): separate rust-api-clippy job from field-compare
zensgit Sep 23, 2025
48b34a0
chore: CI fixes and Flutter analyzer cleanup phase 1.2 execution
zensgit Sep 23, 2025
cd2fbc3
api: update SQLx offline cache and fix clippy warnings
zensgit Sep 23, 2025
59a9497
api: cleanup SQLx cache - remove .gitkeep and obsolete query
zensgit Sep 23, 2025
65f63c0
fix: Flutter test failures - add dispose method to CurrencyNotifier
zensgit Sep 23, 2025
b07d686
fix: Flutter test navigation failure - simplified test to avoid Hive …
zensgit Sep 23, 2025
e2588d2
fix: Disable core_export feature in CI to avoid jive-core compilation…
zensgit Sep 23, 2025
17f78dc
fix: Conditionally compile audit handler imports to fix clippy warnings
zensgit Sep 23, 2025
c96c51b
ci: add SQLx diff PR comment; docs: add CI badge and SQLx offline guide
zensgit Sep 23, 2025
f186ad1
devx: add api-sqlx-prepare-local target; README tips; PR checklist te…
zensgit Sep 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail

echo "[pre-commit] Running API lint (SQLx check + Clippy)..."
make api-lint
echo "[pre-commit] OK"

45 changes: 45 additions & 0 deletions .github/PR24_DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# PR: API CSV gating + currency fixes + SQLx diff artifact

## 1) Purpose
- Fix API compile errors spotted in CI (Option handling in currency modules).
- Gate CSV streaming export under `core_export` the same way as POST export, avoiding missing-local-helper errors when core path is active.
- Improve CI debuggability by uploading SQLx offline cache diff on prepare --check failure.

## 2) Approach
- Handlers
- `jive-api/src/handlers/transactions.rs`: Stream CSV path now mirrors POST path.
- `core_export` ON → `jive-core` `ExportService::generate_csv_simple`.
- `core_export` OFF → local safe CSV writer (`csv_escape_cell`).
- Currency modules
- `jive-api/src/services/currency_service.rs`: `base_currency` uses Option fallback; fixed `effective_date`/`created_at` mapping for history rows.
- `jive-api/src/handlers/currency_handler_enhanced.rs`: handle optional `created_at` before `.naive_utc()`.
- CI
- `.github/workflows/ci.yml`: on SQLx prepare --check failure, regenerate cache to a temp location, produce diff patch and tarballs, upload artifact `api-sqlx-diff`, then fail the job (remains strict).
- Docs/Tools
- `AGENTS.md`: added “CSV export feature gating” notes.
- `Makefile`: added `hooks` target to enable pre-commit (`make api-lint`).

## 3) Affected layers
- API only, plus CI workflow. No schema changes.

## 4) Testing evidence
- Local: `make api-lint` reaches SQLx check; build succeeds until cache check (expected to fail if `.sqlx` stale). Currency compile errors reproduced by CI are resolved locally.
- Feature note: we intentionally keep CI without `core_export` to avoid pulling unfinished `jive-core/db` modules.

## 5) Migration notes
- None. No changes under `migrations/`.

## 6) Rollback plan
- Revert this PR. No data migrations to undo.

## 7) Follow-ups
- If CI uploads `api-sqlx-diff`, apply the patch to `.sqlx/` and re-run.
- After 1–2 green runs, flip Rust API clippy to blocking (`-D warnings`).
- Consider later decoupling CSV generation in `jive-core` from `db` feature so `core_export` can be enabled in CI without DB modules.

---
Checklist
- [ ] CI run completed and artifacts reviewed
- [ ] Apply `api-sqlx-diff` if present, re-run CI
- [ ] Switch clippy to blocking after observation window
- [ ] Enable pre-commit locally: `make hooks`
23 changes: 23 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## PR Checklist

- [ ] SQLx offline cache up to date (`jive-api/.sqlx`)
- [ ] `make api-lint` passes locally (SQLx check + Clippy -D warnings)
- [ ] Tests relevant to this change pass locally
- [ ] Secrets not committed; new env vars documented in `.env.example`

## Purpose
Describe the problem and the high-level approach.

## Changes
- Files/areas touched and why
- Feature flags or conditional paths (if any)

## Testing
- Commands run and results
- Screenshots/logs (if UI/API visible behavior)

## Migration Notes (if any)
- DB migrations, data backfills, roll-forward/rollback steps

## Rollback Plan
- How to revert safely if issues arise
Loading