splitwise / src /lib

Commit History

fix(deploy): trust x-forwarded-for for per-IP rate limiting
d0c44b2

assafvayner HF Staff commited on

fix(app): 503 on storage failures, validated currency, lock release on shutdown, per-IP login limit, unit-only npm test
e830ad4

assafvayner HF Staff commited on

fix(ui): split editor usable without JS, untrack prop snapshots, clean orphan photo on conflict
3b74a95

assafvayner HF Staff commited on

fix(ui): explicit payer choice, validated settle-up prefill, sticky delete confirm, degraded balances
2b4c12e

assafvayner HF Staff commited on

fix(auth): gate admin routes on the decoded path and in the actions themselves
857fbc2

assafvayner HF Staff commited on

fix(ui): shared safe-next validation, no lockout on success, logout origin check, tab/feed polish
b11153a

assafvayner HF Staff commited on

feat(ui): add settlement create, detail, edit and delete
edcd76e

assafvayner HF Staff commited on

feat(ui): add expense form with live split editor and photo upload
4ae345a

assafvayner HF Staff commited on

fix(app): stop guard on boot failure, validate compaction interval, harden hooks
6d928e9

assafvayner HF Staff commited on

fix(photos,forms): own-property content types, dimension bounds, VP8L signature, trimmed inputs
fa363c5

assafvayner HF Staff commited on

fix(auth): bound scrypt params, cap concurrency, evict rate-limit keys, re-bootstrap admin
1c7b998

assafvayner HF Staff commited on

feat(ui): add layout, tab bar, login and logout
59d41c0

assafvayner HF Staff commited on

feat(app): wire config, singleton app bootstrap, and auth hooks
4bb4f90

assafvayner HF Staff commited on

fix(ledger): writer guard re-checks ownership and self-demotes on stale heartbeat
b0ccc27

assafvayner HF Staff commited on

feat(forms): parse and validate expense/settlement forms; photo sniffing
0545b15

assafvayner HF Staff commited on

feat(users): add UsersRepo with admin bootstrap and password management
1cf4d4c

assafvayner HF Staff commited on

feat(auth): add scrypt hashing, signed session tokens and rate limiter
ef84ace

assafvayner HF Staff commited on

test(ledger): prove compaction crash safety with fault injection and against the real bucket
8d2f1b6

assafvayner HF Staff commited on

feat(ledger): add heartbeat-based writer guard
ea1afde

assafvayner HF Staff commited on

fix(ledger): heal truncated ledger, validate events on write, reconcile pending
664d562

assafvayner HF Staff commited on

feat(ledger): add Ledger service with event write path and compaction
3bfa0fc

assafvayner HF Staff commited on

feat(ledger): add event schema, jsonl encoding and fold
a896df9

assafvayner HF Staff commited on

fix(storage): skip integration suite safely, tighten list contract, drop expand
d594446

assafvayner HF Staff commited on

feat(storage): add HfBucketStore with opt-in real-bucket integration test
9eafa48

assafvayner HF Staff commited on

fix(storage): atomic temp files, directory-safe get/delete, list contract docs
874bd3c

assafvayner HF Staff commited on

feat(storage): add BucketStore interface, LocalFsStore and PrefixedStore
0d57d79

assafvayner HF Staff commited on

refactor(domain): move MAX_CENTS to money, deterministic shuffle in tests
ee86043

assafvayner HF Staff commited on

fix(domain): guard split allocation and balance invariants
5918e23

assafvayner HF Staff commited on

feat(domain): compute net balances and simplified debts
d180c31

assafvayner HF Staff commited on

feat(domain): add largest-remainder split allocation
3852523

assafvayner HF Staff commited on

fix(domain): harden schemas, ULID monotonicity and amount parsing
7f9220c

assafvayner HF Staff commited on

feat(domain): add monotonic ULID generator and money parsing/formatting
3c22061

assafvayner HF Staff commited on

feat(domain): add core types and zod schemas
6ea96a3

assafvayner HF Staff commited on

chore: scaffold SvelteKit project with Tailwind, Vitest, adapter-node
52ec2ea

assafvayner HF Staff commited on