Commit Graph

4989 Commits

Author SHA1 Message Date
Stanko Krtalić 3604d60a2d Merge pull request #1083 from basecamp/webhooks
Webhooks
2025-09-16 20:25:26 +02:00
Stanko K.R. 34222b9717 Add missing actions 2025-09-16 20:23:50 +02:00
Stanko K.R. b49e8d2d34 Remove URL field from edit form 2025-09-16 20:18:35 +02:00
Jason Zimdars 2e9273c6ab Improve active state 2025-09-16 20:08:06 +02:00
Jason Zimdars 784d6cf690 Don't need to navigate this list
I doubt most collections will ever have more than a handul
2025-09-16 20:08:06 +02:00
Jason Zimdars daee271940 Style show view 2025-09-16 20:08:06 +02:00
Jason Zimdars a5b4c88d27 Style web hooks forms and list WIP 2025-09-16 20:08:06 +02:00
Stanko K.R. ce1d6469e7 Rename methods for clarity 2025-09-16 20:08:06 +02:00
Stanko K.R. 63e64a060d Use HTML5 validation for the URL 2025-09-16 20:08:06 +02:00
Stanko K.R. 5b3089e11e Change the icon if there are webhooks on a collection 2025-09-16 20:08:06 +02:00
Stanko K.R. dd3063b01d Simplify delinquency tracking 2025-09-16 20:08:03 +02:00
Stanko K.R. 02a421675f Scope Webhooks to Collections 2025-09-16 20:07:25 +02:00
Stanko K.R. 25b2daad93 Limit access to webhooks to admins 2025-09-16 20:04:20 +02:00
Stanko K.R. 1d192c9d42 Ignore low-volume webhooks for delinquency checks 2025-09-16 20:04:20 +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. d7db973397 Use the same timestamp from the body in the header
Else replay attack prevention doesn't work
2025-09-16 20:04:20 +02:00
Stanko K.R. df87ee8b35 Rename private IP ranges to disallowed IP ranges 2025-09-16 20:04:20 +02:00
Stanko K.R. b8317ce88d Fix indentation 2025-09-16 20:04:20 +02:00
Stanko K.R. 5e4d15d802 Remove concurrency limit
It won't be useful in practice for now, and we can always put it back in if the need arises
2025-09-16 20:04:20 +02:00
Stanko K.R. 1b09a39b1a Adhere to the redirect and params sanitization convention 2025-09-16 20:04:20 +02:00
Stanko K.R. 680a69ad29 Add tests for webhooks controllers 2025-09-16 20:04:20 +02:00
Stanko K.R. 2fc9215b1d Add support for Basecamp, Campfire & Slack webhooks 2025-09-16 20:04:20 +02:00
Stanko K.R. 4879995013 Serialize events 2025-09-16 20:04:20 +02:00
Stanko K.R. 1d69b171b6 Test the abuse prevention logic 2025-09-16 20:04:20 +02:00
Stanko K.R. 0bdbc5f5e8 Add abuse prevention 2025-09-16 20:04:18 +02:00
Stanko K.R. 4da69fb69f Move reactivation out of edit 2025-09-16 20:03:57 +02:00
Stanko K.R. 5c6cad057f Extract triggering logic into a concern 2025-09-16 20:03:57 +02:00
Stanko K.R. 9d717239e7 Dispatch Webhooks on event creation 2025-09-16 20:03:57 +02:00
Stanko K.R. 1930067e08 Allow Webhooks to be disabled 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 525c3cb7f7 Merge pull request #1118 from basecamp/otel-collector
OTel collector for Prometheus metrics
2025-09-16 11:45:54 +01:00
Lewis Buckley 95f9b16ef5 Add Webrick, required for prometheus metrics server 2025-09-16 11:35:05 +01:00
Jorge Manrubia 7750b2e776 Merge pull request #1117 from basecamp/bundles-fixes
Fix problem where we can generate overlapping bundles due to flushing
2025-09-16 12:32:04 +02:00
Jorge Manrubia b87a572f58 Fix VCR test 2025-09-16 12:30:23 +02:00
Lewis Buckley c75e1e8e17 Expose 9394 for metrics 2025-09-16 11:24:48 +01: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
Jorge Manrubia a6eb928688 Fix: update ends_at when flushing bundles
If not, it can happen that the bundlers remains in a delivered state
even when it is not covering its window anymore because it has been delivered.
2025-09-16 12:10:06 +02:00
Stanko Krtalić 0e2c7f7d4d Escape HTML everywhere where html_safe is used (#1114)
* Escape HTML everywhere where html_safe is used
* Mark search results as HTML safe at the attribute
2025-09-16 11:52:15 +02:00
Jorge Manrubia 97506c9a6c Remove trace 2025-09-16 11:22:44 +02:00
Jorge Manrubia 09325403e5 Add missing test (we were only testing this logic via the bundle test) 2025-09-16 11:22:14 +02:00
Mike Dalessio 80de91417d Merge pull request #1115 from basecamp/flavorjones/rename-proprietary-columns
Rename the queenbee_id and signal_user_id columns
2025-09-15 14:05:06 -04:00
Mike Dalessio d5a4239d19 Rename the queenbee_id and signal_user_id columns
to be more generic for the open-source release.

Find the signal account via Account#external_account

Find the signal user via User#external_user
2025-09-15 13:57:53 -04:00
Andy Smith 60e515e462 Merge pull request #1098 from basecamp/collapsible-nav-sections
Collapsible nav sections
2025-09-15 12:54:21 -05:00
Mike Dalessio 46de946e25 Merge pull request #1113 from basecamp/flavorjones/dep-update-20250915
Update dependencies 2025-09-15
2025-09-15 12:37:03 -04:00
Mike Dalessio 3341479605 dep: remaining dependencies
except ruby_llm
2025-09-15 12:32:17 -04: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 6f7985b887 bump aws-sdk-s3 2025-09-15 12:21:07 -04:00