- 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.
Resolved conflict in card-columns.css by keeping both changes:
- Added padding-inline for non-collapsed cards from collapsing-columns
- Kept bubble positioning, hover effects, and card steps from main
* main: (32 commits)
Fix VCR fixtures
Format
Touch user on modification to invalidate cache
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
Reorded method and remove unnecessary param
Add migration to convert accesses
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
...
* main:
Rename constant
Address PR feedback
Cleanup, phew!
Working with longer text
WIP: Partially working
Basic, non-animated version
WIP
Remove unused class and markup
Position "close as" dialog
WIP
* main: (21 commits)
Migration to migrate URLs after renaming bubbles => cards
Remove migration
Restore bubbles.css since some styles are used
Fix issues with styling card__ components
Remove bubbles.css
Fix renames that the scripts missed
Reorganize templates to remove cards/cards redundancy
Rename bubbles => cards
Safari sure loves outlines
Use a number field, and improve focus styles
Fix boosting via number input
Embed additional video formats
Fix that notifications weren't marked as read
Fix tray item position
Update House to bring patch for history restoration error
Tighten up
Restore additional missing routes removed in c0f3ff46d7
Retore route removed in c0f3ff46d7
Fix visual regression in popup menus
Perma cards should not always be 100% width
...
* main: (104 commits)
Default collection permissions to "all access"
dep: update active_record-tenanted to 8758240b
dep: bump Rails to 32d96235
Test for `Bubbles::RecoversController`
Move readings under bubbles and out of double nesting
Move bubble stagings out from double nesting
Correct alpha ordering
Fix indention
Move bubble recovery out from double nesting
Move bubbles publish out from the double nesting
Move bubble pops out from double nesting
Move controller to delete bubble image out from double nesting under bucket
Revert "Scope searches by user"
Scope searches by user
Few more lazy loading avatars!
Another lazy loading point
Remove double nesting under bubbles for engagement
Lets just preload all avatars for now
No need for an array when there is only one dependency
Scope data by account
...