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.
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.
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.
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
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
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
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
Jorge Manrubia
48f7f914dc
Fix: the system to filter at the current view was broken after moving menu to turbo frame
...
https://fizzy.37signals.com/5986089/cards/1723
2025-09-15 17:07:09 +02:00
Jorge Manrubia
3d8437bd5f
Truncate summaries to keep within API limits
...
https://fizzy.37signals.com/5986089/cards/1739
2025-09-15 16:14:29 +02:00
Jorge Manrubia
0e3d25707c
Debug the overlapping bundle
2025-09-15 14:01:57 +02: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
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
Jorge Manrubia
9e5108bcae
Touch user on modification to invalidate cache
...
For the new "add card" in the cards screen
2025-09-12 18:59:18 +02:00
Jorge Manrubia
ba3b782d21
Merge branch 'main' into watchers
...
* main:
Fix add card not working in the cards screen
Submit and refresh results as you type terms
Fix: When expanding filters, submitting filters should keep the filters expanded
Invalidate cache when filter changes
Switch to gpt-5-chat
Handle filter toggles with JS
Prevent glitch where you see the filter bar expanded when you clear it
Remove unused templates
Fix: all collections link not working after moving to turbo frame
Restore cache I deleted by mistake
Speed up filter expansion with turbo stream
Fix: filtering collections not working after moving menu to turbo frame
Respect params when loading the menu or they won't be reflected!
Add HTTP cache for the menu
Load main menu lazily with a turbo frame
Inline :has(&) as it's REALLY slow in Safari
Extract helper method
Remove transition that is making Safari choke when navigating to Fizzy menus
Reduce page size to reduce load for processing local times on initial page load
Avoid having to parse strings
# Conflicts:
# app/views/cards/index/_add_card_button.html.erb
# test/vcr_cassettes/period_highlight_test-test_don_t_generate_highlights_for_existing_periods.yml
# test/vcr_cassettes/period_highlight_test-test_generate_period_highlights.yml
# test/vcr_cassettes/user/highlights_test-test_don_t_generate_highlights_for_existing_periods.yml
# test/vcr_cassettes/user/highlights_test-test_generate_weekly_highlights.yml
2025-09-12 18:52:17 +02:00
Jorge Manrubia
55a22f98e3
Submit and refresh results as you type terms
2025-09-12 18:25:27 +02:00
Jorge Manrubia
eabce24415
Switch to gpt-5-chat
...
Cheaper and good enough
https://3.basecamp.com/2914079/buckets/37331921/todos/9041305517
2025-09-12 16:16:54 +02:00
Jorge Manrubia
5e0918d373
Handle filter toggles with JS
...
To make them feel faster
2025-09-12 14:12:16 +02:00
Jason Zimdars
c4dec29b49
Assignment notifications should always be delivered
...
- They're effectively @mentions
- This means watching really reflects the UI state: Watching for new cards
2025-09-11 21:21:11 -05:00
Jason Zimdars
e68b344cc2
Remove _Everything_ inolvement
2025-09-11 12:34:31 -05:00
Jorge Manrubia
312c5c7331
Fix some cache invalidation problems
...
- https://fizzy.37signals.com/5986089/cards/1585
- https://fizzy.37signals.com/5986089/cards/1616
2025-09-10 17:37:13 +02:00
Jorge Manrubia
23d2512525
Bust user filtering cache when the displayed associations change
2025-09-10 16:55:37 +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
7f7ecf0346
Delete notifications when the user loses access to the collection
2025-09-10 10:24:20 +02:00
Jorge Manrubia
2e51a34694
Extract method to fetch all the notifications for a card for a given user
...
We'll need to handle access changes
2025-09-10 10:08:14 +02:00
Jorge Manrubia
b9c7ac225a
Extract method
2025-09-10 10:07:58 +02:00
Jorge Manrubia
58c525e5a6
Broadcast notifications that are deleted
...
To prevent 404s when someone doesn't refresh the page
2025-09-10 09:50:22 +02:00
Jason Zimdars
4e50609d2b
Create a copy before modifying to avoid modifying the cached filter
2025-09-09 22:45:46 -05:00
Jorge Manrubia
8ea2d7346b
Restore add card button in the timeline
...
It will add to the first selected collection, or to the
first one in the menu if no collection selected
2025-09-09 17:41:07 +02:00
Jorge Manrubia
242a367e0a
Fix: add card adding cards to the wrong collection
...
Make sure we only show the "add card" button when there is a single collection selected, and that it adds to that collection.
https://fizzy.37signals.com/5986089/collections/2/cards/1439
2025-09-09 14:47:34 +02:00
Jorge Manrubia
9b4eaf0952
Format
2025-09-09 12:31:07 +02:00
Jorge Manrubia
a6b2944f54
Array not needed
2025-09-09 12:15:04 +02:00
Jorge Manrubia
1366ccc8df
Add caching and http caching to the cards index screen
2025-09-09 12:05:16 +02:00
Jorge Manrubia
61fd84ab5e
Add server-side caching and HTTP caching when serving events in the timeline
2025-09-09 11:30:05 +02:00
Jason Zimdars
d7844a4105
Merge pull request #1031 from basecamp/improve-workflows
...
Improve workflows
2025-09-08 10:32:50 -05:00
Jorge Manrubia
ebfc168266
Make sure it considers the week before if this is invoked on a sunday
2025-09-08 08:38:33 +02:00
Jorge Manrubia
ac11d8f830
Refine comment
2025-09-05 17:23:52 +02:00
Jorge Manrubia
573f62c3b4
Add comment
2025-09-05 17:23:26 +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
b15cb4541f
Show summarier capturing the actual weeks in the user's timezone
...
https://3.basecamp.com/2914079/buckets/37331921/todos/9010176047#__recording_9037056688
2025-09-05 13:48:02 +02:00