Commit graph

97 commits

Author SHA1 Message Date
Andras Bacsai
546256b22c Fix: Allow test emails to be sent to any email address
Test emails should work with any recipient email address for verification purposes, not just team members. Added an isTestNotification flag to both Test notification classes and modified EmailChannel to skip team membership validation for test notifications.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-12 11:12:19 +01:00
Andras Bacsai
0d14bc1df7 feat(EmailChannel): enhance error handling with user-friendly messages for Resend API errors 2025-11-11 13:23:45 +01:00
Andras Bacsai
556d93ecb8 refactor: remove SendsWebhook interface
Simplified webhook channel implementation to match TelegramChannel pattern without typed interface.

Changes:
- Removed SendsWebhook interface file
- Removed interface from Team model
- Removed routeNotificationForWebhook() method
- WebhookChannel now uses untyped $notifiable like TelegramChannel

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 18:08:37 +02:00
Andras Bacsai
dc15bee980 feat: implement actual webhook delivery with Ray debugging
Added actual HTTP POST delivery for webhook notifications and comprehensive Ray debugging for development.

Changes:
- Updated Team model to implement SendsWebhook interface
- Added routeNotificationForWebhook() method to Team
- Enhanced SendWebhookJob with Ray logging for request/response
- Added Ray debugging to WebhookChannel for dispatch tracking
- Added Ray debugging to Webhook Livewire component

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 18:07:04 +02:00
Andras Bacsai
413dee5d8c feat: implement actual webhook delivery
Implement full webhook delivery functionality:
- Create SendWebhookJob to handle HTTP POST requests
- Update WebhookChannel to dispatch webhook jobs
- Configure retry logic (5 attempts, 10s backoff)
- Update Test notification payload with success/message structure

Webhook payload structure:
{
  "success": true/false,
  "message": "notification message",
  "event": "event_type",
  "url": "coolify_dashboard_url"
}

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 17:59:17 +02:00
Andras Bacsai
729c891542 feat: add WebhookChannel placeholder implementation
Add basic WebhookChannel infrastructure:
- Create SendsWebhook interface
- Create WebhookChannel with placeholder implementation (logs instead of sending)
- Update Test notification to support webhook channel
- Add WebhookChannel to HasNotificationSettings trait
- Add toWebhook() method to Test notification

This provides a working foundation that won't break test notifications.
The actual HTTP webhook delivery will be implemented in a follow-up.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-10 17:57:10 +02:00
Andras Bacsai
a243b99df4 feat(exceptions): introduce NonReportableException to handle known errors and update Handler for selective reporting 2025-09-08 09:18:25 +02:00
Andras Bacsai
ee502b9f76 feat(email): implement email change request and verification process
- Added functionality for users to request an email change, including generating a verification code and setting an expiration time.
- Implemented methods in the User model to handle email change requests, code validation, and confirmation.
- Created a new job to update the user's email in Stripe after confirmation.
- Introduced rate limiting for email change requests and verification attempts to prevent abuse.
- Added a new notification for email change verification.
- Updated the profile component to manage email change requests and verification UI.
2025-08-18 14:54:08 +02:00
Andras Bacsai
7925e2e42a fix(email notifications): enhance EmailChannel to validate team membership for recipients and handle errors gracefully 2025-08-17 17:59:22 +02:00
Andras Bacsai
6ea6d2742b feat(server): implement server patch check notifications
- Added a new job, ServerPatchCheckJob, to handle server patch checks and notifications.
- Introduced a new notification class, ServerPatchCheck, for sending updates via email, Discord, Slack, Pushover, and Telegram.
- Updated notification settings models to include server patch notification options for email, Discord, Slack, Pushover, and Telegram.
- Created a migration to add server patch notification fields to the respective settings tables.
- Enhanced the UI to allow users to enable/disable server patch notifications across different channels.
2025-05-26 14:03:59 +02:00
peaklabs-dev
d15f1b9b94
fix(email): Emails are not sent in multiple cases
- fix(email): transactional emails are all not sent if `Use system wide (transactional) email settings` is disabled and no other email provide is setup on the Notifications page
- fix(email): no emails are sent if SMTP username and SMTP password are empty (which is the case in dev for example)
- fix(email): Wrong test email notification is used, causing the transactional email test notification to fail if no email provider is set up on the Notifications page.
2025-04-02 16:28:14 +02:00
Andras Bacsai
d110c93ba9 refactor(email): enhance sender information formatting in email logic 2025-03-28 20:44:28 +01:00
Andras Bacsai
ebb81aff68 refactor(email): allow custom email recipients in email sending logic 2025-03-28 19:09:36 +01:00
Andras Bacsai
6d9887afba refactor(email): remove unnecessary whitespace in email sending logic 2025-03-28 18:46:46 +01:00
Andras Bacsai
2b046c4bc4 refactor(email): streamline email sending logic and improve configuration handling 2025-03-28 18:44:10 +01:00
Andras Bacsai
09636b413e refactor(email): validate team membership for email recipients 2025-03-28 14:55:13 +01:00
Andras Bacsai
e891318396 refactor(configuration): centralize configuration management in ConfigurationRepository 2025-03-24 21:01:27 +01:00
Andras Bacsai
e7f32a1c44 refactor(notifications): standardize getRecipients method signatures 2025-03-24 17:55:10 +01:00
Andras Bacsai
26f4d37346 feat(notifications): add discord ping functionality and settings 2025-03-21 12:16:33 +01:00
Andras Bacsai
798aab6955 refactor(ScheduledTask): clean up code formatting and remove unused import 2025-03-14 16:11:41 +01:00
Andras Bacsai
dea125f679 refactor(notifications): Improve transactional email settings handling
- Replace `! $type` checks with `blank($type)` for consistency
- Modify email settings configuration to handle null/disabled states
- Ensure proper fallback and configuration of email providers
2025-02-27 12:56:37 +01:00
peaklabs-dev
a230a42599
fix(email): transactional email sending 2025-01-21 14:53:44 +01:00
Andras Bacsai
1fe4dd722b Revert "rector: arrrrr"
This reverts commit 16c0cd10d8.
2025-01-07 15:31:43 +01:00
Andras Bacsai
16c0cd10d8 rector: arrrrr 2025-01-07 14:52:08 +01:00
peaklabs-dev
1f6c6140ba
fix: smtp encryption 2024-12-23 15:28:35 +01:00
peaklabs-dev
f88438edd3
chore: rename topicID to threadId like in the telegram API response 2024-12-11 23:13:13 +01:00
peaklabs-dev
92fec9582c
fix: make pushover settings more clear
- Rename User to User Key
- Rename Token to API Token
- fix: helper and docs links
2024-12-11 19:18:39 +01:00
peaklabs-dev
ebfc8a1094
fix: telegram topic IDs 2024-12-11 19:16:54 +01:00
Zao Soula
ef35429533 feat(notification): add Pushover 2024-12-11 18:13:16 +01:00
🏔️ Peak
fdf757c7ae
Merge branch 'next' into separate-success-and-failure-notifications 2024-12-09 18:15:41 +01:00
peaklabs-dev
07a0863401
chore: remove log 2024-12-09 17:37:47 +01:00
peaklabs-dev
4d23835119
feat: use new place for settings and topic IDs for telegram 2024-12-09 17:37:39 +01:00
peaklabs-dev
adaef2d341
feat: use new table or instance settings for email 2024-12-09 17:37:15 +01:00
peaklabs-dev
dd9d10c717
feat: get Slack Webhook form new table 2024-12-09 17:36:32 +01:00
peaklabs-dev
6cab8b4598
feat: get discord Webhook form new table 2024-12-09 17:36:23 +01:00
peaklabs-dev
4428b95a65
chore: fix typo 2024-12-09 12:36:33 +01:00
Andras Bacsai
78f0ac80c1 Merge branch 'next' into feat/deployment-token 2024-12-09 09:16:59 +01:00
Andras Bacsai
08d992a1c2 fix 2024-12-06 14:33:22 +01:00
Marvin von Rappard
f7eccefda3
Merge branch 'next' into main 2024-12-06 06:29:35 +01:00
Andras Bacsai
80f649b96a finally found the right option 2024-12-05 13:09:06 +01:00
Marvin von Rappard
1aea60f1f0
Merge branch 'next' into main 2024-11-25 09:06:24 +01:00
Vishwanath Martur
1f499c1488 Add no encryption option for SMTP settings
Related to #4311

Add option to configure SMTP settings without encryption.

* Update `app/Livewire/Notifications/Email.php` and `app/Livewire/SettingsEmail.php` to include "No Encryption" option in the `smtpEncryption` field and update validation rules.
* Modify `app/Notifications/Channels/EmailChannel.php` to handle the "No Encryption" option in the `bootConfigs` method.
* Add `set_transanctional_email_settings` function in `app/Livewire/Help.php` to support the "No Encryption" option.
* Update `config/mail.php` to handle the "No Encryption" option in the mail configuration.
2024-11-23 13:04:54 +05:30
Andras Bacsai
7dc65dfd79 fix: make sure important jobs/actions are running on high prio queue 2024-11-22 11:16:01 +01:00
Marvin von Rappard
eb0686fe20 feat: slack notifications 2024-11-12 22:37:55 +01:00
Andras Bacsai
ebaf3c99dd fix: send discord/telegram notifications on high job queue 2024-11-05 10:32:10 +01:00
Lucas Michot
c5403b0b3f Always prefer ::class notation 2024-10-28 14:56:13 +01:00
Lucas Michot
d557a22b91 Remove all ray() calls 2024-10-28 13:51:23 +01:00
Jakubko
e0241505f9
Merge branch 'coollabsio:main' into main 2024-10-01 22:08:32 +02:00
Andras Bacsai
83549965ca Refactor instanceSettings() function for improved code readability 2024-10-01 10:37:40 +02:00
Jakub Novák
a2bca3d5b8 added embedded Discord messages logic 2024-09-30 00:43:35 +02:00