This is the first step of a multi-step SaaS engine extraction.
Looking ahead to an open source release, we need to make sure that
local authentication is treated as an "official" option, and not just
a hack I added for Kevin to do load testing outside our DC. So this PR
gets to green, and adds a CI step in "local authentication" mode.
This all probably feels a little hacky to you, Reader, but the goal of
this change is to ease the next step, which will be extracting the
37id and Queenbee integrations into a proprietary "SaaS mode" engine.
In service of that goal, this commit simply wraps all of the dependent
code and tests with a conditional check on
`config.x.local_authentication`.
* main:
Fix add card not working in the cards screen
Submit and refresh results as you type terms
Fix: When expanding filters, submitting filters should keep the filters expanded
Invalidate cache when filter changes
Switch to gpt-5-chat
Handle filter toggles with JS
Prevent glitch where you see the filter bar expanded when you clear it
Remove unused templates
Fix: all collections link not working after moving to turbo frame
Restore cache I deleted by mistake
Speed up filter expansion with turbo stream
Fix: filtering collections not working after moving menu to turbo frame
Respect params when loading the menu or they won't be reflected!
Add HTTP cache for the menu
Load main menu lazily with a turbo frame
Inline :has(&) as it's REALLY slow in Safari
Extract helper method
Remove transition that is making Safari choke when navigating to Fizzy menus
Reduce page size to reduce load for processing local times on initial page load
Avoid having to parse strings
# Conflicts:
# app/views/cards/index/_add_card_button.html.erb
# test/vcr_cassettes/period_highlight_test-test_don_t_generate_highlights_for_existing_periods.yml
# test/vcr_cassettes/period_highlight_test-test_generate_period_highlights.yml
# test/vcr_cassettes/user/highlights_test-test_don_t_generate_highlights_for_existing_periods.yml
# test/vcr_cassettes/user/highlights_test-test_generate_weekly_highlights.yml
The access involvement changes exposed that this test wasn't doing what it said it was. For this to be a self-assignment the event creator and assignee need to be the same