Commit Graph

265 Commits

Author SHA1 Message Date
Mike Dalessio 0c5c6fa703 Turn off local auth in beta, we'll use Launchpad instead. 2025-06-26 09:47:13 -04:00
Mike Dalessio 190e52ffc5 Update kamal deploy config for the new beta env. 2025-06-26 09:47:13 -04:00
Mike Dalessio d827ce2a53 Merge pull request #654 from basecamp/flavorjones/fix-reloading-subscriptions
Make sure QB subscriptions reload properly in dev
2025-06-25 10:07:42 -04:00
Mike Dalessio b2ff0b47bf Make sure QB subscriptions reload properly in dev 2025-06-25 10:06:45 -04:00
Jorge Manrubia 9e3dbb0858 Remove semantic searches
We may revisit in the future but we'll go with keyword search only for launch
2025-06-25 09:36:14 +02:00
Jorge Manrubia 4acfe3ba9f update brakeman 2025-06-24 13:33:48 +02:00
Jorge Manrubia dfd52fc946 Move queries to its own resource 2025-06-24 12:17:08 +02:00
Jorge Manrubia 67fa9a46a8 Animate the search screen mockup 2025-06-24 09:58:48 +02:00
Jorge Manrubia 124c47b5be Merge branch 'main' into search-page-markup
* main: (67 commits)
  Add jason@37signals.com to the seeds.
  Rework menu sizing
  Firefox has its own psuedo elements
  Allow pop-ups to overflow without breaking the layout
  Style the prompt empty state
  Update lexical
  Scope CSS to custom attachments
  Update to point to version with fix for attachments
  Update AR::Tenanted to address tenant creation raciness
  dep: Update signal_id to quash noisy test warnings
  Update dependences, including Rails and queenbee-plugin
  Update 400/422/500 error pages with latest stock Rails versions
  Remove subdomain listing from the 404 page
  Delete the first runs controller/routes/model
  Redirect unauthenticated users to Launchpad
  Update a few users' email to link to a valid identity.
  Make sure the beta env keeps local authentication (for now)
  Trampoline the Launchpad auth redirect from a GET into a POST
  Add the shared signal_id secret
  Script to create QB and SignalID accounts, and SignalID users
  ...
2025-06-24 06:19:39 +02:00
Mike Dalessio e1609a1aa4 Delete the first runs controller/routes/model
which has been replaced by the signups controller
2025-06-21 10:38:36 -04:00
Mike Dalessio 141554c21c Make sure the beta env keeps local authentication (for now)
and more importantly, don't try to connect to the 37id database, which
will hang.

And finally, set the connect_timeout to something small so if we do
try to make a connection, it will fail quickly instead of hanging for
the default 120 seconds.
2025-06-20 16:17:02 -04:00
Mike Dalessio 2c18173f08 Trampoline the Launchpad auth redirect from a GET into a POST
to always route it to the writer.
2025-06-20 15:16:57 -04:00
Mike Dalessio 8b68eab6a8 Add the shared signal_id secret
so that we can authenticate properly with launchpad
2025-06-20 15:16:57 -04:00
Mike Dalessio d29bfb9f5a Add a QB API endpoint for plans
- add the shared api token to all environments
- add a single FreeV1 subscription
- add QB routes
- allow the queenbee routes in the tenanting middleware

ref: https://3.basecamp.com/2914079/buckets/37331921/todos/8746302763
2025-06-20 15:16:57 -04:00
Mike Dalessio 6f09d6a737 Add HTTP basic auth to the signup controllers
so that signup is internal-only for now.
2025-06-20 15:16:57 -04:00
Mike Dalessio 1be9ba6ee3 Signup workflow for existing identity 2025-06-20 15:16:57 -04:00
Mike Dalessio ee60e8dd01 Signup::AccountsController suppports signing up with a new identity 2025-06-20 15:16:57 -04:00
Mike Dalessio 6594dd115a ci: run the 37id tests 2025-06-20 15:16:57 -04:00
Mike Dalessio 73ba0c074f Introduce a Signup model and integrate with QB/37id
- Creates a Queenbee::Account
- SignalId peer classes work properly
- Set up a basic template for the account (closure reasons, workflow, collection)
- Load signal_id fixtures during `bin/setup --reset`
- Update signal_id to pull in the Fizzy product
2025-06-20 15:16:57 -04:00
Mike Dalessio dacb53b8b1 Launchpad login works for existing 37id identities 2025-06-20 15:16:56 -04:00
Mike Dalessio aada380147 Add the signal_id gem
- add libmysqlclient to the container image
- configure the signal id database
- YAML permitted classes setup for 37id tests
- setup rw splitting so integration tests pass
2025-06-20 15:16:56 -04:00
Jorge Manrubia 9ddb18792b Only offer users accessible in the collection 2025-06-20 10:44:42 +02:00
Jorge Manrubia 6446e5b409 Select cards with # 2025-06-19 13:00:26 +02:00
Jorge Manrubia cda20600b1 Show mentions in the editor 2025-06-19 12:16:32 +02:00
Andy Smith 33a9bbf043 Stub out search page 2025-06-18 12:47:16 -05:00
Kevin McConnell 67594301a7 Add state volume to load balancer 2025-06-17 08:47:03 +01:00
Kevin McConnell 63c2aa1367 Enable VFS, but don't load extension again
We only need to load the extension once, which we're doing in an
initializer. So no need to load it again on the tenanted connections
(and doing so is problematic when it occurs after a fork).
2025-06-16 14:48:13 +01:00
Jorge Manrubia f58aaadba5 Drag and drop cards to move between doing/considering 2025-06-12 11:57:53 +02:00
Jorge Manrubia 7013b7f378 Pagination working for public collections 2025-06-09 14:36:53 +02:00
Jorge Manrubia 486bc4a610 Basic UI to toggle collection publication status 2025-06-09 12:58:58 +02:00
Kevin McConnell 7d027f6699 Disable replication temporarily 2025-06-06 09:02:13 +01:00
Kevin McConnell d78a61b8fc Use vfs tag on production accessories 2025-06-05 14:55:02 +01:00
Mike Dalessio 711bf829dd Merge pull request #584 from basecamp/flavorjones/staging-env
Introduce a staging environment
2025-06-05 09:37:31 -04:00
Kevin McConnell e998783155 Use VFS-based Beamer 2025-06-05 11:59:30 +01:00
Jorge Manrubia e8322afb59 Update brakeman 2025-06-05 09:13:19 +02:00
Mike Dalessio e67d59e341 Introduce a staging environment
ref: https://3.basecamp.com/2914079/buckets/21350690/card_tables/cards/8708868711
2025-06-04 11:06:09 -04:00
Jorge Manrubia 3c61fc3cdf Add screen to edit account settings to tweak default entropy configuration 2025-06-04 11:25:10 +02:00
Jason Zimdars ff403021cc Wire-up keyboard navigation
- Introduces a distinct controller and individual forms for each option so they behave like other pop-ups
- Adds `filter` and `navigable-list` behaviors
2025-06-03 11:05:39 -05:00
Mike Dalessio 9126c42eef Remove the "mirror" storage service
because we've updated all the blobs to point to "purestorage"
2025-06-01 13:04:30 -04:00
Mike Dalessio a43db94a83 Update production storage to write to the Pure blob store
Modify the blob copying script to update the blob service name.

This completes the migration and allows us to (at some point) clean up
local disk and remove the "mirror" service from the config.
2025-06-01 12:57:54 -04:00
Mike Dalessio 6d7fbd2175 Clean up the purestorage config, and add explanatory comments.
We're keeping beta on local disk for now.
2025-06-01 12:48:59 -04:00
Mike Dalessio 29644ba122 Mount mission control under /admin/jobs
and add credentials for beta and production (in 1password).
2025-06-01 11:50:47 -04:00
Mike Dalessio bddfed3419 Flip the storage mirror to write to Pure as the primary 2025-05-31 16:02:50 -04:00
Mike Dalessio 704e215eca Production mirrors Active Storage to :purestorage
Also include a script to copy existing blobs to Pure.

Local is still the primary.

Beta will keep using local disk service for Active Storage because I
think there are constraints on source IPs for the Pure cluster.
2025-05-31 14:37:35 -04:00
Mike Dalessio df682cdfe1 Make sure Sentry is configured for the beta env. 2025-05-31 13:35:53 -04:00
Mike Dalessio c3a9ac7391 Create a distinct "beta" environment
and move secrets into Rails credentials for both beta and production
environments.
2025-05-31 10:57:26 -04:00
Mike Dalessio 1c85d8f270 Add a kamal "ssh" alias 2025-05-30 17:44:02 -04:00
Mike Dalessio febab0758a Drop the unnecessary initializer creating storage paths 2025-05-30 15:13:10 -04:00
Jorge Manrubia fa04016cbe Revert "Revert "Replace House with Lexical"" 2025-05-29 14:25:16 +02:00
Jorge Manrubia 08d8b2e5ff Revert "Replace House with Lexical" 2025-05-29 14:22:27 +02:00