Commit Graph

1375 Commits

Author SHA1 Message Date
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
Andy Smith 9ead1d82ac Merge branch 'main' into public-description-lists
* main: (21 commits)
  Ruby 3.4.7 (#1274)
  bin/setup: enpurple step headings
  bin/setup: ensure PATH is prepared after a new Ruby is installed
  Drop defunct bin/bundle that interferes with Bundler's own version management
  bin/setup: use Bash so we can bootstrap Ruby (#1273)
  Don't try to wrap with a download link, every file already has one in the caption
  bundle lock --normalize-platforms
  Show column title on public collections
  Docker: explicit libssl dep
  Ruby 3.4.6 (#1272)
  Check the selected color
  Style
  Add column color to cache keys
  Make the edit form the same dimensions as the add form
  Don't let the column button effect apply to buttons in the picker
  Set and change column colors
  Prom metrics in dev (#1269)
  Cleanup prototyping
  Properly scroll and center content
  Sorta working x-scroll
  ...
2025-10-09 16:08:16 -05:00
Andy Smith 24eaf9ff1f Make lists in public description less weird 2025-10-08 16:52:22 -05:00
Jason Zimdars 7d8564996f Make the edit form the same dimensions as the add form 2025-10-08 16:49:16 -05:00
Jason Zimdars 7fd8cb2297 Don't let the column button effect apply to buttons in the picker 2025-10-08 16:48:44 -05:00
Andy Smith 4638237889 Cleanup prototyping 2025-10-08 14:45:02 -05:00
Andy Smith 64175f040a Properly scroll and center content 2025-10-08 14:34:56 -05:00
Andy Smith 86b458bad0 Sorta working x-scroll 2025-10-08 13:54:24 -05:00
Andy Smith a701cf4324 WIP 2025-10-08 12:59:08 -05:00
Jason Zimdars 6f73c6a729 Fix squashed users lists
Regressed in 9b1cd84f96 cc: @andyra
2025-10-07 20:27:55 -05:00
Jorge Manrubia 00a9682bdf Prepare pagination link to be styled 2025-10-07 08:56:29 +02:00
Andy Smith 9c536361a6 Inline a shared logo for 404 page and fizzy-menu 2025-10-06 15:28:57 -05:00
Jason Zimdars 96f00bf122 Merge branch 'JZ/10/6/2025' 2025-10-06 14:07:01 -05:00
Jason Zimdars 609f6cfe6a Ensure you can click through to results below the header 2025-10-06 14:01:36 -05:00
Jason Zimdars e077edc17a We need this for mobile rendering 2025-10-06 13:55:22 -05:00
Jason Zimdars 0ff0ed796f Fix that pins were still hoverable and clickable when hidden 2025-10-06 13:29:31 -05:00
Jason Zimdars ae3a3b99da A little more space for Windows 2025-10-06 13:26:26 -05:00
Jason Zimdars 37c20caf98 Tighten up, remove keyboard nav hint
You'll only rarely need to use this, no need to explain a feature most
people don't need
2025-10-06 13:24:52 -05:00
Andy Smith 9b1cd84f96 Fade out overflow on watcher avatars 2025-10-06 11:37:16 -05:00
Jason Zimdars 31f2e941b2 Fix that background effect overlapped the pagination buttons 2025-10-06 09:27:56 -05:00
Jason Zimdars 5aa2e5016d Tighten filter input 2025-10-03 18:02:10 -05:00
Jason Zimdars 613e19145b Improve blank slates 2025-10-03 16:05:20 -05:00
Jason Zimdars d69889a701 Hide buttons initially 2025-10-03 15:34:57 -05:00
Jason Zimdars 8a6c9a379f Only show on hover 2025-10-03 14:35:44 -05:00
Jason Zimdars cf3e9b4aa3 The Stream isn't collapsible, it shouldn't respond like a button 2025-10-03 14:28:22 -05:00
Jason Zimdars eeacf5e0c2 Align collapsed columns 2025-10-03 14:22:45 -05:00
Jason Zimdars a7187472f8 Adjust icon 2025-10-03 14:16:12 -05:00
Jason Zimdars 3546788aaf Adjust gradient effect 2025-10-03 14:09:29 -05:00
Jason Zimdars 55e4fec01f Don't display bubbles for closed or not now cards 2025-10-02 20:37:34 -05:00
Jason Zimdars 02d96473bb Actually, it needs to be like this for closed cards which don't get a specific class 2025-10-02 20:36:21 -05:00
Jason Zimdars 299ce6252f Not now cards should be grey, too 2025-10-02 20:18:37 -05:00
Jason Zimdars 4184138702 Allow gradient for closed and not now after all 2025-10-02 20:07:32 -05:00
Jason Zimdars b31df02ff8 No longer used 2025-10-02 19:57:31 -05:00
Jason Zimdars 3d253309b0 Add a dedicated expand button 2025-10-02 19:51:42 -05:00
Jason Zimdars 095d5f8b0f Merge branch 'main' into column-perma
* main: (47 commits)
  Remove overflow from columns
  Only reverse Watching button if icon_only
  Move video captions below content
  Account#slug uses the virtual "tenant" attribute
  Rename LOCAL_AUTHENTICATION to OSS_CONFIG
  Add a script to generate unique passwords per email address
  Visually hide the pagination indicator
  Use hide avatars from tabindex on preview
  Render a helpful menu of tenants temporarily
  Remove code related to Launchpad auth or 37id Users
  Formatting
  Fix missing close bracket from merge
  Reverse involvement buttons if watching
  Only render the manifest link for tenanted URLs
  Move load-balancer to fizzy-lb-101
  Add otel_collector accessory for load balancer
  Fix: this was getting idiomorph confused as it was being invoked on many subtree elements
  Keep column popups during page refreshes
  Don't render next link unless there is more activity
  Live updates for the collection perma
  ...
2025-10-02 17:36:56 -05:00
Jason Zimdars 108d62c6d3 Don't clip on the grid view 2025-10-02 16:59:19 -05:00
Andy Smith 73dd372ca9 Remove overflow from columns 2025-10-02 16:25:38 -05:00
Andy Smith 076ddd66f4 Move video captions below content 2025-10-02 15:56:21 -05:00
Jason Zimdars 4ab2d971f9 Merge branch 'main' into collections-filter
* main: (24 commits)
  Move load-balancer to fizzy-lb-101
  Add otel_collector accessory for load balancer
  Fix: this was getting idiomorph confused as it was being invoked on many subtree elements
  Keep column popups during page refreshes
  Don't render next link unless there is more activity
  Live updates for the collection perma
  Keep filter panel during page refreshes
  Add pagination to the list of filtered cards
  Use frame based pagination for the users timeline too
  Use frame-based pagination for the activity timeline
  Don't broadcast updates of cards unless published
  Live updates for the timeline
  Make permanent to avoid losing menu on page refreshes
  Use the new required attribute that now Lexxy supports
  Use controller to disable empty comment submit
  Dynamic height for pins based on viewport height
  Position lexxy language picker
  Replace old link with proper collection path
  No longer needed
  Prevent card bubbles getting clipped in grid layout
  ...
2025-10-02 14:26:45 -05:00
Jorge Manrubia 46502609e6 Merge pull request #1211 from basecamp/prevent-empty-save
Use controller to disable empty comment submit
2025-10-02 09:39:01 +02:00
Jason Zimdars 5a051946ff Merge pull request #1213 from basecamp/JZ/10-1-2025-PM
JZ 10/1/2025 pm
2025-10-01 17:36:43 -05:00
Andy Smith 80e072f845 Use controller to disable empty comment submit 2025-10-01 16:56:55 -05:00
Jason Zimdars 8846d3357e Add UI for navigating to the column perma 2025-10-01 16:50:57 -05:00
Jason Zimdars 64a19186a1 Stub Activity filtering UI 2025-10-01 15:56:48 -05:00
Andy Smith e37cbe6d7f Dynamic height for pins based on viewport height 2025-10-01 14:28:38 -05:00
Jason Zimdars a1e650fb50 Remove filtering checkboxes, replace with icon; modify icon 2025-10-01 13:58:15 -05:00
Andy Smith dafebce2da Merge pull request #1207 from basecamp/misc-tweaks
Misc tweaks
2025-10-01 13:45:00 -05:00
Andy Smith 60a7e21eb2 Position lexxy language picker 2025-10-01 13:37:05 -05:00
Jason Zimdars ca81e2aa36 Prevent card bubbles getting clipped in grid layout 2025-10-01 13:31:17 -05:00
Andy Smith 8062490b93 Give captions more contrast on gray BG 2025-10-01 13:15:27 -05:00