Rob Zolkos
6a71856b3d
Add JSON activities API endpoint ( #2783 )
...
* Add JSON events API endpoint
* Add regression test for event particulars defaults
* Move JSON events API to a dedicated ActivitiesController
The events endpoint served both the HTML day timeline and the JSON API
feed, but the two paths shared no data or behavior — the HTML side uses
DayTimelinesScoped while the JSON side built its own query. Splitting
into ActivitiesController gives the API its own home at
GET /:account/activities.json without dragging in the timeline
before_actions.
Also preloads comment creator in Event.preloaded to avoid an N+1 when
rendering comment eventables in the JSON feed.
2026-04-08 08:39:36 -04:00
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
Jankees van Woezik
cf82ead0e3
Add link to Fizzy to Slack message
...
This makes it nice to use with a Slack webhook enabled, see
also this discussion: https://github.com/basecamp/fizzy/discussions/2238
2025-12-24 11:16:14 +01:00
Stanko K.R.
0df667f4fb
Fix HTML injection in webhooks through card titles
2025-12-22 12:20:32 +01:00
Jason Zimdars
86932803e4
Clarify not now move actions copy
2025-11-24 12:03:34 +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
6fcb51703d
Format
2025-11-06 11:44:03 +01:00
Jorge Manrubia
0c48e5f30a
No need to escape here
2025-11-06 11:43:22 +01:00
Jorge Manrubia
e4cb5579f0
Order methods
2025-11-06 11:02:20 +01:00
Jorge Manrubia
f5dfcd461c
Rename method
2025-11-06 11:01:21 +01:00
Jorge Manrubia
c926d7ad6c
Extract description object to remove the helper salad
...
Lots of repetition with the helpers and params
2025-11-06 10:56:07 +01:00
Jorge Manrubia
aa1ffb3357
Remove AI summaries and semantic searches
...
We were not using either. We can restore if we revisit.
2025-10-29 11:55:32 +01:00
Jorge Manrubia
9317a82570
Remove Fizzy Ask
...
Since we are not going to ship it
2025-10-27 14:45:30 +01:00
Jorge Manrubia
1d1a3da9cf
Cleanup workflow/stages
...
This was pending after moving to columns
2025-10-07 11:10:10 +02:00
Jorge Manrubia
6b0bca2475
Reduce size further since sometimes you get truncated summaries
2025-10-06 15:17:28 +02:00
Jorge Manrubia
7178945418
Reduce max length
2025-10-06 12:44:24 +02:00
Jorge Manrubia
3d8437bd5f
Truncate summaries to keep within API limits
...
https://fizzy.37signals.com/5986089/cards/1739
2025-09-15 16:14:29 +02:00
Jorge Manrubia
eabce24415
Switch to gpt-5-chat
...
Cheaper and good enough
https://3.basecamp.com/2914079/buckets/37331921/todos/9041305517
2025-09-12 16:16:54 +02:00
Jason Zimdars
3814c17d49
Be defensive about unwanted elements it sometimes inserts
2025-09-04 12:52:01 -05:00
Jason Zimdars
53f06d2554
Adjust summary, style in newspaper format
2025-09-02 22:14:13 -05:00
Jorge Manrubia
b6b4617eec
Remove unused constant
2025-09-02 17:24:22 +02: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
80e37bef36
Separate method with two outputs into two
2025-08-27 14:32:13 +02:00
Jorge Manrubia
744faf12c0
Extract "response cost" object to unify calculations around LLM usage costs
2025-08-27 13:18:41 +02:00
Jorge Manrubia
0eea4f003c
Remove unnecessary guards
2025-08-27 09:41:47 +02:00
Jorge Manrubia
853a75a54f
Rename "cost_microcents" => "cost_in_microcents"
2025-08-27 09:38:23 +02:00
Jason Zimdars
5cf119cbd1
Adjust prompt to force proper link construction; recognize people milestones and events
2025-08-18 10:00:16 -05:00
Jason Zimdars
acfe89ca52
Update prompt to render links and use more casual language
2025-08-14 14:32:53 -05:00
Jason Zimdars
e8dc14fda7
Simplify prompt, adjust styles to move away from bullet format
2025-08-11 18:03:48 -05:00
Jorge Manrubia
8addd4bd50
Remove comment
2025-08-11 12:42:31 +02:00
Jason Zimdars
9362b711d8
Adjust prompt
2025-08-05 16:02:11 -05:00
Jason Zimdars
b30a329a1a
Surface some fun user activity
2025-07-31 14:30:08 -05:00
Jason Zimdars
7d55069d88
Adjust prompt
2025-07-31 10:30:00 -05:00
Jason Zimdars
b795a43d5c
Simplify the prompt, try a top 5 points format
2025-07-30 18:14:37 -05:00
Jason Zimdars
0f3aa31943
Bold names, ensure summaries generate correctly structured collection links
2025-07-29 11:57:23 -05:00
Jason Zimdars
3479129721
Update prompt
2025-07-25 10:07:49 -05:00
Jorge Manrubia
5ad2d09eae
Move the hack to fetch completed cards to the insight command logic
...
We need to rework this as part of the filters revamp. "indexed_by" being
a mix of filters keeps biting us.
2025-07-24 16:48:05 +02:00
Jorge Manrubia
018c746d2a
Make the prompt smarter about the current context to make better calls
2025-07-24 16:48:03 +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
4d3e7bf0af
Fix: llm model
2025-07-24 16:48:01 +02:00
Jorge Manrubia
f3fa324f09
Let summaries know about collections
2025-07-23 16:54:39 +02:00
Jorge Manrubia
c082a1b1f5
More tweaks
2025-07-23 13:15:49 +02:00
Jorge Manrubia
c8c297a75e
Fix model selection (I had broken it!)
2025-07-23 13:10:47 +02:00
Jorge Manrubia
49518692bb
Some prompt refinements
2025-07-23 13:04:41 +02:00
Jorge Manrubia
fc1ff7bf5e
Fix tests
2025-07-23 12:21:20 +02:00
Jorge Manrubia
90ddadea5c
Format
2025-07-23 12:04:18 +02:00
Jorge Manrubia
f32e89c277
Format
2025-07-23 11:43:10 +02:00
Jorge Manrubia
c3ae05833e
Make models selectable
2025-07-23 11:02:34 +02:00
Jorge Manrubia
5322ce2afb
Add comment's context for each card too
2025-07-22 22:43:01 +02:00
Jorge Manrubia
e1ab4ec13c
Use 4o for now, it's just better for summarizing and conversation
...
It's more expensive, going with the best and we'll tune later
2025-07-22 22:34:12 +02:00