* main: (22 commits)
Fix that stage should be visible above card background
Indicate opens menu
Hide dialog targets from screen readers when closed
Mark up as heading for screen reader navigation
Copy for screen readers
Don't hide the input so it's accessible to screen readers
Point skip links to correct anchor, don't navigate with turbo
There aren't any `li` children so just use `div`
Use headings for screen reader navigation
Use `h3` for individual cards in collection view
Make collection title `h1` for screen reader navigation
Esc should not propagate when closing dialogs
squash! Remove session controller actions other than delete
Screen reader: Use heading for comments navigation
Remove the invitation codes for now
Remove session controller actions other than delete
Correct label for field
Style
Screen reader: De-duplicate links for each person in account settings
Account.signal_account is no longer optional
...
* main:
squash! Remove session controller actions other than delete
Remove the invitation codes for now
Remove session controller actions other than delete
Account.signal_account is no longer optional
Remove local authentication code
Drop the password column from the users table.
* main:
Script to create Users for existing 37id accounts
Configure Mission Control to skip tenanted authentication
Script to update URLs and attachments in cards and comments
Make sure seeds are creating sluggable tenants
Script to rename tenants after the QB account id
Update the signups tests to work with untenanted paths
Update the Command classes to handle paths with account slugs
Update bin/dev to point at the new tenant URLs
Patch Active Storage controllers to generate slugged URLs
Point Action Cable at the slugged cable endpoint
Extract pieces from the tenanting initializer
Patch Turbo to use the request script name
Use the new AR::Tenanted convention for action cable connections
Use a tenant resolver that recognizes the account slug
dep: Use the patched AR::Tenanted branch
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.
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.
* 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
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).