Commit Graph

1060 Commits

Author SHA1 Message Date
Jason Zimdars d7844a4105 Merge pull request #1031 from basecamp/improve-workflows
Improve workflows
2025-09-08 10:32:50 -05:00
Jorge Manrubia ebfc168266 Make sure it considers the week before if this is invoked on a sunday 2025-09-08 08:38:33 +02:00
Jorge Manrubia ac11d8f830 Refine comment 2025-09-05 17:23:52 +02:00
Jorge Manrubia 573f62c3b4 Add comment 2025-09-05 17:23:26 +02:00
Jorge Manrubia d9cc592566 Merge pull request #1007 from basecamp/weekly-highlights
Weekly highlights
2025-09-05 17:03:38 +02:00
Jorge Manrubia b15cb4541f Show summarier capturing the actual weeks in the user's timezone
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047#__recording_9037056688
2025-09-05 13:48:02 +02:00
Jorge Manrubia e15cc80929 Only process summaries for active users (not deactivated or system) 2025-09-05 13:46:28 +02:00
Jorge Manrubia aad61b36bc Generate highlights in the user timezone, now that we persist it
Also, remove the dates and duration from the highlights records. Those are not relevant, only the events-derived
key is. If two users with different timezones have different activities, they should see different summaries.
2025-09-05 12:39:09 +02:00
Jorge Manrubia cfa0149564 Persist timezones in the server
Add a beacon to persist timezones when these change (or the first time)
2025-09-05 12:11:57 +02:00
Jason Zimdars 96ec2f698e Fix that in-use Workflows couldn't be deleted 2025-09-04 15:14:04 -05: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
Jason Zimdars 4d6201b8dc Filter to just drafts 2025-09-02 19:32:19 -05:00
Jorge Manrubia b6b4617eec Remove unused constant 2025-09-02 17:24:22 +02:00
Jorge Manrubia 1176857ec3 Remove unused methods 2025-09-02 17:22:53 +02:00
Jorge Manrubia c412ae89e6 Only generate summaries when there is enough activity 2025-09-02 16:32:30 +02:00
Jorge Manrubia d785f9f80f Don't show summaries when using filters 2025-09-02 12:20:02 +02:00
Jorge Manrubia eb908ea316 Not used anymore 2025-09-02 11:07:57 +02:00
Jorge Manrubia a9d9351472 Extract object to represent a period to tidy up params repetition 2025-09-02 10:55:53 +02:00
Mike Dalessio 85b6f46422 Do not try to bundle notifications for system users
ref: https://fizzy.37signals.com/5986089/collections/7/cards/1471
2025-09-01 12:37:34 -04:00
Jorge Manrubia dfbc77c2e5 Render weekly highlights considering periods of inactivity 2025-09-01 17:09:43 +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 b51af8b5da Extract method and make sure we don't deliver emails when notification setting is set to never
This should be prevented by the current design, but let's be a bit defensive here.
2025-09-01 12:17:13 +02:00
Jorge Manrubia 6f2670d6dd Merge main into bundle-emails branch and resolve conflicts 2025-09-01 11:49:20 +02:00
Jason Zimdars 70b07f856f Use inquiry method 2025-08-31 15:28:01 -05:00
Jorge Manrubia bec4abad0c Rename method to match semantics
"rescheduling" was a from an implementation I had dropped
2025-08-29 09:28:32 +02:00
Jason Zimdars f80ef52f81 Workflow stage filter should only apply to cards in doing
No other column has Workflows so they should be unaffected by the filter
2025-08-28 20:54:23 -05:00
Jason Zimdars ce05d800d3 Filter by golden status 2025-08-28 13:39:02 -05:00
Jorge Manrubia 5fe66dd602 Fix job class 2025-08-28 17:37:35 +02:00
Jorge Manrubia 5c890bbc34 Bundle every few hours by default 2025-08-28 17:08:22 +02:00
Jorge Manrubia e4ab1366be Add unsubscribe links and headers for emails
https://3.basecamp.com/2914079/buckets/37331921/todos/9002504172
2025-08-28 16:59:24 +02:00
Jorge Manrubia 960f074b3f Don't bundle new notifications is bundling is disabled 2025-08-28 12:53:19 +02:00
Jorge Manrubia 4e2717a61f Merge main into bundle-emails branch 2025-08-28 12:42:43 +02:00
Jorge Manrubia c1c359f030 Review existing bundles when changing the pending bundles 2025-08-28 12:29:40 +02:00
Jorge Manrubia 53144a379c Add option to change the bundled email notification frequency 2025-08-28 11:56:40 +02:00
Jorge Manrubia 082a10e3d0 Add notification settings model 2025-08-28 11:20:28 +02:00
Stanko Krtalić 41edfae2b5 Alphabetically order concerns (#992) 2025-08-28 11:07:56 +02:00
Jason Zimdars 2cb98a2e31 Don't show the filter if there aren't any tags 2025-08-27 18:56:06 -05:00
Jorge Manrubia ccceeb1699 Add method for delivery job 2025-08-27 15:48:27 +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 e696c69d60 Merge branch 'main' into bundle-emails 2025-08-27 10:17:32 +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 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
Jorge Manrubia 47fb35948b It does not make sense to differentiate unread notifications 2025-08-26 18:15:08 +02:00
Jorge Manrubia d99a835184 Format 2025-08-26 17:41:04 +02:00
Jorge Manrubia bf63df7d4a Format 2025-08-26 17:02:51 +02:00
Jorge Manrubia 0126aed6d7 Make sure they don't overlap on creation 2025-08-26 16:59:01 +02:00
Jorge Manrubia 8ba6f5fe8e Validate we don't create overlapping bundles 2025-08-26 16:49:36 +02:00