Commit graph

14665 commits

Author SHA1 Message Date
Andras Bacsai
9f8661fe10
Merge pull request #7051 from ShadowArcanist/patch-12
chore(service): update Beszel to 0.15.2 version
2025-10-30 08:17:39 +01:00
Andras Bacsai
4252ae2a89
Merge pull request #7050 from ShadowArcanist/patch-11
fix(service): activepieces database failing to start (Closes #7027)
2025-10-30 08:17:11 +01:00
Andras Bacsai
2a8fbb3f6e feat: add token validation functionality for Hetzner and DigitalOcean providers 2025-10-29 23:21:38 +01:00
Andras Bacsai
c95e297f39 fix: update boarding flow logic to complete onboarding when server is created 2025-10-29 23:06:39 +01:00
ShadowArcanist
94006ea0e0
Updated Beszel one click service to 0.15.2 version
Updated Beszel and Beszel-Agent images to version 0.15.2.
2025-10-30 03:08:19 +05:30
ShadowArcanist
32cd8df4e4
Fixed activepieces one click service failing to start
Updated Docker images for activepieces, postgres, and redis to specific versions.
2025-10-30 02:36:58 +05:30
Andras Bacsai
5ed0b44bd0
Merge pull request #7048 from ShadowArcanist/shadow/fix-privatekey-deletion-on-githubaap-delete
Fix GitHub App deleting private key in use by other resources
2025-10-29 20:54:16 +01:00
ShadowArcanist
97e734e5ea fixed github app deleting private key when it is used by other resources 2025-10-30 01:16:59 +05:30
Andras Bacsai
25183d7c71 fix: remove unnecessary step attribute from maximum storage input fields 2025-10-29 20:43:32 +01:00
Andras Bacsai
54a4fa7eee fix: change SMTP port input type to number for better validation 2025-10-29 20:40:16 +01:00
Andras Bacsai
6fc5b01edc chore: update version numbers to 4.0.0-beta.439 and 4.0.0-beta.440 2025-10-29 20:38:48 +01:00
github-actions[bot]
f64bea3463 docs: update changelog 2025-10-29 09:40:53 +00:00
Andras Bacsai
fe7ebc334c
Merge pull request #6956 from coollabsio/next
v4.0.0-beta.438
2025-10-29 10:39:35 +01:00
majcek210
e430c55130
Create si.json
Added slovenian language. Do i need to do anything else?
2025-10-28 23:21:41 +01:00
Andras Bacsai
ae9f348458 rate limit test 2025-10-28 15:18:28 +01:00
Andras Bacsai
6d6f3e9de7
Merge pull request #6944 from coollabsio/dependabot/npm_and_yarn/vite-6.4.1
build(deps-dev): bump vite from 6.3.6 to 6.4.1
2025-10-28 12:48:33 +01:00
Andras Bacsai
65c2b917db
Merge pull request #7039 from coollabsio/andrasbacsai/fix-login-rate-limit-bypass
fix: prevent login rate limit bypass via spoofed headers
2025-10-28 12:16:34 +01:00
Andras Bacsai
65e5b2ecdb fix: correct login rate limiter key format to include IP address 2025-10-28 10:32:19 +01:00
Andras Bacsai
20ac018620
Merge pull request #6979 from ShadowArcanist/shadow/-appwrite-healthchecks
feat(service): appwrite added healthchecks
2025-10-28 10:31:05 +01:00
Andras Bacsai
28e343d458
Merge pull request #7016 from majcek210/patch-3
Update & rename the pterodactly template
2025-10-28 10:30:51 +01:00
Andras Bacsai
81529e9274
Merge pull request #6976 from majcek210/v4.x
Fix and update the "pterodactly with wings" template.
2025-10-28 10:30:34 +01:00
Andras Bacsai
4df3134cec
Merge pull request #6973 from ShadowArcanist/patch-9
fix(service): seafile cannot upload files due to network errors
2025-10-28 10:30:07 +01:00
Andras Bacsai
342abc967c
Merge pull request #6971 from lamongabriel/plane
Update Plane version to v1.0.0
2025-10-28 10:29:47 +01:00
Andras Bacsai
0fdfc18440
Merge pull request #6530 from yipfram/fix/evolution-api-slogan
feat: update Evolution API slogan to better reflect its capabilities
2025-10-28 10:29:07 +01:00
Andras Bacsai
f300ba0118 fix: prevent login rate limit bypass via spoofed headers
The login and forgot-password rate limiters were vulnerable to bypass
by manipulating the X-Forwarded-For header. Attackers could rotate
this header value to circumvent the 5 attempts per minute limit.

Changed both rate limiters to use server('REMOTE_ADDR') instead of
ip() to prevent header spoofing. REMOTE_ADDR gives the actual
connecting IP before proxy headers are processed.

Also added comprehensive unit tests to verify the fix.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28 09:47:13 +01:00
Andras Bacsai
4c29e8ceb3
Merge pull request #7012 from coollabsio/andrasbacsai/debian-13-docker-support
Add repository-based Docker installation fallbacks for Debian 13 and other major distros
2025-10-28 09:35:24 +01:00
Andras Bacsai
84b0ec1e94
Update app/Actions/Server/InstallDocker.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-10-28 09:31:32 +01:00
Andras Bacsai
221ed6283d
Delete funding.json 2025-10-28 08:41:38 +01:00
Andras Bacsai
0f59672942
Merge pull request #7038 from coollabsio/andrasbacsai/add-funding-json
feat: add funding.json for standardized funding information
2025-10-28 08:23:40 +01:00
Andras Bacsai
86fe583247
Merge pull request #7021 from coollabsio/andrasbacsai/fix-oauth-client-id-error
UI/UX improvements
2025-10-28 08:22:39 +01:00
Andras Bacsai
08ddc914d5 feat: add funding information for Coollabs including sponsorship plans and channels 2025-10-28 08:22:17 +01:00
Andras Bacsai
b1a68df65c fix: add null checks and validation to OAuth bulk update method
- Add null check before updating OAuth settings to prevent calling methods on null
- Apply couldBeEnabled() validation for all settings in bulk update (not just instant save)
- Disable OAuth providers that fail validation and collect error messages
- Surface all validation errors to the user instead of silently failing
- Update oauth_settings_map with fresh data after saving each setting

This ensures bulk updates follow the same validation logic as instant-save paths
and prevents bypassing model validation by directly calling update.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 17:04:33 +01:00
Andras Bacsai
8a3dc19d19 Update app/Livewire/SettingsOauth.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-10-27 17:03:19 +01:00
Andras Bacsai
f0db097a90 fix: clean up formatting and remove unnecessary key binding in stack form component 2025-10-27 17:03:19 +01:00
Andras Bacsai
974a8bdf64 fix: add wire:ignore directive to modal component for improved functionality 2025-10-27 17:03:19 +01:00
Andras Bacsai
28fc3feab0 fix: remove wire:ignore from modal and add wire:key to EditCompose component
- Remove wire:ignore from modal-input.blade.php wrapper to allow child Livewire components to be properly tracked
- Add unique wire:key to EditCompose component for proper identification when teleported
- Fixes 'Unable to call component method' error when saving compose files

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 17:03:19 +01:00
Andras Bacsai
1ab4b9aa31 refactor: simplify project data retrieval and enhance OAuth settings handling 2025-10-27 17:03:19 +01:00
Andras Bacsai
385af3143b fix: optimize caching in Dockerfile and GitHub Actions workflow 2025-10-27 16:59:41 +01:00
Andras Bacsai
cc070f2ee6 refactor: streamline Docker build process with matrix strategy for multi-architecture support 2025-10-27 16:51:42 +01:00
Andras Bacsai
a3a5694d10
Merge pull request #7029 from coollabsio/andrasbacsai/fix-mongodb-public-proto
fix(database): prevent malformed URLs when server IP is empty
2025-10-27 16:14:48 +01:00
Andras Bacsai
7ca3ce59fd
Merge pull request #7032 from coollabsio/andrasbacsai/update-sponsor-dade2
Update sponsor link from Darweb to Dade2
2025-10-27 16:04:56 +01:00
Andras Bacsai
c724654a0d fix: update sponsor link from Darweb to Dade2 in README 2025-10-27 16:02:05 +01:00
Andras Bacsai
dd002ba85d
Merge pull request #7015 from zackify/feature/fix-booleans
Fix api call booleans not being respected
2025-10-27 15:57:32 +01:00
Andras Bacsai
2265570964
Merge pull request #7030 from coollabsio/andrasbacsai/compose-editor-empty
Fix: Monaco editor empty for docker compose applications
2025-10-27 12:51:06 +01:00
Andras Bacsai
261dc39f02 fix: Monaco editor empty for docker compose applications
This commit fixes two related issues preventing the Monaco editor from displaying Docker Compose file content:

1. Data Sync Issue:
   - After loadComposeFile() fetches the compose content from Git and updates the database model, the Livewire component properties were never synced
   - Monaco editor binds to component properties via wire:model, so it remained empty
   - Fixed by calling syncFromModel() after refresh() in loadComposeFile() method

2. Script Duplication Issue:
   - Multiple Monaco editors on the same page (compose files, dockerfile, labels) caused race condition
   - Each instance tried to inject the Monaco loader script simultaneously
   - Resulted in "SyntaxError: Identifier '_amdLoaderGlobal' has already been declared"
   - Fixed by adding a global flag to prevent duplicate script injection

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 12:48:20 +01:00
Andras Bacsai
4cc668253e fix(database): prevent malformed URLs when server IP is empty
Add defensive null/empty checks in externalDbUrl() for all standalone database models to prevent "invalid proto:" errors when server IP is not available.

**Problem:**
When `$this->destination->server->getIp` returns null or empty string, database URLs become malformed (e.g., `mongodb://user:pass@:27017` with empty host), causing "invalid proto:" validation errors.

**Solution:**
Added early return with null check in externalDbUrl() method for all 8 database types:
- Check if server IP is empty before building URL
- Return null instead of generating malformed URL
- Maintains graceful degradation - UI handles null URLs appropriately

**Defense in Depth:**
While mount() guard (from commit 74c70b431) prevents most cases, this adds an additional safety layer for edge cases:
- Race conditions during server updates
- State changes between mount and URL access
- Direct model access bypassing Livewire lifecycle

**Affected Models:**
- StandaloneMongodb
- StandalonePostgresql
- StandaloneMysql
- StandaloneMariadb
- StandaloneClickhouse
- StandaloneRedis
- StandaloneKeydb
- StandaloneDragonfly

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 11:46:24 +01:00
Andras Bacsai
4d8d258b83
Merge pull request #7018 from Cinzya/hotfix/serverpatch-notification-url
fix: server URL generation in ServerPatchCheck notification
2025-10-27 11:44:50 +01:00
majcek210
26a5ab78f2
Merge branch 'next' into patch-3 2025-10-27 11:22:35 +01:00
Andras Bacsai
53ef6ddfc6
Merge pull request #7028 from coollabsio/andrasbacsai/belgrade-v3
feat: add dynamic viewport-based height for compose editor
2025-10-27 11:21:35 +01:00
Andras Bacsai
12766695c4 feat: add dynamic viewport-based height for compose editor
- Add Alpine.js reactive height calculation based on viewport size
- Monaco editor now responds to window resize events
- Fix Livewire component structure by moving style tag inside root div
- Update CLAUDE.md to document critical single root element requirement
- Set minimum editor height of 300px with responsive maximum
- Use CSS custom properties to pass calculated height to components
2025-10-27 11:18:25 +01:00