Stanko K.R.
9ddfe4d803
Fix production Basecamp webhook format
2025-10-01 14:44:36 +02:00
Jorge Manrubia
1bb8de8564
Fix tests
2025-09-29 13:13:40 +02:00
Jorge Manrubia
402fe6ca39
No default columns for new collections
...
https://3.basecamp.com/2914079/buckets/37331921/todos/9104429380#__recording_9118363137
2025-09-28 22:04:06 +02:00
Jorge Manrubia
e1f052935a
Add test for triaging cards
2025-09-28 22:02:34 +02:00
Jorge Manrubia
23895e53aa
Add tests for new controllers
2025-09-28 21:11:07 +02:00
Jorge Manrubia
d16e0c942c
Fix test and adjust prompts to reflect the column
2025-09-28 20:49:25 +02:00
Jorge Manrubia
24f1394ca3
Remove workflows code, remove more unused code
2025-09-28 20:39:47 +02:00
Jorge Manrubia
e14262dc01
Fix tests, remove workflow controllers
2025-09-28 18:50:26 +02:00
Jorge Manrubia
b0e62a3a4f
Add default columns when creating a collection
2025-09-28 18:43:23 +02:00
Jorge Manrubia
47eaecae31
Add columns
2025-09-27 08:40:45 +02:00
Jorge Manrubia
67d57cb02a
Make sure column-related methods keep things consistent
2025-09-26 11:33:47 +02:00
Jorge Manrubia
2f6a639682
Prepare entropy code for the new auto postpone approach
2025-09-24 16:22:42 +02:00
Jorge Manrubia
b63a6b3e97
Add postponable concern
2025-09-24 14:37:14 +02:00
Jorge Manrubia
bfe0f5a68b
Fix: missing highlights due to not interpreting timezones right
2025-09-23 13:38:25 +02:00
Mike Dalessio
53ae8a33e3
Improved performance of cleaning inaccessible data
...
ref: https://fizzy.37signals.com/5986089/cards/1865
2025-09-18 15:20:54 -04:00
Jorge Manrubia
90617e8e3d
Rename redundant name
2025-09-17 13:57:07 +02:00
Jorge Manrubia
87c0e3faaa
Merge pull request #1126 from basecamp/notify-system
...
Don´t add system users to collections
2025-09-17 13:32:00 +02:00
Jorge Manrubia
f1d76a7cb7
Exclude inactive users
...
The system user should never be a subsriber but we should not serve it if it is
2025-09-17 13:26:53 +02:00
Stanko K.R.
5710aa724f
Send HTML to campfire instead of JSON
2025-09-17 13:16:00 +02:00
Jason Zimdars
b5d880c063
Merge pull request #1101 from basecamp/involvement-defaults
...
Involvement defaults
2025-09-16 14:16:24 -05:00
Jason Zimdars
1258b0e6e0
Merge pull request #1111 from basecamp/on-deck-entropic
...
Cards in On Deck adopt the same entropy behavior as ones in Doing
2025-09-16 14:15:47 -05:00
Stanko K.R.
dd3063b01d
Simplify delinquency tracking
2025-09-16 20:08:03 +02:00
Stanko K.R.
02a421675f
Scope Webhooks to Collections
2025-09-16 20:07:25 +02:00
Stanko K.R.
1d192c9d42
Ignore low-volume webhooks for delinquency checks
2025-09-16 20:04:20 +02:00
Stanko K.R.
fee25a49ea
Periodically cleanup deliveries
2025-09-16 20:04:20 +02:00
Stanko K.R.
9d77b17b8c
Remove encryption
2025-09-16 20:04:20 +02:00
Stanko K.R.
2fc9215b1d
Add support for Basecamp, Campfire & Slack webhooks
2025-09-16 20:04:20 +02:00
Stanko K.R.
1d69b171b6
Test the abuse prevention logic
2025-09-16 20:04:20 +02:00
Stanko K.R.
0bdbc5f5e8
Add abuse prevention
2025-09-16 20:04:18 +02:00
Stanko K.R.
a515ea3b1f
Create webhooks
2025-09-16 20:03:55 +02:00
Jorge Manrubia
b5a2c4a25e
Tidy up code a bit
2025-09-16 13:18:13 +02:00
Jason Zimdars
f57b6627e7
User needs to be explicity set to watching to receive this notification
2025-09-16 12:58:56 +02:00
Jorge Manrubia
a6eb928688
Fix: update ends_at when flushing bundles
...
If not, it can happen that the bundlers remains in a delivered state
even when it is not covering its window anymore because it has been delivered.
2025-09-16 12:10:06 +02:00
Jorge Manrubia
09325403e5
Add missing test (we were only testing this logic via the bundle test)
2025-09-16 11:22:14 +02:00
Mike Dalessio
d5a4239d19
Rename the queenbee_id and signal_user_id columns
...
to be more generic for the open-source release.
Find the signal account via Account#external_account
Find the signal user via User#external_user
2025-09-15 13:57:53 -04:00
Mike Dalessio
2630e4bd74
Extract 37id and QB controllers, models, and tests
2025-09-13 16:03:02 -04:00
Mike Dalessio
8f39c015ea
Tests now pass with local authentication
...
This is the first step of a multi-step SaaS engine extraction.
Looking ahead to an open source release, we need to make sure that
local authentication is treated as an "official" option, and not just
a hack I added for Kevin to do load testing outside our DC. So this PR
gets to green, and adds a CI step in "local authentication" mode.
This all probably feels a little hacky to you, Reader, but the goal of
this change is to ease the next step, which will be extracting the
37id and Queenbee integrations into a proprietary "SaaS mode" engine.
In service of that goal, this commit simply wraps all of the dependent
code and tests with a conditional check on
`config.x.local_authentication`.
2025-09-13 15:21:00 -04: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
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
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
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
d785f9f80f
Don't show summaries when using filters
2025-09-02 12:20:02 +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