Commit graph

43 commits

Author SHA1 Message Date
Andras Bacsai
95091e918f fix: optimize queries and caching for projects and environments 2026-01-16 11:51:26 +01:00
Andras Bacsai
e709e2c131 Add toggleable wire:navigate SPA navigation with prefetching
Implement instance-wide SPA navigation toggle that enables smooth page transitions with prefetching on hover. Excludes terminal links which require full page lifecycle for WebSocket connections. Adds defensive checks to global-search component for SPA navigation compatibility.

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

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-17 12:09:13 +01:00
Andras Bacsai
318cd18dde fix: remove PullHelperImageJob and mass server scheduling
Stop dispatching PullHelperImageJob to thousands of servers when the helper image version changes. Instead, rely on Docker's automatic image pulling during actual deployments and backups. Inline the helper image pull in UpdateCoolify for the single use case.

This eliminates queue flooding on cloud instances while maintaining all functionality through Docker's built-in image management.
2025-11-14 11:31:08 +01:00
Andras Bacsai
3c799df887 fix: use wasChanged() instead of isDirty() in updated hook
Critical Bug Fix:
- isDirty() always returns false in the updated() hook
- Changes are already persisted when updated() runs
- wasChanged() correctly tracks what was modified during save

Affected Code:
- helper_version check: Now properly triggers PullHelperImageJob
- fqdn check: Now properly clears TrustHosts cache

Impact:
 Cache invalidation now works when FQDN changes
 Helper image updates now trigger correctly
 Security fix cache is properly cleared on config changes

This also fixes an existing bug where helper_version updates
never triggered the PullHelperImageJob dispatch.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 22:20:52 +02:00
Andras Bacsai
922884e6d3 feat: implement TrustHosts middleware to handle FQDN and IP address trust logic
This commit fixes a critical Host Header Injection vulnerability in the password reset flow that could lead to account takeover.

Security Issue:
- Attackers could inject malicious host headers (e.g., legitimate.domain.evil.com)
- Password reset emails would contain links to attacker-controlled domains
- Attackers could capture reset tokens and takeover accounts

Changes:
- Enable TrustHosts middleware in app/Http/Kernel.php
- Update TrustHosts to trust configured FQDN from InstanceSettings
- Add intelligent caching (5-min TTL) to avoid DB query on every request
- Automatic cache invalidation when FQDN is updated
- Support for domains, IP addresses (IPv4/IPv6), and ports
- Graceful fallback during installation when DB doesn't exist

Test Coverage:
- Domain validation (with/without ports)
- IP address validation (IPv4, IPv6)
- Malicious host rejection
- Cache creation and invalidation
- Installation edge cases

Performance:
- 99.9% reduction in DB queries (1 query per 5 minutes vs every request)
- Zero performance impact on production workloads

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 22:00:21 +02:00
Andras Bacsai
e7f32a1c44 refactor(notifications): standardize getRecipients method signatures 2025-03-24 17:55:10 +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
d3ce6d814c
feat: use encryption in instance settings model 2024-12-10 13:45:52 +01:00
peaklabs-dev
e36ccd3d78
chore: remove resale license reference 2024-12-09 14:29:41 +01:00
peaklabs-dev
4428b95a65
chore: fix typo 2024-12-09 12:36:33 +01:00
Lucas Michot
8e1444eaa7 Get rid of many useless blank lines 2024-10-31 17:44:01 +01:00
Andras Bacsai
f0d5639956 fancier notifications 2024-10-21 22:40:43 +02:00
Andras Bacsai
2809083f61 Refactor Redis password handling and migration to use environment variables 2024-10-21 13:43:34 +02:00
Andras Bacsai
e8c7d7f972 fix: pull helper image on helper_version change 2024-10-21 12:06:13 +02:00
Andras Bacsai
1f193d465d sentinel updates 2024-10-14 12:07:37 +02:00
Andras Bacsai
4db50bd025 chore: Refactor instanceSettings() function to improve code readability 2024-10-01 10:33:56 +02:00
Andras Bacsai
a660117015 use latest helper in dev 2024-09-30 11:14:53 +02:00
Andras Bacsai
68169f75d1 refactor: Remove unused server timezone seeder and related code 2024-08-26 15:26:08 +02:00
ayntk-ai
38976dac12
fixes and check for valid cron expressions 2024-08-05 20:05:38 +02:00
Andras Bacsai
da6f2da3d0 feat: lots of api endpoints 2024-07-01 16:26:50 +02:00
Thijmen Stavenuiter
76a0659335 Improved name creation 2024-06-22 10:41:15 +02:00
Thijmen
d86274cc37 Fix styling 2024-06-10 20:43:34 +00:00
Andras Bacsai
d79da996d3 fix 2023-12-11 20:01:54 +01:00
Andras Bacsai
a19a58338c debug on 2023-12-11 19:39:27 +01:00
Andras Bacsai
8a80dbd5d8 fix 2023-12-11 19:36:44 +01:00
Andras Bacsai
ce721c1764 fix 2023-12-11 19:30:37 +01:00
Andras Bacsai
40716550ec fix 2023-12-11 19:16:17 +01:00
Andras Bacsai
423dfc6280 fix 2023-12-11 19:02:06 +01:00
Andras Bacsai
17c8872130 fix: realtime connection?! 2023-12-11 18:06:29 +01:00
Andras Bacsai
d058e04213 Add fqdn attribute to InstanceSettings model 2023-11-28 12:11:03 +01:00
Andras Bacsai
2538890b52 feat: add resend as transactional emails 2023-08-31 13:10:39 +02:00
Andras Bacsai
f2228cec7b testing php storm code cleanup and styling 2023-08-08 11:51:36 +02:00
Andras Bacsai
7e4b1a8f8f refactor 2023-07-28 10:55:26 +02:00
Andras Bacsai
9c393ff6bc fix: migrate db schema for smtp + discord 2023-07-27 21:26:15 +02:00
Andras Bacsai
9f4342bd19 wip 2023-07-14 12:09:56 +02:00
Andras Bacsai
cbefbb7927 wip 2023-07-14 11:27:08 +02:00
Andras Bacsai
9f0ca1cc2e wip 2023-06-20 19:08:43 +02:00
Andras Bacsai
a97d22b81b updates 2023-06-12 12:00:01 +02:00
Andras Bacsai
5d864f5888 test transactional emails 2023-06-06 17:50:13 +02:00
Andras Bacsai
4156ba8908 fix instanceSettings 2023-05-16 17:09:50 +02:00
Andras Bacsai
6135c139da add new public repo 2023-04-25 14:43:35 +02:00
Andras Bacsai
07c952d75b rename instance settings 2023-04-25 09:38:05 +02:00
Renamed from app/Models/CoolifyInstanceSettings.php (Browse further)