Commit Graph

453 Commits

Author SHA1 Message Date
Jorge Manrubia 4daeb2a33b Make sure we clear the column when moving cards to another collection
Or it will be become not accessible
2025-10-03 16:19:42 +02:00
Mike Dalessio fcd3c178ce Account#slug uses the virtual "tenant" attribute 2025-10-02 16:44:24 -04:00
Mike Dalessio 320558919c Rename LOCAL_AUTHENTICATION to OSS_CONFIG 2025-10-02 16:44:24 -04:00
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