Kevin McConnell
88f295eee2
Provide accessor for the draft comment
2025-02-13 14:36:34 +00:00
Kevin McConnell
e72c89781f
Ensure auto_pop_at it set before saving
2025-02-12 13:36:57 +00:00
Kevin McConnell
2b7074f24d
Clearer name
2025-02-12 13:28:47 +00:00
Kevin McConnell
dac2611c57
Auto-pop bubbles
2025-02-12 13:20:05 +00:00
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
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
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
Kevin McConnell
85d5f7d7d7
Allow filtering by stage
2025-01-24 10:28:12 +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
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
196575c0a2
Use a job to generate notifications
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
58d5ed07a5
Create notifications when tracking events
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
22be073a92
Sanitize search terms
2025-01-08 16:49:40 +00:00
Jason Zimdars
0b28a18c05
Rework boosts form so you can enter any integer
2024-12-13 16:54:11 -06:00
Jose Farias
3e1b2c74e4
Make one-way assignment and tagging methods private
2024-11-25 17:55:25 -06:00
Jose Farias
a9f845ed47
Assigner is always Current.user
2024-11-25 17:51:20 -06:00
Jose Farias
5e09f5a9b9
Remove swapping
2024-11-25 16:17:44 -06:00
Jose Farias
f266e46b57
Wire up comboboxes
2024-11-21 19:58:21 -06:00
Jose Farias
e117f4e5af
boost_count -> boosts_count
...
This aligns better with counter_cache conventions, in case we turn boosts into a model later
2024-11-19 14:22:51 -06:00
Jose Farias
9ac136bace
Rescore bubble from Message, not Comment
2024-11-19 13:27:09 -06:00
Jose Farias
f17b060906
Move rescoring concerns to bubble
2024-11-15 19:48:53 -06:00
Jose Farias
b4e8adca47
Pre-calculate comment counts and activity scores
2024-11-15 18:17:42 -06:00
Jose Farias
458a6a1ac2
Wire up assigner filters
2024-11-13 13:34:51 -06:00
Jose Farias
f2706d0f74
Unnest bubble filters
2024-11-05 13:04:05 -06:00
Jose Farias
2f7baaff29
create -> create!
2024-10-28 10:47:49 -06:00
Jose Farias
404755c9d9
Clean up Bubble#track_event
2024-10-28 10:20:39 -06:00
Jose Farias
0727414017
Lean into delegated types APIs
2024-10-27 17:39:30 -06:00
Jose Farias
f782b43ef5
find_or_create_next_summary -> find_or_create_active_summary
2024-10-27 12:36:37 -06:00
Jose Farias
ede04d6d96
Fix search tests
2024-10-27 12:33:33 -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
3cd1d34f9d
Thread entries relay touches to thread
2024-10-24 19:27:55 -06:00
Jose Farias
f5b01415aa
Bubble events can be deleted
2024-10-24 18:01:32 -06:00
Jose Farias
3db14a117c
Store stage ids in event particulars
2024-10-24 17:36:40 -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
ad88f90302
Fine not to denormalize user names in events
2024-10-24 15:50:00 -06:00
Jose Farias
c41da5837c
Add back bubble association to events
2024-10-24 11:22:23 -06:00
Jose Farias
5fed37a8c4
Refactor Bubble::Thread#latest_rollup
2024-10-24 10:55:30 -06:00
Jose Farias
a49c6dc3f6
Refactor Bubble#toggle_stage
2024-10-24 10:51:23 -06:00
Jose Farias
804be0a971
Create thread entry in a callback
2024-10-24 10:38:59 -06:00