Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
268 commits
Select commit Hold shift + click to select a range
e25e517
修复SQLx编译类型不一致问题 - 直接提交让CI重新生成缓存
zensgit Sep 16, 2025
2c2f941
fix: 修复CI环境中Option<String>类型处理
zensgit Sep 16, 2025
11a7eea
fix: Flutter import positioning and code formatting improvements
zensgit Sep 17, 2025
4e67c16
feat: Add category batch import backend functionality
zensgit Sep 19, 2025
04e3fad
WIP: snapshot — category import (batch+UI), CI/docs, session notes
zensgit Sep 19, 2025
8d4ab62
feat(category): restore management page import flow; use dry-run prev…
zensgit Sep 19, 2025
8cef9ac
feat(api): templates list pagination (page/per_page) + ETag support (…
zensgit Sep 19, 2025
091c8d3
feat(templates): add ETag + pagination fetch (client) and result wrapper
zensgit Sep 19, 2025
d6b01d4
fix: 修复Flutter编译错误和Provider缺失问题
zensgit Sep 19, 2025
23e1ab0
Merge branch 'main' into pr/templates-etag-frontend
zensgit Sep 19, 2025
4260fce
feat(ui): template import dialog — add ETag pagination (Load more) us…
zensgit Sep 19, 2025
b8dcfea
feat(api): dry_run details — predicted rename, existing category summ…
zensgit Sep 19, 2025
74aa573
feat(ui): dry-run preview renders server details (predicted rename / …
zensgit Sep 19, 2025
87e8ef8
chore(api,flutter,ci): align ImportActionDetail; clippy green; make l…
zensgit Sep 19, 2025
38e5a17
chore(docs): add PR drafts for demo feature-gate and Flutter analyzer…
zensgit Sep 19, 2025
e092ff2
Merge pull request #20 from zensgit/chore/lint-ci-import-detail
zensgit Sep 19, 2025
ffec566
chore(api): feature-gate demo endpoints; align local CI clippy mode (…
zensgit Sep 19, 2025
704f66d
chore(flutter): analyzer cleanup phase 1 (#22)
zensgit Sep 19, 2025
0810240
chore(flutter): run local analyzer, groundwork for bulk cleanup (no b…
zensgit Sep 19, 2025
3161342
chore(flutter): analyzer cleanup tools (unused imports parser + mater…
zensgit Sep 19, 2025
825607a
chore(flutter): analyzer cleanup phase 1.2 execution
zensgit Sep 19, 2025
a76b781
fix(flutter): Phase 1.2 syntax fixes (transaction_card, budget_summary)
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
a94dd3e
feat: CI hardening and test improvements
zensgit Sep 23, 2025
3f1ba79
Merge branch 'main' into feat/ci-hardening-and-test-improvements
zensgit Sep 23, 2025
ce977dd
fix: Remove new test files causing CI failures
zensgit Sep 23, 2025
eb51808
test(api): add CSV newline/CRLF and empty optional fields assertions
zensgit Sep 23, 2025
1c1c336
api: add CSV include_header flag + tests; core: add CsvExportConfig::…
zensgit Sep 23, 2025
65e3717
ci: surface docs-only fast path in summary and wire summary to change…
zensgit Sep 24, 2025
6e89a1c
chore(dev): align docker-compose.dev ports with manager (5433/6380/90…
zensgit Sep 24, 2025
c427543
Merge remote-tracking branch 'origin/main' into chore/compose-port-al…
zensgit Sep 24, 2025
894a3ae
chore: remove runtime file .pids/api.mode from VCS
zensgit Sep 24, 2025
9159109
ci: short-circuit Flutter job when no Flutter changes; reduce flakine…
zensgit Sep 24, 2025
37bc608
chore: ignore .pids/ runtime dir to avoid accidental commits
zensgit Sep 24, 2025
cf09a1a
ci: make field-compare resilient to missing Flutter artifacts; gate c…
zensgit Sep 24, 2025
630b46e
ci: add full_run input; gate heavy jobs on manual dispatch; include e…
zensgit Sep 24, 2025
4ce73b7
docs: add dev ports & hooks notes; ci: add full_run gate and event-ba…
zensgit Sep 24, 2025
5228eb8
fix(ci): skip Field Comparison Check when Flutter unchanged
zensgit Sep 24, 2025
8230520
ci: resolve merge conflict for field-compare job condition
zensgit Sep 24, 2025
2385613
build: de-duplicate Makefile hooks and scope test-rust to API tests
zensgit Sep 24, 2025
333e988
fix: add Docker Hub authentication to CI workflow
zensgit Sep 25, 2025
6f2e8bc
api: add negative auth tests, family default ledger test, superadmin …
zensgit Sep 25, 2025
c707c4d
docs: reconcile superadmin password baseline (admin123 vs SuperAdmin@…
zensgit Sep 25, 2025
0e955fc
api: enforce single default ledger, JWT env secret, export_stream fea…
zensgit Sep 25, 2025
8a449f1
fix: apply rustfmt formatting to transactions.rs
zensgit Sep 25, 2025
e91a0bc
chore: report addendum, export benchmark script, production preflight…
zensgit Sep 25, 2025
3de9f58
chore: move benchmark to bin, add streaming smoke test, update addendum
zensgit Sep 25, 2025
750b798
chore: fix rustfmt formatting
zensgit Sep 25, 2025
c4bbe5f
fix: resolve clippy warnings in benchmark script
zensgit Sep 25, 2025
f2afeab
chore: add no-header streaming test, password rehash design, update v…
zensgit Sep 25, 2025
129fa73
chore: add streaming bench doc, rehash env flag, README rehash section
zensgit Sep 25, 2025
961362c
chore: add /metrics endpoint with password hash + rehash counters
zensgit Sep 26, 2025
8a304c2
fix: rustfmt formatting
zensgit Sep 26, 2025
93f2c0e
metrics: add canonical hash metrics + deprecated legacy gauges
zensgit Sep 26, 2025
c34f920
fix: rustfmt formatting for canonical metrics
zensgit Sep 26, 2025
9879af6
docs(metrics): update report, add monitoring section and consistency …
zensgit Sep 26, 2025
0d33ab5
chore(flutter): analyzer cleanup phase 1.2 execution (#24)
zensgit Sep 26, 2025
71f79f0
feat(api): add login rate limiting, metrics access control, rehash fa…
zensgit Sep 26, 2025
6dd6bd0
resolve merge conflicts: keep PR UI for category_management_enhanced.…
zensgit Sep 26, 2025
f22fadf
resolve merge conflicts for #18: keep main UI, keep PR for other files
zensgit Sep 26, 2025
68b09dc
resolve merge conflicts for #25: keep main UI, keep PR for other files
zensgit Sep 26, 2025
b0e1925
api: fix sqlx cache drift and docker init; currency_service Option ha…
zensgit Sep 26, 2025
377fdfa
dev: add db-dev-up/down/status and api-dev-docker-db targets; README …
zensgit Sep 26, 2025
9889ed6
fix(api/currency): align SQLx metadata (symbol/base_currency Option) …
zensgit Sep 26, 2025
c0c47fd
api: fix owner_id + user insert schema; add route-level e2e tests for…
zensgit Sep 26, 2025
ad1c1aa
flutter: fix DashboardOverview context threading for Theme.of usage
zensgit Sep 27, 2025
11f42eb
flutter: lint tidy — remove unused vars in PermissionGuard; simplify …
zensgit Sep 27, 2025
af68bb3
flutter: lint cleanup — withOpacity→withValues; add consts in invite …
zensgit Sep 27, 2025
3db2b85
flutter: fix invalid const usage in QR placeholder; keep only safe co…
zensgit Sep 27, 2025
302fbe3
flutter: const cleanup batch 2 — invite_member_dialog buttons (safe c…
zensgit Sep 27, 2025
77799cb
flutter: const cleanup batch 3 — QR generator safe const adjustments
zensgit Sep 27, 2025
4b9aa1d
flutter: batch 3 follow-up — re-add const for Center/CircularProgress…
zensgit Sep 27, 2025
8c069ab
flutter: context cleanup (auth + dialogs) — resolve merge and finaliz…
zensgit Sep 28, 2025
d5bb356
flutter: context cleanup batch — messenger/navigator capture; fix inv…
zensgit Sep 28, 2025
58110a6
flutter: stabilize transactions UI scaffold; fix tests (search bar + …
zensgit Sep 28, 2025
3437c06
flutter: TransactionsScreen uses shared TransactionList with search/g…
zensgit Sep 28, 2025
79b7515
feat(accounts): expand account types to 52 comprehensive types
zensgit Sep 28, 2025
9fbd6c6
flutter: TransactionList grouping (date/category/account) with collap…
zensgit Sep 28, 2025
69726c4
feat: add bank selector with pinyin search and missing bank handling
zensgit Sep 28, 2025
b1e49c7
flutter: transactions Phase B1 — persist grouping and collapsed group…
zensgit Sep 28, 2025
c03b2fe
flutter: transactions Phase B1 — persist grouping and collapsed group…
zensgit Sep 28, 2025
b54a119
fix: remove stray closing brace in transaction_provider
zensgit Sep 28, 2025
d9fd115
flutter: transactions — add grouping menu wired to controller; keep n…
zensgit Sep 29, 2025
f69be69
flutter(transactions): add category/account grouping with collapsible…
zensgit Sep 29, 2025
89ec754
test(transactions): add widget test for category grouping collapse/ex…
zensgit Sep 29, 2025
94ecbc2
fix(tests): resolve duplicate helper and add missing imports for widg…
zensgit Sep 29, 2025
fd1e712
flutter: fix transactions grouping flag; make TransactionList groupin…
zensgit Sep 29, 2025
ec2e3db
feat: implement Travel Mode MVP
zensgit Sep 29, 2025
43257f8
flutter: per-ledger view prefs for tx grouping/collapse; fix tests fo…
zensgit Sep 29, 2025
683df21
feat(travel): Fix Travel Mode compilation errors
zensgit Sep 29, 2025
7582f1a
docs: Add Travel Mode fix report
zensgit Sep 30, 2025
e32a396
flutter: cleanup QR widget stubs, fix const eval, use SharePlus.insta…
zensgit Sep 30, 2025
b73c86d
flutter: tidy qr_code_generator structure; remove cross_file import a…
zensgit Sep 30, 2025
ecf4aaf
flutter: analyzer cleanup batch 10-A (part 1) — remove unused imports…
zensgit Sep 30, 2025
fe15ab2
flutter: dashboard_overview types aligned (BalancePoint/dynamic/Trans…
zensgit Sep 30, 2025
ab07b45
flutter: restore RecentTransactions import; add precise analyzer igno…
zensgit Sep 30, 2025
5e8fb37
flutter: fix imports in dashboard_overview; align DashboardData gener…
zensgit Sep 30, 2025
ccea7a8
flutter: analyzer cleanup batch 10-B (part 1) — remove unused locals;…
zensgit Sep 30, 2025
0ff1898
flutter: analyzer cleanup batch 10-B (part 2) — remove unused _getCur…
zensgit Sep 30, 2025
84b7618
flutter: batch10c — BudgetProgress ConsumerWidget + const eval fix; C…
zensgit Sep 30, 2025
74f71a5
flutter: batch10c2 — precise ignores in CustomThemeEditor; comment un…
zensgit Sep 30, 2025
07996fd
flutter: account_list — add model<->UI AccountType adapters to resolv…
zensgit Sep 30, 2025
7e69656
flutter: account_list — use AccountCard.fromAccount in simple and gro…
zensgit Sep 30, 2025
b9ad4db
flutter: account_list — rename local enums to UiAccountType/UiAccount…
zensgit Sep 30, 2025
151727c
flutter: account_list — fix adapter mapping to model.AccountType; res…
zensgit Sep 30, 2025
6f6cf73
flutter: account_list — revert enum names to AccountType/AccountSubTy…
zensgit Sep 30, 2025
2e4a6fb
flutter: account_list — move model<->UI AccountType adapters below en…
zensgit Sep 30, 2025
4a8a602
flutter: finalize batch10c — fix _toUiAccountType call and const padd…
zensgit Sep 30, 2025
cf31e80
chore: whitespace touch to invalidate analyzer cache in account_list …
zensgit Sep 30, 2025
75d6909
flutter: account_list — robust model→local type mapping (creditCard/l…
zensgit Sep 30, 2025
bb6649f
flutter: share_service — unify on SharePlus.instance.share(ShareParam…
zensgit Sep 30, 2025
e287acb
flutter: share_service — micro cleanups (pre-capture messenger, ignor…
zensgit Sep 30, 2025
bd79d99
flutter: share_service — prune unused stubs (_shareToWechat, _StubXFile)
zensgit Sep 30, 2025
a5f32aa
flutter: family_settings_service — wrap background sync with unawaite…
zensgit Sep 30, 2025
717cfb0
flutter: family_settings_service — fix await_only_futures by using un…
zensgit Sep 30, 2025
de35fa2
flutter: family_settings_service — pass Map via toJson() to updateFam…
zensgit Sep 30, 2025
6ca959d
flutter: batch10d — unify context safety in BatchConvertToTagDialog; …
zensgit Sep 30, 2025
d98cf7c
flutter: cleanup QR widget stubs, fix const eval, use SharePlus.insta…
zensgit Sep 30, 2025
8806e23
flutter: tidy qr_code_generator structure; remove cross_file import a…
zensgit Sep 30, 2025
da149ba
flutter: batch10c2 — precise ignores in CustomThemeEditor; comment un…
zensgit Sep 30, 2025
034b128
flutter: account_list — add model<->UI AccountType adapters to resolv…
zensgit Sep 30, 2025
2cbd72e
flutter: account_list — use AccountCard.fromAccount in simple and gro…
zensgit Sep 30, 2025
6d018ca
flutter: account_list — rename local enums to UiAccountType/UiAccount…
zensgit Sep 30, 2025
b62a65b
flutter: account_list — fix adapter mapping to model.AccountType; res…
zensgit Sep 30, 2025
df049e0
flutter: account_list — revert enum names to AccountType/AccountSubTy…
zensgit Sep 30, 2025
8f5ca97
flutter: account_list — move model<->UI AccountType adapters below en…
zensgit Sep 30, 2025
bf23234
flutter: finalize batch10c — fix _toUiAccountType call and const padd…
zensgit Sep 30, 2025
adb1ff1
chore: whitespace touch to invalidate analyzer cache in account_list …
zensgit Sep 30, 2025
b2af2b8
flutter: account_list — robust model→local type mapping (creditCard/l…
zensgit Sep 30, 2025
4c046f0
flutter: share_service — unify on SharePlus.instance.share(ShareParam…
zensgit Sep 30, 2025
905fc01
flutter: share_service — micro cleanups (pre-capture messenger, ignor…
zensgit Sep 30, 2025
959e66a
flutter: share_service — prune unused stubs (_shareToWechat, _StubXFile)
zensgit Sep 30, 2025
b506e12
Merge main into feature/transactions-phase-b1
zensgit Oct 8, 2025
927ac93
fix: add missing onFilter parameter to GroupedRecentTransactions
zensgit Oct 8, 2025
e4fa986
Merge main branch with conflict resolution - PR #70 travel mode
zensgit Oct 8, 2025
7a4f9ce
Merge branch 'main' into feature/transactions-phase-a
zensgit Oct 8, 2025
9824fca
test: fix transaction tests for updated TransactionController signature
zensgit Oct 8, 2025
3fd6941
Merge remote-tracking branch 'origin/main' into feat/travel-mode-mvp
zensgit Oct 8, 2025
45b14dc
fix(travel): resolve compilation errors
zensgit Oct 8, 2025
933cce3
feat(travel): complete Travel Mode UI implementation
zensgit Oct 8, 2025
3e47640
fix(router): remove deprecated TravelProvider initialization
zensgit Oct 8, 2025
37f77cd
docs: add final status report for Travel Mode MVP implementation
zensgit Oct 8, 2025
e203f25
feat(travel): Complete Travel Mode implementation with all features
zensgit Oct 8, 2025
6182aee
feat(travel): 添加导出功能支持CSV/HTML/JSON格式
zensgit Oct 8, 2025
bc9e5d9
feat(travel): 添加照片附件功能和导出功能测试
zensgit Oct 8, 2025
241562b
docs: 添加Travel Mode优化完成报告
zensgit Oct 8, 2025
d0bba42
fix(pr-70): resolve CI/CD failures in Rust API and Flutter tests
zensgit Oct 8, 2025
cea2b27
fix(pr-70): update SQLx offline cache and fix currency_service errors
zensgit Oct 8, 2025
7eef75a
fix(api): align SQLx cache with migration schema definitions
zensgit Oct 8, 2025
25ef9a8
fix(travel): remove unnecessary reference in settings serialization
zensgit Oct 8, 2025
a625e39
feat: comprehensive exchange rate refactor + global market stats
zensgit Oct 11, 2025
678299d
chore(flutter): const cleanup batch 1
zensgit Oct 11, 2025
0374f33
chore(flutter): const cleanup batch 3
zensgit Oct 11, 2025
bcda249
chore(flutter): merge context-cleanup-auth-dialogs
zensgit Oct 11, 2025
a2df761
chore(flutter): merge batch10a-analyzer-cleanup
zensgit Oct 11, 2025
33b3140
chore(flutter): merge batch10b-analyzer-cleanup
zensgit Oct 11, 2025
0c4a224
chore(flutter): merge batch10c-analyzer-cleanup
zensgit Oct 11, 2025
92460e4
chore(flutter): merge batch10d-analyzer-cleanup
zensgit Oct 11, 2025
519a456
chore(flutter): merge share-service-shareplus
zensgit Oct 11, 2025
2639d84
feat: net-worth tracking
zensgit Oct 11, 2025
0044942
Merge feat/account-type-enhancement into main
zensgit Oct 11, 2025
7f81bcf
Merge feat/travel-mode-mvp into main
zensgit Oct 11, 2025
d7ab636
Merge feat/ci-hardening-and-test-improvements into main
zensgit Oct 11, 2025
9612842
Merge feat/ledger-unique-jwt-stream into main
zensgit Oct 11, 2025
cf35ce8
Merge chore/compose-port-alignment-hooks into main
zensgit Oct 11, 2025
24a7f36
Merge chore/export-bench-addendum-stream-test into main
zensgit Oct 11, 2025
513de34
Merge branch 'chore/flutter-analyze-cleanup-phase1-2-v2'
zensgit Oct 11, 2025
b7f278d
Merge chore/metrics-alias-enhancement into main
zensgit Oct 11, 2025
e3d59f7
Merge chore/metrics-endpoint into main
zensgit Oct 11, 2025
3fce936
Merge chore/rehash-flag-bench-docs: keep HEAD's auth with comprehensi…
zensgit Oct 11, 2025
0b8c07f
Merge chore/report-addendum-bench-preflight: documentation update
zensgit Oct 11, 2025
5b7bbcc
Merge chore/sqlx-cache-and-docker-init-fix: keep HEAD currency_service
zensgit Oct 11, 2025
8746204
Merge branch 'chore/stream-noheader-rehash-design'
zensgit Oct 11, 2025
e6b5f62
Merge docs/dev-ports-and-hooks: keep HEAD's comprehensive versions
zensgit Oct 11, 2025
c1ce3d3
Merge feat/auth-family-streaming-doc: auth+family+streaming docs + de…
zensgit Oct 12, 2025
ad89acf
Merge feat/bank-selector: add banks API with version endpoint + trans…
zensgit Oct 12, 2025
abeff58
Merge feat/security-metrics-observability: rate limiting + metrics gu…
zensgit Oct 12, 2025
9113539
Merge feature/transactions-phase-a: transaction grouping + search/fil…
zensgit Oct 12, 2025
b6255dc
Merge fix/docker-hub-auth-ci: Docker Hub authentication setup docs
zensgit Oct 12, 2025
6b06276
Merge pr/category-dryrun-details: category dry-run details implementa…
zensgit Oct 12, 2025
098eff4
Merge pr/category-dryrun-preview-ui: category import preview UI
zensgit Oct 12, 2025
22c0bc2
Merge pr/category-import-backend-clean: clean up category import backend
zensgit Oct 12, 2025
0c01756
Merge pr-26-local: local PR 26 changes
zensgit Oct 12, 2025
e8760cd
Merge pr-33: PR 33 changes
zensgit Oct 12, 2025
0cb774a
Merge pr-42: transaction export streaming feature
zensgit Oct 12, 2025
3a23c6d
Merge pr-47: keep metrics caching implementation
zensgit Oct 12, 2025
f0d74e1
Merge pr3-category-frontend: integrate category frontend features
zensgit Oct 12, 2025
5e8e9a5
Merge pr4-category-advanced: advanced category features
zensgit Oct 12, 2025
44b928f
Merge develop: comprehensive feature integration
zensgit Oct 12, 2025
110a3b2
Merge feat/exchange-rate-refactor-backup: redis caching + rate changes
zensgit Oct 12, 2025
9c503de
Merge branch 'macos'
zensgit Oct 12, 2025
3ad2111
Merge branch 'wip/session-2025-09-19'
zensgit Oct 12, 2025
f15f2a0
Merge feature/transactions-phase-b1: Flutter context safety improveme…
zensgit Oct 12, 2025
9ea8946
chore(ci): trigger routing tests verify PR
zensgit Oct 12, 2025
420bc75
chore(ci): retrigger routing-smoke-tests on PR
zensgit Oct 12, 2025
d595512
ci: mark routing job for PR verify and retrigger
zensgit Oct 13, 2025
893efa0
fix(ci): remove duplicate sha2 dependency to unblock routing tests
zensgit Oct 13, 2025
c01c753
chore(fmt): cargo fmt (api, core); plus api fixes for atomic register…
zensgit Oct 13, 2025
d357876
flutter: routes + travel model fields/computedStatus; export status m…
zensgit Oct 13, 2025
e9f2bb8
flutter: fix TransactionList tests and controller API; stabilize curr…
zensgit Oct 13, 2025
231a49f
api: fix chrono Option handling and NULL guards (created_at/updated_a…
zensgit Oct 13, 2025
555c791
api: add TransactionConfig, TransactionMetrics, TransactionAdapter sk…
zensgit Oct 14, 2025
1c8ffb4
api/core: gate experimental app modules; fix Decimal mismatches in ac…
zensgit Oct 14, 2025
339a132
api/core: align invitations + audit mapping; add dev mock for invitat…
zensgit Oct 14, 2025
46ef808
api: unify Decimal mapping in accounts handler; fix clippy in metrics…
zensgit Oct 14, 2025
62055c0
api: migrate transaction/budget money types to Decimal (#90)
zensgit Oct 15, 2025
ed890ae
api: migrate exchange rate & market to Decimal (#92)
zensgit Oct 15, 2025
a330ccf
merge: resolve base merges on invite-audit branch; unify Option<DateT…
zensgit Oct 15, 2025
b94d1a2
tests: add decimal serialization contract tests (exchange rate, marke…
zensgit Oct 15, 2025
74554ae
tests: temporarily remove decimal serialization contract tests; will …
zensgit Oct 15, 2025
476e98b
api: migrate Transaction model/service to Decimal (#94)
zensgit Oct 15, 2025
eab65be
tests: strengthen market stats contract (assert updated_at numeric) (…
zensgit Oct 15, 2025
0cbafe2
tests(api): add budget decimal serialization contract (ignored until …
zensgit Oct 16, 2025
aeee068
api(budget): migrate to Decimal + enable contract test
zensgit Oct 16, 2025
65003f4
flutter: add tolerant JSON parsing helpers for money fields
zensgit Oct 16, 2025
f448729
flutter: add budget models + tolerant JSON parsing (money as string)
zensgit Oct 16, 2025
07aa32f
flutter: wire budget models into BudgetProgress + widget test
zensgit Oct 16, 2025
877622c
flutter: wire BudgetReport into provider totals (fallback to local sums)
zensgit Oct 16, 2025
633eb27
chore: core gating + SQLx prep (rebased)
zensgit Oct 16, 2025
3bdeed5
core(accounts): begin schema alignment to API (ledger_id) + SQLx prep
zensgit Oct 16, 2025
5be7435
core(tx-mapper): align TransferResponse/ImportError/ImportPolicy/Jive…
zensgit Oct 16, 2025
57a4817
core(accounts): align read queries to ledger_id (JOIN ledgers)
zensgit Oct 16, 2025
bde8dbd
core(accounts): align update_status/update_balance to API schema + pr…
zensgit Oct 16, 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
  •  
  •  
  •  
89 changes: 43 additions & 46 deletions .github/DOCKER_AUTH_SETUP.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,44 @@
Docker Hub 认证(可选)

目的
- 避免 CI 拉取公共镜像时触发 Docker Hub 匿名速率限制(100 pulls/6h)。
- 配置后,速率限制提升到 200 pulls/6h,稳定性更好。

步骤
1) 在 Docker Hub 创建 Access Token(建议使用个人或组织账号)
- 登录 https://hub.docker.com/settings/security
- 点击 New Access Token,命名并生成,复制 Token(仅显示一次)。

2) 在 GitHub 仓库配置 Secrets
- Settings → Secrets and variables → Actions → New repository secret
- 添加:
- DOCKERHUB_USERNAME:Docker Hub 用户名
- DOCKERHUB_TOKEN:Docker Hub Access Token

3) CI 工作流已内置可选登录逻辑(无需改代码)
- 文件:.github/workflows/ci.yml
- 关键片段:
- 环境变量
```yaml
env:
DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKER_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
```
- 登录步骤(条件启用)
```yaml
- name: Login to Docker Hub
if: env.DOCKER_USERNAME != '' && env.DOCKER_TOKEN != ''
uses: docker/login-action@v3
with:
username: ${{ env.DOCKER_USERNAME }}
password: ${{ env.DOCKER_TOKEN }}
continue-on-error: true
```

验证
- 触发任意需要 Postgres/Redis 服务的 CI 任务,确认日志中出现 docker pull 且无 `unauthorized: authentication required`。

常见问题
- 未配置 Secrets:登录步骤会跳过,不影响 CI,只是仍受匿名限流。
- Token 失效:重新生成 Token 并更新 Secret。

附注
- 报告见 DOCKER_AUTH_SOLUTION_REPORT.md。
# Docker Hub Authentication Setup for CI

## Problem
GitHub Actions CI workflows were failing with Docker Hub authentication errors:
```
unauthorized: authentication required
```

This happens when GitHub Actions tries to pull Docker images (postgres:15, redis:7) but hits Docker Hub rate limits for unauthenticated requests.

## Solution Implemented

### 1. CI Workflow Changes
- Added Docker Hub credential environment variables to the workflow
- Added Docker login step before jobs that use Docker service containers
- Made authentication optional with `continue-on-error: true` so CI still works without credentials

### 2. Required GitHub Secrets Setup

To enable Docker Hub authentication, add these secrets to your repository:

1. Go to Settings → Secrets and variables → Actions
2. Add two new repository secrets:
- `DOCKERHUB_USERNAME`: Your Docker Hub username
- `DOCKERHUB_TOKEN`: Your Docker Hub access token (NOT your password)

### 3. How to Create Docker Hub Access Token

1. Log in to [Docker Hub](https://hub.docker.com)
2. Click on your username → Account Settings
3. Select "Security" → "New Access Token"
4. Give it a descriptive name like "GitHub Actions CI"
5. Copy the token and save it as `DOCKERHUB_TOKEN` secret in GitHub

## Benefits
- Avoids Docker Hub rate limits (100 pulls/6hr for anonymous vs 200 pulls/6hr for authenticated)
- CI runs more reliably without authentication failures
- Optional - CI still works without credentials, just with lower rate limits

## Files Modified
- `.github/workflows/ci.yml`: Added Docker authentication steps

## Testing
After adding the secrets, the CI will automatically use Docker Hub authentication for all Docker image pulls.
Loading