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
...
* main: (29 commits)
Add assigners to filter summary
Use `Current.user`'s name for filter chips
Allow assigner ids param
Sort filter params before hashing
Fix tests
Test field accessors
Test filter chips controller
Test filter terms
Wire up assigner filters
Spell out button_to params
Use Filter class method to digest fixture params
Add frame to search terms form
Render each kind of filter in its own frame
button -> chip
No need to apply terms from the controller anymore
Add terms to filter
buttons -> chips
Clean up Filter class methods
KNOWN_PARAMS -> PERMITTED_PARAMS
Remove most_active as index option
...