Commit Graph

  • 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