Commit Graph

366 Commits

Author SHA1 Message Date
Stanko K.R. 02a421675f Scope Webhooks to Collections 2025-09-16 20:07:25 +02:00
Stanko K.R. fee25a49ea Periodically cleanup deliveries 2025-09-16 20:04:20 +02:00
Stanko K.R. 9d77b17b8c Remove encryption 2025-09-16 20:04:20 +02:00
Stanko K.R. 4da69fb69f Move reactivation out of edit 2025-09-16 20:03:57 +02:00
Stanko K.R. 9cfd1e43af Enable subscribing to specific actions 2025-09-16 20:03:57 +02:00
Stanko K.R. a515ea3b1f Create webhooks 2025-09-16 20:03:55 +02:00
Lewis Buckley 437877f290 Debug with info logging 2025-09-16 11:20:46 +01:00
Lewis Buckley ab6622d653 Set up the OTel collector to gather and export metrics from containers 2025-09-16 11:16:02 +01:00
Mike Dalessio 13db361aed dep: bump puma
also remove the incorrect on_worker_boot block and the needless
before_fork block
2025-09-15 12:31:57 -04: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 2630e4bd74 Extract 37id and QB controllers, models, and tests 2025-09-13 16:03:02 -04:00
Mike Dalessio e7dcefb25b Extract SignalUser and SignalAccount, and QB routes 2025-09-13 16:03:02 -04:00
Mike Dalessio 66075fc49e Extract signal_id and queenbee initialization 2025-09-13 16:03:00 -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 5dec991d7c Introduce a few system tests
Primarily I'm trying to exercise active storage and action cable /
turbo streams, both of which have been brittle when making changes to
tenanting.
2025-09-13 13:18:32 -04:00
Jorge Manrubia 5e0918d373 Handle filter toggles with JS
To make them feel faster
2025-09-12 14:12:16 +02:00
Jorge Manrubia af6cb37db1 Speed up filter expansion with turbo stream 2025-09-12 13:06:00 +02:00
Jorge Manrubia 0a98cbb6b3 Load main menu lazily with a turbo frame 2025-09-12 11:01:56 +02:00
Jorge Manrubia 2999d351d3 Add redirect for old card paths 2025-09-10 15:16:49 +02:00
Jorge Manrubia 4e72566856 Flatten card resource
We only need the parent collection for creating cards. Carrying it in the
rest of actions is a hassle.
2025-09-10 11:24:23 +02:00
Jorge Manrubia 4cb090a23d Reorder 2025-09-10 09:38:18 +02:00
Jorge Manrubia d533f05c7b Use vanilla resources for handling notifications 2025-09-10 09:17:57 +02:00
Jorge Manrubia 0e30f73d40 Fix cron syntax (this didn't trigger) 2025-09-08 08:29:24 +02:00
Kevin McConnell 8e145a7d89 Update beta to use switchable Beamer 2025-09-05 19:37:20 +02:00
Jorge Manrubia d9cc592566 Merge pull request #1007 from basecamp/weekly-highlights
Weekly highlights
2025-09-05 17:03:38 +02:00
Jorge Manrubia cfa0149564 Persist timezones in the server
Add a beacon to persist timezones when these change (or the first time)
2025-09-05 12:11:57 +02:00
Mike Dalessio bf04f4f12d Configure action_controller.default_url_options
so that using url helpers will work in turbo stream notifications sent
by background jobs.

ref: https://fizzy.37signals.com/5986089/collections/2/cards/1469
2025-09-01 11:19:26 -04:00
Jorge Manrubia 5b68750713 Generate weekly highlights instead of daily ones
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047
2025-09-01 16:01:19 +02:00
Jorge Manrubia 7c5266df4b Dispatch solid queue recurring 2025-09-01 13:47:26 +02:00
Jorge Manrubia 6f2670d6dd Merge main into bundle-emails branch and resolve conflicts 2025-09-01 11:49:20 +02:00
Kevin McConnell ca20b048e3 Update Beamer configuration to switchable version 2025-08-29 17:33:48 +01:00
Jorge Manrubia a9444caf1f Add a "backend" queue with less priorities for deliveries 2025-08-29 09:39:48 +02:00
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
Mike Dalessio 87d81e608b refactor: remove unused routes associated with "resource :account"
- Drop from 313 unused routes to 306 unused routes
- Use a namespace for the account-related resource routes
- Controllers are nested under the "Account" module now
- Move views from "accounts/" to "account/"
2025-08-28 11:12:24 -04: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