This website works better with JavaScript.
7e139d91b8
docs(deploy): record go-live (D39) and correct the deploy references
main
Thomas Joise
2026-07-21 01:39:12 +0530
8456e45206
fix(deploy): drop package-lock.json before container npm install
Thomas Joise
2026-07-21 01:16:05 +0530
12e95e7be4
docs: record known issues, blocked work and unverified areas; untrack agent scratch
Thomas Joise
2026-07-21 01:03:16 +0530
551c9e3d30
merge: readable linked payment/document chip + SMS alert loading/error state
Thomas Joise
2026-07-21 00:57:01 +0530
a267cd07e6
merge: readable linked payment/document chip + SMS alert loading/error state
Thomas Joise
2026-07-21 00:56:30 +0530
23b0b64de2
merge: script DATABASE_URL docs + SQLite opt-in, always-stamp install/train dates, keep links on re-tick, backup resolves prod DB
Thomas Joise
2026-07-21 00:54:39 +0530
0adce5844b
fix(backup): resolve the production database the way the server does
Thomas Joise
2026-07-21 00:45:11 +0530
4c1514c315
fix(milestones): stamp installed_on/trained_on on every tick, keep links on a re-tick
Thomas Joise
2026-07-21 00:44:56 +0530
77f135f0e2
fix(scripts): document the DATABASE_URL-prefixed invocation, make SQLite an explicit opt-in
Thomas Joise
2026-07-21 00:44:41 +0530
367fc0324e
fix(dashboard): never report "all good" when the fetch failed
Thomas Joise
2026-07-21 00:33:50 +0530
b32f7c32c8
fix(client-detail): make the linked payment/document reference legible
Thomas Joise
2026-07-21 00:33:38 +0530
1717900e02
merge: restore sticky table headers (bounded 70vh wrapper), dashboard loading state, ticket-type over-fetch
Thomas Joise
2026-07-21 00:25:19 +0530
aa541270d6
fix(onboarding): APEX-imported projects were invisible on the stalled tile
Thomas Joise
2026-07-21 00:22:53 +0530
4de152a7f4
fix(ui): restore sticky table headers, dashboard loading flash, ticket-type over-fetch
Thomas Joise
2026-07-21 00:20:00 +0530
591d0e9b59
fix(onboarding-migration): idempotency check must ignore ad-hoc custom_* rows
Thomas Joise
2026-07-21 00:16:01 +0530
ee0367dfb5
fix(db-pg): make requireDbUrlForEnv guard outcome-based, not NODE_ENV-gated
Thomas Joise
2026-07-21 00:14:20 +0530
6f50799d3c
test(db-resolve): remove duplicated production password from test file
Thomas Joise
2026-07-21 00:10:22 +0530
b1e1420b4c
docs: refresh test count (528)
Thomas Joise
2026-07-20 23:12:30 +0530
a0225b2ba3
merge: frontend audit fixes + UI completion (status-line links, tickets guards, dashboard error state)
Thomas Joise
2026-07-20 23:10:36 +0530
f66bab122b
fix(scripts): harden apply-ltd-numbers/apply-name-fixes/import-employees DB resolution
Thomas Joise
2026-07-20 23:10:17 +0530
0c3f6c2e3a
fix(client-360): audit fixes for onboarding status line, tickets, dashboard
Thomas Joise
2026-07-20 23:08:02 +0530
9457b0f145
fix(milestones): fresh projects false-flagged as stalled, fallback modules stuck at quoted, bulk ops skipped status/link logic (FIX D, E, F)
Thomas Joise
2026-07-20 23:02:59 +0530
e8baa1111e
fix(onboarding-migration): deterministic survivor when two old ticks collapse onto one key (FIX C)
Thomas Joise
2026-07-20 23:02:35 +0530
04aef0aa36
fix(api): validate ?days= and guard the onboarding-project routes against a crash (FIX B)
Thomas Joise
2026-07-20 23:02:20 +0530
31335cd4ad
fix(deploy): one shared DB-engine resolver so scripts can't silently target a throwaway SQLite file (FIX A)
Thomas Joise
2026-07-20 23:02:02 +0530
0bcbf8d410
fix(responsive): stop desktop tables and mobile rows from silently clipping content
Thomas Joise
2026-07-20 22:54:07 +0530
b146de990f
fix(scripts): audit + guard apply-onboarding-pipeline's setting writes
Thomas Joise
2026-07-20 21:54:15 +0530
4ee8f17b37
fix(onboarding-migration): preserve ad-hoc custom steps across the template swap
Thomas Joise
2026-07-20 21:53:56 +0530
e8e2a202c1
fix(milestones): reject front/tail key collisions; dedupe on collision; stamp installed/trained dates
Thomas Joise
2026-07-20 21:53:33 +0530
7494f53e2f
fix(client-detail): payment step gate matches shipped key payment_received
Thomas Joise
2026-07-20 21:34:15 +0530
ac16d8c896
merge: frontend — quotation-step dialog, ticket types + deep-links, cleanup
Thomas Joise
2026-07-20 21:19:10 +0530
3ac4e2a47d
merge: backend — quotation-step document link + ticket classification
Thomas Joise
2026-07-20 21:19:09 +0530
7838ced6c2
feat(client-detail): quotation-step document link + ticket classification (backend)
Thomas Joise
2026-07-20 21:10:51 +0530
357735e04d
feat(client-detail): quotation step links a document; tickets get a type
Thomas Joise
2026-07-20 21:08:15 +0530
88a19f154e
chore(client-detail): drop the dead .cdr-out .ofoot CSS rule
Thomas Joise
2026-07-20 21:07:50 +0530
83633c86ee
feat(dashboard): add Onboarding stalled tile
Thomas Joise
2026-07-20 20:52:37 +0530
d6faf0d5bd
merge: Client Detail redesign (D38) — composed onboarding pipeline, status line, payments context, mobile fixes
Thomas Joise
2026-07-20 20:46:25 +0530
4e747427d2
feat(onboarding): owner editor for shared front + per-module tail templates
Thomas Joise
2026-07-20 20:42:54 +0530
45cfb83d03
chore(deploy): apply prod DB URL + onboarding-pipeline deploy script
Thomas Joise
2026-07-20 20:05:35 +0530
371cdb1c69
fix(ui): drop redundant table-scroll CSS, rely on existing app.css mechanism
Thomas Joise
2026-07-20 04:28:29 +0530
db8ec9c546
feat(client-detail): prompt for module credentials on account_creation tick
Thomas Joise
2026-07-20 04:22:21 +0530
0050f73a70
fix(ui): stack record-header actions and scroll wide tables on mobile
Thomas Joise
2026-07-20 04:16:28 +0530
025b334b09
feat(client-detail): drop mandatory assign creds, add per-module status control, trim summary table
Thomas Joise
2026-07-20 04:08:37 +0530
78ed947422
feat(payments): outstanding panel + settled-to-document column
Thomas Joise
2026-07-20 03:59:59 +0530
f1a7eac9dd
feat(onboarding): composed milestone templates (shared front + per-module tail)
Thomas Joise
2026-07-20 03:49:48 +0530
e8f00503a4
feat(client-detail): per-module documents list + bulk SMS purchase action
Thomas Joise
2026-07-20 01:36:53 +0530
e5ed3517dc
feat(client-detail): onboarding as horizontal status line with payment-step linking
Thomas Joise
2026-07-20 00:34:46 +0530
343fa94efd
docs(client-detail): D38 redesign decision + STATUS in-progress note
Thomas Joise
2026-07-20 00:28:23 +0530
8c653eb41a
fix(payments): exclude draft proformas from outstanding (owner decision)
Thomas Joise
2026-07-20 00:22:32 +0530
a9e5aa79d9
docs: bring README/STATUS/CLAUDE/DECISIONS current (D34-D37)
Thomas Joise
2026-07-20 00:13:46 +0530
9d3087c1fe
feat(client-detail): module details as 50/50 report with single edit per group
feat/client-detail-redesign
Thomas Joise
2026-07-20 00:15:39 +0530
d05c7ee31b
docs: bring README/STATUS/CLAUDE/DECISIONS current (D34-D37)
Thomas Joise
2026-07-20 00:13:46 +0530
67f69fc999
style(client-detail): CSS for 50/50 sheet, status line, outstanding panel
Thomas Joise
2026-07-20 00:04:57 +0530
75fb41c366
feat(onboarding): stalled-project query for the dashboard/MIS tile
Thomas Joise
2026-07-19 23:57:07 +0530
195d821bef
feat(sms): bulk SMS purchase proforma + document source tagging (renewal vs top-up)
Thomas Joise
2026-07-19 23:46:04 +0530
fdf31b4dbd
feat(payments): ledger exposes outstanding docs + per-payment allocations
Thomas Joise
2026-07-19 23:34:19 +0530
4b2e44c3ea
test(onboarding-migration): add coverage for dropped ticked milestone keys
Thomas Joise
2026-07-19 23:27:32 +0530
6bce248c2e
feat(onboarding): one-time migration swapping seeded modules to new templates (ticks preserved)
Thomas Joise
2026-07-19 23:18:02 +0530
cd235b622b
feat(onboarding): link advance/balance payment steps to real payments
Thomas Joise
2026-07-19 23:08:13 +0530
b2c49832d5
feat(onboarding): status line auto-drives client_module.status (never downgrades)
Thomas Joise
2026-07-19 22:59:17 +0530
9ac2ce9d50
feat(onboarding): seed SMS/RTGS/MobileApp onboarding templates
Thomas Joise
2026-07-19 22:51:29 +0530
1e77792beb
feat(onboarding): resolve milestone template per module (config over code)
Thomas Joise
2026-07-19 22:43:04 +0530
6bc92bace3
docs(client-detail): redesign spec + backend/frontend implementation plans
Thomas Joise
2026-07-19 22:38:48 +0530
9cb5127faf
feat(d37): society category (Kerala co-op directory taxonomy) on clients
Thomas Joise
2026-07-19 22:28:30 +0530
1c375fdf01
chore(d35): script to append directory-sourced LTD numbers to client names
Thomas Joise
2026-07-19 21:52:52 +0530
809976fd8b
feat(d36): login history (IP + device) + first-login change nudge
Thomas Joise
2026-07-19 21:20:01 +0530
47e17644de
chore(d35): script to apply approved client-name corrections (audited)
Thomas Joise
2026-07-19 21:00:41 +0530
a81034d4ed
feat(d35): client type (PACS / Store), classified by name
Thomas Joise
2026-07-19 20:46:55 +0530
e8e9db33ea
feat(d34): import employee master + invited/pending-login flag
Thomas Joise
2026-07-19 19:48:26 +0530
6e3a79adb8
chore(nav): move Clients up to Overview (after Dashboard)
Thomas Joise
2026-07-19 19:37:15 +0530
da67b8b393
feat(sms): live-only balance list, no full-row red, mandatory creds on assign
Thomas Joise
2026-07-19 19:24:15 +0530
1bf0e4ee45
fix(ui): password field in the service-data Edit form (Client 360 modules)
Thomas Joise
2026-07-19 19:18:14 +0530
7742b583c3
fix(ui): group each client module into its own collapsible coloured section
Thomas Joise
2026-07-19 19:08:02 +0530
6939115f6c
fix(ui): pager alignment, one-line billing kinds, Fields explanation
Thomas Joise
2026-07-19 19:00:40 +0530
7f740a7e2e
feat(ui): split module screen into Clients | Setup tabs + prominent Add-client
Thomas Joise
2026-07-19 18:46:44 +0530
6178e0a6a3
feat(ui): friendly Add-a-field form for module fields
Thomas Joise
2026-07-19 18:41:24 +0530
8485e69ff0
fix(ui): module page as master→detail screen (clear which module you're in)
Thomas Joise
2026-07-19 18:21:31 +0530
56686dd4d6
feat: show + download SMS logins; install details in Module data
Thomas Joise
2026-07-19 18:17:41 +0530
5679a94d3c
feat(ui): click-to-sort on every DataTable (asc/desc/off), index-safe
Thomas Joise
2026-07-19 18:11:21 +0530
f0bba301e9
feat(docs): require a reason when cancelling a document
Thomas Joise
2026-07-19 18:02:38 +0530
d68fc257a2
fix(docs): summary line for legacy imports + tidy Record-payment panel
Thomas Joise
2026-07-19 17:48:18 +0530
11d45e805c
chore: remove all 'Tecnostac' references — everything is SiMS
Thomas Joise
2026-07-19 17:36:46 +0530
b065332f89
fix(ui): explicit Edit button per module row (inline form), separate from client roster
Thomas Joise
2026-07-19 17:32:29 +0530
432587c7a1
fix(ui): Client 360 shows documents + payments newest-first
Thomas Joise
2026-07-19 17:02:48 +0530
074e810415
fix(ui): edit-module details form + keyboard nav in New Document client picker
Thomas Joise
2026-07-19 16:55:36 +0530
b09f545489
docs: bring README/STATUS/CLAUDE current (D20-D33)
Thomas Joise
2026-07-19 14:26:20 +0530
62eb937012
feat(d33): database backup script (pg_dump + rotation)
Thomas Joise
2026-07-19 11:46:03 +0530
583b663aa6
docs(d29,d30): log the cockpit/theming + Home-hub/nav decisions
Thomas Joise
2026-07-19 11:43:52 +0530
79717133b8
feat(d32): remove the key concept entirely + keyless legacy cleanup
Thomas Joise
2026-07-19 03:39:10 +0530
23089a9b1f
feat(d30): clients-per-module count on Modules page + comment fix
Thomas Joise
2026-07-19 03:37:55 +0530
3e175b8da1
feat(d31): store credentials in the clear (owner decision) + one-time migration
Thomas Joise
2026-07-19 03:23:29 +0530
8ed56a97d5
feat(d30): Home as landing page + more sidebar counts
Thomas Joise
2026-07-19 03:14:30 +0530
b8e2be628f
feat(d30): trim Home hub to main sections + sidebar count badges
Thomas Joise
2026-07-19 03:02:33 +0530
90864b7067
test(d28): lock module directory + portals (fieldSpec, login-only, no secret leak)
Thomas Joise
2026-07-19 02:56:23 +0530
69c59815f0
feat(d28): Portals quick-list + global search (clients/docs/tickets)
Thomas Joise
2026-07-19 02:42:41 +0530
3f974e9d3d
feat(d28): Module directory — every client on a module x its fields
Thomas Joise
2026-07-19 02:06:04 +0530
343cc6795d
feat(d28): Settings → Operations (SMS gateway URL, low threshold, ticket SLA)
Thomas Joise
2026-07-19 01:50:45 +0530
24f52fad0a
feat: theme palettes + Geist font + dashboard cockpit styles
Thomas Joise
2026-07-19 01:37:17 +0530
fa15027f4d
feat(d28): clickable 'Open ↗' link on module URL fields
Thomas Joise
2026-07-19 01:31:53 +0530
f7e9443a56
harden(d28): SSRF guard + no credential-URL leak on SMS gateway fetch
Thomas Joise
2026-07-19 01:09:12 +0530