Commit Graph
77 Commits
Author SHA1 Message Date
Jan NovakandAntigravity 5bdc7a4566 feat: add keyboard navigation to member details and fix attendance count
Deploy to K8s / deploy (push) Failing after 7s
Build and Push / build (push) Successful in 9s
- Users can now navigate between members in the details popup using Up/Down arrows.
- Fixed 0 attendance count in member popup by preserving count in reconciliation.
- Updated uv.lock following dependency changes.

Co-authored-by: Antigravity <antigravity@google.com>
0.11
2026-03-03 11:04:50 +01:00
Jan NovakandAntigravity 9ee2dd782d fix: add missing qrcode and pillow dependencies to Dockerfile and pyproject.toml
Deploy to K8s / deploy (push) Successful in 10s
Build and Push / build (push) Successful in 30s
This fixes the 'ModuleNotFoundError: No module named qrcode' error in the container.
Updated pyproject.toml version to 0.10.

Co-authored-by: Antigravity <antigravity@google.com>
0.10
2026-03-02 22:57:15 +01:00
Jan NovakandAntigravity 4bb8c7420c feat: implement local payment QR codes and update AI co-authoring rules
Deploy to K8s / deploy (push) Successful in 11s
Build and Push / build (push) Successful in 8s
QR codes are now generated locally using the 'qrcode' library for better privacy and reliability.
Updated .agent/rules.md with co-author details and Conventional Commits preference.

Co-authored-by: Antigravity <antigravity@google.com>
0.09
2026-03-02 22:54:48 +01:00
Jan Novak b0276f68b3 feat: add detailed performance profiling with interactive toggle
Deploy to K8s / deploy (push) Successful in 11s
Build and Push / build (push) Successful in 9s
0.08
2026-03-02 22:34:06 +01:00
Jan Novak 7d05e3812c fix: correctly extract exception amount on fees page
Deploy to K8s / deploy (push) Successful in 7s
Build and Push / build (push) Successful in 9s
0.07
2026-03-02 22:23:13 +01:00
Jan Novak 815b962dd7 feat: add member details popup with attendance and fee exceptions
Deploy to K8s / deploy (push) Successful in 12s
Build and Push / build (push) Successful in 8s
2026-03-02 21:41:36 +01:00
Jan Novak 99b23199b1 feat: improve attendance parsing logic and fix payment date formatting
Build and Push / build (push) Successful in 8s
Deploy to K8s / deploy (push) Successful in 12s
0.06
2026-03-02 15:06:28 +01:00
Jan Novak 70d6794a3c chore: final release 0.05
Deploy to K8s / deploy (push) Successful in 11s
Build and Push / build (push) Successful in 5s
0.05
2026-03-02 14:37:34 +01:00
Jan Novak ed5c9bf173 chore: bump version to 0.04 after Docker fix
Build and Push / build (push) Successful in 26s
0.04
2026-03-02 14:35:22 +01:00
Jan Novak 786cddba4d fix: add missing google api dependencies to Dockerfile and pyproject.toml 2026-03-02 14:35:09 +01:00
Jan Novak cbaab5fb92 chore: bump version to 0.03
Build and Push / build (push) Successful in 8s
0.03
2026-03-02 14:31:23 +01:00
Jan Novak 535e1bb772 feat: add reconciliation and ledger views to web dashboard with test suite
Deploy to K8s / deploy (push) Successful in 11s
2026-03-02 14:29:48 +01:00
Jan Novak d719383c9c feat: implement automated payment inference and sync to Google Sheets 2026-03-02 14:29:45 +01:00
Jan NovakandClaude Sonnet 4.6 65e40d116b ci: temporarily skip CA cert for kubectl cluster config
Deploy to K8s / deploy (push) Successful in 7s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:45:32 +01:00
Jan NovakandClaude Sonnet 4.6 8842371f80 ci: add environment debug steps before and after Vault auth
Deploy to K8s / deploy (push) Failing after 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:44:33 +01:00
Jan NovakandClaude Sonnet 4.6 9769769c2c ci: add debug output to Kanidm token exchange step
Deploy to K8s / deploy (push) Failing after 7s
Capture HTTP status code and full response body separately so failures
show the actual error from the server instead of silently dying.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:39:00 +01:00
Jan NovakandClaude Sonnet 4.6 4ba6682000 ci: update Vault secret path for kanidm token
Deploy to K8s / deploy (push) Failing after 11s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:36:58 +01:00
Jan NovakandClaude Sonnet 4.6 ed8abc9b56 ci: remove dead OIDC steps, use repo secrets for AppRole auth
Deploy to K8s / deploy (push) Failing after 9s
Gitea doesn't implement Actions OIDC tokens yet. Drop the experimental
id_token steps and use VAULT_ROLE_ID/VAULT_SECRET_ID/K8S_CA_CERT as
standard Gitea repo secrets.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:30:39 +01:00
Jan NovakandClaude Sonnet 4.6 bed8e93b5d ci: fix unbound variable error for OIDC vars on stock Gitea
Deploy to K8s / deploy (push) Failing after 3s
Use ${VAR:-} default-empty syntax so set -u doesn't abort when
ACTIONS_ID_TOKEN_REQUEST_TOKEN/URL are absent (stock Gitea runners
don't set them).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:17:42 +01:00
Jan NovakandClaude Sonnet 4.6 695b08819a ci: use runner host env vars for Vault AppRole credentials
Deploy to K8s / deploy (push) Failing after 3s
Switch VAULT_ROLE_ID, VAULT_SECRET_ID, and K8S_CA_CERT from Gitea repo
secrets to shell env vars, which are injected via the runner host's
systemd EnvironmentFile — keeping credentials off Gitea entirely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 23:11:33 +01:00
Jan Novak 4d0b89943d ci: some debugging ....
Deploy to K8s / deploy (push) Failing after 3s
2026-03-01 23:06:38 +01:00
Jan NovakandClaude Sonnet 4.6 4a8a64f161 ci: add verbose debugging to Vault token step
Deploy to K8s / deploy (push) Failing after 7s
Split curl calls into separate variables and log intermediate
responses to stderr to identify which request is failing.
Added set -euxo pipefail for immediate failure visibility.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 22:56:27 +01:00
Jan Novak 01e8bb4406 ci: make kubernetes workflow run on push into any branch
Deploy to K8s / deploy (push) Failing after 11s
2026-03-01 22:53:21 +01:00
Jan Novak cfaa2db88b ci: workflow that can get secret from vault and authenticate with it
against kanidm to be able to connect to kubernetes cluster
2026-03-01 22:51:12 +01:00
Jan NovakandAntigravity 17a96da078 feat: add docker run target and configure app for containerization
Build and Push / build (push) Successful in 6s
Co-authored-by: Antigravity <antigravity@deepmind.com>
0.02
2026-02-27 14:02:22 +01:00
Jan NovakandAntigravity ced9aa4aeb chore: persist Antigravity AI co-author configuration for the project
- Added Antigravity commit co-authoring rules to CLAUDE.md
- Created .agent/rules.md baseline to explicitly bind Antigravity to appending its co-author attribution

Co-authored-by: Antigravity <antigravity@deepmind.com>
2026-02-27 13:26:26 +01:00
Jan NovakandAntigravity 3bfea4e0a4 feat: initial dashboard implementation and robust attendance parsing
- Added a Makefile to easily run project scripts (fees, match, web, image)
- Modified attendance.py to dynamically handle a variable number of header rows from the Google Sheet
- Updated both attendance calculations and calculate_fees terminal output to show actual attendance counts (e.g., '750 CZK (3)')
- Created a Flask web dashboard (app.py and templates/fees.html) to view member fees in an attractive, condensed, terminal-like UI
- Bound the Flask server to port 5000 and added a routing alias from '/' to '/fees'
- Configured Python virtual environment (.venv) creation directly into the Makefile to resolve global pip install errors on macOS

Co-authored-by: Antigravity <antigravity@deepmind.com>
0.01
2026-02-27 13:20:42 +01:00