Dandelion is a fair source project. View the code on Github

Commits on Feb 25, 2026
567935f

🔧 Fix pre-commit hook to match correct heading level in AGENTS.md

71cf4cd

🐛 Add error handling and card existence check in organisations_pay controller

723c16c

📝 (AGENTS.md): reorganize setup instructions before services table

2e2f206

📝 (AGENTS.md): update seed command to use foreman for proper environment setup

2e75b2d

📝 (AGENTS.md): restructure documentation with project title and description
🔧 (git-hooks/pre-commit): fix heading levels to match new documentation structure

7e721a4

🩹 Remove extra empty line from pre-commit hook generated output

ea1e7d4

📝 (pre-commit): add warning message to inform users that the rest of the file is auto-generated

a40445f

♻️ Refactor pre-commit hook to dynamically generate AGENTS.md dependencies section

The hook now reads from AGENTS.md and regenerates only the Dependencies section instead of hardcoding all instructions. Also updates documentation with improved setup steps and fixes seeds.rb to conditionally load images only when S3_HOST is set.

d693677

📝 (env, pre-commit): add seed account credentials to .env.example
🌱 (pre-commit): document database seeding and login steps in pre-commit hook

00b2d1a

🔧 (config): make Google Maps API key optional and fix CI environment setup

Removes conditional geocoding checks that required GOOGLE_MAPS_API_KEY to be present. Adds fallback 'missing_api_key' string in boot.rb for geocoding configuration. Updates CI workflow to explicitly set CI=true environment variable. Updates example env files with generic domain and removes explicit API key references.

7a12d0d

🔧 Add .env.example templates for development and testing environments
📝 Add local development setup documentation to pre-commit hook
🧑‍
💻 Update CI workflow to load env vars from .env.test.example instead of hardcoding them

Commits on Feb 24, 2026
98e0f8a

✨ (account.rb): add remove_image to permitted attributes to allow users to delete their profile picture

2a66f34

🐛 Fix incorrect time unit display in ASN stats view

a0a313f

✏️ (asns.erb): use pluralize helper for correct singular/plural form of "day"

f194316

🔒️ (security): switch from blacklist to whitelist approach for mass assignment
♻️ (refactor): refactor mass_assigning helper to support permitted_attributes
🐛 (accounts.rb): remove manual password handling to use mass_assigning flow

1ddc498

🔒️ (models/account.rb): expand protected_attributes with additional sensitive fields to prevent mass assignment vulnerabilities

3583afe

⬆️ (Gemfile.lock): upgrade nokogiri to 1.19.1 and rack to 3.2.5 for bug fixes and improvements

e28dbc1

✨ (comments.rb): add force parameter support for comments

Allow privileged users to force-create comments by adding a force parameter that bypasses normal validation when the account has permission to do so

59912a6

♻️ (photos.rb): replace halt(404) with not_found helper method for consistency

74fa047

🛂 (photos.rb, access_control.rb): add authorization checks for photo uploads

Add can_add_photo_to? helper to verify user permissions before allowing photo uploads. Validate that photoable_type is in allowed types and that the user has proper access rights for Gathering, Comment, and TicketType objects. This addresses the TODO comment and prevents unauthorized photo uploads.