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