Commit Graph

3570 Commits

Author SHA1 Message Date
Mike Dalessio 36727ba5ea Introduce a separate controller for collection entropy config
which opens the door to rendering turbo frames in the responses to
collection edits.
2025-07-02 17:41:29 -04:00
Mike Dalessio 2377770ef6 Stay on the collection edit page after changing workflow
ref: https://fizzy.37signals.com/5986089/collections/2/cards/852
2025-07-02 16:53:53 -04:00
Mike Dalessio b99b80bc3d Merge pull request #690 from basecamp/flavorjones/cleanup-20250702
Cleanup after moving beta into a datacenter
2025-07-02 15:27:01 -04:00
Mike Dalessio 4537037a4c squash! Remove session controller actions other than delete 2025-07-02 15:23:59 -04:00
Mike Dalessio 7f1b384425 Remove the invitation codes for now
until I circle back for https://3.basecamp.com/2914079/buckets/37331921/todos/8746162337
2025-07-02 15:15:05 -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 c8be7418c1 Account.signal_account is no longer optional 2025-07-02 12:04:26 -04:00
Mike Dalessio da69bd1689 Remove local authentication code 2025-07-02 11:59:21 -04:00
Mike Dalessio 4fafeee4a9 Drop the password column from the users table. 2025-07-02 11:59:14 -04:00
Mike Dalessio 08db57644a Merge pull request #665 from basecamp/flavorjones/path-based-tenanting
Account slug tenanting
2025-07-02 10:52:18 -04:00
Mike Dalessio 84ed83a2c6 Script to create Users for existing 37id accounts
intended for staging
2025-07-01 17:41:54 -04:00
Mike Dalessio 7089fbe0d4 Configure Mission Control to skip tenanted authentication
In 29644ba1 we configured HTTP basic auth to secure it for now.
2025-07-01 15:56:14 -04:00
Mike Dalessio 8e666a5247 Script to update URLs and attachments in cards and comments 2025-07-01 15:56:14 -04:00
Mike Dalessio 9c59a85abd Make sure seeds are creating sluggable tenants 2025-07-01 15:56:14 -04:00
Mike Dalessio 444b7aa69f Script to rename tenants after the QB account id 2025-07-01 15:56:14 -04:00
Mike Dalessio f8cbf51f71 Update the signups tests to work with untenanted paths 2025-07-01 15:56:14 -04:00
Mike Dalessio b8368de002 Update the Command classes to handle paths with account slugs 2025-07-01 15:56:14 -04:00
Mike Dalessio 3d39bdc9f3 Update bin/dev to point at the new tenant URLs 2025-07-01 15:56:14 -04:00
Mike Dalessio 3844dc9ff3 Patch Active Storage controllers to generate slugged URLs
This really only impacts the Disk service in development.

I proposed this upstream in https://github.com/rails/rails/pull/55248,
but it's not clear if the presence of script_name should _always_
prefix generated URLs, so for now it's local to Fizzy.
2025-07-01 15:56:14 -04:00
Mike Dalessio 98e6bd8cd7 Point Action Cable at the slugged cable endpoint
I proposed this upstream in https://github.com/rails/rails/pull/55250,
but it's not clear if the presence of script_name should _always_
prefix generated URLs, so for now it's local to Fizzy.
2025-07-01 15:56:14 -04:00
Mike Dalessio e378c5a45e Extract pieces from the tenanting initializer
into:

- tenanting/account_slug
- tenanting/logging
- tenanting/turbo
2025-07-01 15:56:14 -04:00
Mike Dalessio e68e2eb971 Patch Turbo to use the request script name
so that the URLs generated during view rendering are correct
2025-07-01 15:56:14 -04:00
Mike Dalessio 33d5eccb70 Use the new AR::Tenanted convention for action cable connections 2025-07-01 15:56:14 -04:00
Mike Dalessio f43a5ff22c Use a tenant resolver that recognizes the account slug
and sets the script name accordingly
2025-07-01 15:56:14 -04:00
Mike Dalessio 6905198b66 dep: Use the patched AR::Tenanted branch 2025-07-01 15:56:14 -04:00
Mike Dalessio 5f31e6612b Merge pull request #685 from basecamp/flavorjones/fix-sqlite-backups
SQLiteBackupsJob explicitly uses db_config.database_path
2025-07-01 15:39:45 -04:00
Mike Dalessio fe8b71c2c9 SQLiteBackupsJob explicitly uses db_config.database_path
because using db_config.database will give us the sqlite file URL with
query params, and that's not what we mean.

This should restore nightly backups.
2025-07-01 15:32:13 -04:00
Jorge Manrubia 43ec523eaa Update action text lexical! 2025-07-01 09:58:33 +02:00
Jorge Manrubia c2e1b36d7e Merge pull request #675 from basecamp/command-errors
Show command errors
2025-07-01 09:56:42 +02:00
Jorge Manrubia 50b4f34f34 Copy tweaks 2025-07-01 09:51:11 +02:00
Jorge Manrubia 888923d32b Copy tweaks 2025-07-01 09:50:10 +02:00
Jorge Manrubia 01bda1b529 Merge pull request #672 from basecamp/filter-ignore-diacritics
Convert diacritics to approximations before filtering
2025-07-01 09:46:14 +02:00
Jorge Manrubia a5f5a4ec26 Remove helper not used anymore because lexical handles it
https://github.com/basecamp/actiontext-lexical/pull/18
2025-07-01 09:44:24 +02:00
Jorge Manrubia 2ab322adfe Tidy up code to normalize text, extract text helpers 2025-07-01 09:42:22 +02:00
Mike Dalessio 96408e6088 Merge pull request #683 from basecamp/flavorjones/fix-closed-notifications
Fix notification rendering on card closure events
2025-06-30 23:49:20 -04:00
Mike Dalessio 3156fbd770 Fix notification rendering on card closure events
where the closure no longer exists, possibly due to being
reopened.

Previously, fragment caching generally prevented any problems, but if
the cache is busted for any reason (like Andy did in c7eeb56c), then
the previous logic would raise an exception like "undefined method
'reason' for nil".

So, if the closure no longer exists, let's just note that it was
closed, and by who.
2025-06-30 23:45:53 -04:00
Jason Zimdars fb1ec2ab3a Copy edits 2025-06-30 18:14:48 -05:00
Jason Zimdars ab5d6931de Color the output red, too 2025-06-30 18:14:43 -05:00
Jason Zimdars ffb422ac61 This attribute is no longer needed 2025-06-30 17:31:07 -05:00
Jason Zimdars dec57f1a9a Perform conversion on the client side 2025-06-30 17:30:34 -05:00
Jason Zimdars 3af949edca Merge branch 'main' into filter-ignore-diacritics
* main:
  Clear the comments cache
  Add context for search screens
  Needs changed for both states
  Use lighter icon and update asset
  Add btn--circle class to user edit form
  Organize button variants
  Untangle `avatar btn` crossover styles
  Remove redundant classes and styles for avatars
  Adjust footer line height
  Tweak padding
2025-06-30 17:01:43 -05:00
Andy Smith ec287b2a50 Merge pull request #676 from basecamp/clear-cache
Clear the comments cache
2025-06-30 16:48:12 -05:00
Andy Smith c7eeb56cfa Clear the comments cache 2025-06-30 16:47:08 -05:00
Jorge Manrubia 179ae45bf3 Show command errors
I went with placing htis logic at the command level since it plays well with the composite structure, where you don't know whether you are handling one command or many commands, and you want to aggregate all the errors. I didn't leverage the existing support with rails' model errors because that customizing those message is cumbersome (either i18n or using custom validation logic for everything).
2025-06-30 23:10:39 +02:00
Jorge Manrubia eb3fc208a9 Merge pull request #674 from basecamp/search-context
Make search results screen a "cards context for Fizzy do
2025-06-30 22:15:30 +02:00
Jorge Manrubia 9db96bc4a4 Add context for search screens 2025-06-30 22:13:42 +02:00
Andy Smith 95310da203 Merge pull request #650 from basecamp/misc-polish
Tweak padding
2025-06-30 15:07:41 -05:00
Jason Zimdars f3c3a72887 Needs changed for both states 2025-06-30 15:00:03 -05:00
Jason Zimdars a8e495db36 Merge branch 'update-bookmark-button'
* update-bookmark-button:
  Use lighter icon and update asset
2025-06-30 14:52:10 -05:00
Jason Zimdars 45f2ace71b Use lighter icon and update asset 2025-06-30 14:47:33 -05:00