Commit Graph

49 Commits

Author SHA1 Message Date
Jeremy Daer 8a732b081d Bump Rails to current ast-immediate-variants-process-locally branch 2025-12-09 15:54:06 -08:00
Jeremy Daer 85bd5c2df5 Rails seeded parallel tests (#2037)
Enable work stealing by default for a tiny speedup at the cost of small
loss in reproducibility.

References https://github.com/rails/rails/pull/56175
2025-12-09 15:50:01 -08:00
Jeremy Daer 8eb01da057 Process blob variants using local files
Rails does post-upload variant processing using the same file upload
in https://github.com/rails/rails/pull/56327

Unrelated Lexxy bump:
Pulls in https://github.com/basecamp/lexxy/pull/493 to work around `dom_id`
removal from ActionText tag in https://github.com/rails/rails/pull/51238
2025-12-08 23:41:15 -08:00
Jorge Manrubia cb0e9b9962 Immediate avatar and embed variants (#2002)
Reverts #2001
Restores #1955
2025-12-08 14:17:06 -08:00
Jeremy Daer dcc005be34 Add lazy error context for Rails error reporter (#2014)
Register a middleware with Rails.error that adds identity_id and
account_id from Current attributes. Only evaluated when an error
is actually reported, avoiding the cost on successful requests.
2025-12-08 11:00:40 -08:00
Jorge Manrubia c8c91259c7 Revert "Immediate avatar and embed variants" 2025-12-07 12:06:03 +01:00
Jorge Manrubia 91017c9208 Merge pull request #1955 from basecamp/immediate-variants
Immediate avatar and embed variants
2025-12-07 11:50:02 +01:00
Jorge Manrubia ffb357becf Merge pull request #1742 from basecamp/latest-lexxy
Update lexxy to latest
2025-12-06 10:31:19 +01:00
Jeremy Daer 6006491ab4 Content Security Policy (#1964)
Default to a very narrow policy since there are no CDNs or third-party
resources to contend with.

Configurable via:
- config.x.content_security_policy.* for fizzy-saas gem overrides
- DISABLE_CSP to skip entirely
- CSP_REPORT_ONLY to enable report-only mode
- CSP_REPORT_URI for violation reporting
2025-12-05 14:57:50 -08:00
Jorge Manrubia 48ef7d0b98 Update Lexxy and hide the highlighter for now 2025-12-05 11:24:52 +01:00
Jeremy Daer 21f3f72647 Immediate avatar and embed variants
Process variants synchronously on attachment to close the window between
image upload and variant availability, guaranteeing that we won't have
lazy variant processing attempts in GET requests.

Tradeoff is that we do variant processing in upload requests, which is
actually desirable. We're working with images that should take
milliseconds to resize given that we'll already have the file on hand.

References https://github.com/rails/rails/pull/51951
2025-12-04 23:54:37 -08:00
Mike Dalessio 912bb8a8e5 Bump fizzy-saas to enable console auditing
ref: https://app.fizzy.do/5986089/cards/2469
ref: https://github.com/basecamp/fizzy-saas/pull/20
2025-12-04 12:25:54 -05:00
Lewis Buckley 4bcedbbd77 Upgrade prometheus-client-mmap to ~> 1.4.0 2025-12-03 20:46:23 +00:00
Jeremy Daer 085d47613f Bundler: normalize platforms (#1822)
```bash
bundle lock --normalize-platforms
BUNDLE_GEMFILE=Gemfile.saas bundle lock --normalize-platforms
```
2025-12-02 13:37:36 -08:00
Mike Dalessio ca7ada5e47 Bump fizzy-saas for tuning of GC params 2025-12-02 12:10:29 -05:00
Jorge Manrubia 8d1a09808f Update gem 2025-12-02 15:51:23 +01:00
Kevin McConnell d24726c1d3 Merge pull request #1768 from basecamp/data-exports
Add "data export" feature
2025-12-02 09:56:40 +00:00
Andy Smith a8e8c1ded6 Mac gemfile update 2025-12-01 14:04:10 -06:00
Kevin McConnell e16cc21b0a Add "data export" feature
- Adds a button in Account Settings where you can request a ZIP export of your
  Fizzy data
- Export files are created in the background. When ready, a link to
  download them is sent to the requester.
- Exports expire after 24 hours. And are limited to 10 per day.
2025-12-01 15:23:26 +00:00
Jorge Manrubia c099971ba3 Update fizzy-saas 2025-11-30 11:16:19 +01:00
Mike Dalessio 053ba8424c Update to fizzy-saas to remove jobs from beta
https://github.com/basecamp/fizzy-saas/pull/11
2025-11-29 19:30:20 -05:00
Jorge Manrubia d7ddb029dd Update fizzy-saas 2025-11-29 21:48:11 +01:00
Jorge Manrubia 9f2ac50732 Update fizzy-saas gem 2025-11-29 16:29:33 +01:00
Stanko K.R. 6a235e420c Use main branch of fizzy-saas 2025-11-29 15:22:26 +01:00
Stanko K.R. 658b5a07cf Organize everything under Signups 2025-11-29 11:46:09 +01:00
Stanko K.R. 5747445977 Create signups controller 2025-11-29 10:15:48 +01:00
Jorge Manrubia a89f2f2c92 Update to latest gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia 6ccf655597 Move yabeda/prometheus stuff to the gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia f03fbba5ac Restore local CI, sensible setup for open source users 2025-11-28 15:53:58 +01:00
Jorge Manrubia f90dd87795 Update gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia e101e4dbae Point back to main since the PR was merged 2025-11-28 15:53:58 +01:00
Jorge Manrubia 4e09352c09 Bring simple signup flow from the fizzy-saas gem
We skip the QB code and we fill external account ids automatically on creation with a sequence

See:
https://github.com/basecamp/fizzy-saas/pull/7
2025-11-28 15:53:58 +01:00
Jorge Manrubia e77858fb3c Update kamal 2025-11-28 15:53:58 +01:00
Jorge Manrubia bf75767a4e Update saas gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia 4b9d3a0efd Update to latest fizzy-saas 2025-11-28 15:53:58 +01:00
Jorge Manrubia cd7d3d3329 Move kamal secrets to the gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia 762c45de5d Update gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia 2ff944b805 Point to branch for now 2025-11-28 15:53:58 +01:00
Jorge Manrubia c53cc101a9 Update fizzy-saas gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia e213e3e5f8 Update fizzy-saas gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia 40455bff3a Update fizzy-saas to bring test support 2025-11-28 15:53:58 +01:00
Jorge Manrubia f62bf9fcbf Bundle! 2025-11-28 15:53:58 +01:00
Jorge Manrubia 9e8bc5b30b Update to last version, tests passing! 2025-11-28 15:53:58 +01:00
Jorge Manrubia a5b02755b2 Add rake tasks for enabling/disabling saas mode 2025-11-28 15:53:58 +01:00
Jorge Manrubia 9496a20736 Update to latest fizzy-saas 2025-11-28 15:53:58 +01:00
Jorge Manrubia a7461df049 Update fizzy-saas 2025-11-28 15:53:58 +01:00
Jorge Manrubia 53d4ed3749 Point to the remote gem again 2025-11-28 15:53:58 +01:00
Jorge Manrubia 08cc02804d Invoke setup script in gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia ad6f3a9ff7 Instead of a dedicated group, use a completely separate Gemfile for the saas version
The group-based approach won't work if you don't have access to the gems!
2025-11-28 15:53:58 +01:00