-
v1.2.0 Stable
released this
2026-03-25 21:45:27 +00:00 | 41 commits to development since this releasev1.2.0 — 50/53 Issue #19 Items Complete
New in v1.2.0
- Server-signed receipts (HMAC-SHA256)
- Admin bank transfer approval endpoint
- Category dropdown in product search
- Auto top-up frontend wiring
- Optimistic wallet UI updates
- Service request forms wired to API
- Service worker for offline static caching
Status: 50/53 done
3 items blocked on external credentials:
- East African currencies (needs Clickpesa API config)
- Production Stripe keys (needs account)
- Production Clickpesa keys (needs account)
113 tests ALL PASS (25 unit + 50 smoke + 22 integration + 16 Playwright)
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.1.0 Stable
released this
2026-03-25 21:16:23 +00:00 | 42 commits to development since this releasev1.1.0 — Issue #19 Complete
New features
- Messaging compose — send new messages from compose form
- SSH key CRUD — list, add SSH keys in settings
- Receipt storage — transaction receipts stored in localStorage
- Refund endpoint — POST /api/wallet/refund credits wallet
- Instant purchase — debit wallet (was NOT_IMPLEMENTED)
- Quick top-up — credit wallet (was NOT_IMPLEMENTED)
- Auto top-up — configure + trigger (was NOT_IMPLEMENTED)
Test results: ALL 132 PASS
- 25 unit, 50 smoke, 22 integration, 16 Playwright
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.0.2 Stable
released this
2026-03-25 20:50:29 +00:00 | 42 commits to development since this releasev1.0.2 — Comprehensive Test Suite
Test pyramid (all green)
Layer Tests Status 1. Compile cargo check (2 repos) PASS 2. Unit 25 Rust tests 25/25 PASS 3. Smoke 69 curl tests 69/69 PASS 4. API Integration 22 lifecycle tests 22/22 PASS 5. Playwright E2E 16 browser tests 16/16 PASS Total 132 automated tests ALL PASS New test suites
tests/api_integration.sh— 22 tests: register, challenge, verify, wallet, payments, transact errors, products, SSR compattests/playwright/— 16 Playwright tests: full user journey, adversarial (invalid sig, expired, duplicate, unauth), regression (8 known bugs)- Backend unit tests fixed: mcp.rs helpers + branding.toml
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.0.1 Stable
released this
2026-03-25 04:51:18 +00:00 | 45 commits to development since this releasev1.0.1 — E2E Bug Fixes
Fixes (8 bugs resolved)
- Buy Now did add-to-cart instead of signed purchase → fixed with ed25519 spend intent
- Buy Now errors swallowed silently → now shows alert dialog
- New user balance was 0 MC (hardcoded override) → now 100 MC starter credits
- InsufficientFunds returned HTTP 200 → now returns 402 with clear message
- JWT fallback not sent in API requests → Bearer token now included alongside signatures
- Middleware didn't fall back to JWT when signature failed → added fallback
- Auth endpoints didn't return JWT → register + verify now return JWT token
- Unauthenticated Buy Now silently redirected → now shows "Please sign in" alert (matches SSR)
Browser E2E verified
- Register → 100 MC balance → Marketplace → Buy Now → Order Confirmed → 70.01 MC balance
- Session persistence, Sign Out, auth alert for unauthenticated users
- 26/26 + 24/24 smoke tests PASS
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.0.0 Stable
released this
2026-03-25 01:49:03 +00:00 | 45 commits to development since this releasev1.0.0 — Production-Ready FOSS-Sovereign Marketplace SPA
Complete Feature Set
Identity & Auth
- Ed25519 keypair vault (AES-256-GCM + PBKDF2 100k iterations)
- Signature-based auth (every API request signed)
- Session persistence (sessionStorage, 30 min idle timeout)
- Stateless HMAC challenges (horizontally scalable)
- Full body SHA-256 verification in middleware
- User-friendly UX (Sign In, Passphrase, Create Account)
Payments
- PaymentProvider trait + 4 implementations (Demo, Stripe, Clickpesa, Bank Transfer)
- Webhook endpoints with HMAC signature verification
- Payment initiation API with redirect URLs
- Buy Credits modal with gateway selection
Wallet
- Signed spend intents (ed25519 signature required for purchases)
- Credit/debit with balance tracking and receipts
- Buy Now flow on product detail page
- Balance + notification polling every 30s
Polish
- 45+ routes with 4 layout types
- 48 dioxus-bootstrap-css signal-driven components
- Form validation (register, checkout)
- SSR visual parity (same Bootstrap 5.3.3 CSS)
- DESIGN.md — complete FOSS-sovereign architecture document (17 sections)
Test Results
- 26/26 API smoke tests (SSR domain) PASS
- 24/24 API smoke tests (SPA domain) PASS
- 19/19 SPA frontend smoke tests PASS
- Browser E2E: register → dashboard → refresh → sign out → sign in (all PASS)
Container Images
forge.ourworld.tf/mycelium_code/projectmycelium_marketplace:v1.0.0 forge.ourworld.tf/mycelium_code/projectmycelium_marketplace:latest forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_frontend:v1.0.0 forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_frontend:latestLive
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.8.0 Stable
released this
2026-03-25 01:40:02 +00:00 | 46 commits to development since this releasev0.8.0 — Data Parity & Polish
What is new
- Balance polling — wallet balance + unread messages refreshed every 30s when authenticated
- Buy Now flow — product detail page Buy Now signs spend intent, deducts wallet, redirects to confirmation
- Form validation — register page validates name (required), email (format), passphrase (match + min 6 chars)
- Unified polling — single async loop for balance + notification sync (stops when signed out)
Test results
- 26/26 API smoke tests (SSR) PASS
- 24/24 API smoke tests (SPA) PASS
- Deployed to dev
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.7.0 Stable
released this
2026-03-25 01:14:19 +00:00 | 46 commits to development since this releasev0.7.0 — Signed Wallet Transactions
What is new
- Signed spend intents — client signs
{action}\n{amount}\n{product_id}\n{timestamp}with ed25519 key - POST /api/wallet/transact — verify signature, check balance, deduct credits, return receipt
- Checkout integration — Place Order → sign spend intent → deduct wallet → create order → show confirmation
- Balance update — wallet balance display updates after purchase
- Insufficient funds handling — returns shortfall amount if balance too low
Flow
User clicks Place Order → Vault signs spend intent (ed25519) → POST /api/wallet/transact { action, amount, product_id, public_key, timestamp, signature } → Backend verifies signature against registered pubkey → Backend checks balance >= amount → Backend deducts credits via WalletManager.debit() → Returns { receipt_id, new_balance } → Frontend creates order via POST /api/orders → User sees confirmation + updated balanceTest results
- 26/26 API smoke tests PASS
- Both repos compile clean
- Deployed to dev
- Wallet balance tracking works (demo starts at 1250 MC)
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Signed spend intents — client signs
-
v0.6.0 Stable
released this
2026-03-25 00:55:27 +00:00 | 46 commits to development since this releasev0.6.0 — Payment Integration (Stripe, Clickpesa, Bank Transfer)
What is new
- PaymentProvider trait — abstract interface with 4 implementations (Demo, Stripe, Clickpesa, Bank)
- Stripe provider — Checkout Sessions API, HMAC-SHA256 webhook signature verification
- ClickPesa provider — JWT auth, checkout link generation, webhook HMAC verification
- Bank Transfer provider — displays bank details, min $1000, manual admin confirmation
- Demo provider — instant confirmation with fake URLs (DEMO_PAYMENT=true, default)
- Webhook endpoints — POST /api/webhooks/stripe, POST /api/webhooks/clickpesa
- Payment API — POST /api/payments/initiate (returns checkout URL), GET /api/payments/status
- Buy Credits UI — wallet page modal with amount + gateway selection → redirects to payment URL
- Provider registry — auto-selects provider from PAYMENT_PROVIDER env var
Environment variables
PAYMENT_PROVIDER=demo|stripe|clickpesa|bank DEMO_PAYMENT=true|false STRIPE_SECRET_KEY=sk_test_... STRIPE_WEBHOOK_SECRET=whsec_... CLICKPESA_CLIENT_ID=... CLICKPESA_API_SECRET=... CLICKPESA_WEBHOOK_SECRET=...Test results
- 26/26 API smoke tests PASS
- Payment initiation returns checkout URL (demo mode)
- Webhook endpoint accepts and processes events
- Buy Credits modal wired to payment API
Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.5.0 Stable
released this
2026-03-24 22:38:13 +00:00 | 46 commits to development since this releasev0.5.0 — Ed25519 Keypair Identity + Signature Auth
What is new
- Ed25519 keypair vault — generate, encrypt (AES-256-GCM + PBKDF2 100k iterations), store in localStorage
- Signature-based auth — every API request signed with X-Public-Key / X-Timestamp / X-Signature headers
- Session persistence — sessionStorage auto-unlock on page refresh, 30 min idle timeout
- User-friendly UX — Sign In, Passphrase, Create Account, Sign Out, Your ID (no technical jargon)
- Stateless HMAC challenges — server signs challenge with HMAC, no in-memory store, horizontally scalable
- Full body hash verification — middleware buffers body, computes SHA-256, verifies signature integrity
- Base-path proxy support — strips APP_BASE_PATH for correct signature verification behind nginx
- Fixture user persistence — in-memory store for dev/test mode
Test results (live dev)
- 26/26 API smoke tests (SSR domain)
- 24/24 API smoke tests (SPA domain)
- 19/19 SPA endpoint checks
- Full browser E2E: register → dashboard → refresh (session persists) → sign out → login
Design
Complete FOSS-sovereign design document at
docs/DESIGN.md(17 sections, 1000+ lines)Signed-off-by: mik-tf
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.1.0-dev — First Deployment Pre-release
released this
2026-03-23 13:53:16 +00:00 | 65 commits to development since this releasev0.1.0-dev — First Deployment
First container images built and pushed to forge registry.
Services
- Backend: Axum RPC + thin SSR (23 OSIS types, ~80 methods) — 153 MB
- Frontend: Dioxus WASM SPA (42+ components, dioxus-bootstrap-css) — 65.9 MB
- Admin: Dioxus WASM SPA + Axum proxy (10 tabs) — 115 MB
Images
forge.ourworld.tf/mycelium_code/projectmycelium_marketplace_backend:0.1.0-devforge.ourworld.tf/mycelium_code/projectmycelium_marketplace_frontend:0.1.0-devforge.ourworld.tf/mycelium_code/projectmycelium_marketplace_admin:0.1.0-dev
Pipeline state
- Makefile TAG: 0.1.0-dev
- Container images: 0.1.0-dev
- All repos: development branch
Endpoints
- backend: not yet deployed
- frontend: not yet deployed
- admin: not yet deployed
Status: development — not production verified
Next: TFGrid VM provisioning + DNS + smoke tests (mycelium_code/home#10).
Testing plan: mycelium_code/home#11 (130+ tests across 7 steps).Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads