* 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
...
Since we're rendering according to the local timezone, we'll need to
include events that fall before or after the specific date on the
server, as they might get be inside the current day in the client's
timezone. So let's just grab a window of events either side of today,
and then hide anything that falls outside the client's day.
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.
Previously when a notification was read, we'd remove it from the list.
This will often be fine, but if there were more unread notifications
that hadn't been loaded yet (because there were too many for the initial
page) then the list could become empty when really there are still more
items to show.
So instead of removing the items when they're read, we can reload the
list with the new page of items. This should allow the older
notifications to come into view when necessary.
* main:
Add hotwire-spark
Fix for Safari which doesn't support `field-sizing: content`
Add button and action to delete a bubble
Indicate draggable element
Stub draggable collection size divider
Make close and trash more distinct
* main: (23 commits)
Improve the flow for editing bubble titles
Use path helpers in tests
Revising access shouldn't do a replace turbo-action
Split into new tests
Update this test, too
Adjust tests to match new behavior
Reapply "Destroy equivalent filters upon resource removal"
Revert "Destroy equivalent filters upon resource removal"
Destroy equivalent filters upon resource removal
Don't autocomplete
Rework boosts form so you can enter any integer
Pull out access_menu_tag
Punt on removing filters for inaccessible buckets
Can't see bubbles in buckets you've lost access to
Users can remove themselves from buckets
Fix redirect assertion
Fix redirect assertion
Submit form when toggling all-access + caching
Unnecessary parens
Can't revoke access to all-access bucket
...