12 Commits

Author SHA1 Message Date
Mike Dalessio 0c10622672 Fix double-escaped HTML entities in webhook payloads
`Event::Description#to_plain_text` now returns an html-safe string to
prevent double-escaping when the ERB template renders the basecamp
and campfire payloads.

ref: https://3.basecamp.com/2914079/buckets/27/card_tables/cards/9574495379
2026-02-13 03:25:59 -05:00
Mike Dalessio 4ead778e12 Backfill tests for Event::Description strings' html-safety 2026-02-12 15:52:56 -05:00
Stanko K.R. 0df667f4fb Fix HTML injection in webhooks through card titles 2025-12-22 12:20:32 +01:00
Jorge Manrubia 676c2a42fe Always use the creator name for the plain text form
You does not make sense for webhooks
2025-11-06 14:16:01 +01:00
Jorge Manrubia 82adcecfb1 Add some sanity tests for event descriptions 2025-11-06 11:05:42 +01:00
Jorge Manrubia 5b68750713 Generate weekly highlights instead of daily ones
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047
2025-09-01 16:01:19 +02:00
Jorge Manrubia 81d6df3616 Remove comments from card prompts
We don't use to_prompt to generate AI responses anymore, only for events. Grabbing
all the comments don't make as much sense, and I'm sure it is quite expensive
2025-08-27 09:56:13 +02:00
Jorge Manrubia 7de45cc061 Remove vcr_record! and fix VCR fixtures due to different timestamps 2025-07-24 16:48:06 +02:00
Jorge Manrubia 8bb7783215 Extract "prompt generation" logic to models for events, comments and cards
So that we can reuse in other scenarios
2025-07-24 16:48:03 +02:00
Jorge Manrubia fc1ff7bf5e Fix tests 2025-07-23 12:21:20 +02:00
Jorge Manrubia 70f19e54b5 Add assertion on HTML content 2025-07-22 18:47:48 +02:00
Jorge Manrubia e87ed26f75 Add tests 2025-07-22 18:45:07 +02:00