Commit Graph

84 Commits

Author SHA1 Message Date
Mike Dalessio 4f981e9c2f Add yabeda-actioncable metrics 2025-10-11 13:35:31 -04:00
Mike Dalessio fb45b9d366 Install Autotuner for GC recommendations 2025-10-10 15:49:48 -04:00
Mike Dalessio 320558919c Rename LOCAL_AUTHENTICATION to OSS_CONFIG 2025-10-02 16:44:24 -04:00
Jorge Manrubia 97dd5513b7 Use official Lexxy gem 2025-09-28 22:11:21 +02:00
Mike Dalessio 1a97cd300e Add a few more Yabeda modules 2025-09-23 17:15:52 -04:00
Mike Dalessio d706cc0b8a Bundle rails from main
Undoing the pinning to a bugfix branch from 04baaa9c
2025-09-16 18:34:26 -04:00
Lewis Buckley 95f9b16ef5 Add Webrick, required for prometheus metrics server 2025-09-16 11:35:05 +01:00
Mike Dalessio f01e20f64b Introduce yabeda for puma metrics 2025-09-15 12:08:43 -04:00
Mike Dalessio 4442964408 Introduce yabeda for Solid Queue metrics 2025-09-15 11:05:04 -04:00
Mike Dalessio 04baaa9cd6 dep: pin Rails to my bugfix branch 2025-09-13 16:03:02 -04:00
Mike Dalessio 2630e4bd74 Extract 37id and QB controllers, models, and tests 2025-09-13 16:03:02 -04:00
Mike Dalessio 8325059f5f Extract basecamp proprietary dependencies into fizzy-saas
and wire up the fizzy-saas gemspec and Gemfile
2025-09-13 15:21:01 -04:00
Mike Dalessio 3fe0a07cdc rails plugin new gems/fizzy-saas --mountable 2025-09-13 15:21:01 -04:00
Mike Dalessio 8f39c015ea Tests now pass with local authentication
This is the first step of a multi-step SaaS engine extraction.

Looking ahead to an open source release, we need to make sure that
local authentication is treated as an "official" option, and not just
a hack I added for Kevin to do load testing outside our DC. So this PR
gets to green, and adds a CI step in "local authentication" mode.

This all probably feels a little hacky to you, Reader, but the goal of
this change is to ease the next step, which will be extracting the
37id and Queenbee integrations into a proprietary "SaaS mode" engine.

In service of that goal, this commit simply wraps all of the dependent
code and tests with a conditional check on
`config.x.local_authentication`.
2025-09-13 15:21:00 -04:00
Mike Dalessio 1677fa5a2a dep: get on an official kamal release 2025-09-09 12:51:40 -04:00
Mike Dalessio 4284025fca dep: get on public release of activerecord-tenanted 2025-09-09 12:51:14 -04:00
Jorge Manrubia 6f2670d6dd Merge main into bundle-emails branch and resolve conflicts 2025-09-01 11:49:20 +02:00
Mike Dalessio 7c33289f60 dep: activerecord-tenanted 2025-08-29 15:21:07 -04:00
Jorge Manrubia 218519d075 Configure letter opener 2025-08-26 10:21:13 +02:00
Jorge Manrubia 78c3484b44 Update to latest lexxy (merged renamed branch) 2025-08-26 08:36:03 +02:00
Jorge Manrubia 5b5c698af7 Rename Action Text Lexical => Lexxy
 Conflicts:
	app/assets/stylesheets/terminals.css
2025-08-26 08:25:19 +02:00
Mike Dalessio 8b0cfefb5d dep: update jbuilder to 2.14.1 2025-08-12 12:31:43 -04:00
Mike Dalessio dbeab5a726 dep: Revert jbuilder upgrade
because it breaks structured logging
2025-08-11 18:31:11 -04:00
Mike Dalessio 360e22feb0 Move testing setup for path-based tenanting into test helper
This was previously in the AR::Tenanted branch we were using, but
feels like it doesn't belong in the gem.
2025-08-10 18:53:33 -04:00
Jorge Manrubia 1c6adf54a8 Restore semantic searches 2025-07-24 16:47:57 +02:00
Jason Zimdars a6e9e51071 Merge branch 'main' into web-push
* main: (28 commits)
  Clean up the /scripts directory
  Prevent recursion when invoking AI
  Bump sqlite3 from 2.7.2 to 2.7.3
  Port over Jeremy's fix for slow uploads
  .gitignore log files and portfolio's local storage
  Drop Current.account and just use Account.sole
  Use the utf8-patched mysql driver
  Call blob.preview for previewable attachments
  Make sure the image variants we use are preprocessed
  Add /user command
  Make sure it doesn't infer custom abbreviations when matching user names
  Script to load prod db in development
  Update Signup to use the queenbee_id for the tenant name
  Bump cache version
  Make sure it uses latest bundler to prevent error due to mismatch
  Invalidate cache
  Update ruby
  Update bundler to prevent error on lower version
  Update bundler to prevent error on lower version
  Resolve stages
  ...
2025-07-21 11:03:56 -05:00
Mike Dalessio 0961fa6ac9 Use the utf8-patched mysql driver
ref: https://fizzy.37signals.com/5986089/collections/2/cards/1143
2025-07-19 11:05:51 -04:00
Jason Zimdars 2e7a7384ab Add gems for web push 2025-07-14 17:22:07 -05:00
Jorge Manrubia 7d0149ae84 Not committing hard coded gems is a good idea 2025-07-03 19:27:44 +02:00
Jorge Manrubia 6b22fb3259 Update editor 2025-07-03 19:25:07 +02:00
Mike Dalessio 6905198b66 dep: Use the patched AR::Tenanted branch 2025-07-01 15:56:14 -04:00
Jorge Manrubia 9e3dbb0858 Remove semantic searches
We may revisit in the future but we'll go with keyword search only for launch
2025-06-25 09:36:14 +02:00
Mike Dalessio 73ba0c074f Introduce a Signup model and integrate with QB/37id
- Creates a Queenbee::Account
- SignalId peer classes work properly
- Set up a basic template for the account (closure reasons, workflow, collection)
- Load signal_id fixtures during `bin/setup --reset`
- Update signal_id to pull in the Fizzy product
2025-06-20 15:16:57 -04:00
Mike Dalessio aada380147 Add the signal_id gem
- add libmysqlclient to the container image
- configure the signal id database
- YAML permitted classes setup for 37id tests
- setup rw splitting so integration tests pass
2025-06-20 15:16:56 -04:00
Mike Dalessio 1f694cf7f1 dep: update kamal to edge
so we can use KAMAL_HOST
2025-06-02 13:25:28 -04:00
Mike Dalessio 80e84f31fc dep: add mission_control-jobs 2025-06-01 11:40: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
Jorge Manrubia fa04016cbe Revert "Revert "Replace House with Lexical"" 2025-05-29 14:25:16 +02:00
Jorge Manrubia 08d8b2e5ff Revert "Replace House with Lexical" 2025-05-29 14:22:27 +02:00
Jorge Manrubia c1f1183bb0 Update actiontext lexical 2025-05-29 13:39:15 +02:00
Jorge Manrubia 1e18fa87a9 Update lexical 2025-05-29 13:01:29 +02:00
Jorge Manrubia 62bef018ea Merge branch 'main' into lexical
* main:
  Don't choke when rendering commands where the card was deleted
  Update tests
  Rework system events
  test: add missing assertions
  dep: bump active_record-tenanted to fix URI support
  Remove hyphen from "Un-do"
  Prevent default when handling keyboard shortcuts
  dep: update AR::Tenanted to support database URIs
  Detect platform and label the correct hotkey shortcut
  Things got too tight
  Don't require TLS for Beamer at the moment
  dep: update dependencies

# Conflicts:
#	Gemfile
#	Gemfile.lock
#	app/assets/stylesheets/comments.css
2025-05-29 12:44:14 +02:00
Jorge Manrubia ecf82d8703 Make tests pass with action text 2025-05-29 12:37:16 +02:00
Jason Zimdars d17134cb5c Detect platform and label the correct hotkey shortcut
Yes, Platform Agent is overkill for just this but there isn't a one-size JS solution for updating both input placeholders and other HTML text and we're likely to need it later for other things like displaying platform-specific PWA prompts.
2025-05-27 12:14:24 -05:00
Jorge Manrubia b8a810df8c Script to convert markdowns 2025-05-25 23:38:10 +02:00
Jorge Manrubia 06f952525a Point to the right branch 2025-05-23 17:08:20 +02:00
Jorge Manrubia 10b2aad647 Replace House with lexical-powered actiontext 2025-05-23 11:41:08 +02:00
Jorge Manrubia 541f24ab0b Limit the tokens we send for embeds
See insight by Donal here https://github.com/basecamp/fizzy/pull/483#discussion_r2084766023
2025-05-16 16:39:18 +02:00
Jorge Manrubia b8f94c4ecb Add VCR and some initial tests 2025-05-16 13:29:18 +02:00
Jorge Manrubia 67984bf589 WIP for LLM experiment 2025-05-16 13:29:18 +02:00