-
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