Commit Graph

7496 Commits

Author SHA1 Message Date
Mike Dalessio 1277cc065b Introduce untenanted Identity and Membership models
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.

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.
2025-10-31 16:22:12 +01:00
David Heinemeier Hansson 4c851e2756 Fix-up population script and take it to 10K cards 2025-10-31 15:47:53 +01:00
David Heinemeier Hansson 13113d75c2 Spacing 2025-10-31 15:37:14 +01:00
Jorge Manrubia 11e872eb69 Format 2025-10-31 14:57:28 +01:00
Jorge Manrubia de6305e164 Merge pull request #1432 from basecamp/stream-changes
Improve the system to subscribe to page changes via turbo streams
2025-10-31 13:02:44 +01:00
Jorge Manrubia 9437f33031 Merge pull request #1433 from basecamp/my-menu-org
Reorganize the main menu templates
2025-10-31 13:02:34 +01:00
Jorge Manrubia d798c79abf Rename custom to saved_filter 2025-10-31 12:59:58 +01:00
Jorge Manrubia dd726a61c1 Use relative paths 2025-10-31 12:51:49 +01:00
Jorge Manrubia a5016ba854 Reorganize the main menu templates
The filter folder wasn't a good spot for this menu code anymore
2025-10-31 12:47:56 +01:00
Jorge Manrubia 1a78de6f71 Fixes for refresh stream subscriptions
This will make the system listen for changes via the filtered
collections, when any, or via all the collections otherwise.
2025-10-31 12:25:05 +01:00
Jorge Manrubia 958deab2c7 Fix: problem with notifications not dismissing due to HTTP caching
The problem was related to tying the invalidation to the association of unread notifications. Its
cache key can remain constant as you read old notifications.

https://app.box-car.com/5986089/cards/2620/edit
2025-10-31 11:34:42 +01:00
Jorge Manrubia 2a083bd82f Fix typo 2025-10-31 11:09:41 +01:00
Jorge Manrubia 02eb5daf88 Merge pull request #1429 from basecamp/card-cache-tweaks
Caching code tweaks
2025-10-31 11:01:11 +01:00
Jorge Manrubia 3ee4eb731a Comment 2025-10-31 11:00:19 +01:00
Jorge Manrubia eb449c7315 Invalidate cache for right/left-most columns so that the menu get invalidated when the adjacent situation changes 2025-10-31 10:58:33 +01:00
Jorge Manrubia 19b286180f Rename method 2025-10-31 10:41:22 +01:00
Jorge Manrubia f437159da0 Reorder 2025-10-31 10:41:22 +01:00
Jorge Manrubia 214b465da1 This method should be private 2025-10-31 10:41:22 +01:00
Jorge Manrubia 272388918b No need for this helper anymore 2025-10-31 10:41:22 +01:00
Jorge Manrubia 12d461f8d1 Use last_active_at column for sorting since we are now touching updated_at for invalidating 2025-10-31 10:41:20 +01:00
Jorge Manrubia 3c8c4abc17 Invalidate cards when entropy configuration changes 2025-10-31 10:40:45 +01:00
Jorge Manrubia 3a9af623ef Leave etag as it was 2025-10-31 10:40:45 +01:00
Jorge Manrubia 75b18d8b3b Touch cards when column is destroyed too 2025-10-31 10:40:45 +01:00
Jorge Manrubia 6cfc0978a4 Columns touch the cards when the name/color changes 2025-10-31 10:40:45 +01:00
Jorge Manrubia ae4a07f843 Collections touch the cards when the name changes 2025-10-31 10:40:45 +01:00
Jorge Manrubia d0c33b8550 Add http caching for the new columns/edit card resource 2025-10-31 10:40:45 +01:00
Jorge Manrubia be6708065e No need to invalidate cache on columns since we load those with turbo frame now 2025-10-31 10:40:44 +01:00
Jorge Manrubia f0c5285fb0 Move column editing to stream so that we can remove the invalidation concern 2025-10-31 10:40:28 +01:00
Jorge Manrubia 1d12ecc65b Scope collections to column 2025-10-31 10:40:28 +01:00
Jorge Manrubia b0e5a5ccb5 Some fixes for HTTP caching not being invalidated properly 2025-10-31 10:40:26 +01:00
Jorge Manrubia 108d7b2835 Rename collection to cards since this is a regular partial now 2025-10-31 10:39:53 +01:00
Jorge Manrubia 12545dac80 Extract common partials 2025-10-31 10:39:53 +01:00
Jorge Manrubia 7421f18c11 Format 2025-10-31 10:39:53 +01:00
Jorge Manrubia 176b8ad3b5 Move caching to collection rendering 2025-10-31 10:39:51 +01:00
Jorge Manrubia 2a79cb413e Remove cacheable concern, inline cache helper 2025-10-31 10:38:52 +01:00
Jorge Manrubia c1936abed9 Reuse concern 2025-10-31 10:37:36 +01:00
Jorge Manrubia e8630159ab Not need to cache on the associations since we load those via turbo frames in the perma now 2025-10-31 10:37:36 +01:00
Jorge Manrubia bcac3fad10 Move perma collection picker to turbo frame 2025-10-31 10:37:36 +01:00
Jason Zimdars 89ca92fc52 Merge pull request #1431 from basecamp/jz/10-30-25-pm
JZ 10/30/25 pm
2025-10-30 17:22:15 -05:00
Jason Zimdars 07d74d987d Typo 2025-10-30 17:21:06 -05:00
Jason Zimdars 8c4d3fd700 Don't try to orient these
We need to figure out how to handle the assignment popup when it's close
to the bottom of the screen but this isn't doing it
2025-10-30 17:11:22 -05:00
Jason Zimdars e83816d69c Merge pull request #1430 from basecamp/jz/10-30-25
JZ 10/30/25
2025-10-30 14:10:20 -05:00
Jason Zimdars 88867e4345 Merge branch 'main' into jz/10-30-25 2025-10-30 14:03:21 -05:00
Jason Zimdars 4ecf81cd32 Resize dialogs to fit viewport 2025-10-30 14:00:56 -05:00
Jason Zimdars ec620f98a6 Need to opt-out of orient-top if there isn't space above 2025-10-30 13:57:20 -05:00
Jason Zimdars 4c7578c782 Need to reset both inline values or the tooltip gets squished 2025-10-30 13:50:21 -05:00
Jason Zimdars 2c04199277 No longer used
And hilariously was unintentionally renamed when we went from 'pop' to
'closure'
2025-10-30 12:36:15 -05:00
Jason Zimdars 48fd1f3502 Use debounced submit to prevent duplicate submissions 2025-10-30 12:16:35 -05:00
Jason Zimdars 8d0041f6b9 Add a busy state for form buttons 2025-10-30 12:05:27 -05:00
Jason Zimdars cba945104a Make it harder to deselect yourself 2025-10-30 11:49:27 -05:00