Commit Graph

701 Commits

Author SHA1 Message Date
Jason Zimdars d9d3e9f1a2 Update VCR for highlights tests
I don't see how this is related to my changes but it keeps failing
2025-09-11 22:32:04 -05:00
Jason Zimdars 9ad813e5d0 Fix misleading test
The access involvement changes exposed that this test wasn't doing what it said it was. For this to be a self-assignment the event creator and assignee need to be the same
2025-09-11 21:33:21 -05:00
Jason Zimdars c4dec29b49 Assignment notifications should always be delivered
- They're effectively @mentions
- This means watching really reflects the UI state: Watching for new cards
2025-09-11 21:21:11 -05:00
Jason Zimdars e68b344cc2 Remove _Everything_ inolvement 2025-09-11 12:34:31 -05:00
Jorge Manrubia d345f707a1 Remove job test 2025-09-10 11:47:17 +02:00
Jorge Manrubia 4e72566856 Flatten card resource
We only need the parent collection for creating cards. Carrying it in the
rest of actions is a hassle.
2025-09-10 11:24:23 +02:00
Jorge Manrubia 7f7ecf0346 Delete notifications when the user loses access to the collection 2025-09-10 10:24:20 +02:00
Jorge Manrubia 2e51a34694 Extract method to fetch all the notifications for a card for a given user
We'll need to handle access changes
2025-09-10 10:08:14 +02:00
Jorge Manrubia 58c525e5a6 Broadcast notifications that are deleted
To prevent 404s when someone doesn't refresh the page
2025-09-10 09:50:22 +02:00
Jorge Manrubia d533f05c7b Use vanilla resources for handling notifications 2025-09-10 09:17:57 +02:00
Jorge Manrubia be246d204f Replace assignees with a turbo stream instead of replacing the full card
So that we don't lose th editing context if you do it while editing a card

https://fizzy.37signals.com/5986089/collections/2/cards/1479
2025-09-09 15:32:18 +02:00
Jorge Manrubia 07bdcb7a9c Pass the new param this partial requires 2025-09-09 12:12:39 +02:00
Jorge Manrubia c36420800e Fix test (and remove warning) 2025-09-09 12:12:22 +02:00
Jorge Manrubia e89749153f Fix VCR tests 2025-09-09 10:20:15 +02: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 d13a9e01db Update VCR fixtures 2025-09-05 18:04:58 +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 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 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 d785f9f80f Don't show summaries when using filters 2025-09-02 12:20:02 +02:00
Jorge Manrubia 0c979a41c5 Format 2025-09-02 11:12:33 +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 6f2670d6dd Merge main into bundle-emails branch and resolve conflicts 2025-09-01 11:49:20 +02:00
Jason Zimdars e86be26f43 Update test
This test is a little naive because it matches cards in stages
regardless of engagement status unlike the actual conroller. For example
`@new_card` gets created and moved to a stage but it's actually not even
published and so shouldn't be stageable.
2025-08-28 21:24:23 -05:00
Mike Dalessio f4f38015dd Merge pull request #993 from basecamp/flavorjones/clean-up-unused-routes-1
refactor: remove unused routes associated with "resource :account"
2025-08-28 12:19:05 -04:00
Mike Dalessio 5f4ee049c6 Fix up hotkeys
ref: https://fizzy.37signals.com/5986089/collections/2/cards/1452
2025-08-28 11:47:45 -04:00
Mike Dalessio 28c4cc7cee test: backfill hotkeys helper tests
and remove support for the unused use case of comma-delimited-strings
2025-08-28 11:44:51 -04:00
Mike Dalessio 87d81e608b refactor: remove unused routes associated with "resource :account"
- Drop from 313 unused routes to 306 unused routes
- Use a namespace for the account-related resource routes
- Controllers are nested under the "Account" module now
- Move views from "accounts/" to "account/"
2025-08-28 11:12:24 -04:00
Mike Dalessio e26c1db5c5 test: backfill account route tests to prepare for refactor 2025-08-28 11:01:52 -04: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
Jorge Manrubia 88976806b9 Format 2025-08-27 15:56:58 +02:00
Jorge Manrubia 5a4c40fd56 Test to make sure it skips bundles that are not due 2025-08-27 15:51:20 +02:00
Jorge Manrubia ccceeb1699 Add method for delivery job 2025-08-27 15:48:27 +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 d2dbbe8651 Merge pull request #978 from basecamp/summary-costs
Track costs of generating AI summaries
2025-08-27 09:43:17 +02:00
Jorge Manrubia 853a75a54f Rename "cost_microcents" => "cost_in_microcents" 2025-08-27 09:38:23 +02:00
Stanko Krtalić 0f467be316 Make Fizzy Ask respond with an error message when a response fails to generate (#975) 2025-08-27 08:59:27 +02:00
Jorge Manrubia 8ba6f5fe8e Validate we don't create overlapping bundles 2025-08-26 16:49:36 +02:00
Jorge Manrubia cfafc54a81 Deliver emails for bundled notifications (initial WIP) 2025-08-26 13:22:22 +02:00