Commit Graph

75 Commits

Author SHA1 Message Date
Fernando Álvarez 4b929cd51f Update configure fizzy-lb-101 script 2025-10-29 13:57:38 +01:00
Jorge Manrubia 1547cfd651 Merge pull request #1414 from basecamp/remove-summaries
Remove AI summaries and semantic searches
2025-10-29 12:00:57 +01:00
Jorge Manrubia aa1ffb3357 Remove AI summaries and semantic searches
We were not using either. We can restore if we revisit.
2025-10-29 11:55:32 +01:00
Fernando Álvarez 654f8906c3 Merge pull request #1409 from basecamp/box-car-dot-com
Migrate to box-car.com
2025-10-29 10:39:43 +01:00
Fernando Álvarez 260eaa0369 Amend references to box-car.com 2025-10-29 10:09:12 +01:00
Jorge Manrubia 6044287be4 Fix upload script: migrate_all can't be invoked like that anymore 2025-10-29 07:53:19 +01:00
Fernando Álvarez 3946733b65 Migrate to box-car.com 2025-10-28 18:44:25 +01:00
Jorge Manrubia 392bdae316 Rename highlights -> summary 2025-10-25 20:06:57 +02:00
Fernando Álvarez 4017da746c Add script for configuring production load balancers 2025-10-22 10:46:41 -07:00
Mike Dalessio 214e1fd402 Script to configure staging load balancers
ref: https://3.basecamp.com/2914079/buckets/37331921/todos/9180260061
2025-10-17 10:17:15 -04:00
Stanko K.R. 622a687158 Set a password for the owner 2025-10-16 22:13:30 +02:00
Stanko K.R. eae59342e9 Add account creation script 2025-10-16 22:05:22 +02:00
Mike Dalessio 73fa235bae Delete unnecessary migration helper script 2025-10-14 16:32:24 -04:00
Mike Dalessio a7e22a537d Update load-prod-db-in-dev to use the latest AR::Tenanted idiom 2025-10-14 16:30:35 -04:00
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
Mike Dalessio 6f43fa3b2b Update the load-prod-db-in-dev script to handle migrations
This is obviously not a good fix, but it gets the job done. Permanent
fix will be researched at https://fizzy.37signals.com/5986089/cards/545
2025-10-07 02:45:54 -04:00
Jorge Manrubia fd0230f708 WIP for fixing script to load production snapshots 2025-10-06 13:10:19 +02:00
Jorge Manrubia 3e67da7d0e Add a new join model to link summaries with users
So that changing the set of events does not result in not being able to find a generated highlight summary
2025-10-06 12:33:28 +02:00
Mike Dalessio 8e0cb930af Delete SignalId concerns from the codebase
including Signup for now, will rebuild it with just QB
2025-10-03 14:06:51 -04:00
Jorge Manrubia 7dce386322 Detect container dynamically
Containers are taken down of course!
2025-10-03 15:28:32 +02:00
Mike Dalessio 320558919c Rename LOCAL_AUTHENTICATION to OSS_CONFIG 2025-10-02 16:44:24 -04:00
Mike Dalessio 3cc0fd8c1f Add a script to generate unique passwords per email address
as part of the migration away from 37id/Launchpad.
2025-10-02 16:44:22 -04:00
Mike Dalessio 47370084d2 Remove code related to Launchpad auth or 37id Users 2025-10-02 16:33:23 -04:00
Mike Dalessio b2e5208b26 Update create-new-user.rb to use external association names
Should have been part of #1115
2025-09-30 14:46:07 -04:00
Jorge Manrubia 0969a30961 Fix script condition 2025-09-27 07:52:37 +02:00
Jorge Manrubia 6a231b48f2 Fix: script should consider old considering cards as belonging to the stream now 2025-09-27 07:42:04 +02:00
Jorge Manrubia cd025447f2 Add basic column models and script to migrate 2025-09-24 13:15:03 +02:00
Mike Dalessio 9a73388403 fetch-prod-db uses the previous night's backup
to prevent loading a corrupt db file
2025-09-23 09:26:40 -04:00
Jorge Manrubia 17e790dfc1 Script to fetch and load production dbs 2025-09-23 10:49:33 +02:00
Mike Dalessio b22a490f3a script to stitch beta accounts together from a prod backup 2025-09-18 17:38:41 -04:00
Jorge Manrubia f4ad6800f3 Script to migrate comments to new URL scheme 2025-09-10 12:24:15 +02:00
Jorge Manrubia e15cc80929 Only process summaries for active users (not deactivated or system) 2025-09-05 13:46:28 +02:00
Jorge Manrubia 4bcc1627e8 Tweak script 2025-09-02 10:56:21 +02:00
Jorge Manrubia dfbc77c2e5 Render weekly highlights considering periods of inactivity 2025-09-01 17:09:43 +02:00
Mike Dalessio ca8a566a99 New script to allow creation of a local-auth User.
ref: https://fizzy.37signals.com/5986089/collections/7/cards/1318
2025-08-06 17:47:54 -04:00
Mike Dalessio db6b700da8 Clean up the /scripts directory
Not removing anything, just organizing scripts into subdirectories to
make it a bit more readable.
2025-07-21 09:07:15 -04:00
Mike Dalessio 8e13ce5b78 Drop Current.account and just use Account.sole
I had reintroduced this in dacb53b8 after David removed it in
6bbf68a4, but now I agree we don't need it.

Also, fix a CORS error when trying to redirect a user to an untenanted
path after login (see
https://fizzy.37signals.com/5986089/collections/2/cards/1032).
2025-07-20 13:00:09 -04:00
Mike Dalessio 99fc5664a8 Script to load prod db in development 2025-07-18 10:13:23 -04:00
Mike Dalessio 4955cb6647 First iteration on adding new users, from the console. 2025-07-16 12:59:47 -04:00
Jorge Manrubia fef9e74503 Avoid duplicated queries and, instead, bump the last ones 2025-07-03 21:52:58 +02:00
Mike Dalessio 84ed83a2c6 Script to create Users for existing 37id accounts
intended for staging
2025-07-01 17:41:54 -04:00
Mike Dalessio 8e666a5247 Script to update URLs and attachments in cards and comments 2025-07-01 15:56:14 -04:00
Mike Dalessio 444b7aa69f Script to rename tenants after the QB account id 2025-07-01 15:56:14 -04:00
Mike Dalessio 27c288406b Update to Kevin's preferred signal identity. 2025-06-26 09:47:13 -04:00
Mike Dalessio 8a6d153864 Update a few users' email to link to a valid identity. 2025-06-20 17:13:02 -04:00
Mike Dalessio a7f5ba55cd Script to create QB and SignalID accounts, and SignalID users 2025-06-20 15:16:57 -04:00
Jorge Manrubia 7013b7f378 Pagination working for public collections 2025-06-09 14:36:53 +02: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 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 a17b024681 Update AR::Tenanted to have tenanted blob keys
Also, a script to migrate blobs (on disk and in the database) to the
new convention.

ref: https://37s.fizzy.37signals.com/collections/7/cards/246
2025-05-30 15:54:31 -04:00