Commit Graph

50 Commits

Author SHA1 Message Date
Stanko K.R. 10728e35ef Create scopes for filtering comment by user or system 2025-08-14 14:32:10 +02:00
Jorge Manrubia 8bb7783215 Extract "prompt generation" logic to models for events, comments and cards
So that we can reuse in other scenarios
2025-07-24 16:48:03 +02:00
Jason Zimdars 485e575c40 Merge branch 'main' into card-attachments
* main: (45 commits)
  Display tag counts in the filter menu
  Move Add Card button to header
  Re-write help content, try a modal-like display
  Move to internal registry
  Show date instead of time for notifications older than 1 day
  Ensure checks are visible for tags and assignments
  Adjust padding so card number isn't cut off
  Don't color the collection header in considering
  Golden cards bubble to the top of Considering, too
  Adjust card collection header when colored golden
  Allow cards in Considering to gilded
  Hide focus ring on new card titles and step inputs
  Add hover effect for comment edit button
  Add hover effect to overflow button
  Improve multi-account behavior of the PWA
  Remove unneeded *
  Rename test
  Review the code to move cards
  Update editor
  Generalize and delete mentions too
  ...
2025-07-08 16:04:14 -05:00
Jorge Manrubia cbeefc5b74 Remove unused code 2025-07-04 19:00:22 +02:00
Jorge Manrubia b8b4ef5463 Extract common concern to examine attachments 2025-07-04 17:53:37 +02:00
Jason Zimdars 0539d366d7 Display attachments in events for comments 2025-07-03 16:48:43 -05:00
Jorge Manrubia 0997b45e37 Make searchable work with multiple fields and index card descriptions as separated columns 2025-06-24 08:03:25 +02:00
Jorge Manrubia fa04016cbe Revert "Revert "Replace House with Lexical"" 2025-05-29 14:25:16 +02:00
Jorge Manrubia 08d8b2e5ff Revert "Replace House with Lexical" 2025-05-29 14:22:27 +02:00
Jorge Manrubia 10b2aad647 Replace House with lexical-powered actiontext 2025-05-23 11:41:08 +02:00
Jorge Manrubia 9d7438ba25 Use similarity searches and refined prompt 2025-05-16 13:29:18 +02:00
Jorge Manrubia 2b98db9e66 Flatten out comments and messages
https://37s.fizzy.37signals.com/collections/693169850/cards/999008989#comment_994777841
2025-04-29 19:21:18 +02:00
Jorge Manrubia 82885e453d Not needed anymore 2025-04-26 09:13:24 +02:00
Jorge Manrubia 905ccb9b4b Make comments the event's host 2025-04-24 13:45:48 +02:00
Jorge Manrubia edcc9e3279 Add mentionees as watchers 2025-04-23 12:38:06 +02:00
Jorge Manrubia 9b4fec936e Move mentions to comments
- It does not make sense to scan "event summaries" for notifications.
- Placing them at the message level prevents us from using the generic approach to extract the mentionable content
2025-04-22 16:17:37 +02:00
David Heinemeier Hansson 706178f3c4 Better naming 2025-04-12 13:33:54 +02:00
David Heinemeier Hansson d4a31fec6d Dont overload the main transaction
Even if we are going to get rid of this cleanup_events stuff.
2025-04-12 13:33:06 +02:00
David Heinemeier Hansson 2357c75063 Reads better with a verb first 2025-04-12 13:09:49 +02:00
David Heinemeier Hansson 0031ce34ea Correct order 2025-04-12 11:46:17 +02:00
David Heinemeier Hansson e4efe446e6 Simlpe callback is actually enough
Since the Comment already knows about the card.
2025-04-12 11:45:34 +02:00
David Heinemeier Hansson f2c2b0492e Have to solve this in an overhaul of events 2025-04-12 11:42:50 +02:00
David Heinemeier Hansson f5b30456a0 Comments arent part of event summaries any more 2025-04-12 11:42:41 +02:00
David Heinemeier Hansson 81a89dbda1 Comments should always have messages 2025-04-12 11:23:45 +02:00
David Heinemeier Hansson cef8899bda Comments are not currently used as notifiables 2025-04-12 11:18:59 +02:00
David Heinemeier Hansson 9f1c3ae046 Note my discontent 2025-04-12 11:17:01 +02:00
David Heinemeier Hansson 63c05220ce Clearer naming 2025-04-12 11:09:55 +02:00
David Heinemeier Hansson 27d90abbd6 Reduce the direct knowledge of comments inside the card 2025-04-12 11:04:16 +02:00
David Heinemeier Hansson b698eefa06 Messageables already have access to the card 2025-04-12 11:00:15 +02:00
David Heinemeier Hansson 60a0360203 Remove more activity scoring related to comments 2025-04-12 10:52:48 +02:00
David Heinemeier Hansson fb733b9a60 No more tracking commenting as an activity for sorting
We are doing away with all the automated activity scoring, but for now
lets just get rid of it for comments.
2025-04-12 10:50:25 +02:00
David Heinemeier Hansson 81f431d946 Comment-specific behavior needs to live in the comment
This really is a bit of a tangled mess. Everyone knows everything about
everyone else.
2025-04-12 10:39:56 +02:00
David Heinemeier Hansson 80bc1dd163 Reactions dont have any callbacks so can just be deleted 2025-04-12 10:15:38 +02:00
David Heinemeier Hansson f4ce57e308 Move comments under cards 2025-04-11 16:21:44 +02:00
David Heinemeier Hansson 64b529ce94 Fix indention 2025-04-11 16:12:18 +02:00
Jorge Manrubia 723e6d94f5 Rename bubbles => cards 2025-04-09 14:50:58 +02: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 cd534391c1 Delete referenced events when deleting comments 2025-02-24 13:24:49 -06:00
Jason Zimdars 000bd158eb Reactions on comments 2025-02-18 17:08:56 -06:00
Kevin McConnell 8a51597408 Add direct linking to comments 2025-01-13 14:21:47 +00:00
Jose Farias 45e94e4484 Support search on markdown fields 2024-11-29 14:28:37 -06:00
Jose Farias d556e21287 Use House for MD comments 2024-11-27 18:59:15 -06:00
Jose Farias f9712ea53f Messageables don't belong to bubble directly 2024-10-27 11:57:33 -06:00
Jose Farias 85d47a35ab threadables -> messageables 2024-10-25 15:03:31 -06:00
Jose Farias c57f18c20c Materialize abstract thread
The domain language is clearer if we just persist a thread. Also rename some models so their purpose is clear.
2024-10-24 17:36:14 -06:00
Jose Farias 35a31e3203 Model threadables 2024-10-23 14:10:04 -06:00
David Heinemeier Hansson 1d404830f4 Must touch to bust bubble caches 2024-10-19 17:42:06 -07:00
Kevin McConnell 518828883c Make bubbles and comments searchable 2024-10-02 13:51:12 +01:00
Jeffrey Hardy 5aae70298b Rename Splat to Bubble 2024-09-04 14:54:11 -04:00
Jason Zimdars 09cc76c4f7 Render comments on splats 2024-08-14 17:36:13 -05:00