Commit Graph

332 Commits

Author SHA1 Message Date
Jorge Manrubia 4427524e53 We do need the host! 2025-08-28 17:55:12 +02:00
Jorge Manrubia 9ba9a5758b Remove hosts for now
Docker subnets causing trouble and this is not really part of the email change
2025-08-28 17:21:15 +02:00
Jorge Manrubia e4ab1366be Add unsubscribe links and headers for emails
https://3.basecamp.com/2914079/buckets/37331921/todos/9002504172
2025-08-28 16:59:24 +02:00
Jorge Manrubia 53144a379c Add option to change the bundled email notification frequency 2025-08-28 11:56:40 +02:00
Jorge Manrubia 65d90b73bd Use URLs instead of paths so that these work from emails
Having to do this is not ideal but it's the simpler way of reusing
other custom route resolvers. The alternative would be to duplicate the code
for resolving comments and such.
2025-08-28 10:32:01 +02:00
Jorge Manrubia 75a830e9b3 Link to the event/notification source directly
E.g: link to comments
2025-08-27 11:46:48 +02:00
Jorge Manrubia cd6ff41eea Fix port for local dev 2025-08-27 11:21:11 +02:00
Jorge Manrubia e696c69d60 Merge branch 'main' into bundle-emails 2025-08-27 10:17:32 +02:00
Jorge Manrubia cfafc54a81 Deliver emails for bundled notifications (initial WIP) 2025-08-26 13:22:22 +02:00
Jorge Manrubia 218519d075 Configure letter opener 2025-08-26 10:21:13 +02:00
Jorge Manrubia b911a12833 Configure action mailer 2025-08-26 10:15:27 +02:00
Stanko Krtalić 13eacb4d95 Merge pull request #929 from basecamp/fizzy-ask-spend-limits
Conversation cost limits
2025-08-26 08:52:33 +02:00
Jorge Manrubia 5b5c698af7 Rename Action Text Lexical => Lexxy
 Conflicts:
	app/assets/stylesheets/terminals.css
2025-08-26 08:25:19 +02:00
Stanko K.R. 6b89aa6805 Improve naming & remove money accessors 2025-08-25 10:30:43 +02:00
Stanko K.R. 9a6fc1f54a Create bar controller 2025-08-22 07:33:00 +02:00
Mike Dalessio 9da3744dc2 Add recurring job to clean up Solid Queue finished jobs 2025-08-19 13:27:41 -04:00
Jorge Manrubia fa82dc0384 Remove code related to Fizzy Do /command support and filtering
https://3.basecamp.com/2914079/buckets/37331921/messages/8961776532
2025-08-18 13:41:20 +02:00
Mike Dalessio 8d23af3b70 Increase connection pool size from 5 to 50
which might improve performance and will certainly prevent connection
pool exhaustion exceptions.
2025-08-15 14:47:52 -04:00
Stanko K.R. 73cc47ba1c Remove unused code 2025-08-14 15:25:09 +02:00
Stanko K.R. 5d982fd3f1 Remove unused route 2025-08-13 15:14:12 +02:00
Stanko K.R. e49c7cb1cb Make sending messages feel snappy 2025-08-13 15:14:12 +02:00
Stanko K.R. 13eeb8574d Add the ask command 2025-08-13 15:14:12 +02:00
Mike Dalessio 3b1cbba25d Configure a remote builder
set KAMAL_BUILDER_LOCAL=false to use it
2025-08-12 12:47:14 -04:00
Jorge Manrubia 588f03e927 Remove insight experimental code
Also, downgrade LLM for commands to mini. It's much cheaper and I only upgraded because of the
interpretation complexities that the insight command introduced.

We are implementing a much better approach with Ask.
2025-08-11 13:40:56 +02:00
Mike Dalessio 5540b0fd1b Make sure session cookie has the correct path for the tenant
ref: https://fizzy.37signals.com/5986089/collections/7/cards/1234
2025-08-10 18:53:52 -04:00
Mike Dalessio 58ce8828fa Well, well, well, if it isn't the consequences of my own actions 2025-08-08 14:18:08 -04:00
Mike Dalessio 6bf61b631e Ensure sanitizer config applies to ActionText in production
In production, eager loading prevents the default sanitizer config
from applying to Action Text. Let's explicitly set it.

ref: https://fizzy.37signals.com/5986089/collections/2/cards/1123
2025-08-08 13:50:23 -04:00
Mike Dalessio 57269b1b9c Allow local authentication with LOCAL_AUTHENTICATION=1
You can touch `tmp/local-auth.txt` to persist this setting.
2025-08-06 17:05:35 -04:00
Andy Smith f8ec00022b Flip config.consider_all_requests_local 2025-08-04 11:53:45 -05:00
Andy Smith 84b8bb0a43 Add controller, routes, and templates for other error pages 2025-07-29 13:32:00 -05:00
Andy Smith da546109a5 Add a custom 404 page 2025-07-28 15:09:40 -05:00
Jorge Manrubia 83d743fe2a Make the translator use the /insight command 2025-07-24 16:48:02 +02:00
Jorge Manrubia 1c6adf54a8 Restore semantic searches 2025-07-24 16:47:57 +02:00
Jason Zimdars 4276aad5a7 Mark notifications as unread from the index 2025-07-23 17:01:59 -05:00
Jason Zimdars 8f154b36c0 Add vapid keys for remaining environments 2025-07-23 12:31:23 -05:00
Jason Zimdars dfb6198e94 Merge branch 'main' into web-push
* main: (50 commits)
  Regenerate fixtures
  Let summaries know about collections
  Regenerate fixtures
  More tweaks
  Regenerate fixtures after tweaking prompt
  Fix model selection (I had broken it!)
  Some prompt refinements
  Some of us have basecamp.com email addresses
  Update nokogiri and thor to addres CVEs
  Fix tests
  Format
  Move model options to helper
  Tidy up the admin tool for prompts
  Extract methods
  Format
  Default to the current summary
  Make models selectable
  Add an animated effect for the generating state
  Remove debug
  Wrap them both in the container so the generating state looks right
  ...
2025-07-23 11:50:35 -05:00
Jorge Manrubia 7e5bdf59ec Prefer sandbox over debug for the resource name 2025-07-22 15:57:12 +02:00
Jorge Manrubia 6d26195bc7 Add a debug prompt endpoint so that we can play with the prompts live 2025-07-22 14:33:34 +02:00
Jorge Manrubia 7cd459f2b8 AI Summaries: basic abstractions, functional version 2025-07-22 11:57:39 +02:00
Jason Zimdars 0afc738d19 Whitespace 2025-07-21 20:11:03 -05: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 ef6198d394 Make sure the image variants we use are preprocessed
to avoid implicitly creating a variant during a GET to a read replica,
which will raise an exception and cause the image to fail to load.

This feels pretty brittle, to be honest, and we'll need to be careful
in the future about creating and using new variants; we will probably
need to backfill the new variant for existing images because we can't
guarantee that they will be created implicitly/lazily if the GET lands
on the replica.

ref: https://fizzy.37signals.com/5986089/collections/7/cards/942
2025-07-18 15:43:31 -04:00
Jorge Manrubia 30b6adcd1c Update brakeman 2025-07-18 10:57:13 +02:00
Jorge Manrubia 61dc39d158 Use mini which works much better 2025-07-18 05:11:19 +02:00
Jason Zimdars c4d9918a82 Regenerate keys
I think I accidentally switched the public and private keys the first time around
2025-07-15 17:58:57 -05:00
Jason Zimdars 47324eb45a Fix routes to manifest and service-worker, rename controller 2025-07-15 16:42:47 -05:00
Jason Zimdars 8f47db3ced Add service worker and subscriptions controllers 2025-07-15 15:22:32 -05:00
Jason Zimdars e59a994a0c Add db table and models 2025-07-14 19:57:30 -05:00
Jason Zimdars e77710c6b6 Cards inherit their collection's publication status 2025-07-09 10:08:47 -05:00
Farah Schüller 651d914de6 Move to internal registry 2025-07-08 17:21:02 +02:00