You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sims-hq/apps/hq/src
Thomas Joise 69c59815f0 feat(d28): Portals quick-list + global search (clients/docs/tickets)
Two 'easily get to it' access screens:
- Portals (Catalog): every subscription with a stored login/URL across all modules,
  Open ↗ links, 🔑 = password on file (reveal stays on Client 360). listPortals().
- Global search: the Ctrl-K palette now spans clients + issued documents + tickets in
  one /search call (repos-search.globalSearch), each hit routing to its record; per-type
  top-N with an honest 'capped' flag (no silent truncation).
Full suite 410 green; all three endpoints smoke-tested on live data (portals 78,
search capped, RTGS directory 13 fields).

Note: includes pages/Home.tsx (the concurrent dashboard-redesign session's Home hub)
so main.tsx's existing /home route resolves and the tree stays buildable; that session
owns its further iteration.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 days ago
..
api.ts feat(d28): Portals quick-list + global search (clients/docs/tickets) 3 days ago
audit.ts feat(d27): #8 audit-log viewer (owner-only) 3 days ago
auth.ts feat(d25): login by username; email demoted to a plain user field 4 days ago
aws-costs.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
bounces.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
crypto.ts feat(hq): gmail send with token-death handling and email log (HQ-1 task 11) 2 weeks ago
db-pg.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
db.ts feat(d28): SMS gateway live balance sync (BalAlert API) + daily auto + low alert 3 days ago
gmail.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
import-apex-full.ts feat(d21): P4 — importer seeds module field_spec + writes field_values 4 days ago
import-apex.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
migrations-pg.ts feat(d28): SMS gateway live balance sync (BalAlert API) + daily auto + low alert 3 days ago
pdf.ts fix(sec/d24): PDF render hardening — strict CSP + request interception 4 days ago
rate-limit.ts fix(sec/d24): auth hardening — login lockout, rate limits, constant-time, trust proxy 4 days ago
reminder-templates.ts feat(documents): invoice due dates — terms default + override, honest overdue chase (Phase 1, D18) 5 days ago
repos-amc.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-aws.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-branches.ts feat(d20): P1 — ticket desk, client branches, per-service data (schema + repos) 4 days ago
repos-clients.ts feat(d26): functional gaps — GST summary, doc search, bulk ops (backend) 3 days ago
repos-dashboard.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-documents.ts feat(d26): functional gaps — GST summary, doc search, bulk ops (backend) 3 days ago
repos-email.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-employees.ts feat(d25): login by username; email demoted to a plain user field 4 days ago
repos-interactions.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-milestones.ts feat(d26): functional gaps — GST summary, doc search, bulk ops (backend) 3 days ago
repos-mis.ts feat(d28): #6 SMS credit review + low-balance upsell 3 days ago
repos-modules.ts feat(d28): Portals quick-list + global search (clients/docs/tickets) 3 days ago
repos-payments.ts fix(d24): pg allocation row-lock + index ordering; docs (D24 record, 389 tests) 4 days ago
repos-pipeline.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-rate-card.ts feat(d23): SMS volume-band billing (dated rate card, money locked) 4 days ago
repos-recurring.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-reminders.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-renewals.ts feat(d27): #1 renewals command center + one-click module renewal quote (backend) 3 days ago
repos-reports.ts feat(d26): functional gaps — GST summary, doc search, bulk ops (backend) 3 days ago
repos-search.ts feat(d28): Portals quick-list + global search (clients/docs/tickets) 3 days ago
repos-shares.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
repos-sms.ts feat(d28): SMS gateway live balance sync (BalAlert API) + daily auto + low alert 3 days ago
repos-tickets.ts feat(d28): #3 ticket desk — SLA aging + overdue filter + bill-from-ticket 3 days ago
scheduler.ts feat(d28): SMS gateway live balance sync (BalAlert API) + daily auto + low alert 3 days ago
seed.ts feat(deploy): hardcode DB connection + owner email (no .env), update docs 4 days ago
send-reminder.ts feat(db): D19 P1-P3 — async DB interface, dual engines, Postgres adapter 4 days ago
series.ts fix(sec/d24): money-integrity guards — CN cap, atomic doc-no, qty, TDS, markStatus 4 days ago
server.ts feat(deploy): hardcode DB connection + owner email (no .env), update docs 4 days ago
sms-gateway.ts harden(d28): SSRF guard + no credential-URL leak on SMS gateway fetch 3 days ago
templates.ts fix(sec/d24): PDF render hardening — strict CSP + request interception 4 days ago