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

Commits on May 07, 2026
3fac5f8

add includes for events_block

c627458

🐛 (app.rb): Remove optional format parameter from route path in naming

The route path was including the optional (.format)? suffix which caused issues with route matching. Now strips this pattern before constructing the route name.

8e6c284

✨ Add cancel RSVP link to reminder emails for eligible attendees

c077221

🐛 Fix route name extraction in after filter to use request.route_obj

8368fe8

🐛 Fix event creator admin permissions for organisation and cohosted events

Event creators were not being recognized as event admins for events they created under organisations or cohosted events. This change updates the access control logic to use admin_or_event_creator? instead of admin?, ensuring event creators have proper admin permissions for their events.

a38d80d

🐛 Fix CSV import encoding issues and BOM handling

Replace direct File.read with ImportFromCsv module that properly handles UTF-8 BOM removal and Windows-1252 to UTF-8 conversion

dd4a29e

🐛 Fix event_admin condition by removing unnecessary safe navigation operator

60a233a

♻️ (searchable.rb): replace wildcard path with search_fields variable for more explicit field targeting

3a20a5c

do delete_atproto async

Commits on May 06, 2026
7f7296f

♻️ (app.rb): simplify status code return to use idiomatic Sinatra syntax

36fb0fe

🐛 Fix Sentry route naming to include file extensions for accurate transaction tracking

d6e33f2

♻️ (app.rb): use sinatra.route env to set transaction name dynamically instead of hardcoded regex pattern

7720cb6

♻️ Refactor send_count to be passed as local variable to partial

8c7bf21

⚡️ Add permission caching to eliminate redundant admin checks in access control helpers

a737dfc

♻️ Extract admin_or_event_creator? method to reduce duplication in permission checks

fabd81d

🔇 (sentry_config.rb): omit Mongo server address from spans

4da75a4

🐛 (stats_helper.rb): strip block syntax from extracted values

fe3117d

♻️ Simplify Sentry span instrumentation and remove unused fields from stats view

5db8973

♻️ Align Sentry span operations with OpenTelemetry semantic conventions

Standardize span operations across the codebase to use consistent naming: - Use db.query instead of db.mongo.* and search.mongo - Use http.client instead of signal.send - Use template.render instead of template.partial - Use gen_ai.request instead of gen_ai.chat

Add standardized data attributes (db.system, db.operation, http.request.method, etc.) for better observability and tracing consistency.

56f76fd

📈 (open_router.rb): enhance Sentry spans with gen_ai telemetry for improved observability