Dandelion is a fair source project. View the code on Github
Commits on Feb 11, 2026
| adc76a8 |
♻️ Extract hard-coded timezone string into constant
|
| 41117b5 |
♻️ Replace custom |
| 968145f |
🎨 (contact.erb): refactor social links into a loop to reduce duplication
|
| 94e3aa8 |
♻️ (asn.rb): simplify bot-class fetcher by removing success check and unused rescue |
| aac6a1b |
♻️ Rename @asns to @blocked_asns for clarity |
| 502b127 |
🔧 Reduce autoblock threshold from 3 days to 1 day to tighten security policy |
| 7d491ac |
♻️ (asn.rb): refactor suspicious_windows to carry baseline count across midnight windows
|
| 780567e |
♻️ Extract duplicated Mailgun founder-mail code into EmailHelper.send_to_founder Reduces duplication across feedback, question and ASN-block notifications by centralising Mailgun client setup, recipient and environment-gated finalisation in one helper. |
| e7fa4ac |
♻️ Extract ASN-related logic into dedicated Move Cloudflare API calls, analytics, blocking & unblocking
logic out of the controller into |
| 1128d98 |
💄 (features.erb): refactor padding to use top/bottom only and add content-padding-x utility |
| a77cb24 |
💄 Add bottom padding to CTA section for better spacing |
| 2739618 |
✨ Add bot-classification column to ASN suspicious list
|
| 44016cd |
💄 Re-style landing & features pages with shared gradient-text class
|
| 486f081 |
🐛 Fix nil-safe access to event.start_time in views |
| ca415a5 |
💬 Update feature descriptions on landing page |
| 06e9f4e |
💬 Update feature descriptions and reorder cards on landing page |
| 153d119 |
🐛 Fix anchor links on home page for events & gatherings |
Commits on Feb 10, 2026
| 48e562f |
✨ add dedicated /features page to showcase platform capabilities
|
| 6a5a5a2 |
🔧 Delayed::Worker.destroy_failed_jobs = false to keep failed jobs for inspection |
| 86bf00a |
♻️ Move |