Commit Graph

767 Commits

Author SHA1 Message Date
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
Mike Dalessio 8ddb4b37d0 Merge pull request #1755 from basecamp/flavorjones/storage-require
remove require of `lib/fizzy` from storage.yml
2025-11-28 15:15:15 -05:00
Mike Dalessio bf915e63c4 Split system tests out into separate single-worker steps
because they aren't written to be run in parallel.
2025-11-28 15:02:58 -05:00
Mike Dalessio 3286fbb50e require_relative doesn't work as expected in ERB templates
e.g., when firing up bin/minio-setup this looks in the parent
directory

However, we shouldn't need it since `lib` is eager loaded.
2025-11-28 13:39:47 -05:00
Jorge Manrubia 8e0445ddf5 Add yabeda metrics check only in SaaS mode 2025-11-28 15:53:58 +01:00
Jorge Manrubia efe3070499 Add gitleaks from main 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 3b0ddf4cfb Move sentry to engine 2025-11-28 15:53:58 +01:00
Jorge Manrubia 81656ac260 Run SQLite in saas mode too 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 cebd5d35f6 Revert "Remove local ci for now"
This reverts commit 7d6ed4a459f78d14767f1523b32553df84e627e5.
2025-11-28 15:53:58 +01:00
Jorge Manrubia 76d3ec0fc4 Remove local ci for now 2025-11-28 15:53:58 +01:00
Jorge Manrubia e962ba82ed Simplify local ci 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 96caeacb03 Move to ENV (kamal secrets) 2025-11-28 15:53:58 +01:00
Jorge Manrubia c61dba0641 Format 2025-11-28 15:53:58 +01:00
Jorge Manrubia 1083f715a8 This was moved to the gem already by Mike 2025-11-28 15:53:58 +01:00
Jorge Manrubia fa9ee0381d Move more settings to the gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia af42ce43d4 Remove vapid keys in development 2025-11-28 15:53:58 +01:00
Jorge Manrubia 44d086e076 Cleanup of credentials
Secrets moved to 1password.
2025-11-28 15:53:58 +01:00
Jorge Manrubia 18e1badfb5 Prevent choking when no structured logging for now 2025-11-28 15:53:58 +01:00
Jorge Manrubia 197090f754 Move active storage config to gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia 8baf5b8abd Make mission control only accessible for staff members 2025-11-28 15:53:58 +01:00
Jorge Manrubia 99bda234c0 Bring changes from main 2025-11-28 15:53:58 +01:00
Jorge Manrubia 8724963b84 Bring vanilla versions for Dockerfile and deploy config, we are moving those to the private saas gem 2025-11-28 15:53:58 +01:00
Jorge Manrubia f1df9afe72 Not needed anymore, no more bundler groups 2025-11-28 15:53:58 +01:00
Jorge Manrubia fe20d8f2a5 Format 2025-11-28 15:53:58 +01:00
Jorge Manrubia cd231c48d5 Format 2025-11-28 15:53:58 +01:00
Jorge Manrubia 13f1ad19f3 The engine automounts now 2025-11-28 15:53:58 +01:00
Jorge Manrubia 3414fea012 Remove comment 2025-11-28 15:53:58 +01:00
Jorge Manrubia 277a45fa88 Add CI step for saas tests 2025-11-28 15:53:58 +01:00
Jorge Manrubia 2c7079393a Move kamal deploy config to the gem 2025-11-28 15:53:48 +01:00
Jorge Manrubia 35b49a417d Move the SASS database config to the gem 2025-11-28 15:53:48 +01:00
Jorge Manrubia 102827ff8d Use bundler groups instead of conditional
So that the gemfile.lock does not change across invocations
2025-11-28 15:53:48 +01:00
Jorge Manrubia cf59ac1da9 Split database files 2025-11-28 15:53:48 +01:00
Jorge Manrubia bab914d4e0 Move db check to the Fizzy module 2025-11-28 15:53:48 +01:00
Jorge Manrubia e1e9a01720 Make open source the default, and check for sass instead 2025-11-28 15:53:48 +01:00
Fernando Álvarez 91929d7c09 Add extra fizzy lbs 2025-11-28 15:19:51 +01:00
Mike Dalessio f0b2603ba4 Rename bin/gitleaks to gitleaks-audit
to prevent script recursion if bin is in user's $PATH
2025-11-26 21:36:01 -05:00
Mike Dalessio 7f46063c25 Introduce gitleaks to the codebase
- `bin/setup` installs gitleaks
- add `gitleaks dir` command to CI
- configure gitleaks to ignore tmp, log, and encrypted files
- tag existing false positives with `gitleaks:allow`
- add historical false positives to the ignore list
2025-11-26 15:46:47 -05:00
Donal McBreen 18fa877882 Switch to a pool size of 5 2025-11-26 10:27:06 +00:00
Donal McBreen c4498212dc Merge branch 'main' into sqlite
* main: (116 commits)
  Ensure avatar thumbnails are square
  Update useragent to recognize twitterbot/facebot
  Add defensive styles for non-square avatar images
  Update test for copy changes
  Missed commit
  AI: standardize on https://agents.md
  Make it clear this is just notifications, not comprehensive activity
  AI: configure MCP servers for Chrome, Grafana, and Sentry (#1727)
  Allow requests from Google Image Proxy
  Update to basecamp's useragent fork
  Clean up a little bit the CSRF reporting code
  Claude: production observability guidance (#1725)
  Prevent autoscroll to the root columns container to prevent jump on page load
  Include full name string so you can type your name to filter
  Prioritize current user and assigned users in assignment dropdown
  Check and report on Sec-Fetch-Site header for forgery protection
  bundle update
  Bump bootsnap from 1.18.6 to 1.19.0
  Bump rails from `077c3ad` to `17f6e00`
  Fix cards getting stuck in edit mode
  ...
2025-11-26 10:07:41 +00:00
Donal McBreen b839340cf2 Tidy up modules and on_load points 2025-11-26 10:02:32 +00:00
Donal McBreen 9c86205510 Enforce SQLite column limits via CHECK constraints
Patch the sqlite adapter to add CHECK constraints for string and text
column limits. We'll do them inline, so that any column changes
automatically update the constraints.
2025-11-26 09:50:29 +00:00
Donal McBreen 97bcdf1853 Enforce column limits via concern
SQLite columns lengths are purely informational, so we'll enforce the
limits via a concern that checks the lengths from the schema.
2025-11-25 15:32:34 +00:00
Donal McBreen 67f648f356 Enforce MySQL string/text limits in SQLite
To ensure consistent column lengths, we'll add limits to string and text
columns which match MySQL defaults.
2025-11-25 14:50:40 +00:00
Kevin McConnell b238a5b45b Don't report ConcurrentMigrationError to Sentry 2025-11-25 13:24:07 +00:00
Kevin McConnell b6e31a234a Set MySQL max statement timeout to 5s 2025-11-25 12:58:17 +00:00
Donal McBreen e07419e953 Update config/database.yml
Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
2025-11-25 11:38:21 +00:00