Commit Graph

  • 73956fd1e3 feat: route-centric rules, approve popup, emoji picker, 5-column sync table main maaz519 2026-06-25 13:58:02 +05:30
  • e598073dc7 feat: enrich AI stream with replyToMessageId, sourceGroupName, organizationId + tenant/source filters maaz519 2026-06-22 01:07:42 +05:30
  • 5a0f7aa58f fix: route browser→API calls through BFF to avoid CORS maaz519 2026-06-20 21:01:05 +05:30
  • a3798b3059 feat: show tenancy scope (Org → Chapter) in chapter & member portals maaz519 2026-06-20 18:27:23 +05:30
  • 205418fc4e feat: isolate all four portals with route groups + polished design system maaz519 2026-06-20 18:20:06 +05:30
  • d7b5988858 feat: portal redesign — shadcn/ui, React Query, Zod, isolated portals maaz519 2026-06-20 18:01:27 +05:30
  • f8b7afcc38 feat: bot assign UI in super admin bot pool page maaz519 2026-06-20 17:37:08 +05:30
  • 8d720278cb feat: portal selector home page + remove self-serve signup maaz519 2026-06-20 17:28:38 +05:30
  • 6bff55db64 feat: org admin can create chapter (tenant) admins maaz519 2026-06-20 17:21:50 +05:30
  • b26a635283 fix: exclude /org paths from tenant auth guard in sidebar maaz519 2026-06-20 17:17:54 +05:30
  • 484ae7bf9d fix: add OrgAdminProvider to root layout maaz519 2026-06-20 17:15:21 +05:30
  • 8a61908df1 fix: accept role field when creating OrgAdmin maaz519 2026-06-20 17:08:58 +05:30
  • abb6799c3d feat: admin org management API + member login fixes maaz519 2026-06-20 17:03:51 +05:30
  • a1d2c6e6c2 feat: member phone login — POST /public/auth/member-login + /my/login page maaz519 2026-06-20 16:37:19 +05:30
  • e61b0dfebd fix: remove Redis password auth (internal network only, no public port) maaz519 2026-06-20 13:37:30 +05:30
  • c851bd9678 fix: pass full REDIS_URL to streamRedis so password is included maaz519 2026-06-20 13:30:48 +05:30
  • 530f81416a feat: AI dev stream over HTTPS (SSE read + draft writeback) maaz519 2026-06-20 13:06:17 +05:30
  • 7cafbc8ba6 feat: reach Redis over Tailscale instead of public port (OCI firewall workaround) maaz519 2026-06-19 17:58:45 +05:30
  • a0e5629f77 fix: use port 6380 for Redis external binding (6379 already allocated on host) maaz519 2026-06-19 15:49:40 +05:30
  • 4fdd8160fd feat: expose Redis externally with password auth for AI dev stream access maaz519 2026-06-19 14:58:54 +05:30
  • 7fd425959f fix: resolve worker build errors blocking Docker deploy maaz519 2026-06-19 14:06:48 +05:30
  • d21bd6bcb4 feat: add Redis Stream handoff for AI dev + monitor all messages maaz519 2026-06-19 13:56:10 +05:30
  • 6de78fe270 docs: add full architecture reference for onboarding developers maaz519 2026-06-18 20:45:47 +05:30
  • 39ca91f07a feat: auto-detect events, seva tasks, and FAQs from WhatsApp messages maaz519 2026-06-17 17:49:57 +05:30
  • 3e86e0ffc0 feat: member portal Sprint 11 — Memories / Gallery maaz519 2026-06-17 17:10:27 +05:30
  • 5801cbf85b feat: member portal Sprint 10 — Knowledge Base maaz519 2026-06-17 17:06:26 +05:30
  • f61c070428 feat: member portal Sprint 9 — Ask AI (RAG over message archive) maaz519 2026-06-17 17:03:01 +05:30
  • 6d89d8a609 feat: member portal Sprint 8 — Member Directory maaz519 2026-06-17 16:55:30 +05:30
  • 57fe9d9bf1 feat: member portal Sprint 7 — Circles (interest/affinity sub-groups) maaz519 2026-06-17 16:52:04 +05:30
  • cd1eef0098 feat: member portal Sprint 6 — Seva + multi-signal gamification maaz519 2026-06-17 16:44:43 +05:30
  • a0dc94ce79 feat: member portal Sprint 5 — onboarding portal experience + restore Thread schema maaz519 2026-06-17 16:30:58 +05:30
  • 0ffdc362b5 feat: member portal Sprint 4 — Events + RSVP maaz519 2026-06-17 16:20:11 +05:30
  • f7922454ca feat: member portal Sprint 3 — profile edit form and privacy center maaz519 2026-06-17 16:06:20 +05:30
  • bc9fe7c145 feat: member portal Sprint 2 — digest history page and restore Digest/DigestConfig schema models maaz519 2026-06-17 16:04:31 +05:30
  • a685f8b4d5 feat: add spam detection lane (tower.classify.spam) with content-aware filtering maaz519 2026-06-17 16:00:48 +05:30
  • 566690bd04 feat: member portal Sprint 1 — dashboard with MemberShell layout and TowerUser profile fields maaz519 2026-06-17 15:44:58 +05:30
  • 622737fdca feat: add web app pages for org portal, thread viewer, and admin org management maaz519 2026-06-17 15:40:40 +05:30
  • 435b0e7806 feat: add API modules for digest scheduling, org admin portal, and thread views maaz519 2026-06-17 15:40:32 +05:30
  • 47f345c4bf feat: add worker queue fabric — classify, dnc, p1, review, digest, thread-resolve, outbox, AI modules maaz519 2026-06-17 15:40:28 +05:30
  • 6aec093516 feat: add org layer to schema and export OrgAdminJwtPayload, adapter, hash from types maaz519 2026-06-17 15:40:24 +05:30
  • 978f7effc0 feat: add prisma migrations for p1/digest models, hybrid AI, outbox, and org layer maaz519 2026-06-17 15:40:20 +05:30
  • 4f1df96b34 fix: add retry loop for database connection in entrypoint maaz519 2026-06-09 16:50:56 +05:30
  • 1b63f62ca0 fix: add retry loop for database connection in entrypoint maaz519 2026-06-09 16:47:54 +05:30
  • e66f198785 fix: add retry loop for database connection in entrypoint maaz519 2026-06-09 16:41:47 +05:30
  • d6da151d16 fix: add retry loop for database connection in entrypoint maaz519 2026-06-09 16:35:27 +05:30
  • 50026c8a95 fix: add retry loop for database connection in entrypoint maaz519 2026-06-09 16:29:46 +05:30
  • 9761564c22 fix: shrink images + fix prisma generate in runner maaz519 2026-06-09 16:21:55 +05:30
  • 9ac3e29a20 fix: add @prisma/client to root deps for Docker runner maaz519 2026-06-09 16:09:29 +05:30
  • c8943e8d88 fix: use turbo build in worker Dockerfile for dependency resolution maaz519 2026-06-09 15:56:56 +05:30
  • 000a06fa0e fix: add prisma to dependencies for Docker build maaz519 2026-06-09 15:51:32 +05:30
  • f9d5749dba added changes 2 maaz519 2026-06-09 15:45:34 +05:30
  • ff4d0f90e8 added changes maaz519 2026-06-09 15:33:21 +05:30
  • 249d759e6a good forst commit maaz519 2026-06-09 02:02:40 +05:30
  • 801c1d7121 fix: create new accounts with DISCONNECTED status so QR displays immediately maaz519 2026-05-29 11:57:42 +05:30
  • afff6fdbdf feat: add POST /accounts endpoint to create new WhatsApp account records maaz519 2026-05-29 11:50:01 +05:30
  • 2f88e883b2 feat: add AccountsList with Add Account form; proxy POST /accounts maaz519 2026-05-29 11:49:23 +05:30
  • 952a0e9b49 feat: pass JID on connect; extract startAccount() helper; poll 30s for new accounts maaz519 2026-05-29 11:44:54 +05:30
  • e8aaae4188 feat: add Accounts page with QR code display for WhatsApp re-authentication maaz519 2026-05-29 11:40:48 +05:30
  • 759b49159e feat: add Next.js proxy routes for accounts list and QR endpoints maaz519 2026-05-29 11:37:48 +05:30
  • 1dba77959d feat: add AccountsModule with list and QR endpoints maaz519 2026-05-29 11:15:42 +05:30
  • 02dad1347c feat: thread QR/status callbacks through session pool; persist to DB in main maaz519 2026-05-29 11:08:51 +05:30
  • 18edce7552 feat: add onQr/onStatus callbacks to session; auto-restart on loggedOut maaz519 2026-05-29 11:04:39 +05:30
  • 43f4133f1d feat: add qrCode field to Account for QR re-auth maaz519 2026-05-29 10:58:04 +05:30
  • 5d9df64849 fix(api): prevent self-loop routes, map P2003 to 400, forward DELETE error body maaz519 2026-05-28 01:44:48 +05:30
  • 9d1799eab1 fix(api): export GroupSummary interface to fix TS4053 declaration emit error maaz519 2026-05-28 01:41:12 +05:30
  • 1389a65e18 feat(web): add groups page with RouteManager and route handler proxies maaz519 2026-05-28 01:37:13 +05:30
  • 71e2b0681c test(web): assert approvedAt date is rendered in SearchResults maaz519 2026-05-28 01:23:25 +05:30
  • 6ae1130585 feat(web): add search page with full-text message search UI maaz519 2026-05-28 01:19:23 +05:30
  • f7b3ef5a7c feat(web): add sidebar nav layout and dashboard home page maaz519 2026-05-28 01:15:53 +05:30
  • d92476f841 fix(api): use PrismaClientKnownRequestError instanceof, add ConflictException for duplicate routes maaz519 2026-05-28 01:13:05 +05:30
  • 6b4920ce41 feat(api): add RoutesModule with GET/POST/DELETE /routes endpoints maaz519 2026-05-28 01:07:15 +05:30
  • f4a40b573e fix(api): add clearAllMocks and explicit return type to GroupsModule maaz519 2026-05-28 01:00:09 +05:30
  • 0e92b24bf0 feat(api): add GroupsModule with GET /groups endpoint maaz519 2026-05-28 00:55:13 +05:30
  • e73d39b798 fix(api): escape filter values, clamp pagination, remove redundant ConfigModule import maaz519 2026-05-28 00:31:43 +05:30
  • 8ad5f737bd feat(api): add SearchModule with GET /search endpoint backed by Meilisearch maaz519 2026-05-28 00:28:13 +05:30
  • 6f18433c67 fix(worker): throw on invalid approvedAt in index processor maaz519 2026-05-28 00:19:14 +05:30
  • 1e421c0073 feat(worker): add index queue and wire Meilisearch indexing after approval maaz519 2026-05-28 00:02:47 +05:30
  • 7d905b166e test(worker): assert indexDoc in sync-routes approval test maaz519 2026-05-27 23:58:44 +05:30
  • 6f71e5aee9 feat(worker): handleStarReaction returns ApprovalResult with indexDoc maaz519 2026-05-27 23:56:14 +05:30
  • 1d6e1fb4da fix(search): tighten mock type cast for better type safety maaz519 2026-05-27 23:53:32 +05:30
  • dfa289d6b8 feat(search): add @tower/search package with Meilisearch client and helpers maaz519 2026-05-27 23:51:12 +05:30
  • 480f748692 feat(types): add IndexJobData for Meilisearch indexing maaz519 2026-05-27 23:45:42 +05:30
  • d33b4e40b8 fix: use type-only Baileys import and raw status code to fix Jest ESM issue maaz519 2026-05-27 17:40:24 +05:30
  • 06449acd96 fix: pass loggedOut reason in closeAll to prevent reconnect timers after shutdown maaz519 2026-05-27 17:38:37 +05:30
  • 41aabc4c0d fix: address code quality issues in session pool, approval, and main maaz519 2026-05-27 17:35:52 +05:30
  • 9e3ee0cd38 feat(worker): wire multi-account pool, reactions → approval → forward pipeline maaz519 2026-05-27 17:28:08 +05:30
  • 5ad33fd416 feat(worker): forward queue + processor with 20/min rate limiter maaz519 2026-05-27 17:23:08 +05:30
  • 57a06bc517 fix(worker): atomic approval via transaction, guard null targetGroup maaz519 2026-05-27 17:21:17 +05:30
  • a07f393373 feat(worker): handleStarReaction approval core with tests maaz519 2026-05-27 17:17:02 +05:30
  • 9cdc41e23e fix(worker): improve sendMessage error, add session-pool unit tests maaz519 2026-05-27 17:14:56 +05:30
  • 0f30af6018 feat(worker): WhatsAppSessionPool + group-sync accepts accountId maaz519 2026-05-27 17:11:19 +05:30
  • cbb32ed425 fix(schema): revert datasource URL, add Group.accountId index maaz519 2026-05-27 17:09:48 +05:30
  • a7aa8bf5a9 feat(schema): Account model with AccountStatus enum, optional Group.accountId maaz519 2026-05-27 17:07:39 +05:30
  • 705bd177e8 fix(worker): reactorJid null guard, document reaction removal, restore comments maaz519 2026-05-27 17:03:47 +05:30
  • f255ef91fb feat(worker): seal WhatsApp adapter — normalize inside session, reactions handled internally maaz519 2026-05-27 16:58:22 +05:30
  • 661bbfe003 feat(types): NormalizedMessage, NormalizedReaction, ForwardJobData; accountId on IngestJobData maaz519 2026-05-27 16:53:30 +05:30
  • c7cec29c83 fix: rename queue from tower:ingest to tower-ingest (BullMQ v5 forbids colons) maaz519 2026-05-27 16:23:55 +05:30
  • b32f901005 fix: load .env in worker dev script via dotenv/config maaz519 2026-05-27 16:23:02 +05:30
  • 31f047492a fix: harden session error handling, normalizer null guard, extract redis-connection maaz519 2026-05-27 16:18:56 +05:30
  • 213e496c3a feat: wire worker bootstrap — session → normalizer → queue pipeline maaz519 2026-05-27 15:39:19 +05:30