Commit Graph

1191 Commits

Author SHA1 Message Date
Kevin McConnell bd4e475d44 Remove old abandoned bubble creations via cron 2025-02-11 14:34:39 +00:00
Kevin McConnell fd1556b298 Decision can belong to subsequently created bubble 2025-02-11 14:34:39 +00:00
Kevin McConnell 6832ba8f37 It's not just about drafts now 2025-02-11 14:34:39 +00:00
Kevin McConnell bb5c767111 Recover recently-deleted bubbles 2025-02-11 14:34:39 +00:00
Kevin McConnell 81197bfb49 Don't set a default title 2025-02-11 14:34:39 +00:00
Kevin McConnell 39c0a95e1a We'll handle this at the event level 2025-02-11 14:34:39 +00:00
Kevin McConnell 469dbd0ba5 Don't track assignment notifications until publishing 2025-02-11 14:34:39 +00:00
Kevin McConnell b347d77f4d Add a new "creating" state 2025-02-11 14:34:39 +00:00
Jason Zimdars 8ee1e670f9 Remove Hotwire Combobox, adjust related styles 2025-02-10 17:01:42 -06:00
Jason Zimdars 346ecc34af Projects -> Collections 2025-02-06 16:24:05 -06:00
Jason Zimdars affa4cae7a Track changes to the bubble's name 2025-02-04 16:14:29 -06:00
Jason Zimdars 246b44d1f5 Add popped to event summary 2025-02-04 16:01:11 -06:00
Jason Zimdars d1ddb8d299 Track events on due dates 2025-02-04 15:49:34 -06:00
Jason Zimdars f25335ba38 Try comment excerpts in notification and event chips 2025-02-04 14:04:17 -06:00
Jason Zimdars 83d1c7055b Trim color palette 2025-01-31 09:59:05 -06:00
Jason Zimdars 5e9c65c4ff Merge branch 'main' into latest-activity
* main:
  Add a new, more cheerful default color
  Apparently Safari supports hyphens inside textareas
2025-01-27 17:19:42 -06:00
Jason Zimdars dd08991104 Add a new, more cheerful default color 2025-01-27 17:18:59 -06:00
Jason Zimdars 881e1d07fc Merge branch 'main' into latest-activity
* main: (27 commits)
  Leave some space for the tray
  Let's not assume it's a due date
  Avoid overlap
  Let's try without the big drag button, extend beyond the column a touch
  Tighten labels
  Match notification dot
  Spacing
  Add more context
  Avoid leaving the tray open
  This shouldn't be here
  Paginate the read notifications
  Add a test case
  Split up a big view
  Allow filtering by stage
  Send beacon request on disconnect as well
  Wire up notifications "Mark all as read" button
  Add unread dot
  Set state for when there are no new notifications
  Move to right side, smooth transition
  Open tray on click, stub mark-as-read button
  ...
2025-01-24 15:07:17 -06:00
Jason Zimdars c068fac93f Merge branch 'notification-index'
* notification-index:
  This shouldn't be here
  Paginate the read notifications
  Send beacon request on disconnect as well
  Wire up notifications "Mark all as read" button
  Add unread dot
  Set state for when there are no new notifications
  Move to right side, smooth transition
  Open tray on click, stub mark-as-read button
  Refactor
  `New for you` empty state
  Add a notifications button to the tray for reaching the index when you have no unreads
  Needed when truncating so the avatar isn't squished
  Style notifications index; add truncation for long notifications
  Add an index view for all notifications
  Move notifications to tray controller
2025-01-24 13:41:59 -06:00
Kevin McConnell 85d5f7d7d7 Allow filtering by stage 2025-01-24 10:28:12 +00:00
Kevin McConnell 5d5dc8fb73 Wire up notifications "Mark all as read" button 2025-01-21 14:37:41 +00:00
Kevin McConnell e6fe7f680d Associate Event with Bubble
It's kind of a long way to get from one to the other right now. Every
event belongs to a bubble, so let's link them directly.
2025-01-17 14:40:36 +00:00
Kevin McConnell 6706802b89 Add an index view for all notifications 2025-01-16 17:48:38 +00:00
Jose Farias 5ac9063a84 default_fields -> default_values 2025-01-15 16:57:02 -06:00
Jose Farias 8d75429431 Remove old digest_params method 2025-01-15 16:45:15 -06:00
Jose Farias e9a085f848 Simplify filters 2025-01-15 16:27:33 -06:00
Kevin McConnell 056d853cc8 Don't notify while bubbles are still drafted 2025-01-15 11:42:35 +00:00
Kevin McConnell 782259a678 Events should track published now
Previously when an item was `created`, we'd track the event, update the
summary text, and broadcast the notifications. But now that we have a
draft state, we shold do all of this when it's published instead.
2025-01-15 10:58:00 +00:00
Kevin McConnell cd1e6378d0 Add drafted and published states 2025-01-15 10:58:00 +00:00
Kevin McConnell 415e872a2b Combine concerns 2025-01-14 13:57:48 +00:00
Kevin McConnell ab154f2f35 Generate notification content in a helper 2025-01-14 13:08:12 +00:00
Kevin McConnell 30b58f716b Make title a notifier attribute 2025-01-14 10:21:47 +00:00
Jason Zimdars 5f88cd3900 Design for notifications 2025-01-13 20:46:51 -06:00
Kevin McConnell 196575c0a2 Use a job to generate notifications 2025-01-13 14:21:47 +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 66d0f29d45 Notify on pop as well
And DRY up some duplication.
2025-01-13 14:21:47 +00:00
Kevin McConnell 58ce85ce36 Link comment notifications to the comment 2025-01-13 14:21:47 +00:00
Kevin McConnell 876083c697 Broadcast new notifications 2025-01-13 14:21:47 +00:00
Kevin McConnell 58d5ed07a5 Create notifications when tracking events 2025-01-13 14:21:47 +00:00
Kevin McConnell dc53a39b93 Update notification body 2025-01-13 14:21:47 +00:00
Kevin McConnell 8a51597408 Add direct linking to comments 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 6b5e098407 Use a better return value 2025-01-13 14:21:47 +00:00
Kevin McConnell a082eb75f5 Track events for new comments too 2025-01-13 14:21:47 +00:00
Kevin McConnell 5a56c16029 Add a factory for creating notifications 2025-01-13 14:21:47 +00:00
Kevin McConnell d0ae5b4bdc Add notification model 2025-01-13 14:21:47 +00:00
Kevin McConnell e7bc04856f Broadcast bucket changes to index page
This will cause each filtered view to stay updated as the items in the
buckets change.

For filters that are specific to buckets, we listen to broadcasts on
those buckets; for filters on "All projects" we listen instead for
broadcasts on an account-specific channel. This is so that "All
projects" views will be aware of any new buckets that are added, while
also avoid unnecessary refreshes from buckets that are filtered out.
2025-01-09 09:14:22 +00:00
Kevin McConnell 22be073a92 Sanitize search terms 2025-01-08 16:49:40 +00:00