Alp Keser
a48c88cb5d
Stabilize notifications tray test ordering via fixture updated_at timestamps
2026-02-16 18:33:32 +03:00
Alp Keser
bcc0f93bb9
Preload notification card associations used by JSON responses
2026-02-16 17:58:33 +03:00
Alp Keser
abcbb74ac8
Make notification ordering deterministic.
2026-02-12 15:32:10 +03:00
Stanko K.R.
36ee253a1a
Stack notifications everywhere
...
We had client-side notification stacking in the tray since launch, but now we want to stack notifications in the notifications page, in API responses and in email bundles.
2026-02-12 10:29:50 +01:00
Mike Dalessio
79c9ea2ce1
Remove a bunch of N+1s
...
related to notification and comment rendering
2025-11-27 11:08:45 -05:00
Jorge Manrubia
f0851988a2
Revert tentatively
...
Kevin got a bunch of dups, need to look into this more calmly https://3.basecamp.com/2914079/buckets/37331921/chats/9301300227
2025-11-23 10:18:39 +01:00
Jorge Manrubia
41905068c0
Bundle after notification is committed to mitigate reading stale data when bundling
...
Attempt to deal with overlapping bundles being created by notifications created immediately
one after the other.
2025-11-21 14:34:05 +01:00
Stanko K.R.
0b8c51c2e9
Preload cards for columns
2025-11-17 16:16:19 +01:00
Donal McBreen
fc56ad9d7c
Combine uuid-old and uuid branch changes
...
- Switch to binary 16 for UUID keys
- Remove AccountScopedRecord base class, all model use binary uuids now
- Fix the search sql to serialize uuids properly
- Patch the MySQL schema dumper to output binary lengths
2025-11-17 09:12:34 -05:00
Mike Dalessio
e4011ef211
Update primary keys on customer data to UUIDs
...
- schema changes to primary and foreign keys
- fixture changes
- customer data models subclass AccountScopedRecord
- import script updated
2025-11-17 09:12:30 -05:00
Mike Dalessio
b5197fe6d3
Fix notifications to use the user's account
2025-11-17 09:11:57 -05:00
Stanko K.R.
ba3f6b188e
Add account_id to everything
2025-11-17 09:11:42 -05: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
Jorge Manrubia
960f074b3f
Don't bundle new notifications is bundling is disabled
2025-08-28 12:53:19 +02:00
Jorge Manrubia
cfafc54a81
Deliver emails for bundled notifications (initial WIP)
2025-08-26 13:22:22 +02:00
Jason Zimdars
4276aad5a7
Mark notifications as unread from the index
2025-07-23 17:01:59 -05:00
Jason Zimdars
0afc738d19
Whitespace
2025-07-21 20:11:03 -05:00
Jason Zimdars
38d13f78a3
Add pusher models and job
2025-07-15 13:16:18 -05:00
Mike Dalessio
53ebb509d8
Broadcast when all notifications are cleared
...
Then make the turbo response to clearing all notifications a no-op.
This has the bonus side effect of properly clearing the notifications
try on all open pages.
ref: https://fizzy.37signals.com/5986089/collections/2/cards/796
2025-07-03 12:05:41 -04:00
Mike Dalessio
ecbe040e3e
Implement Notification#card
...
Models now know how to find their cards, rather than trying to
implement this logic in a view helper.
2025-05-21 16:30:18 -04:00
Mike Dalessio
822ec5b5bb
Broadcast notification readings
...
so that the notification tray will be more consistent across open
browser tabs.
2025-05-08 10:40:10 -04:00
Jorge Manrubia
f258b05b23
Delegate target to the notifiable objects
2025-04-23 16:19:50 +02:00
Jorge Manrubia
5dac14ab50
Move logic to the model
2025-04-23 16:06:20 +02:00
Jorge Manrubia
2eae58725a
Remove notifications' resource relationship
...
Is confusing since "source" already captures the origin of the notifications. It's
needed to interpret things at rendering time, so we can query things as needed there.
2025-04-23 13:52:47 +02:00
Jorge Manrubia
8aa99e34b4
Persist notification's creator
...
Instead of delegating. With a polymorphic relationship, relying on a certain
attribute implies doing things like aliasing "mentioner" to "creator" or similar.
2025-04-22 13:48:43 +02:00
Jorge Manrubia
aa3acfeaa8
Add plain text mentions
2025-04-22 11:26:56 +02:00
David Heinemeier Hansson
2ced8e643d
Clarify a bit
2025-04-16 17:01:32 +02:00
David Heinemeier Hansson
2757cd8e62
Dont render inline
2025-04-16 16:49:16 +02:00
David Heinemeier Hansson
4bb9085737
Hide implementation detail of reading
2025-04-16 16:41:22 +02:00
David Heinemeier Hansson
397fc1d2bd
Only broadcast creations
2025-04-16 16:21:54 +02:00
Jorge Manrubia
723e6d94f5
Rename bubbles => cards
2025-04-09 14:50:58 +02:00
Kevin McConnell
5d5dc8fb73
Wire up notifications "Mark all as read" button
2025-01-21 14:37:41 +00:00
Kevin McConnell
6706802b89
Add an index view for all notifications
2025-01-16 17:48:38 +00:00
Kevin McConnell
ab154f2f35
Generate notification content in a helper
2025-01-14 13:08:12 +00:00
Kevin McConnell
c62e800b08
Notifications are all related to a Bubble
2025-01-13 14:21:47 +00:00
Kevin McConnell
df1225e58d
Style
2025-01-13 14:21:47 +00:00
Kevin McConnell
876083c697
Broadcast new notifications
2025-01-13 14:21:47 +00:00
Kevin McConnell
af5ac65116
Make notification target polymorphic
2025-01-13 14:21:47 +00:00
Kevin McConnell
952895ae67
WIP: show notifications in a tray
2025-01-13 14:21:47 +00:00
Kevin McConnell
d0ae5b4bdc
Add notification model
2025-01-13 14:21:47 +00:00