Jorge Manrubia
4e09352c09
Bring simple signup flow from the fizzy-saas gem
...
We skip the QB code and we fill external account ids automatically on creation with a sequence
See:
https://github.com/basecamp/fizzy-saas/pull/7
2025-11-28 15:53:58 +01:00
Jason Zimdars
13dce732b2
Fussy punctuation
2025-11-17 17:01:08 -06:00
Jason Fried
8534584052
Small copy adjustment on the new or sign in screen.
2025-11-17 13:14:12 -08:00
Mike Dalessio
6a3135b67a
Introduce a simple stimulus controller for the magic link form
...
which avoids the double-submit problem from:
- https://app.fizzy.do/5986089/cards/2980
- https://app.fizzy.do/5986089/cards/2771
2025-11-17 14:48:20 -05:00
Stanko K.R.
8fa9566c07
Update sign up
2025-11-17 09:12:40 -05:00
Stanko K.R.
edf837fed3
Drop memberships
2025-11-17 09:12:39 -05:00
Mike Dalessio
d41d50d52b
Account.sole → Current.account
...
and some other de-tenant changes, including removing the controller
tenanting concerns
2025-11-17 09:11:40 -05:00
Jason Zimdars
5668612287
Add icon to public footer
2025-11-12 09:31:06 -06:00
Jason Zimdars
776a8e3c0a
Typo
2025-11-11 16:08:27 -06:00
Jason Zimdars
bdde877de3
Apply the new hotkey and style to all back buttons
...
Also updates design for email address change screens
2025-11-11 15:13:30 -06:00
Jason Zimdars
90967374d3
Add ™ for Fizzy and 37signals
2025-11-11 14:18:46 -06:00
Jason Zimdars
1190ae101d
Ensure sign-in screens adapt on mobile
2025-11-11 14:14:49 -06:00
Jason Zimdars
df02f48007
Update support email, fine-tune attribution lines
2025-11-10 13:43:35 -06:00
David Heinemeier Hansson
fef9c2dab6
turbo_frame_tag has built-in dom_id expansion
2025-11-08 16:42:41 +01:00
Jason Zimdars
e7646fab96
More copy and design edits
2025-11-07 07:08:24 +01:00
Stanko K.R.
bbe74966a1
Extract saas helpers into a concern
2025-11-07 07:08:24 +01:00
Jason Zimdars
2fee728392
Copy and design
2025-11-07 07:08:24 +01:00
Jason Zimdars
7a58c23e55
Copy edits for unified flow
2025-11-07 07:06:28 +01:00
Mike Dalessio
d6db4c930b
Print the magic link code in the console in development
2025-11-06 14:51:25 -05:00
Jason Zimdars
aaa24074f3
Fix magic link code input
...
Fix that paste action didn't work and hitting `enter` caused the form to
post twice
2025-11-04 13:18:14 -06:00
Jorge Manrubia
2bb90eab13
Use the sole collection as the root for a better onboarding experience for new accounts
2025-11-04 17:09:35 +01:00
Kevin McConnell
4146dc2b92
Disable Turbo prefetch on signup link
...
This is because we have basic auth enabled there, so prefetching will
trigger the popup.
2025-11-04 12:51:41 +00:00
Jason Zimdars
7d154b682e
Rename 'BOXCAR' to 'Fizzy'
...
Missed files
2025-11-03 16:30:44 -06:00
Jason Zimdars
1f58cd11b0
Show busy state when submitting forms
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
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
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
Stanko K.R.
c8843360fe
Clean up and simplify magic links
2025-10-31 16:23:38 +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
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
Jason Zimdars
f5384baf63
Boxcar -> BOXCAR
2025-10-23 15:05:36 -07:00
Jason Zimdars
49e87310d7
Rename Fizzy, Boxcar
2025-10-22 13:42:41 -07:00
Mike Dalessio
ec119b774a
Remove the caching around Identity-related fragments
...
The Identity table read should be OK given the menu is etagged
and the untenanted page should be a rarity.
2025-10-10 11:53:36 -04:00
Mike Dalessio
b7abf33c29
Bump identity cache fragments
2025-10-10 11:08:39 -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
Mike Dalessio
2d327e6294
Render a helpful menu of tenants temporarily
2025-10-02 16:33:25 -04:00
Mike Dalessio
2630e4bd74
Extract 37id and QB controllers, models, and tests
2025-09-13 16:03:02 -04:00
Mike Dalessio
57269b1b9c
Allow local authentication with LOCAL_AUTHENTICATION=1
...
You can touch `tmp/local-auth.txt` to persist this setting.
2025-08-06 17:05:35 -04:00
Mike Dalessio
fa1c5f7279
Remove session controller actions other than delete
...
and do some general cleanup around sessions controllers and the
sign_in_as test helper
2025-07-02 15:03:28 -04:00
Mike Dalessio
2c18173f08
Trampoline the Launchpad auth redirect from a GET into a POST
...
to always route it to the writer.
2025-06-20 15:16:57 -04:00
Jason Zimdars
60890b10ee
Remove translations feature
2025-04-09 14:11:32 -05:00
Andy Smith
51d907fca3
Replace stray image_tag instances and remove colorize class
2025-04-02 14:32:21 -05:00
David Heinemeier Hansson
de6f782ca3
Extract icon_tag helper to reduce repetition
2025-03-29 17:22:51 +01:00