Dandelion is a fair source project. View the code on Github
Commits on Feb 28, 2026
| f834088 |
🐛 Remove default opt-in for facilitator in events controller The change removes the automatic setting of
|
Commits on Feb 27, 2026
| cd5c415 |
♻️ Refactor audio transcription to use direct OpenAI Whisper API instead of OpenRouter The change separates transcription and cleanup into distinct steps, using a temporary file for proper audio handling. This improves reliability and provides more control over the transcription process. |
| 47f1c82 |
✨ (whatsapp.rb): add intelligence parameter to OpenRouter.chat for improved transcription quality |
| 896f125 |
🐛 Fix fallback to event.organisation when cohost organisation not found
|
| ce9fa8d |
♻️ Refactor audio transcription to use OpenRouter's native audio support Simplifies code by removing manual file handling and direct OpenAI API calls. Adds audio parameter to OpenRouter.chat() for direct audio transcription. |
| 8aa4fd8 |
♻️ (whatsapp.rb): refactor text chunking to prefer paragraph boundaries over word boundaries The change improves message splitting by keeping paragraphs together when possible, only falling back to word-level splitting when a paragraph itself exceeds the 2048 character limit. This preserves message structure and readability. |
| 173aac9 |
✨ (whatsapp.rb): add transcript cleanup using OpenRouter to remove filler words and add paragraph breaks |
Commits on Feb 26, 2026
| 2250828 |
🐛 Filter out blank attendee IDs in recommendation system |
| 1da6cdc |
✨ (atproto_client.rb): add methods configuration to retry options to specify which HTTP methods should be retried |
| 4ba4a8c |
🐛 Fix variable shadowing bug in payment_completed! method The original code had a variable naming conflict where
Added tests covering: joining waitlist on sold-out events, automatic creation of organisationship/activityship/local_groupship when joining waitlist, removal of waitship when ticket payment completes, preventing duplicate waitlist entries, and handling of non-open activity privacy settings. |
| a897905 |
🐛 Prevent transferring orders to the same event |
| 7d06199 |
💄 (app.scss): remove bottom margin from images inside tables to fix layout spacing issue |
| 6763df3 |
💄 (event.erb): add Bootstrap table classes to tables in event descriptions |
| ee049ca |
🔥 (app.scss): remove figure th and td styling rules |
| b385600 |
♻️ (lib/mcp.rb): make limit parameter optional in search methods with nil as default The changes allow limit to be explicitly passed as nil while maintaining the same default behavior of 20. This improves API flexibility and makes the default value handling more explicit and consistent across all search methods. |
| b9bc579 |
📝 (lib/mcp.rb): remove BSON reference from ID field descriptions The ID descriptions are updated to be more generic by removing the "(BSON)" suffix, making them applicable regardless of the underlying database type. |
| 0dfe338 |
♻️ (lib/mcp.rb): rename tool names to follow naming convention by adding _tool suffix |
| c003c58 |
✨ (mcp.rb): add limit parameter to trending and upcoming organisation events endpoints |
| ae45f0b |
✨ (mcp): add get_trending_events MCP tool for retrieving trending events This commit introduces a new MCP tool that allows AI assistants to fetch trending events with a configurable limit (default 20, max 100). The documentation has also been updated to reflect this new capability alongside existing MCP features. |
| 5d2cee1 |
📝 (AGENTS.md): update MongoDB section heading and add Mongoid configuration info |