Commit Graph

788 Commits

Author SHA1 Message Date
Jorge Manrubia 0666e504d6 Assign postpone_by to system when auto-cleaning 2025-10-15 15:08:41 +02:00
Jorge Manrubia 634270a1e8 Merge main into now-now-stamp and resolve schema conflicts 2025-10-15 14:05:27 +02:00
Jorge Manrubia acdc7706ce Add not now and closed as status filters
https://fizzy.37signals.com/5986089/cards/2342
2025-10-15 13:59:50 +02:00
Jorge Manrubia 9263cff3d5 Store and show the user that postpones cards 2025-10-15 13:44:49 +02:00
Mike Dalessio 71103400d6 Make sure the schema and schema cache are consistent with reality
There has been a bit of drift between actual schemas in production and
what's implied by the migrations.

And fixed some tests that were relying on everyone always watching.

ref: https://fizzy.37signals.com/5986089/cards/2322
2025-10-14 17:38:08 -04:00
Mike Dalessio 3399e45130 Introduce an "Identity" model to ease login
- New untenanted Identity and Membership models
- New `identity_token` cookie with path "/" holds state across tenants

We're not sure whether the untenanted database will be sqlite or
MySQL, and so I've been careful to minimize

- database reads, placing them behind etags and caching
- database writes, only writing when a new Session is created (login)

Note that we track two things in the identity_token cookie: a signed
id, and the updated_at for the underlying Identity object. This allows
us to effectively cache on the Identity without having to hit the
database, by using an Identity::Mock object that is compatible with
etag and cache methods.

The new integration test shows the desired user-facing behavior, which
is to make it easy to login without a tenanted URL and to jump between
tenants.

- the untenanted "login_help" page shows all linked memberships
- the jump menu shows all linked memberships (except the current)

Also introduced a utility script to populate existing employee
Identities, grouping accounts by email address.
2025-10-10 10:12:25 -04:00
Jorge Manrubia 7cb575b329 Exclude drafts from filtered cards 2025-10-07 10:32:10 +02:00
Jorge Manrubia 72ca4616b1 Update VCR fixtures 2025-10-07 08:34:08 +02:00
Mike Dalessio ffe9fdb099 test: assert on the redirect in the login helper
which can help diagnose more subtle Rails errors like in https://github.com/basecamp/activerecord-tenanted/issues/210
2025-10-06 17:00:36 -04:00
Jorge Manrubia 6073f79191 Invalidate cards when watching/unwatching
Follow up to https://fizzy.37signals.com/5986089/cards/2198
2025-10-06 16:13:33 +02:00
Jorge Manrubia c846221208 Invalidate cards when watchers change 2025-10-06 15:44:12 +02:00
Jorge Manrubia 69be750eb9 Remove vcr record 2025-10-06 15:20:46 +02:00
Jorge Manrubia 969d971616 Use a more consistent approach to highligts dates 2025-10-06 15:17:28 +02:00
Jorge Manrubia 38116f64e4 Higher fidelity for watching/unwatching cards 2025-10-06 10:48:31 +02:00
Mike Dalessio c1a66e5ecb test: Make sure tests pass on the weekend 2025-10-04 14:37:06 -04:00
Mike Dalessio f26b0b7256 Rename accounts.tenant_id to external_account_id
and simplify the params to Account.create_with_admin_user
2025-10-03 17:21:01 -04:00
Mike Dalessio 48783824ee Fix some small things related to accounts 2025-10-03 16:55:00 -04:00
Mike Dalessio 8e0cb930af Delete SignalId concerns from the codebase
including Signup for now, will rebuild it with just QB
2025-10-03 14:06:51 -04:00
Jorge Manrubia 6a0423bed3 Rename test 2025-10-03 19:06:45 +02:00
Jorge Manrubia 5e09944606 Separate card and collection watchers
https://fizzy.37signals.com/5986089/cards/375
2025-10-03 19:04:01 +02:00
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
Mike Dalessio 2d327e6294 Render a helpful menu of tenants temporarily 2025-10-02 16:33:25 -04:00
Mike Dalessio 47370084d2 Remove code related to Launchpad auth or 37id Users 2025-10-02 16:33:23 -04:00
Stanko K.R. 9ddfe4d803 Fix production Basecamp webhook format 2025-10-01 14:44:36 +02:00
Jorge Manrubia 1b6b82a6cc Redirect to cards when searching by card id 2025-09-30 13:52:27 +02:00
Jorge Manrubia 94b5e39281 Generate VCR fixtures
There is probably something to fix here
2025-09-30 06:40:17 +02:00
Jorge Manrubia 48d4a65c7d Fix test 2025-09-29 17:48:29 +02:00
Jorge Manrubia fa4106c13e Fix test 2025-09-29 17:45: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 f7f4aa6eaf Add more controller tests 2025-09-28 22:02:01 +02:00
Jorge Manrubia 23895e53aa Add tests for new controllers 2025-09-28 21:11:07 +02:00
Jorge Manrubia 5a4cef98c9 Fix tests 2025-09-28 20:50:11 +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 0b0fb57e58 Fix tests 2025-09-28 20:31:41 +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 1b39e0b45e Format 2025-09-28 11:18:54 +02:00
Jorge Manrubia 47eaecae31 Add columns 2025-09-27 08:40:45 +02:00
Jorge Manrubia d7ef9749c0 Remove old drop controller 2025-09-26 12:33:29 +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 f1da9a6c5f Adapt fixtures to the new models 2025-09-24 14:09:41 +02:00
Jorge Manrubia bfe0f5a68b Fix: missing highlights due to not interpreting timezones right 2025-09-23 13:38:25 +02:00
Jorge Manrubia de60b198bd Fix tests 2025-09-19 16:52:13 +02:00