Commit Graph
13755 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 BacsaiandClaude 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 Bacsaiandcoderabbitai[bot] 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 BacsaiandClaude 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 Bacsaiandcoderabbitai[bot] 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 BacsaiandClaude 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 BacsaiandClaude 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 BacsaiandClaude 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