208 Commits

Author SHA1 Message Date
Mike Dalessio d0215e9fd2 Introduce untenanted Identity and Membership models
and a script to populate these tables for existing 37id users
2025-10-31 16:22:12 +01:00
Jorge Manrubia 7a1dde1a81 Add tests 2025-10-29 16:41:04 +01:00
Jorge Manrubia 9317a82570 Remove Fizzy Ask
Since we are not going to ship it
2025-10-27 14:45:30 +01:00
Jason Zimdars da413e7540 Remove closure reasons 2025-10-15 16:15:56 -05:00
Jorge Manrubia 7cb575b329 Exclude drafts from filtered cards 2025-10-07 10:32:10 +02:00
Mike Dalessio 48783824ee Fix some small things related to accounts 2025-10-03 16:55:00 -04:00
Mike Dalessio 47370084d2 Remove code related to Launchpad auth or 37id Users 2025-10-02 16:33:23 -04:00
Jorge Manrubia 1bb8de8564 Fix tests 2025-09-29 13:13:40 +02:00
Jorge Manrubia e1f052935a Add test for triaging cards 2025-09-28 22:02:34 +02:00
Jorge Manrubia 2f6a639682 Prepare entropy code for the new auto postpone approach 2025-09-24 16:22:42 +02:00
Jorge Manrubia f1da9a6c5f Adapt fixtures to the new models 2025-09-24 14:09:41 +02: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. 9d77b17b8c Remove encryption 2025-09-16 20:04:20 +02:00
Stanko K.R. 680a69ad29 Add tests for webhooks controllers 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. 9cfd1e43af Enable subscribing to specific actions 2025-09-16 20:03:57 +02:00
Stanko K.R. a515ea3b1f Create webhooks 2025-09-16 20:03:55 +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
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 853a75a54f Rename "cost_microcents" => "cost_in_microcents" 2025-08-27 09:38:23 +02:00
Stanko K.R. abad369c6a Introduce a Quota and Money object 2025-08-25 10:29:00 +02:00
Jorge Manrubia c8569ce8b9 Split indexed_by into two filters: indexed by and sort by
https://3.basecamp.com/2914079/buckets/37331921/todos/8877489555#__recording_8987808963
2025-08-21 19:12:54 +02:00
Jorge Manrubia fa82dc0384 Remove code related to Fizzy Do /command support and filtering
https://3.basecamp.com/2914079/buckets/37331921/messages/8961776532
2025-08-18 13:41:20 +02:00
Stanko K.R. db4415d6c7 Add tests for conversations and messages 2025-08-13 15:14:12 +02:00
Stanko K.R. 09739fdba4 Add tests for the Conversation object 2025-08-13 15:14:12 +02:00
Stanko K.R. 13eeb8574d Add the ask command 2025-08-13 15:14:12 +02:00
Jorge Manrubia 919211244b Review the code to move cards
- Scope accessed records
- Keep consistency by moving events too
2025-07-04 19:56:48 +02:00
Mike Dalessio a8a64a2384 Link the seeds up to the signal_id fixture data 2025-06-20 15:16:57 -04:00
Mike Dalessio 0da5f8101e User belongs to Signal::User 2025-06-20 15:16:56 -04:00
Mike Dalessio 192c6036bc Account belongs to Signal::Account 2025-06-20 15:16:56 -04:00
Jorge Manrubia 310b8ad4e9 Make sure we only detect activity spikes when we should
The detection logic wasn't really working before
2025-06-05 15:49:27 +02:00
Jorge Manrubia 75ce06733a Review entropy tests to include the new behavior and settings 2025-06-04 12:45:04 +02:00
Jorge Manrubia 2ee857a4d2 Add fixture for account entropy configurations 2025-06-04 11:36:47 +02:00
Jorge Manrubia 91787a3523 Revamp entropy configuraiton
- Move both settings to its dedicated model entropy configuration
- A collection can have an entropy configuration, or will default to the account if not
2025-06-04 10:41:08 +02:00
Jason Zimdars 922122538a Test granting access 2025-05-29 22:09:33 -05:00
Jorge Manrubia fa04016cbe Revert "Revert "Replace House with Lexical"" 2025-05-29 14:25:16 +02:00
Jorge Manrubia 08d8b2e5ff Revert "Replace House with Lexical" 2025-05-29 14:22:27 +02:00
Jorge Manrubia ecf82d8703 Make tests pass with action text 2025-05-29 12:37:16 +02:00
Jorge Manrubia 10b2aad647 Replace House with lexical-powered actiontext 2025-05-23 11:41:08 +02:00
Jorge Manrubia 37bf992d67 Add controller tests for undo 2025-05-06 15:17:57 +02:00
Jorge Manrubia 2b98db9e66 Flatten out comments and messages
https://37s.fizzy.37signals.com/collections/693169850/cards/999008989#comment_994777841
2025-04-29 19:21:18 +02:00
Jorge Manrubia f12970c697 We're using seconds now 2025-04-25 22:55:42 +02:00
Jorge Manrubia e90b062440 Configure the autoclose period at the collection level 2025-04-25 13:29:16 +02:00
Jorge Manrubia 905ccb9b4b Make comments the event's host 2025-04-24 13:45:48 +02:00