Commit graph

  • dabbea2483 Merge pull request 'feat: hard revoke / re-key (Phase C, #3)' (#15) from feat/3-phase-c-rekey into main main alvaro 2026-07-20 01:32:55 +00:00
  • 6d6af67f2f fix(rekey): echo stored DEK values in response, not the pre-image feat/3-phase-c-rekey goose 2026-07-19 22:13:51 -03:00
  • bf5aeedbc2 feat: hard revoke / re-key (Phase C, #3) goose 2026-07-19 15:15:39 -03:00
  • 668ea59030 chore: remove dead AccessClaims struct (#5) goose 2026-07-19 12:23:31 -03:00
  • 76fd5a8c26 Merge pull request 'fix(security): enforce ownership on medication/appointment write paths (#12)' (#13) from fix/12-write-path-ownership into main alvaro 2026-07-19 15:20:14 +00:00
  • ff185a60e4 fix(security): enforce ownership on medication/appointment write paths (#12) fix/12-write-path-ownership goose 2026-07-19 12:00:13 -03:00
  • d59487fa3b Merge pull request 'feat: profile sharing via X25519 envelope (Phase B, #3)' (#11) from feat/3-phase-b-profile-sharing into main alvaro 2026-07-19 14:51:58 +00:00
  • d0efecf38f fix(sharing): gate falls back to direct ownership before share check feat/3-phase-b-profile-sharing goose 2026-07-19 11:40:44 -03:00
  • e28135bc08 test(share): fix query-string encoding + write-status assertion goose 2026-07-19 10:37:40 -03:00
  • 04520539aa feat: profile sharing via X25519 envelope (Phase B, #3) goose 2026-07-19 07:21:11 -03:00
  • 015a99a7fe Merge pull request 'docs: decide multi-person ZK sharing ADR; reconcile jwt/encryption docs (#4)' (#10) from docs/3-4-encryption-persona-docs-reconciliation into main alvaro 2026-07-19 09:47:18 +00:00
  • 7409077355 Merge pull request 'feat: per-profile DEKs + multi-profile (Phase A2, #3)' (#9) from feat/3-phase-a2-per-profile-deks into main alvaro 2026-07-19 09:46:54 +00:00
  • 706df11f15 fix(auth): wrong password returns Ok(false), not Err feat/3-phase-a2-per-profile-deks goose 2026-07-19 02:29:09 -03:00
  • eb2c2aa546 feat: per-profile DEKs + multi-profile (Phase A2, #3) goose 2026-07-18 23:45:01 -03:00
  • 9807434c5f Merge pull request 'ci: drop host port mapping for Mongo service container' (#8) from ci/fix-mongo-service-port-collision into main alvaro 2026-07-19 00:04:12 +00:00
  • aa115e6e73 ci: drop host port mapping for Mongo service container ci/fix-mongo-service-port-collision goose 2026-07-18 21:02:46 -03:00
  • 6d3642ee13 Merge pull request 'feat(auth): per-account X25519 identity keypair (Phase A1, #3)' (#6) from feat/3-phase-a1-x25519-keypair into main alvaro 2026-07-19 00:00:29 +00:00
  • 8ee8012aca feat(auth): add per-account X25519 identity keypair (#3) feat/3-phase-a1-x25519-keypair goose 2026-07-18 20:00:01 -03:00
  • e322145ffb docs: decide multi-person ZK sharing ADR; reconcile jwt/encryption docs docs/3-4-encryption-persona-docs-reconciliation goose 2026-07-18 19:26:43 -03:00
  • 6a569da3b1 docs: add AGENTS.md and document issue-driven workflow goose 2026-07-18 11:20:14 -03:00
  • 147d722570 fix: healthcheck uses HTTPS + -k for self-signed cert goose 2026-07-14 13:00:30 -03:00
  • 0d33a2c1af fix: rust:slim (not rust:latest-slim which doesn't exist) goose 2026-07-14 12:43:05 -03:00
  • ccbbcd4274 fix: use rust:latest-slim as runtime (glibc match) goose 2026-07-14 12:27:55 -03:00
  • 12b7b2dccb fix: RustlsConfig::from_der takes Vec<Vec<u8>> (cert chain) goose 2026-07-14 12:12:24 -03:00
  • 3d440702f0 fix: rcgen 0.13 API (cert.der + key_pair.serialize_der) goose 2026-07-14 12:01:53 -03:00
  • 043b4442a7 fix: HTTPS with self-signed cert for Web Crypto API support goose 2026-07-14 11:43:56 -03:00
  • 47000beef4 chore: frontend container listens on port 6501 goose 2026-07-05 13:04:04 -03:00
  • a5006bff63 Merge feat/frontend-container goose 2026-07-05 11:49:18 -03:00
  • 7143840ea2 fix: add curl to frontend runtime image for healthcheck goose 2026-07-05 11:47:05 -03:00
  • 300072a5d3 fix: use Axum 0.7 /*path syntax for API proxy routes goose 2026-07-05 11:39:41 -03:00
  • 2a2f14cbda fix: Dockerfile paths for repo-root build context goose 2026-07-05 11:29:24 -03:00
  • 1b5c1e2a06 feat: separate frontend container (Axum static serving + API proxy) goose 2026-07-05 11:24:19 -03:00
  • 43a427e2dd Merge feat/e2e-tests goose 2026-07-05 00:35:33 -03:00
  • 34e3b0b0e0 test: E2E ZK integration tests + frontend lifecycle test goose 2026-07-05 00:35:33 -03:00
  • 288e776a8c Merge feat/dose-schedule-health-enc-tests goose 2026-07-04 14:03:03 -03:00
  • 8c123df490 feat: dose scheduling + health stats zero-knowledge (full stack) goose 2026-07-04 14:00:46 -03:00
  • 09589b3bb2 feat(backend): dose scheduling + health stats zero-knowledge goose 2026-07-04 08:41:48 -03:00
  • 69faa43a72 Merge feat/rate-limiting-and-polish goose 2026-07-03 22:02:50 -03:00
  • b55b7c34f8 feat: rate limiting + E2E crypto lifecycle test goose 2026-07-03 21:57:39 -03:00
  • dcd86524d7 Merge feat/unlock-ux goose 2026-07-03 20:21:15 -03:00
  • 46f413975c feat(web): unlock UX — re-derive DEK on page reload goose 2026-07-03 20:21:15 -03:00
  • 38bf0ae8b4 docs: update ADR for ZK Phase 2 (wrapped-DEK recovery) completion goose 2026-06-29 08:51:03 -03:00
  • 8a538cbbb8 feat: wire register to wrapped-DEK model + recovery phrase UI goose 2026-06-29 08:45:56 -03:00
  • 4a63b1c972 Merge feat/zk-recovery goose 2026-06-29 03:42:28 -03:00
  • 7a641dec00 feat: zero-knowledge recovery (Phase 2) — wrapped-DEK model goose 2026-06-29 03:34:24 -03:00
  • 62ef1abb84 Merge feat/zero-knowledge-encryption goose 2026-06-28 21:51:47 -03:00
  • d7d09482da docs: ADR for zero-knowledge encryption Phase 1 goose 2026-06-28 21:51:47 -03:00
  • 1301473bfe feat: zero-knowledge encryption Phase 1 — server can no longer read user data goose 2026-06-28 21:46:10 -03:00
  • 149ce37654 feat: zero-knowledge encryption Phase 1 — backend opaque + crypto module (WIP) goose 2026-06-28 20:08:38 -03:00
  • 057303a8d0 Merge fix/active-flag-and-appointments goose 2026-06-28 16:38:15 -03:00
  • 4c4c29f72e feat: full appointment feature (CRUD + Appointments tab) goose 2026-06-28 16:35:50 -03:00
  • 0921d73a6d feat(medications): persist real active flag + filter goose 2026-06-28 12:49:02 -03:00
  • 8bcb03cd09 Merge fix/medication-serialization goose 2026-06-28 11:42:38 -03:00
  • dadcc8f1e4 fix(backend): medication get/update/delete use medication_id (UUID), not Mongo _id goose 2026-06-28 11:40:03 -03:00
  • d41256e05b fix(backend): flatten medication serialization (MedicationResponse) goose 2026-06-28 11:30:01 -03:00
  • 68a50b0457 Merge phase3/doses-profiles-tests goose 2026-06-28 10:32:58 -03:00
  • b6be945855 feat: Phase 3c — dose logging + adherence, profile management, tests goose 2026-06-28 10:26:58 -03:00
  • 71add3fe92 Merge branch 'phase3/feature-uis' goose 2026-06-28 04:31:24 -03:00
  • 1515923996 feat(web): Phase 3b — medication/health/interactions feature UIs goose 2026-06-28 04:31:16 -03:00
  • ef1bb9f4be Merge branch 'phase3/vite-migration' goose 2026-06-28 00:53:11 -03:00
  • cd5a62c983 feat(web): Phase 3a — migrate CRA to Vite + make the app runnable goose 2026-06-28 00:47:06 -03:00
  • 8bc0391100 Merge branch 'fix/refresh-token-jti-and-cleanup' goose 2026-06-27 21:14:51 -03:00
  • cf6fcd4ef2 fix(backend): refresh-token jti + code cleanup (#15,#28,#29,#30) goose 2026-06-27 20:57:24 -03:00
  • e9f524671f fix(docker): stop excluding Cargo.lock from the build context goose 2026-06-27 20:26:36 -03:00
  • 1a010cea7e Merge pull request 'fix/p0-security-hardening' (#1) from fix/p0-security-hardening into main alvaro 2026-06-27 23:17:09 +00:00
  • fff1ed2e6d fix(backend): P2 config & Docker consistency goose 2026-06-27 19:54:32 -03:00
  • 17efc4f656 docs: reconcile documentation with reality (P3) goose 2026-06-27 16:02:16 -03:00
  • bd1b7c2925 fix(backend): P1 — handler unwrap cleanup + rewrite integration tests goose 2026-06-27 14:26:39 -03:00
  • 7ba78a31fb fix(backend): P0 security hardening pass goose 2026-06-27 13:12:19 -03:00
  • 46695ae2a0 revert(ci): remove docker-build, acknowledge Forgejo limitations goose 2026-03-19 09:10:55 -03:00
  • 1ebe079de7 fix(ci): try accessing host Docker daemon directly goose 2026-03-19 09:07:08 -03:00
  • 006bcd9dde feat(ci): try Buildx with runs-on:docker (no container) goose 2026-03-19 09:02:08 -03:00
  • e61297d044 docs: add comprehensive CI/CD final solution documentation goose 2026-03-18 23:27:48 -03:00
  • a57bfca6cf fix(ci): remove docker-build due to DNS/network issues with DinD goose 2026-03-18 23:26:27 -03:00
  • 7b50dc262a fix(ci): use working DinD configuration from commit 3b570e7 goose 2026-03-18 09:09:45 -03:00
  • 16434c630c fix(ci): revert to DinD service for docker-build goose 2026-03-18 09:02:31 -03:00
  • cd7b7db45d fix(ci): add Node.js to docker-build and simplify Docker build goose 2026-03-18 08:55:19 -03:00
  • 6935992457 fix(ci): use rust:latest for edition2024 support goose 2026-03-17 23:09:50 -03:00
  • 68bfb4e90c fix(ci): upgrade Rust from 1.83 to 1.84 for edition2024 support goose 2026-03-17 23:07:06 -03:00
  • 6d58730128 fix(ci): regenerate Cargo.lock to fix dependency parsing issue goose 2026-03-17 23:05:07 -03:00
  • 43368d086f fix(ci): make clippy non-strict and fix domain spelling goose 2026-03-17 23:00:08 -03:00
  • 739904979a fix(ci): add rustup component install for clippy goose 2026-03-17 17:12:25 -03:00
  • ed2bb0c5e8 fix(ci): add Node.js installation for checkout action compatibility goose 2026-03-17 17:10:37 -03:00
  • 3d9b446f43 fix(ci): simplify workflow to fix runs-on issues goose 2026-03-17 17:10:00 -03:00
  • 6d6db152ff fix(ci): use alpine for summary job and remove Node.js dependencies goose 2026-03-17 17:09:16 -03:00
  • ef58c77d9c feat(ci): add format check, PR validation, and Docker buildx goose 2026-03-17 10:44:42 -03:00
  • a93a068233 ci: skip integration tests in CI workflow goose 2026-03-16 09:03:24 -03:00
  • bd34ee1618 fix(clippy): remove unnecessary u32 cast (final take) goose 2026-03-13 11:31:39 -03:00
  • 614039bfc9 fix(clippy): remove unnecessary u32 cast (take 2) goose 2026-03-13 11:20:51 -03:00
  • 927b0b4ac1 fix(clippy): remove unnecessary u32 cast goose 2026-03-13 11:15:30 -03:00
  • 36c628c8a0 fix: remove unnecessary u32 cast in account_lockout goose 2026-03-13 11:10:29 -03:00
  • 512f75d02b fix(ci): use rust:latest to support edition2024 goose 2026-03-13 11:05:10 -03:00
  • 6938a58dc5 fix(ci): set working-directory to ./backend for cargo commands goose 2026-03-13 10:56:15 -03:00
  • 360095289c fix(ci): install clippy component before running goose 2026-03-13 10:53:01 -03:00
  • 868ebfd5ab fix(ci): install Node.js before checkout action goose 2026-03-13 10:50:44 -03:00
  • a5db33990e fix(ci): simplify workflow to use rust:1.83-bullseye container goose 2026-03-13 10:48:05 -03:00
  • c8f64614b0 fix(ci): simplify docker-build to use docker:cli container goose 2026-03-13 10:47:16 -03:00
  • 5523265f13 test(ci): test workflow with socket DOCKER_HOST goose 2026-03-13 10:39:17 -03:00
  • 448fd2b9be test(ci): test workflow with Docker socket mount goose 2026-03-13 10:36:19 -03:00
  • 96bf302c5b test(ci): test workflow without DinD goose 2026-03-13 10:34:59 -03:00