Commit Graph

6283 Commits

Author SHA1 Message Date
Stanko Krtalić d800b68e74 Merge pull request #1304 from basecamp/magic-links
Magic links
2025-10-31 16:41:12 +01:00
Stanko K.R. 085c7fee2e Fix Rubocop offenses 2025-10-31 16:35:44 +01:00
Stanko K.R. 38244b77eb Use correct assert 2025-10-31 16:33:52 +01:00
Stanko K.R. ba504b05d0 Update schema 2025-10-31 16:31:09 +01:00
Stanko K.R. ece9008459 Remove dead code 2025-10-31 16:28:08 +01:00
Jason Zimdars 475a87a7cb Style account name block 2025-10-31 16:26:56 +01:00
Stanko K.R. 8e298dd81a Mark the form as busy and disable submits on auto-submit 2025-10-31 16:26:08 +01:00
Stanko K.R. dd583206ee Allow changes to the Account name 2025-10-31 16:26:08 +01:00
Stanko K.R. 1b1a17b939 Auto-generate account names 2025-10-31 16:26:08 +01:00
Stanko K.R. 2be8f1bbb2 Replace context with simple join_code 2025-10-31 16:26:08 +01:00
Jason Zimdars 1f58cd11b0 Show busy state when submitting forms 2025-10-31 16:26:08 +01:00
Stanko K.R. 452c6a8373 Rework the email change flow to tie to memberships 2025-10-31 16:26:08 +01:00
Jason Zimdars 8e0efd2f38 Align left
I thought I like these centered by they feel more like back links on the
left (as they are elsewhere in BOXCAR)
2025-10-31 16:26:08 +01:00
Jason Zimdars 21d1942c99 Improve limit field 2025-10-31 16:26:08 +01:00
Stanko Krtalić 98755844a1 Remove the internal API
* Bind sessions to identities
* Remove references to the identity token
* Move email changes to identity
* Move account menu into a turbo-frame
* Create tenants from a tenanted route
2025-10-31 16:26:08 +01:00
Jason Zimdars 440631c790 Style signup and completion 2025-10-31 16:26:08 +01:00
Jason Zimdars 5652e5699f Update design, logo, and copy 2025-10-31 16:26:08 +01:00
Mike Dalessio a429f05503 Fix logo references 2025-10-31 16:26:08 +01:00
Stanko K.R. 201c3e27d3 Update tests for the Internal API 2025-10-31 16:26:08 +01:00
Jason Zimdars 95dc6dc2ed Update mailer copy 2025-10-31 16:25:57 +01:00
Jason Zimdars 3e2c314d9e Add a preview for this mailer 2025-10-31 16:25:57 +01:00
Jason Zimdars cb56e300d0 Style email change flow screens 2025-10-31 16:25:57 +01:00
Jason Zimdars bea3330681 Clean up inconsistencies
- Fix differences between show and edit views
- Style email input/link
2025-10-31 16:25:57 +01:00
Jason Zimdars c0b4205b3c Fix missing images 2025-10-31 16:24:30 +01:00
Stanko K.R. 79b012f319 Add Join Codes 2025-10-31 16:24:30 +01:00
Jason Zimdars 5a0ddbad3d Style invite link flow 2025-10-31 16:24:30 +01:00
Jason Zimdars e3f0c2da04 Link to invite from the account screen 2025-10-31 16:24:30 +01:00
Jason Zimdars ecc023829d Link to invite from the menu 2025-10-31 16:24:30 +01:00
Stanko K.R. c8843360fe Clean up and simplify magic links 2025-10-31 16:23:38 +01:00
Jason Zimdars 575578245f Copy and style improvements to mailer 2025-10-31 16:22:12 +01:00
Jason Zimdars b5a76bc537 Use the correct method 2025-10-31 16:22:12 +01:00
Jason Zimdars eac5e1bef9 Bring back the shake effect if you get it wrong, bring back placeholder 2025-10-31 16:22:12 +01:00
Jason Zimdars 0e064fbcd5 Style code input 2025-10-31 16:22:12 +01:00
Jason Zimdars 6ae20f9a9b Style account menu 2025-10-31 16:22:12 +01:00
Jason Zimdars 193d8bd9b5 Style email and magic link code screens 2025-10-31 16:22:12 +01:00
Stanko K.R. 5cef4ffeb0 Add sign in flow using magic links 2025-10-31 16:22:12 +01:00
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
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