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

Commits on Apr 11, 2026
a1d3648

💬 Remove "with summaries" from books page lead text

66b4cdd

♻️ (delivery.erb): replace magic number with MailgunDeliveryStats::ALERT_THRESHOLD constant

e70d720

➖ Remove unused delivery metrics (failed, complaints, bounce %) from stats

6ef411d

♻️ (mailgun_delivery_stats.rb): simplify low delivery rate notification and adjust alert threshold

2d4fe2d

✨ (mailgun_delivery_stats.rb): Add automatic alerting for low email delivery rates

This change introduces a monitoring feature that periodically checks Mailgun email delivery statistics and notifies administrators when any email service provider's delivery rate drops below 99% over a 24-hour window, enabling proactive response to email delivery issues.

f491c76

♻️ (mailgun_delivery_stats.rb): remove unused sending_domain parameter from fetch method

Simplify domain resolution to rely solely on MAILGUN_TICKETS_HOST env var instead of allowing override via parameter

be7cc52

♻️ (mailgun): rename MailgunTicketsDeliveryStats to MailgunDeliveryStats

Refactor the mailgun delivery stats module by renaming it from MailgunTicketsDeliveryStats to MailgunDeliveryStats for better naming clarity. Update all references in the controller and view accordingly.

fc0e916

✨ Add Mailgun delivery statistics page with provider breakdown

ca4e89d

🚸 Show all popular locations when filtering by specific location instead of limiting to 15

ed79b62

📝 Update ATProto open data link in badges view

2db8254

💬 Update referral program copy to improve clarity and consistency

3e78a77

🎨 Refactor referral cards into partial and improve UI with example display

893a6c9

🚚 (views): Move boost notification from build page to event admin view

The boost feature announcement was moved from the event build page to the event detail page. Now it's only displayed to event admins when viewing the event, rather than during the event creation/editing process.

eb69d46

💄 Refactor contribution flow to use reminder terminology and add skip with return option

The changes rename contribution_required to contribution_reminder across views and models to use softer terminology. A "Not now" skip button is added with return_to parameter for seamless user flow. Simplifies redirect logic in app.rb to use request.fullpath and removes stripe_connect_json condition from reminder check.

Commits on Apr 10, 2026
386ac02

➕ (Gemfile): add zstd-ruby gem for Zstandard compression support

9b82452

⬆️ (Gemfile.lock): Bump icalendar from 2.12.1 to 2.12.2

b219550

⬆️ (Gemfile): add minimum version constraint for activesupport gem

bb7fbbf

♻️ (purchase/_suggested_donation.erb): Cache FiatCurrency.minimum_unit_amount result and conditionally render modal

Commits on Apr 09, 2026
5a3ba4b

🐛 (organisation_accounting.rb): fix contribution_required to exclude GoCardless when Stripe Connect is configured

e91a04b

🎨 Refactor button styling from custom dotted to Bootstrap outline classes