Commit graph

176 commits

Author SHA1 Message Date
Claude
33375c9221
Add media verification addon with C2PA/ProofMode support
Introduces a new zammad-addon-media-verify package that uses the proofmode
Ruby gem (built from proofmode-rust) to verify media attachments on tickets
for C2PA content credentials and ProofMode cryptographic proofs.

The addon runs as a Zammad scheduled job that:
- Scans incoming ticket articles for media attachments (images, video, audio, PDFs, ZIPs)
- Calls proofmode check_files() to verify C2PA manifests, PGP signatures,
  OpenTimestamps, and EXIF metadata
- Posts a human-readable verification report as an internal note on the ticket
- Tracks checked articles via preferences to avoid duplicate processing

Also restores the zammad-addon-common package (previously removed in repo cleanup)
to share build tooling (ZPM builder and migration generator) between addon packages,
keeping things DRY. The link addon now imports from common instead of inlining these.

Docker integration:
- Dockerfile updated to install proofmode gem from docker/zammad/gems/
- setup.rb updated to handle MediaVerify package lifecycle

https://claude.ai/code/session_01GJYbRCFFJCJDAEcEVbD36N
2026-02-15 13:56:57 +00:00
Darren Clarke
c40d7d056e Make APIs more similar 2026-02-15 10:29:52 +01:00
Darren Clarke
9601e179bc Delta chat WIP 2026-02-14 21:37:50 +01:00
Darren Clarke
40c14ece94 Latest zammad compatibility 2026-02-13 21:04:36 +01:00
Darren Clarke
1b5f85627c Add support for signal usernames 2026-02-13 11:14:04 +01:00
Darren Clarke
e9afa065b5 Fix missing signal notifications field 2026-02-12 20:52:47 +01:00
Darren Clarke
bf46bb5beb Port more changes from updated branch 2026-02-12 12:01:56 +01:00
Darren Clarke
6ed633f84b Repo cleanup 2 2026-02-10 15:58:26 +01:00
Darren Clarke
e941353b64 Repo cleanup 2026-02-10 08:36:04 +01:00
Darren Clarke
59872f579a Signal notification fixes and UI updates 2026-02-09 22:18:35 +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
b9324cf11c WIP: Add Signal notification support for Zammad agents 2026-01-28 08:58:29 +01:00
Darren Clarke
72b52463a2 Bump version to 3.4.0-beta.7 2026-01-21 10:10:55 +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
57d7173485 Bump version to 3.4.0-beta.4 2026-01-14 11:33:11 +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
69394c813d Prevent overwriting a Signal group in Zammad if one already exists 2025-12-19 12:52:47 +01:00
Darren Clarke
0b2ea19ebc Add Signal group ticket split compatibility 2025-12-19 12:38:49 +01:00
Darren Clarke
f059e75acd Add warning for unsent Signal groups messages. 2025-12-19 11:37:20 +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
82985e0b9a Remove attachment-related initializer 2025-11-21 17:29:21 +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
f86ce1e835 Cleanup dependencies 2024-09-27 13:11:31 +02:00
Darren Clarke
a707c842be Update deps and Docker images 2024-09-27 11:22:45 +02:00
Darren Clarke
31faf22fd5 Signal attachment updates 2024-09-05 10:03:55 +02:00
Darren Clarke
027aac3a92 Update deps 2024-09-04 07:52:30 +02:00
Darren Clarke
d67f294925 Update version and build env var 2024-08-28 10:28:59 +02:00
Darren Clarke
f0e8e20c24 CSRF refresh fixes 2024-08-14 13:03:50 +02:00
Darren Clarke
a8dc0b3647 Update versions 2024-08-14 11:13:58 +02:00
Darren Clarke
a4053e6412 Zammad send fixes, update deps 2024-08-14 10:51:12 +02:00
Darren Clarke
c47223f5e9 Move migrations to separate app 2024-08-07 16:05:26 +02:00
Darren Clarke
87724bb7b8 Ticket edit updates 2024-08-07 15:25:53 +02:00
Darren Clarke
2568547384 Dependency cleanup 2024-08-07 12:02:33 +02:00
Darren Clarke
2d892779bf Update deps, ticket edit updates 2024-08-06 08:36:03 +02:00
Darren Clarke
aa453954ed Use server actions instead of client-side API calls 2024-08-05 23:31:15 +02:00
Darren Clarke
441a2aebbc Update send params: phoneNumber -> to 2024-07-31 09:43:59 +02:00
Darren Clarke
5e2475848e Signal send/receive fixes 2024-07-31 08:56:28 +02:00
Darren Clarke
c32c26088f Standardize bridge send/receive params 2024-07-18 11:08:01 +02:00
Darren Clarke
69abe9bee1 Fix leafcutter tags class name 2024-07-03 17:45:47 +02:00