Commit Graph

48 Commits

Author SHA1 Message Date
d0475743f8 fix(finance): gracefully handle initial state without rent rules
Allow building the finance dashboard even if no rent rule is configured for the cycle.
Defaults to 0 rent in the cycle's currency. Added regression tests in application
service and miniapp dashboard handler.
2026-03-15 01:38:54 +04:00
488a488137 feat: add quick payment action and improve copy button UX
Mini App Home Screen:
- Add 'Record Payment' button to utilities and rent period cards
- Pre-fill payment amount with member's share (rentShare/utilityShare)
- Modal dialog with amount input and currency display
- Toast notifications for copy and payment success/failure feedback

Copy Button Improvements:
- Increase spacing between icon and text (4px → 8px)
- Add hover background and padding for better touch target
- Green background highlight when copied (in addition to icon color change)
- Toast notification appears when copying any value

Backend:
- Add /api/miniapp/payments/add endpoint for quick payments
- Payment notifications sent to 'reminders' topic in Telegram
- Include member name, payment type, amount, and period in notification

Files:
- New: apps/miniapp/src/components/ui/toast.tsx
- Modified: apps/miniapp/src/routes/home.tsx, apps/miniapp/src/index.css,
  apps/miniapp/src/theme.css, apps/miniapp/src/i18n.ts,
  apps/bot/src/miniapp-billing.ts, apps/bot/src/server.ts

Quality Gates:  format, lint, typecheck, build, test

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-14 08:51:53 +04:00
1274cefc0f Stabilize purchase functionality: fix ID prefix, uniqueness, and split participant inclusion 2026-03-13 22:29:17 +04:00
588174fa52 Support rebalance and validate purchase splits
Add ParticipantShare type and client-side rebalance/validation helpers for purchase splits (rebalancePurchaseSplit, recalculatePercentages, calculateRemainingToAllocate, validatePurchaseDraft). Integrate rebalancing and validation into the miniapp ledger UI (auto-adjust shares, percentage<>amount syncing, remaining/error display, prefill participants on new purchase, disable save when invalid). On the backend, tighten input validation in finance-command-service for custom_amounts (require explicit shares and sum match) and make settlement-engine more lenient when reading legacy/malformed custom splits (ignore missing shares, accept explicit subset). Also add a test ensuring dashboard generation doesn't 500 on legacy malformed purchases.
2026-03-13 07:54:30 +04:00
ba99460a34 fix(feedback): normalize anonymous rate limit timestamps 2026-03-13 06:16:21 +04:00
94a5904f54 feat(miniapp): refine UI and add utility bill management
- Fix collapsible padding and button spacing
- Add subtotal to balance card
- Add utility bill management for admins
- Fix lints and type checks across the monorepo
- Implement rejectPendingHouseholdMember in repository and service
2026-03-13 05:52:34 +04:00
0d2065fd5e feat(miniapp): redesign balance and due-state flows 2026-03-12 14:08:55 +04:00
6053379f31 fix(miniapp): clarify cycle summary and balance sections 2026-03-12 13:12:39 +04:00
a50b826b40 feat(miniapp): improve billing settings controls 2026-03-12 11:37:57 +04:00
4c19ee798d feat(miniapp): add household general settings 2026-03-12 11:30:11 +04:00
4e7400e908 feat(bot): add configurable household assistant behavior 2026-03-12 03:22:43 +04:00
135a2301ca feat(miniapp): redesign member balance surfaces 2026-03-12 02:10:22 +04:00
0787847c19 feat(member): improve assistant roster awareness 2026-03-11 15:10:20 +04:00
79f96ba45b feat(payments): add transparent balance guidance 2026-03-11 14:52:09 +04:00
8401688032 feat(purchase): add per-purchase participant splits 2026-03-11 14:34:27 +04:00
98988159eb feat(member): add away billing policies 2026-03-11 14:05:52 +04:00
773abf2531 feat(member): add household lifecycle states 2026-03-11 13:44:38 +04:00
b6b6f9e1b8 feat(bot): add safe group unsetup flow 2026-03-11 06:08:34 +04:00
714d2a985d feat(bot): add conversational DM assistant flow 2026-03-11 01:41:58 +04:00
4dde04ca06 fix(finance): prefer open cycle in dashboard 2026-03-11 00:36:42 +04:00
753286a1f6 feat(finance): add billing correction APIs and cycle rollover 2026-03-10 22:03:30 +04:00
b7658164a8 feat(miniapp): improve mobile billing and utility controls 2026-03-10 18:50:19 +04:00
3168356431 feat(miniapp): show topic routing in admin settings 2026-03-10 17:18:53 +04:00
c292518760 feat(miniapp): show payment activity in dashboard 2026-03-10 17:16:16 +04:00
1988521931 feat(payments): track household payment confirmations 2026-03-10 17:00:45 +04:00
fb85219409 feat(finance): add settlement currency and cycle fx rates 2026-03-10 16:46:59 +04:00
4c0508f618 fix(miniapp): show original ledger currencies 2026-03-10 15:58:33 +04:00
4b4f7d46e5 feat(miniapp): add member rent weight controls 2026-03-10 02:48:12 +04:00
6a04b9d7f5 feat(finance): support weighted rent split 2026-03-10 02:47:58 +04:00
29563c24eb feat(miniapp): add cycle-level billing controls 2026-03-10 01:53:11 +04:00
565ac277c1 feat(miniapp): add admin billing settings foundation 2026-03-10 01:38:03 +04:00
16f9981fee feat(bot): add multi-household reminder delivery 2026-03-09 16:50:57 +04:00
9de6bcc31b feat(locale): persist household and member preferences 2026-03-09 13:17:25 +04:00
29f6d788e7 refactor(time): migrate runtime time handling to Temporal 2026-03-09 07:18:09 +04:00
b23208af26 fix(bot): restrict setup admin bootstrap 2026-03-09 06:35:23 +04:00
d5872ede57 feat(miniapp): add pending member admin approval 2026-03-09 06:29:23 +04:00
7c602900ee feat(bot): cut over multi-household member flows 2026-03-09 06:14:57 +04:00
fac2dc0e9d feat(bot): add household admin approval flow 2026-03-09 04:58:14 +04:00
8109163067 feat(onboarding): add mini app household join flow 2026-03-09 04:16:34 +04:00
e63d81cda2 feat(bot): add multi-household setup flow 2026-03-09 03:40:20 +04:00
c8b17136be fix(review): harden miniapp auth and finance flows 2026-03-09 00:30:31 +04:00
7ffd81bda9 feat(bot): add anonymous feedback flow 2026-03-08 22:50:55 +04:00
c5c356f2b2 feat(miniapp): add finance dashboard view 2026-03-08 22:40:49 +04:00
6c0dbfc48e feat(bot): add secure reminder job runtime 2026-03-08 22:15:01 +04:00
f6d1f34acf feat(architecture): add finance repository adapters 2026-03-08 22:14:09 +04:00
ebb6ce4ce6 feat(WHE-23): add hybrid purchase parser with persisted parse metadata 2026-03-05 04:43:57 +04:00
40c2313f1f feat(WHE-20): implement deterministic monthly settlement engine 2026-03-05 04:04:07 +04:00
Stas
4a26ac81d6 Codex/whe 15 bootstrap workspace (#1)
* feat(WHE-15): bootstrap bun workspace with app and package scaffolds

* chore(WHE-17): switch workspace typecheck to tsgo

* chore(WHE-16): configure oxlint and oxfmt no-semicolon style

* chore: address CodeRabbit review feedback

* chore: apply coderabbit fixes and add review script

* docs: add ADR decision metadata
2026-03-05 00:56:24 +03:00