This website works better with JavaScript.
58c97994bd
feat(d28): SMS gateway live balance sync (BalAlert API) + daily auto + low alert
Thomas Joise
2026-07-19 01:04:53 +0530
650cde43a2
feat(d28): #3 ticket desk — SLA aging + overdue filter + bill-from-ticket
Thomas Joise
2026-07-19 00:29:56 +0530
e83d70a4ff
feat(d28): #6 SMS credit review + low-balance upsell
Thomas Joise
2026-07-19 00:22:17 +0530
5761544c74
feat(d27): #8 audit-log viewer (owner-only)
Thomas Joise
2026-07-18 23:55:15 +0530
7f6e2ce904
feat(d27): #5 owner MIS cockpit
Thomas Joise
2026-07-18 21:42:01 +0530
bd793d390f
docs: feature roadmap from ultracode design pass (9 features speced + build order)
Thomas Joise
2026-07-18 21:37:49 +0530
419dfebbaa
feat(d27): #1 Renewals page (command center UI)
Thomas Joise
2026-07-18 21:32:37 +0530
02d6f13c95
feat(d27): #1 renewals command center + one-click module renewal quote (backend)
Thomas Joise
2026-07-18 21:28:19 +0530
18e47eb448
feat(d26): functional-feature UIs — GST report, doc search, statement, bulk ops
Thomas Joise
2026-07-18 21:13:00 +0530
3247585e52
docs(d26): functional-gaps record (GST, search, statement, bulk, AWS)
Thomas Joise
2026-07-18 20:51:19 +0530
009179d8df
feat(d26): functional gaps — GST summary, doc search, bulk ops (backend)
Thomas Joise
2026-07-18 20:50:02 +0530
bbe125892d
fix(d26): accent picker off top bar + mobile UX pass + responsive billing
Thomas Joise
2026-07-18 12:19:09 +0530
9b920e50f9
feat(d25): bright doc type/status colours + sectioned client details + username UI
Thomas Joise
2026-07-18 02:20:04 +0530
921fd7e6d1
docs(d25): module order, username login, nginx XFF, hardcoded-DB caveat
Thomas Joise
2026-07-18 02:10:07 +0530
8092c78264
feat(d25): login by username; email demoted to a plain user field
Thomas Joise
2026-07-18 02:08:30 +0530
1727918173
feat(deploy): hardcode DB connection + owner email (no .env), update docs
Thomas Joise
2026-07-18 02:02:54 +0530
10b849a990
feat(d25): module display order (sort_order) + username login
Thomas Joise
2026-07-18 01:55:48 +0530
60dcd823ff
docs(deploy): add backend/devops convention questions checklist
Thomas Joise
2026-07-18 01:29:46 +0530
0a7b7e6118
docs: record SQL-injection re-audit (clean) + D25 PWA/mobile + nginx XFF
Thomas Joise
2026-07-18 01:22:08 +0530
ce6b564e2b
feat(pwa/d25): installable PWA + phone polish
Thomas Joise
2026-07-18 01:21:36 +0530
1d715e6a64
fix(sec/d24): nginx sends X-Forwarded-For as $remote_addr (replace, not append)
Thomas Joise
2026-07-18 01:11:41 +0530
a11d650416
docs(deploy): HQ connects as shared postgres superuser (no per-app roles on box)
Thomas Joise
2026-07-18 01:02:58 +0530
70234161dc
fix(d24): pg allocation row-lock + index ordering; docs (D24 record, 389 tests)
Thomas Joise
2026-07-18 00:47:24 +0530
9c59430c31
perf/fix(d24): DB indexes (both engines) + case-insensitive client search
Thomas Joise
2026-07-18 00:38:39 +0530
9a9de711b5
docs(deploy): correct Gitea URL to SIMS/sims-hq (repo moved)
Thomas Joise
2026-07-18 00:35:20 +0530
35a26de442
fix(review): frontend quality pass — a11y, UX safety, error handling (medium/low)
Thomas Joise
2026-07-18 00:34:19 +0530
4cf513d528
fix(sec/d24): PDF render hardening — strict CSP + request interception
Thomas Joise
2026-07-18 00:33:08 +0530
aaad1e7a3a
fix(sec/d24): concurrency + workflow isolation
Thomas Joise
2026-07-18 00:31:06 +0530
a7b3ade22e
chore(deploy): rename nginx vhost to sims.hq.conf + add paths/names reference
Thomas Joise
2026-07-18 00:29:28 +0530
f812555528
fix(sec/d24): money-integrity guards — CN cap, atomic doc-no, qty, TDS, markStatus
Thomas Joise
2026-07-18 00:26:00 +0530
54cde7961b
fix(sec/d24): gate destructive/sensitive ops to managerial
Thomas Joise
2026-07-18 00:20:51 +0530
10022965d1
fix(sec/d24): auth hardening — login lockout, rate limits, constant-time, trust proxy
Thomas Joise
2026-07-18 00:15:59 +0530
08e3c02ae7
chore(deploy): track the container + nginx deploy setup
Thomas Joise
2026-07-17 22:57:13 +0530
b41625597c
chore: add .dockerignore (completes the tracked Docker setup)
Thomas Joise
2026-07-17 22:56:09 +0530
c9649c795b
chore: commit pending working-tree improvements (env doc + headless-Chromium container flags)
Thomas Joise
2026-07-17 22:55:30 +0530
86af9ecb27
docs(d22): onboarding tracker D-record; test count 377
Thomas Joise
2026-07-17 22:40:56 +0530
c5480cf8cd
feat(d22): P2 — onboarding checklist per project + Projects (Onboarding) board
Thomas Joise
2026-07-17 22:39:34 +0530
3c2e51ae6c
feat(d22): P1 — onboarding milestone tracker (backend) + monotonic uuidv7
Thomas Joise
2026-07-17 22:32:50 +0530
0e85163b68
docs(d23): SMS rate-card D-record; catalogue additions; test count 372
Thomas Joise
2026-07-17 21:34:08 +0530
e91e1741b8
feat(d23): SMS volume-band billing (dated rate card, money locked)
Thomas Joise
2026-07-17 21:29:37 +0530
13d2b5fabb
docs(d21): stamp DELIVERED, D-record, real-data verification, test count 363
Thomas Joise
2026-07-17 20:51:26 +0530
51023f9ec4
feat(d21): P4 — importer seeds module field_spec + writes field_values
Thomas Joise
2026-07-17 20:48:16 +0530
892ae9e96e
feat(d21): P3 — module Fields editor + self-rendering service form
Thomas Joise
2026-07-17 20:45:09 +0530
427ac31c57
feat(d21): P1+P2 — module-defined field schema (backend)
Thomas Joise
2026-07-17 20:35:56 +0530
2d4344e098
docs(d20): stamp DELIVERED with trial-import reconciliation; D20+D21 records
Thomas Joise
2026-07-17 20:13:30 +0530
a25fbf8a66
docs(spec): D21 module-defined field schema (config on the module)
Thomas Joise
2026-07-17 20:10:31 +0530
1328a9e898
feat(d20): importer v2 rework from the 46-agent real-data audit
Thomas Joise
2026-07-17 20:09:27 +0530
ea958ace40
fix(d20): ticket module suggestions read the live catalog, not a constant
Thomas Joise
2026-07-17 19:57:09 +0530
b301272464
feat(d20): P4 — full-APEX importer v2 (9 files, stage/commit, CLI)
Thomas Joise
2026-07-17 19:25:24 +0530
1d598e8a96
feat(d20): P3 — Tickets page, Client 360 tickets/branches, module service cards
Thomas Joise
2026-07-17 19:18:18 +0530
c58f0fdfc5
feat(d20): P2 — ticket/branch/service-data routes, gated + audited
Thomas Joise
2026-07-17 19:05:20 +0530
9fd4062cfe
feat(d20): P1 — ticket desk, client branches, per-service data (schema + repos)
Thomas Joise
2026-07-17 19:03:24 +0530
7d5223908f
docs(spec): D20 APEX parity slice — ticket desk, service data, branches, importer v2
Thomas Joise
2026-07-17 18:58:44 +0530
bb8dfc3b97
docs: D20 — hq.simssoftware.com on the company EC2; runbook gets the decided target + RDS-first sequencing (D19 switch delivered)
Thomas Joise
2026-07-17 18:56:57 +0530
30a1ea1c0a
docs: D19 delivered — spec stamped with deviations, D-record, env docs
Thomas Joise
2026-07-17 18:10:14 +0530
95df5cb5b9
feat(db): D19 P4 — DATABASE_URL engine selection + Postgres integration suite
Thomas Joise
2026-07-17 18:08:42 +0530
5f9f961d20
feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter
Thomas Joise
2026-07-17 18:06:18 +0530
08be48817e
docs(spec): D19 Postgres switch design + pg driver dependency
Thomas Joise
2026-07-17 17:41:59 +0530
83f12685c4
docs: record ideal-web-app pass delivered — 346 tests, Settings hub row, spec stamped
Thomas Joise
2026-07-17 16:00:02 +0530
60698fc08f
fix(iwa): final-review fixes — dialog layering/scrim/scroll-lock, a11y labels+disabled+alerts, settings guards+errors, edit-mode locks, strict offsets, titles
Thomas Joise
2026-07-17 15:57:57 +0530
19fe037bb4
docs: record the review pass — 345 tests, all 8 findings closed
Thomas Joise
2026-07-17 15:53:54 +0530
94018b9ae4
fix(review): close all 8 findings from the D18 slice review
Thomas Joise
2026-07-17 15:46:51 +0530
8064c49465
docs: record the delivered D18 go-live cluster — 344 tests, gaps closed, spec stamped (Phase 10)
Thomas Joise
2026-07-17 14:45:03 +0530
f30532b7d1
feat(import): APEX cutover web UI — stage/verify/commit over the existing importer (Phase 7, D18 WS-B)
Thomas Joise
2026-07-17 14:43:09 +0530
b5d252b7dc
feat(shell): sidebar collapse + My Day dashboard (Phase 5, D18 WS-E)
Thomas Joise
2026-07-17 14:30:34 +0530
30c2e3b60b
feat(clients): support-access data — AnyDesk/OS, district+sector filters, encrypted DB password with audited reveal (Phase 6, D18 WS-F)
Thomas Joise
2026-07-17 14:24:56 +0530
28aa08c9c9
merge: Task 9 polish sweep from isolated worktree (favicon, titles, toasts)
Thomas Joise
2026-07-17 14:16:28 +0530
828f533a69
feat(templates): section-per-module quotation PDF (Phase 9, D18 WS-H)
Thomas Joise
2026-07-17 14:13:08 +0530
747026fa3b
feat(modules): roster full-edit + assign/unassign; one-click Convert & send on the documents register (Phase 8, D18 WS-G)
Thomas Joise
2026-07-17 14:09:41 +0530
a882d108fe
feat(hq-web): favicon, per-route tab titles, success-toast sweep
Thomas Joise
2026-07-17 14:04:55 +0530
3f7f08a908
feat(hq-web): user chip opens a Profile/Logout menu (Phase 4 finish, D18 WS-E)
Thomas Joise
2026-07-17 13:59:44 +0530
08dda8bab3
fix(hq-web): edit dialogs clear blanked optional fields (follow-up, outcome, plan amount)
Thomas Joise
2026-07-17 13:57:45 +0530
d95bf6d467
feat(employees): self-service profile + change-own-password; phone/title fields (Phase 4, D18 WS-E)
Thomas Joise
2026-07-17 13:53:45 +0530
1a8a3faf5d
feat(hq-web): AMC/plan/interaction/employee/module dialogs — edit everywhere, confirmed deactivations
Thomas Joise
2026-07-17 13:45:46 +0530
59c41ee8f7
fix(hq-web): guard client dialog against double-submit and cancel-during-save
Thomas Joise
2026-07-17 13:30:30 +0530
0aca8b42b4
feat(hq-web): client create/edit dialog with contacts repeater — clients finally editable
Thomas Joise
2026-07-17 13:21:23 +0530
e612c5cf81
feat(hq-web): standalone Reminders page (go-live WS-C, phase 3)
Thomas Joise
2026-07-17 13:08:41 +0530
5d81550e34
feat(hq-web): send-email composer dialog + styled confirms — window.prompt/confirm eliminated
Thomas Joise
2026-07-17 13:04:37 +0530
584fb291f8
feat(documents): paginated register with honest total + Documents page (Phase 2, WS-D)
Thomas Joise
2026-07-17 12:52:15 +0530
8861b46afd
feat(settings): configurable default share-link expiry (owner, audited)
Thomas Joise
2026-07-17 12:44:17 +0530
d28bca5cf0
fix(settings): validate whole reminders PUT body before writing any setting
Thomas Joise
2026-07-17 12:38:14 +0530
36fcf795a8
test(documents): assert due-date stamp on the recurring-generation issue path
Thomas Joise
2026-07-17 12:35:21 +0530
bc140fc54c
feat(documents): invoice due dates — terms default + override, honest overdue chase (Phase 1, D18)
Thomas Joise
2026-07-17 12:27:56 +0530
aa05060181
feat(settings): reminder day-settings + append-only dated schedule endpoints (owner, audited)
Thomas Joise
2026-07-17 12:23:38 +0530
4e2b71cf9f
fix(ui): toast auto-dismiss id derived inside the state updater (React 18 batching)
Thomas Joise
2026-07-17 12:16:59 +0530
03402ba0e1
feat(ui): Toaster with pure store (TDD) + FormGrid; provider mounted at root
Thomas Joise
2026-07-17 12:06:34 +0530
0b46c03530
fix(ui): ConfirmDialog error handling + Dialog focus hardening
Thomas Joise
2026-07-17 12:04:24 +0530
2fbb4c6442
feat(ui): Dialog + ConfirmDialog (Pinterest chrome), pill buttons; Modal removed
Thomas Joise
2026-07-17 11:51:08 +0530
66ec742523
docs(spec): go-live cluster gains WS-G editable roster + one-click convert everywhere, WS-H section-per-module quotation PDF (now 10 phases)
Thomas Joise
2026-07-17 11:02:12 +0530
e68b3b3b55
docs(plan): ideal-web-app pass — 10-task implementation plan
Thomas Joise
2026-07-17 11:00:46 +0530
7a9c6f9459
docs(spec): ideal-web-app pass — edit everywhere, dialogs, toasts, settings hub
Thomas Joise
2026-07-17 10:53:57 +0530
02bc75d691
docs(spec): go-live cluster design — due dates, import UI, reminders/documents pages, shell & profile, client support data (8-phase roadmap)
Thomas Joise
2026-07-17 10:53:01 +0530
8cb37f648a
docs: bring all documents current with the delivered redesign (D17)
Thomas Joise
2026-07-17 09:59:16 +0530
418555179b
docs: bring every document current — runbook gains D16 go-live knobs, delivery stamps on all executed specs/plans, 14-SPEC delivery note, README doc table
Thomas Joise
2026-07-17 09:58:24 +0530
7862452989
docs: record funnel phases 7-10 delivered — 293 tests, gaps list updated (D16 final)
Thomas Joise
2026-07-17 04:15:14 +0530
953cf1dff8
feat(modules): module→client roster, notify-all, CSV export (Phase 10, spec §10)
Thomas Joise
2026-07-17 04:13:54 +0530
4a1747958e
feat(reminders): invoice dN milestone escalation from the dated schedule (Phase 9, spec §8)
Thomas Joise
2026-07-17 04:06:29 +0530
e9357bd8e6
fix(redesign): final-review fixes — palette races+a11y, avatar dark contrast, micro-label floor, drawer focus, pulse legend/labels/targets, warn contrast
Thomas Joise
2026-07-17 04:05:05 +0530
fffcc2a05d
feat(documents): one-click convert-and-send + proforma supersede (Phases 7-8, spec §8)
Thomas Joise
2026-07-17 04:02:26 +0530
1db0a8c6b7
docs(spec): record as-built deviations from final review adjudication
Thomas Joise
2026-07-17 03:59:26 +0530