Dandelion is a fair source project. View the code on Github
Commits on Jul 29, 2026
| 98fb4a2 |
♻️ Move geo helpers into lib/geo |
| 177baf2 |
♻️ Move payment methods under lib/payment_methods |
| b26e4fc |
♻️ Move currency and token helpers into lib/money |
| 8a1ff96 |
♻️ Move monkey patches and extensions into lib/patches |
| 6dbf1ae |
♻️ Move Stripe subscription sync into an Account concern |
Commits on Jul 28, 2026
| d691b1f |
🐛 Fix scheduled send status to rely on delayed_job instead of will_send_at Clear orphaned will_send_at when saving without scheduling, and update views to check delayed_job presence for displaying the scheduled send time. |
| 472f14e |
🐛 Only submit will_send_at when scheduling send later Prevents orphaned will_send_at values that crash the edit page when no delayed job exists. Fixes DANDELION-37. |
| a596624 |
✨ Add ability to hide fields from activity application form Allow activity admins to hide image, location, date of birth, and gender fields from the application form via new boolean attributes on Activity. Update the application form preview to reflect these settings in real-time by extending initQuestionsPreview with extraParams and refreshOn options. Why: Some activities may not need to collect sensitive or optional information like gender or date of birth, giving admins more flexibility over what applicants are asked to provide. |
Commits on Jul 27, 2026
| e1a90f5 |
⬆️ Bump activate-tools to 0.0.33 |
| d4be0de |
🔒 Set SameSite=Lax on the session cookie Prevents the session cookie being sent on cross-site POSTs, while still allowing top-level GET navigations such as OAuth callbacks and email links. |
| e288019 |
🔧 Support data-method="post" on links Split the confirm dialog and POST override into separate click handlers so links can opt into POST explicitly, rather than relying solely on the /destroy$/ path convention. Pagelet triggers honour data-method too. |
| 41e03d1 |
✏️ (events.md, build.erb): change "suggested donation" to "suggested contribution" to use more accurate terminology for the 1% ticket sales contribution |
| 6fd53a9 |
🔥 Remove email subject label text replacement code The code that replaced 'email subject' with 'email' in labels for |
| c22dff9 |
Hide responses for anonymous private feedback Responding is meaningless when feedback is anonymous and not publicly visible, so block the UI and POST. |
| 3f93514 |
🎥 Click Create a gathering in content during video narration Sidebar is minified when CREATE_VIDEO is set, so the link there is not visible. |
| f25485d |
🎥 Stabilize and speed up narrated videos Wait for page transitions before capture and simplify FFmpeg audio handling so generated walkthroughs render cleanly and faster. |
| 23e6698 |
🎥 Capture scrolled video narration frames Ensure generated walkthroughs preserve the active viewport and pause between the final event creation steps. |
| e5961f8 |
🗂️ Split /events/my into Upcoming, Starred and Past tabs Starred events get their own tab so the upcoming and past lists only show events you're actually attending or running, and the "Attended" badge now counts tickets with completed payment only. |
| c055418 |
Link own attended-events tag to /events/my |
Commits on Jul 26, 2026
| ee27dda |
🔐 Verify WhatsApp webhook signatures with X-Hub-Signature-256 |