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

Commits on Mar 26, 2026
d296718

♻️ (lib/asn.rb): refactor autoblock bot percentage data structure from hash to array

Simplify AUTOBLOCK_BOT_PCT_BY_COUNTRY hash to AUTOBLOCK_BOT_PCT_LOW constant and AUTOBLOCK_BOT_PCT_LOW_COUNTRIES array for cleaner logic

Commits on Mar 25, 2026
f03a732

✨ Add DeepWiki support link to documentation pages

5bf3bf9

🎨 (wheel-of-the-year.html): Remove legend section and improve responsive layout styling

Commits on Mar 24, 2026
0acc59c

🐛 (event_validation.rb): strip whitespace from purchase_url field

f24a2bf

🐛 Fix incorrect ASN block notifications by only notifying for newly blocked entries

932761b

♻️ Refactor fetch_asn_countries to fetch_asn_details and include ASN names
✨ Add ASN names to stats view by fetching from IP lookup service
🐛 Fix undefined method by passing correct hash key when fetching countries
💡 Add inline comments to clarify country and name assignment logic

8b5f3a3

✨ Add country-specific bot thresholds and parallel ASN country lookup
🔊 Add comprehensive logging to ASN autoblock
⚡️ Parallelize bot classification and country lookup in autoblock

9826971

✏️ (events.md): fix typo in recording documentation by adding missing "to" preposition

c4d84a9

📝 Add documentation for event recordings and evergreen on-demand events

c7f3e84

♻️ Refactor token encryption to use url_safe format with legacy support

  • Remove Base64 encoding by using url_safe: true option directly in encryptor/verifier
  • Add backward compatibility for legacy Base64-encoded tokens during decryption
  • Improve error handling with graceful fallbacks across multiple token formats
  • Extract decrypt/verify logic into reusable helper methods
0729d77

♻️ (token_encryptor, token_verifier): extract encryptor helper and add Base64 encoding to match encryptor consistency

5a231be

♻️ Refactor token handling to use TokenVerifier with MessageVerifier and fallback support

Commits on Mar 23, 2026
fe5d090

🐛 Fix selecting wrong button when removing btn-dotted class

9fff8c5

📝 Add inline code formatting and clarify ticket_form_only parameter usage

d6ad7f9

✨ Add CSV export functionality for event feedback

  • Add CSV format support to event feedback route
  • Add download button in the feedback view
  • Add generate_csv method to export feedback data
  • Include questions dynamically from event feedbacks
  • Handle email visibility based on viewer permissions
480bce2

🐛 (tickets.erb): hide sign-in link in ticket emails for evergreen events

c57fb80

🚸 Hide ticketholder collection for evergreen events

Evergreen/on-demand events don't have scheduled attendees, so the ticketholder collection form and email link are not relevant for this event type. Wrapping the UI and email content in evergreen checks prevents confusion for users managing on-demand content.

af70d6f

✨ (events): add evergreen filter and refactor date filtering logic

Extract duplicated date filtering code into reusable apply_event_stats_date_filter helper that also handles evergreen event filtering

6d91bce

♻️ Refactor evergreen event filtering to model level

Move evergreen: false filter from controllers to set_browsable method, consolidating browsing logic in the model


🐛 Fix email ticket template fallback text

Replace hardcoded "an on-demand product" fallback with empty string for [event_when] placeholder

1bf5afb

🐛 Fix email template to display location info for evergreen events