Commit Graph

1197 Commits

Author SHA1 Message Date
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
Jason Zimdars fcba8b6acb Add column color to cache keys
So cards change colors when you change the column color
2025-10-08 17:08:32 -05:00
Jorge Manrubia 1d1a3da9cf Cleanup workflow/stages
This was pending after moving to columns
2025-10-07 11:10:10 +02:00
Jorge Manrubia 7cb575b329 Exclude drafts from filtered cards 2025-10-07 10:32:10 +02:00
Jorge Manrubia e7db336a84 Use new method to fetch collection watchers 2025-10-07 08:33:14 +02:00
Mike Dalessio 3df6683736 Fix filter title when there's only one Collection in the account 2025-10-07 00:04:38 -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 6b0bca2475 Reduce size further since sometimes you get truncated summaries 2025-10-06 15:17:28 +02:00
Jorge Manrubia 969d971616 Use a more consistent approach to highligts dates 2025-10-06 15:17:28 +02:00
Jorge Manrubia e6750bfccd Remove hanging } 2025-10-06 14:58:32 +02:00
Jorge Manrubia 328b488d3d Remove trace 2025-10-06 12:47:27 +02:00
Jorge Manrubia 7178945418 Reduce max length 2025-10-06 12:44:24 +02:00
Jorge Manrubia 4e5edef4df Invalidate cache when there are higlights 2025-10-06 12:43:05 +02:00
Jorge Manrubia 3e67da7d0e Add a new join model to link summaries with users
So that changing the set of events does not result in not being able to find a generated highlight summary
2025-10-06 12:33:28 +02:00
Mike Dalessio 5c706e7888 Merge pull request #1233 from basecamp/flavorjones/small-account-fixes
Rename account column, small account-related fixes
2025-10-03 17:25:54 -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
Jason Zimdars d591166f01 Merge pull request #1212 from basecamp/column-perma
Column perma
2025-10-03 16:09:42 -05: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 5e09944606 Separate card and collection watchers
https://fizzy.37signals.com/5986089/cards/375
2025-10-03 19:04:01 +02:00
Jorge Manrubia 7eb99c308c Fix: watchers list not updating due to caching
https://fizzy.37signals.com/5986089/cards/2157/edit
2025-10-03 16:56:39 +02:00
Jorge Manrubia e31ce965e6 Make sure you don't reopen cards 2025-10-03 16:36:09 +02:00
Jorge Manrubia 1dfb871c44 Don handle collection change on creation 2025-10-03 16:26:23 +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
Jorge Manrubia 4527dcbeda Remove unnecessary filtering code
After removing collections from the filtering menu, there was quite a good cleanup here pending
2025-10-03 10:56:34 +02:00
Mike Dalessio 9bed917b49 Merge pull request #1216 from basecamp/flavorjones/local-authentication
Standalone authentication: step 1
2025-10-02 17:33:56 -04:00
Mike Dalessio fcd3c178ce Account#slug uses the virtual "tenant" attribute 2025-10-02 16:44:24 -04:00
Jorge Manrubia 08c6a38492 Remove falling back status that we don't support anymore 2025-10-02 10:30:14 +02:00
Jason Zimdars 7e43cc3ab4 Stub collections filter UI 2025-10-01 15:38:32 -05:00
Jorge Manrubia eec9bf2cbe Touch colections when creating columns 2025-10-01 16:15:14 +02:00
Stanko K.R. 9ddfe4d803 Fix production Basecamp webhook format 2025-10-01 14:44:36 +02:00
Mike Dalessio 0213140a7c Update User so that it can be cleanly destroyed
- Delete unused dependent-destroy associations
- Include watchers as a dependent-destroy
2025-09-30 14:44:38 -04:00
Jorge Manrubia c95bdf0dc7 Add some basic caching for the new columns approach 2025-09-29 15:09:38 +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 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 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 4e05992e54 triaging should make sure the card gets resumed 2025-09-26 19:39:34 +02:00
Jorge Manrubia 5ee93fea5e Drop into the done column 2025-09-26 13:01:29 +02:00
Jorge Manrubia 57b00b6402 Drop into the stream working 2025-09-26 12:47:12 +02:00
Jorge Manrubia 67d57cb02a Make sure column-related methods keep things consistent 2025-09-26 11:33:47 +02:00
Jorge Manrubia 20dd87b2bf Add add card button to the collection perma 2025-09-26 11:28:58 +02:00
Jorge Manrubia 028e15cfca Rename 2025-09-26 11:17:20 +02:00
Jorge Manrubia aa9d7664ef Move cards to different columns from the perma 2025-09-26 11:14:02 +02:00
Jorge Manrubia 26e5e6ae9e Render a collection resource (WIP) 2025-09-25 16:12:17 +02:00
Jorge Manrubia 613f4b0110 Introduce triaging vocabulary 2025-09-24 16:35:16 +02:00