David Heinemeier Hansson
b3474ec97d
Rename Entropy::Configuration to just Entropy
2025-11-02 13:11:41 +01:00
David Heinemeier Hansson
72d0008df0
Only restrict resource actions when there's a specific story to tell
2025-11-02 12:49:17 +01:00
Stanko K.R.
452c6a8373
Rework the email change flow to tie to memberships
2025-10-31 16:26:08 +01:00
Stanko Krtalić
98755844a1
Remove the internal API
...
* Bind sessions to identities
* Remove references to the identity token
* Move email changes to identity
* Move account menu into a turbo-frame
* Create tenants from a tenanted route
2025-10-31 16:26:08 +01:00
Stanko K.R.
79b012f319
Add Join Codes
2025-10-31 16:24:30 +01:00
Stanko K.R.
c8843360fe
Clean up and simplify magic links
2025-10-31 16:23:38 +01:00
Stanko K.R.
5cef4ffeb0
Add sign in flow using magic links
2025-10-31 16:22:12 +01:00
Jorge Manrubia
f0c5285fb0
Move column editing to stream so that we can remove the invalidation concern
2025-10-31 10:40:28 +01:00
Jorge Manrubia
bcac3fad10
Move perma collection picker to turbo frame
2025-10-31 10:37:36 +01:00
Fernando Álvarez
7f78514a58
Move to app.box-car.com
2025-10-30 11:12:39 +01:00
Jorge Manrubia
9d548e77ef
Merge pull request #1418 from basecamp/sort-columns
...
Sort columns
2025-10-30 08:39:53 +01:00
David Heinemeier Hansson
7bebea07b4
Simplify the error handling
...
Just use normal HTML + static CSS
2025-10-29 17:39:57 +01:00
Jorge Manrubia
5eb5e4b007
Add buttons to move columns left and right
2025-10-29 16:15:25 +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
Jorge Manrubia
860ba1f2e4
Upgrade turbo and remove our patched version
...
We upstreamed the changes from https://github.com/basecamp/fizzy/pull/1327
2025-10-29 08:35:27 +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
Jorge Manrubia
d6c7fb2084
Remove unused constants / controller
...
This came from the previous 3-column times
2025-10-25 18:50:37 +02:00
Mike Dalessio
c87c2f0960
Complete beamer gem adoption
...
- stop importing beamer during Dockerfile builds
- add a "bin/beamer" gemstub
- invoke `bin/beamer` explicitly
- drop the beamer initializer
2025-10-23 15:35:57 -07:00
Stanko Krtalić
880ad7ff12
Use Beamer through its gem ( #1230 )
2025-10-23 12:14:00 +02:00
Mike Dalessio
8e64ef741f
dev: Fix the default tenant to be the correct Honcho id
2025-10-21 15:13:29 -07:00
Mike Dalessio
e7d59ff6d0
Add a migrations check to CI
...
which can be skipped with SKIP_MIGRATION_CHECK=1
2025-10-21 09:27:56 -07:00
Fernando Álvarez
f5124fb338
Mount /certificates for fizzy-production
2025-10-20 14:31:36 -07:00
Fernando Álvarez
9b8236a3ab
Revert "Mount /certificates for fizzy-production"
...
This reverts commit e13bfe8a86 .
2025-10-20 14:30:17 -07:00
Fernando Álvarez
e13bfe8a86
Mount /certificates for fizzy-production
2025-10-20 14:27:01 -07:00
Fernando Álvarez
91f078e0b9
Mount /certificates for fizzy-staging
2025-10-17 11:46:31 +02:00
Mike Dalessio
5934280b2e
Set queue.yml thread back to 3
...
because I can see we're backing up on Event::WebhookDispatchJob,
PushNotificationJob, and Turbo::Streams jobs, all of which are
doing networking.
2025-10-16 09:54:18 -04:00
Mike Dalessio
6f725fc9cf
Stagger the timings on recurring jobs
...
just to avoid dogpiling writes on the database
2025-10-16 09:42:08 -04:00
Jorge Manrubia
8c8dbe888e
Fix assorted issues when reloading pages with morphing and the pagination system
...
This patches 2 problems in Turbo/idiomorph that are causing problems when reloading the pagination frames:
- No remove callback in idiomorph when removing a node that had been mapped.
- Regression introduced by https://github.com/hotwired/turbo/pull/1311 , where it won't prevent the removal of frames with refresh=morph
I will upstream both patches, this is temporary.
https://fizzy.37signals.com/5986089/cards/2291
2025-10-16 13:39:16 +02:00
Fernando Álvarez
662798801b
Add sc-chi and df-ams app and lb nodes to Production config
2025-10-15 12:24:45 +02:00
Mike Dalessio
ffc0c86f36
Minio support in development
...
for when we need to debug direct upload problems
2025-10-14 19:11:50 -04:00
Matthew Kent
30a4b2d721
Mount our backup vol.
2025-10-14 11:56:00 -07:00
Fernando Álvarez
ad3a16f8e6
Add reader nodes to Staging
2025-10-13 19:35:11 +02:00
Fernando Álvarez
b682427df7
Add AMS to Staging
2025-10-13 18:00:00 +02:00
Stanko K.R.
b016bd7cae
Fix replicaiton wiht the untenanted DB
2025-10-13 14:09:37 +02:00
Stanko K.R.
d3816bc212
Create testbed to test beamer scenarios in Fizzy
2025-10-13 13:46:00 +02:00
Jeremy Daer
b8f09b7f75
Deploy to fully-qualified domain names to eliminate DNS search path driven query amplification ( #1293 )
2025-10-11 15:57:47 -07:00
Mike Dalessio
28e9b4a496
Fix recurring job config for webhook cleanup
2025-10-11 13:57:19 -04:00
Mike Dalessio
4f981e9c2f
Add yabeda-actioncable metrics
2025-10-11 13:35:31 -04:00
Mike Dalessio
5c651a7f94
Tidy recurring.yml
2025-10-11 13:23:25 -04:00
Mike Dalessio
b9a616b083
Increase the number of job workers to match CPUs
...
JOB_CONCURRENCY would still override this number.
2025-10-11 11:29:21 -04:00
Mike Dalessio
550a4b7c33
Don't set puma performance settings in dev
2025-10-10 16:53:52 -04:00
Mike Dalessio
257aeb8511
GC: Defer major GC cycles until after request handling completes
2025-10-10 16:49:01 -04:00
Mike Dalessio
fb45b9d366
Install Autotuner for GC recommendations
2025-10-10 15:49:48 -04:00
Mike Dalessio
016f00dfb5
Call Process.warmup
2025-10-10 15:17:13 -04:00
Mike Dalessio
ba090196d8
Baseline puma worker/thread config
...
Because we expect fewer I/O waits than Rails apps that connect to the
database over the network, let's start with a baseline config of 1
worker per CPU, 1 thread per worker and tune it from there.
https://edgeguides.rubyonrails.org/tuning_performance_for_deployment.html#puma
2025-10-10 15:00:03 -04:00
Mike Dalessio
c368485e84
db: Add beamer to the untenanted database
2025-10-10 11:43:07 -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