Commit graph

258 commits

Author SHA1 Message Date
Darren Clarke
4f7a12547e Continue Proofmode integration 2026-02-15 19:34:12 +01:00
Darren Clarke
c40d7d056e Make APIs more similar 2026-02-15 10:29:52 +01:00
Darren Clarke
9f0e1f8b61 Switch to Hono 2026-02-15 08:29:10 +01:00
Darren Clarke
9601e179bc Delta chat WIP 2026-02-14 21:37:50 +01:00
Darren Clarke
1c7755f455 Update docker versions 2026-02-11 15:36:15 +01:00
Darren Clarke
e941353b64 Repo cleanup 2026-02-10 08:36:04 +01:00
Darren Clarke
d93797172a Add preference for signal notifications to bot setup screen 2026-01-28 14:46:34 +01:00
Darren Clarke
38efae02d4 Merge feature/split-signal-improvements into combined branch
Combines Signal split/merge improvements with keycloak auth,
baileys-7 updates, and signal notifications support.

Resolved conflicts:
- Kept LID user ID support in bridge-whatsapp
- Kept bridge-dev.yml docker compose addition
- Used 3.5.0-beta.1 version from split-signal-improvements
2026-01-28 09:01:51 +01:00
Darren Clarke
72b52463a2 Bump version to 3.4.0-beta.7 2026-01-21 10:10:55 +01:00
Darren Clarke
eea56dd50b Reduce Signal message polling frequency from 15s to 30s 2026-01-21 10:08:59 +01:00
Darren Clarke
e8f2cc4c50 Add Keycloak as a Link login option 2026-01-21 09:58:05 +01:00
Darren Clarke
ac42d7df78 Use _uid instead of _id to please Rails 2026-01-19 16:51:51 +01:00
Darren Clarke
87bb05fdd5 Bump version to 3.4.0-beta.5 2026-01-15 16:51:20 +01:00
Darren Clarke
3d8f794cab Add user ID support for Baileys 7 LIDs and Signal UUIDs
Baileys 7 uses LIDs (Linked IDs) instead of phone numbers in remoteJid for
some messages. This caused messages to be matched to wrong tickets because
the LID was used as the sender identifier. This commit adds proper support
for both phone numbers and user IDs across WhatsApp and Signal channels.

Changes:

Database:
- Add migration for whatsapp_user_id and signal_user_id fields on users table

Zammad controllers:
- Update user lookup with 3-step fallback: phone → dedicated user_id field →
  user_id in phone field (legacy)
- Store user IDs in dedicated fields when available
- Update phone field when we receive actual phone number for legacy records
- Fix redundant condition in Signal controller

Bridge services:
- Extract both phone (from senderPn/participantPn) and LID (from remoteJid)
- Send both identifiers to Zammad via webhooks
- Use camelCase (userId) in bridge-whatsapp, convert to snake_case (user_id)
  in bridge-worker for Zammad compatibility

Baileys 7 compliance:
- Remove broken loadAllUnreadMessages() call (removed in Baileys 7)
- Return descriptive error directing users to use webhooks instead

Misc:
- Add docs/ to .gitignore
2026-01-15 13:08:56 +01:00
Darren Clarke
2db6bc5047 Fix: Use senderPn for phone number instead of LID from remoteJid
Baileys 7 uses LIDs (Linked IDs) in remoteJid for some messages instead of
phone numbers. This caused messages to be matched to wrong tickets because
the LID was used as the sender identifier instead of the actual phone number.

Now we:
- Extract senderPn/participantPn from message key (Baileys 7 fields)
- Prefer these phone number fields over remoteJid
- Skip messages if we can't determine the phone number (LID with no phone)
2026-01-15 10:01:15 +01:00
Darren Clarke
57d7173485 Bump version to 3.4.0-beta.4 2026-01-14 11:33:11 +01:00
Darren Clarke
57f3ccbaeb Fetch message history at startup 2026-01-14 11:00:41 +01:00
Darren Clarke
e202eeb9d2 Remove deprecated property 2026-01-14 11:00:41 +01:00
Darren Clarke
e952973f7f Update Baileys to 7RC 2026-01-14 11:00:41 +01:00
Darren Clarke
3b91c98d5e Bump version to 3.5.0-beta.1 2026-01-12 10:44:49 +01:00
Darren Clarke
a882c9ecff Split ticket and group name fixes 2025-12-19 15:27:27 +01:00
Darren Clarke
78d2ff66b2 Pin baileys to exact version 6.7.21 2025-12-19 11:37:15 +01:00
Darren Clarke
41b825c1c7 Update deps 2025-12-17 15:35:28 +01:00
Darren Clarke
b59f588efd Update version 2025-12-06 08:00:15 +01:00
Darren Clarke
b3cf97d102 Update dependencies 2025-12-06 07:57:54 +01:00
Darren Clarke
31eb1d92b4 Fix for sending to WhatsApp user IDs 2025-12-04 13:40:04 +01:00
Darren Clarke
ed807ee645 Update version to 3.3.2 2025-11-22 10:57:18 +01:00
Darren Clarke
3caf1a5ec1 Update version 2025-11-21 17:33:12 +01:00
Darren Clarke
d0cc5a21de WhatsApp/Signal/Formstack/admin updates 2025-11-21 14:55:28 +01:00
Darren Clarke
bcecf61a46 Update deps 2025-03-24 12:13:31 +01:00
Darren Clarke
9283227074 Update proxying, swap /zammad and /link 2025-02-06 13:03:31 +01:00
Darren Clarke
0b7417a788 Add Azure auth 2025-01-20 13:26:50 +01:00
Darren Clarke
2489a6f891 Bug fixes #2 2024-10-18 10:12:40 +02:00
Darren Clarke
f977ccf9a8 Bug fixes #1 2024-10-18 10:12:27 +02:00
Darren Clarke
e27c381405 Restore missing CSRF header 2024-10-09 12:21:06 +02:00
Darren Clarke
8736b576a7 Only allow single NextAuth provider, Login middleware updates 2024-09-27 14:52:44 +02:00
Darren Clarke
f86ce1e835 Cleanup dependencies 2024-09-27 13:11:31 +02:00
Darren Clarke
d286207b9f Remove version from all Compose files, remove charts 2024-09-27 11:54:16 +02:00
Darren Clarke
73b9d9694e Fix image name typo 2024-09-27 11:32:22 +02:00
Darren Clarke
a707c842be Update deps and Docker images 2024-09-27 11:22:45 +02:00
Darren Clarke
b21efc2d50 Add browser fingerprint to auth check 2024-09-25 10:04:43 +02:00
Darren Clarke
27300b2530 Signal and middleware updates 2024-09-05 16:19:58 +02:00
Darren Clarke
31faf22fd5 Signal attachment updates 2024-09-05 10:03:55 +02:00
Darren Clarke
8c6e954fdf Clean up middleware, add security-headers to non-Zammad pages 2024-09-04 12:09:28 +02:00
Darren Clarke
027aac3a92 Update deps 2024-09-04 07:52:30 +02:00
Darren Clarke
e82cb0e10d Hardcode rewrite destinations 2024-08-28 10:42:50 +02:00
Darren Clarke
d67f294925 Update version and build env var 2024-08-28 10:28:59 +02:00
Darren Clarke
59a0cef2ca Fix Docker env 2024-08-28 10:18:28 +02:00
Darren Clarke
781f8c380a Rewrite Zammad API calls in config rather than middleware 2024-08-28 10:06:43 +02:00
Darren Clarke
f0e8e20c24 CSRF refresh fixes 2024-08-14 13:03:50 +02:00