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

Commits on Jun 23, 2025
262aad5

💄 (error.erb): Adjust error page styling and content

Remove redundant notification text to simplify the message. Reduce the error image size and add bottom margin to improve visual layout and spacing on the error page.

ffabe2b

✨ (app.rb): Add /raise endpoint for error testing

Allows administrators to intentionally trigger an error. Useful for verifying error handling and monitoring systems.

433ffba

♻️ Migrate error tracking from Airbrake to Honeybadger

  • Remove Airbrake gem and all related configurations.
  • Add Honeybadger gem and integrate its Rack middleware.
  • Update all error notification calls from Airbrake to Honeybadger.
  • Consolidate error monitoring to a single, unified service.
c1a262a

💬 (contact.erb): Update contact page instructions

Remove "or want to suggest a feature" from the Dandelion platform contact. This clarifies the purpose of the contact email for technical assistance.

9850507

🔥 Remove NFT feature and associated code

Deletes Nft and NftCollection models. Removes NFT creation logic from AccountContribution. Eliminates UI elements for NFT offerings and previews. Cleans up obsolete comments and dead code.

b1ca81a

🔥 Remove Nolt integration

Removes all Nolt-related code and UI elements from the app. This includes the Nolt SSO token generation helper, the Nolt widget script, and all links to the Nolt board. Feature requests are now directed to DeepWiki or email, streamlining communication channels and reducing external dependencies.

e200b5a

🐛 Refine feedback answer rendering in event views

Wrap answer display and public pagelet in an if a condition in event_feedbacks/event_feedback.erb. This prevents rendering of empty answer fields and associated public pagelets when no answer is provided. It improves UI clarity and avoids unnecessary DOM elements.

Remove redundant if a condition for displaying the answer in events/my.erb. Sanitize.fragment handles nil or empty inputs gracefully, making the check unnecessary. This simplifies the code. Also remove a stray empty ERB tag.

Commits on Jun 22, 2025
61e62bf

♻️ Extract email fields to shared concern

Create EmailFields concern to encapsulate email-related fields. Move common email fields and their metadata from EventFields and OrganisationFields into the new concern. Include EmailFields in both EventFields and OrganisationFields. This refactoring eliminates duplication and centralizes email configuration, improving maintainability and consistency.

b9d4cc3

💬 Shorten "Description and confirmation email" tab label

Shortens the tab label in the event builder from "Description and confirmation email" to "Description and confirmation". Updates the corresponding test to reflect the new label.

This change improves conciseness and readability of the tab, as "email" is implied by "confirmation" in this context.

ea2c1c9

🐛 (models/concerns/organisation_associations.rb): Filter featured events by organization ID

Ensures that the featured_events method only returns events associated with the current organization instance. This prevents the accidental inclusion of events from other organizations.

3b1e169

✨ (emails): Add event-specific email customisation for reminder and feedback emails
✨ (emails): Allow event-specific customisation for recording email subject and greeting
✨ (emails): Introduce new placeholders for reminder email body: [event_link] and [key_information_again]
🎨 (views): Refactor email templates to use new event-specific email fields
🎨 (views): Update email preview links to reflect new email types
🎨 (views): Adjust UI for email fields in event and organisation build forms
🎨 (views): Hide redundant labels and simplify "email subject" to "email" in UI
♻️ (models): Centralise default email content logic in Organisation model
♻️ (models): Refactor OrganisationValidation to iterate over email fields for defaults
🐛 (models): Ensure all new email fields have default values set on creation
📝 (models): Update field descriptions for new email customisation options

Commits on Jun 21, 2025
51d0a4a

♻️ (monthly_donors.erb): Align tab link hrefs with panel IDs

Update tab navigation links and corresponding content panel IDs. Ensure consistent naming for Bootstrap tabs, where the link's href directly matches the target panel's ID. This improves clarity and adherence to common Bootstrap patterns.

2cf22cd

♻️ (gatherings/build): Refactor selector for removing next button

Change selector from specific ID to last tab pane. Ensure 'next' button is always removed from the final tab, improving robustness.

1974b6b

🎨 (UI): Replace numeric tab IDs with semantic names

Replaces numeric tab IDs with descriptive string-based IDs. Updates href and id attributes in event, gathering, and organisation build forms. Adjusts related JavaScript and Ruby logic.

Improves code readability and maintainability by making tab purposes clear. This simplifies future modifications, such as adding or reordering tabs, as their identifiers are now self-documenting.

5e5d6de

🐛 (analytics): Fix double-escaping of eventID for FB Pixel

The eventID for the Facebook Pixel 'Purchase' event was being double-escaped due to using '<%=', which HTML escapes the output. Changed to '<%==', which outputs raw content, ensuring the JSON string is correctly passed to the fbq function for accurate tracking.

7c1d75b

✨ Integrate Simple Analytics for organizations

  • Add simple_analytics_domain field to the Organisation model.
  • Introduce an input field for the Simple Analytics domain in org settings.
  • Embed the Simple Analytics tracking script in the analytics layout.
  • Track 'purchase' events with order details on successful orders.

  • Provide organizations with an additional privacy-friendly analytics option.

  • Enable tracking of website visits and key conversion events.

  • Allow organizations to configure their Simple Analytics domain.

Commits on Jun 20, 2025
017bc24

🐛 Prevent rendering errors for event feedback without answers

Add conditional check for event feedback answers before rendering. This prevents errors and ensures graceful display when no answers are present.

Commits on Jun 18, 2025
c121d1b

🎨 (events/_nav.erb): Reorder event navigation links

Moves 'Ticket type photos' and 'Co-host images' links in the event navigation. This improves logical grouping and readability of the menu.

9cabf51

🚸 Add discount code count to navigation links

Display the number of discount codes as a badge next to the "Discount codes" link in the navigation for activities, events, local groups, and organisations. This provides a quick overview of existing discount codes without requiring navigation.

Reorder parameters for Facebook Pixel purchase event to ensure consistency and adherence to expected parameter order.

e8859c1

📈 (analytics): Update Plausible event name casing

Aligns the 'purchase' event name with Plausible's recommended PascalCase convention for custom events.