-
Notifications
You must be signed in to change notification settings - Fork 6
Upgrade to Laravel 10 #816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
…laywright packages.
…ssions we don't have in Docker Compose environment.
Since PHP 5.4 the short array syntax `[]` may be used instead of `array()`.
- Replace Slick carousel with b-carousel in features/index.blade.php - Remove Slick initialization from layouts/footer.blade.php - Remove tempusdominus (unused) from header files - Remove tinysort (was only used by bootstrap-sortable) This removes multiple unused jQuery plugin dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Update lang.js mixin to automatically detect count parameter and use
pluralization function
- Components can now pass {count: N} to __() and get proper singular/plural
- Fixes display of "skill|skills" and "event|events" raw patterns
- Fix spacing between group name and "Events" text in GroupEvents.vue
This ensures translation keys like "skill|skills" are properly
pluralized based on count instead of displaying the raw pattern.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix malformed URL in groups.js listTags action - Changed from '/api/v2/groups/tags?locale=\' + getLocale()' to '/api/v2/groups/tags?locale=' + getLocale() - Add test group tag to docker_run.sh initialization This fixes the empty tags list when editing groups. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Change edit icon path from absolute to relative in _groups.scss - Use '../icons/edit_ico_green.svg' instead of '/icons/edit_ico_green.svg' - Fixes 404 error in Vite dev mode while maintaining production compatibility 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Wrap jQuery-dependent code in initWhenReady() function - Wait for jQuery to load before executing any jQuery code - Prevents errors when jQuery loads asynchronously from CDN 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Update @asamuzakjp/css-color to 4.1.0 - Update @asamuzakjp/dom-selector to 6.7.4 - Add @acemir/cssom peer dependency Automatic updates from npm install. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add right margin to logo/stats header on large screens - Improves visual spacing in login page layout 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add flex-wrap: nowrap to .stats.row to prevent stats from wrapping onto multiple lines on larger screens - Fix Leaflet marker icon paths broken by Vite bundling by explicitly importing marker images and configuring L.Icon.Default 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The role index page now uses a Vue component instead of server-rendered Blade links. Update test to check for the HTML-encoded JSON data in the component props instead of rendered anchor tags. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
The checkbox in the event invite modal was not functional - clicking it did nothing. This fix: 1. Adds server-side code to pass group member emails as a data attribute on the checkbox element 2. Adds JavaScript handler to populate the email textarea when the checkbox is checked, and remove them when unchecked 3. Properly enables the submit button when emails are present Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create EventInviteModal.vue component to replace blade modal - Remove jQuery handler from app.js and use Vue event handling - Add conditional email field to Volunteer API resource (only visible to hosts, network coordinators, and admins for privacy) - Update EventAttendance.vue to use new Vue modal component - Remove blade modal include from events/view.blade.php - Add translation for manual_invite_placeholder in en/fr/fr-BE - Add tests for volunteer email visibility based on user role Fixes the "Add invites for group members" checkbox not populating emails when clicked. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Event invite modal: Add Tab key support for email tags, fix CSRF token retrieval from meta tag, update placeholder translations - Notifications: Fix mark as read using event delegation for dynamic elements - Profile skills: Add 'Ctrl-click to select multiple' hint, hide dropdown arrow - Landing page: Fix 'Waste prevented' text wrapping with proper styling Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| name: Setup application | ||
| command: | | ||
| # Grant timezone access - run directly on MySQL container | ||
| docker exec restarters_db mysql -u root -ps3cr3t -e "GRANT SELECT ON mysql.time_zone_name TO 'restarters'@'%';" |
Check failure
Code scanning / SonarCloud
MySQL database passwords should not be disclosed High
| - run: sed -i 's/HONEYPOT_DISABLE=.*$/HONEYPOT_DISABLE=TRUE/g' .env | ||
| # Setup additional configuration needed for CI (most setup already done by docker_run.sh) | ||
| # Set MySQL function creators using session variable (compatible with MySQL 5.7) | ||
| docker exec restarters_db mysql -u root -ps3cr3t -e "SET GLOBAL log_bin_trust_function_creators = 1;" |
Check failure
Code scanning / SonarCloud
MySQL database passwords should not be disclosed High
| - run: npx playwright install-deps | ||
| - run: npm install -D @playwright/test | ||
| # Disable ONLY_FULL_GROUP_BY for compatibility with getItemTypes() query | ||
| docker exec restarters_db mysql -u root -ps3cr3t -e "SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));" |
Check failure
Code scanning / SonarCloud
MySQL database passwords should not be disclosed High
| echo "Waiting for services in profile: {{.PROFILE}}" | ||
| echo "" | ||
|
|
||
| # Wait for core services (always needed) |
Check failure
Code scanning / SonarCloud
MySQL database passwords should not be disclosed High
Reverts accidental port change that broke CI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This reverts commit d60519e.
- Taskfile.yml: Update wait_for_service check to use port 8026 - CLAUDE.md: Update Mailhog URL - docs/local-development.md: Update Mailhog URL 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Refactored to recursively process nested translation structures instead of failing when encountering arrays. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Logs EventsUsers status and role to help diagnose why attending is sometimes true when it should be false in CI. Also adds test artifacts to .gitignore. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Removed fwrite(STDERR) which was causing TeamCity to mark the test as failed even when assertions passed. Debug info now only appears in assertion failure messages. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The test occasionally fails in CI with all_confirmed_restarters_count being 1 instead of 0. Added debug info to show group membership state when assertion fails. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Center title and intro text on landing page - Reduce line-height on h1 for tighter title spacing - Add white-space: nowrap to stat headers to prevent line breaks - Add missing description field to skills seeder (required NOT NULL column) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use more specific selector (label.btn.btn-checkbox) for higher specificity - Override background color to gray (#E4E4E4) - Remove uppercase text-transform - Add background-image: none to prevent gradient overrides Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add docker:vite, docker:vite:start, docker:vite:stop tasks - Change HMR host from hardcoded www.example.com to env variable with localhost default - Update CLAUDE.md with critical Docker task command documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Create EmailValidation.vue component that checks if email already exists on blur and displays validation message. Replaces inline HTML with proper Vue component following codebase patterns. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The templates use kebab-case (<categories-table>, <roles-table>) but components were registered without hyphens. Vue's template-to-component resolution requires matching names. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Past events were missing timezone in the expanded event data, causing date/time display issues on group pages. Now explicitly passing timezone alongside event_date_local, start_local, and end_local. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The route was incorrectly placed in the ensureAPIToken middleware group but requires authentication since it calls auth()->user(). Moved to the auth+verifyUserConsent+ensureAPIToken group where it belongs. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Hide hosts section in EventDetails when no hosts assigned - Update StatsShare to use __() instead of $lang.get/choice methods Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|




Overview
This PR builds on #806 (the initial Laravel 10 upgrade via Laravel Shift) and adds substantial additional work to complete the modernization.
Changes Since PR #806
Build System Overhaul
@vite()directive instead ofasset()PHP & Framework
jQuery Plugin Removal & Vue Replacements
Removed heavy jQuery dependencies and replaced with lighter alternatives:
Testing & CI
Development Environment
Bug Fixes
Statistics
Requirements After Merge
composer installandnpm installnpm run buildornpm run dev