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