Commit Graph

298 Commits

Author SHA1 Message Date
Stanko K.R. cfdd7ab1cb Prohibit duplicate memberships 2025-11-05 11:57:40 +01:00
Jorge Manrubia 10d14b5774 Don't choke when no collections 2025-11-05 08:31:42 +01:00
Mike Dalessio 739d77e0c6 Only include active users in Lexxy prompts
Specifically, exclude users that are inactive or with role "system".

ref: https://app.fizzy.do/5986089/cards/2760
ref: https://app.fizzy.do/5986089/cards/2789
2025-11-04 18:48:59 -05:00
Stanko K.R. 875515b51d Skip the menu screen if there is just one account 2025-11-04 17:52:31 +01: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
Stanko K.R. 5f26690aa1 Redirect to the account you joined after sign in 2025-11-04 07:20:16 +01:00
Jorge Manrubia 8aead31200 Fix: mark all as read wasn't refreshing in the notifications screen 2025-11-04 06:12:30 +01:00
Jorge Manrubia 24da4066b7 Refresh the full meta area so that the assignee name gets updated too 2025-11-03 16:11:53 +01:00
Jorge Manrubia 00818697ef Use page refreshes with morphing to avoid flickering
Replacing the card container will reload the frame. Also, see
https://github.com/basecamp/fizzy/commit/5b70320a6b64adf2d1e0be4bd7dc221a5ba80c95
2025-11-03 16:11:53 +01:00
David Heinemeier Hansson c25fcc087a Test avatars controller 2025-11-03 14:21:53 +01:00
Jorge Manrubia da6d1011fd Replace card replacement with stream actions to prevent flickering when managing steps 2025-11-03 10:59:24 +01:00
Jorge Manrubia 9d4dd3b00e Remove "save as draft"
Removes the creating status completely as well as the abandoned cards system. It will
always resume drafts if they exist, for a given collection and user.

https://app.box-car.com/5986089/cards/2489
2025-11-03 09:32:29 +01:00
Jorge Manrubia ebe1617f42 Format 2025-11-03 09:29:43 +01:00
David Heinemeier Hansson e4cdc15b6a Fix tests 2025-11-02 20:25:11 +01:00
David Heinemeier Hansson 43069b1ea4 Extract Users::JoinsController from overloaded UsersController
Good code smell is when the before_action callbacks stack up but can't
be shared across actions
2025-11-02 17:49:25 +01:00
David Heinemeier Hansson bced7405df Extract events loading from overloaded UsersController 2025-11-02 17:31:28 +01:00
David Heinemeier Hansson 76c87f6b67 Test updating account settings 2025-11-02 16:04:51 +01:00
David Heinemeier Hansson c834cce504 Simplify join code creation and validation and test controller
cc @monorkin
2025-11-02 15:58:33 +01:00
David Heinemeier Hansson b3474ec97d Rename Entropy::Configuration to just Entropy 2025-11-02 13:11:41 +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
Stanko K.R. 79b012f319 Add Join Codes 2025-10-31 16:24:30 +01:00
Stanko K.R. 5cef4ffeb0 Add sign in flow using magic links 2025-10-31 16:22:12 +01:00
David Heinemeier Hansson 6c15610fb3 Fix test 2025-10-30 15:56:12 +01:00
Jorge Manrubia 9d548e77ef Merge pull request #1418 from basecamp/sort-columns
Sort columns
2025-10-30 08:39:53 +01:00
Jason Zimdars a8fc78fa90 Update tests 2025-10-29 11:23:13 -05:00
Jorge Manrubia 7a1dde1a81 Add tests 2025-10-29 16:41:04 +01:00
Jorge Manrubia aa1ffb3357 Remove AI summaries and semantic searches
We were not using either. We can restore if we revisit.
2025-10-29 11:55:32 +01:00
Jorge Manrubia 9317a82570 Remove Fizzy Ask
Since we are not going to ship it
2025-10-27 14:45:30 +01:00
Jorge Manrubia d6c7fb2084 Remove unused constants / controller
This came from the previous 3-column times
2025-10-25 18:50:37 +02:00
Jason Zimdars f5384baf63 Boxcar -> BOXCAR 2025-10-23 15:05:36 -07:00
Jason Zimdars 1c8a9fdc67 Update tests 2025-10-23 07:54:46 -07:00
Jason Zimdars 47042602de Update tests 2025-10-22 14:13:06 -07:00
Jason Zimdars f7c5996bec Update test 2025-10-16 20:20:56 -05:00
Jason Zimdars da413e7540 Remove closure reasons 2025-10-15 16:15:56 -05: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 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 38116f64e4 Higher fidelity for watching/unwatching cards 2025-10-06 10:48:31 +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
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
Jorge Manrubia 1b6b82a6cc Redirect to cards when searching by card id 2025-09-30 13:52:27 +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 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 1b39e0b45e Format 2025-09-28 11:18:54 +02:00
Jorge Manrubia d7ef9749c0 Remove old drop controller 2025-09-26 12:33:29 +02:00
Jorge Manrubia 2f6a639682 Prepare entropy code for the new auto postpone approach 2025-09-24 16:22:42 +02:00
Jorge Manrubia de60b198bd Fix tests 2025-09-19 16:52:13 +02:00