Commit Graph

66 Commits

Author SHA1 Message Date
Jason Zimdars 28a569c49b Tickets 2025-03-17 21:24:08 -05:00
Kevin McConnell 16a80ff3a6 More dynamic activity scores
This introduces a more dynamic system of activity scoring, to improve
the way bubbles "bubble up" due to their activity. There are a few
different parts we can tune here, and it's likely we'll need to make
adjustments once we get a feel for how this works in practice.

The basic idea here is:

- We assign points for certain types of event that happen on a bubble. A
  boost gets 1 point, a comment gets 10 points, and so on.
- These points decay over time, at a rate of 50% per day. So old
  activity is worth much less than new activity. Bubbles should rise up
  quickly when acted upon, bit will float back down if left idle.
- Some comments can score higher than others: the first comment from
  each person on a bubble is worth more (20) because it signals that
  more people are getting involved; and comments that follow a comment
  by a different author are also worth more (15) because that signals
  there's ongoing conversation between people, not just a series of
  notes being left by one individual.

In terms of implementation, we persist the score on the bubble
whenever it changes, but we handle the decay on the client side. That
allows us to cache the bubble representation without having to
continually change it while its activity decays.

We also keep a separate `activity_score_order` attribute on the model.
This can be used to sort the bubbles in order of "most active", without
having to think about the decay.
2025-03-05 17:16:31 +00:00
Jason Zimdars 1d0562f905 Refactor 2025-02-21 10:44:40 -06:00
Jason Zimdars 410b754d69 Adjust navigation 2025-02-07 16:27:12 -06:00
Jason Zimdars 346ecc34af Projects -> Collections 2025-02-06 16:24:05 -06:00
Kevin McConnell dcf26d6981 Hide these buttons when there's no current bucket
These depend on having a bucket to link to, but in the case of an "All
buckets" view, we don't have one. So we can hide them in that case.
2025-02-06 14:41:05 +00:00
Jason Zimdars c0f842427d Rework navigation 2025-02-05 17:14:05 -06:00
Jason Zimdars 764c3534ca Add settings to bucket perma 2025-02-04 13:26:35 -06:00
Jose Farias af0783d8ff Fix divider drag jankiness 2025-01-16 13:54:42 -06:00
Jose Farias 622e340e83 positionedClass -> installedClass 2025-01-15 20:31:09 -06:00
Jose Farias dac9aa9d26 Drag bubble divider 2025-01-15 17:22:25 -06:00
Jose Farias e9a085f848 Simplify filters 2025-01-15 16:27:33 -06:00
Jason Zimdars 95f077672b esc to navigate back to buckets index 2025-01-14 15:57:55 -06:00
Kevin McConnell febcb6c344 A partial is clearer than a helper here 2025-01-13 14:21:47 +00:00
Kevin McConnell 876083c697 Broadcast new notifications 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 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 5c19c3422b Only show create button when in single bucket 2025-01-07 15:04:42 +00:00
Jason Zimdars 2c038a5739 Stub draggable collection size divider 2024-12-17 14:06:33 -06:00
Jason Zimdars b1c3ffa72a Stick with stock buttons for now 2024-11-19 12:06:35 -06:00
Jason Zimdars 492360a259 Still a little odd that it's a separate form but this conceptually belongs here 2024-11-19 10:31:53 -06:00
Jason Zimdars 73391a2a4e We've got a utility for this 2024-11-19 10:04:42 -06:00
Jason Zimdars ad81b8a201 Fix navbar alignment 2024-11-19 10:01:27 -06:00
Jose Farias fb04249209 Make filters into a simple form 2024-11-14 21:50:38 -06:00
Jose Farias f2706d0f74 Unnest bubble filters 2024-11-05 13:04:05 -06:00
David Heinemeier Hansson 32d1792cb2 Fetch bubbles index with multiget cache 2024-10-19 16:50:19 -07:00
Jose Farias 09c003431e Pull out Bucket::BubbleFilter 2024-10-18 11:11:23 -06:00
Jose Farias e7cc426fdc Move bubble filtering to the model 2024-10-17 22:51:02 -06:00
Jose Farias c0df006ebc Consolidate bucket_view_helper and filters_helper 2024-10-17 21:37:48 -06:00
Jose Farias c9e6ecda58 bucket_view_form_tag -> bubble_filter_form_tag 2024-10-17 21:35:21 -06:00
Jose Farias 6dc01479b7 Fix search form 2024-10-17 21:34:48 -06:00
Jose Farias 919092a1f8 Disambiguate view_filter_params and buble_filter_params 2024-10-17 20:50:45 -06:00
Jose Farias 6b54ad6a72 bucket_view -> view 2024-10-17 17:43:30 -06:00
Jose Farias 7e99aabaa1 Bucket::View update/delete 2024-10-17 17:34:31 -06:00
Jose Farias 310a102ec9 Split out filters into partials 2024-10-16 16:55:09 -06:00
Jose Farias f4b5210ca1 Spike persisted filters 2024-10-16 16:41:11 -06:00
Jeffrey Hardy 6c26a100f7 Restore the search filter input 2024-10-05 18:23:56 -04:00
Jeffrey Hardy cbb20ecc64 Rename the search param for clarity 2024-10-04 15:55:55 -04:00
Jason Zimdars f2e0a7e17b Tighten 2024-10-03 16:53:10 -05:00
Jason Zimdars a919a352d9 Bare blank slate 2024-10-03 16:29:37 -05:00
Jason Zimdars b81b6c3ce4 Use the same collection for the list 2024-10-03 15:10:21 -05:00
Jeffrey Hardy 8682bc6a83 Wire up filters for tags and assignees 2024-10-03 15:40:51 -04:00
Jeffrey Hardy 81087295a0 Scope and order assignee and tag filters 2024-10-03 15:40:51 -04:00
Jeffrey Hardy ad1c7ae51d Remove redundant ordering for most-active bubbles
The base bubbles query is the same, differing only in the ordering and limit.
2024-10-03 15:40:51 -04:00
Jeffrey Hardy 462032155c Always set a default Bubble title 2024-10-03 15:40:51 -04:00
Jason Zimdars e5e035609c Spacing 2024-10-03 14:35:36 -05:00
Jason Zimdars 6d4172c558 Bubbly button icons 2024-10-03 12:46:40 -05:00
Kevin McConnell b7feddf6b7 Temporarily wire up filtering on the form 2024-10-03 16:11:29 +01:00
Jason Zimdars 8ff85b44e0 Stub filter input 2024-10-02 17:33:14 -05:00
Jason Zimdars eabba22607 First stab at filter button + popup component 2024-10-02 17:24:20 -05:00