Jeremy Daer
c691d39ecf
Integrate fizzy-saas as vendored gem at saas/
...
- Update Gemfile.saas to use path: "saas" instead of GitHub source
- Update config/database.yml to reference local saas/ directory
- Update bin/setup to source saas/bin/setup directly
- Remove redundant dotfiles (ruby-version, gitignore, rubocop, github workflows)
- Add saas/db exclusions to root rubocop config
2025-12-16 12:25:22 -08:00
Jorge Manrubia
ee80b87c8c
Add billing system with Stripe
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Jason Zimdars <jz@37signals.com >
2025-12-16 16:44:20 +01:00
Kevin McConnell
14f337739d
Update Thruster
2025-12-16 13:28:49 +00:00
Jorge Manrubia
2e66fdff4a
Update lexxy to bring fixes from https://github.com/basecamp/lexxy/releases/tag/v0.1.24.beta
2025-12-14 18:53:23 +01:00
Jeremy Daer
3d3593c8f6
Bump fizzy-saas to retain fewer docker images ( #2134 )
...
References https://github.com/basecamp/fizzy-saas/pull/32
2025-12-13 10:39:01 -08:00
Mike Dalessio
43fd8ab691
Update fizzy-saas to get employee restriction in staging
2025-12-12 15:31:22 -05:00
Mike Dalessio
430caed61e
saas: Bump queenbee gem for new staging location
2025-12-12 11:52:30 -05:00
Matthew Kent
eb06884ea7
Bump fizzy-saas to pickup another staging change.
2025-12-11 16:19:06 -08:00
Fernando Álvarez
ef3c49d9ad
Bump fizzy-saas
...
Related to updating URL on staging environment.
2025-12-11 18:26:01 +01:00
Kevin McConnell
4edd49374a
Update Gemfile.saas.lock
...
To bring in line with change in [36419c3600 ]
2025-12-11 16:04:55 +00:00
Kevin McConnell
3f2938dd8e
Bump fizzy-saas to set config option
2025-12-11 12:24:59 +00:00
Jeremy Daer
90452a4236
Enforce CSP ( #2070 )
2025-12-10 17:55:02 -08:00
Jeremy Daer
22da6dc19d
CSP: full config with env vars per source ( #2069 )
...
* Configure all sources with CSP_* vars. Space separated source list.
* Fall back to `config.x.content_security_policy.*`
* Move our sources to fizzy-saas
References https://github.com/basecamp/fizzy-saas/pull/24
2025-12-10 17:21:09 -08:00
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