Commit Graph

153 Commits

Author SHA1 Message Date
Jorge Manrubia 2eae58725a Remove notifications' resource relationship
Is confusing since "source" already captures the origin of the notifications. It's
needed to interpret things at rendering time, so we can query things as needed there.
2025-04-23 13:52:47 +02:00
Jorge Manrubia 8aa99e34b4 Persist notification's creator
Instead of delegating. With a polymorphic relationship, relying on a certain
attribute implies doing things like aliasing "mentioner" to "creator" or similar.
2025-04-22 13:48:43 +02:00
David Heinemeier Hansson 8e35a3de9c Test workflowing updates card stages on change 2025-04-22 13:03:31 +02:00
Jorge Manrubia aa3acfeaa8 Add plain text mentions 2025-04-22 11:26:56 +02:00
David Heinemeier Hansson 1114679c20 Remove activity score columns 2025-04-18 17:05:17 +02:00
David Heinemeier Hansson a5de4863fa Allow for multiple notifications to be read
cc @kevinmcconnell
2025-04-17 11:39:37 +02:00
David Heinemeier Hansson 6bbf68a4f9 The tenanted db is the account scope 2025-04-12 20:06:34 +02:00
David Heinemeier Hansson 760cbb6c99 Drop boosts
Killed by design.
2025-04-12 18:52:54 +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
Jorge Manrubia 1bac0b84b3 Add tests 2025-04-11 09:36:24 +02:00
Jorge Manrubia 468bbf1388 Add test 2025-04-10 13:15:29 +02:00
Jason Zimdars aa7694ce7b Update fixtures and test 2025-04-09 17:28:24 -05:00
Jorge Manrubia 723e6d94f5 Rename bubbles => cards 2025-04-09 14:50:58 +02:00
Jorge Manrubia f403ed070c Downcase tag titles 2025-04-07 10:43:23 +02:00
Jorge Manrubia be4a738f1d Make reason not null 2025-04-04 15:06:43 +02:00
Jorge Manrubia 08cb69aca5 Replace auto_pop_at with generic last_activity column
so that we can use it in other scenarios
2025-04-04 09:45:56 +02:00
Jorge Manrubia dbae700554 Merge pull request #346 from basecamp/two-columns-refactor
Refactor collections perma + support for doing/considering
2025-04-04 08:29:17 +02:00
Jorge Manrubia 05fc73e2ae Merge pull request #334 from basecamp/user-admins
Add admin role and animate admin toggle
2025-04-04 08:29:03 +02:00
Jason Zimdars 1ea70d7d3b Merge branch 'main' into two-columns-refactor
* main:
  Fix image icons
  Revert "Merge pull request #345 from basecamp/cascade-layers"
  Fine tune notifications states
  Remove empty helper
  Use an icon for the button
  Show button on collection page and notif settings
  Add involvement types to accesses
  Extract a couple components
  Add cascade layers to all CSS files
2025-04-03 19:30:37 -05:00
Jorge Manrubia cfe91c25c9 Add admin role, make sure only admins can remove and promote other users 2025-04-03 17:43:29 +02:00
Kevin McConnell 0820badcc3 Add involvement types to accesses
This provides a way to set the level of involvement that a user has with
a collection, and from which we determine the level of notifications to
send. Users can be access-only, watching, or being notified about
everything.

If you're access-only, you won't get an notifications. If you're
watching, you'll only get notifications for the items you're watching
(which includes the items you've been assigned, have commented on, etc).
If you're set to everything you'll get notifications about all activity
in that collection.

This change replaces our previous concept of subscriptions. Where
previously you'd subscribe to a collection to get notifications in it,
now you'll simply set the notification level on your access.
2025-04-03 16:35:13 +01:00
Jorge Manrubia 4fcb5a9c85 Add basic models for tracking engagement 2025-04-03 12:11:06 +02:00
Mike Dalessio b7c2369988 Fix setting the workflow on a collection
The previous implementation would delete all accesses if the bucket
was not all_access.

I think it's simpler to move the bucket workflow into a separate
Buckets::WorkflowsController, rather than deal with different sets of
params from different forms in the existing BucketsController.
2025-03-30 09:24:56 -04:00
Jason Zimdars bbcbb77082 Update tests 2025-03-27 17:09:05 -05:00
Jason Zimdars 1cf2e24bcc Set buckets at the workflow level
- All bubbles inherit the bucket's set workflow
2025-03-27 14:35:07 -05:00
Kevin McConnell e9ae2772e4 Add tests to validate notification recipients 2025-03-18 17:46:57 +00:00
Jason Zimdars 28a569c49b Tickets 2025-03-17 21:24:08 -05:00
Kevin McConnell d29e999552 Make Buckets subscribable 2025-02-26 10:53:03 +00:00
Kevin McConnell 6157d8b4bd Start watching when participating on a bubble
If you're added as an assignee, or if you comment, then your watching
preference will be toggled on.
2025-02-26 10:53:03 +00:00
Kevin McConnell 59144ad17a Add Watches to track notification preferences 2025-02-26 10:53:03 +00:00
Jason Zimdars 000bd158eb Reactions on comments 2025-02-18 17:08:56 -06:00
Kevin McConnell dac2611c57 Auto-pop bubbles 2025-02-12 13:20:05 +00:00
Kevin McConnell 485a056ba2 Add a "system" role & specific user 2025-02-12 13:19:53 +00: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 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 6706802b89 Add an index view for all notifications 2025-01-16 17:48:38 +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 78b7fe0f3d Fix tests 2025-01-14 13:21:20 +00:00
Kevin McConnell ab154f2f35 Generate notification content in a helper 2025-01-14 13:08:12 +00:00
Kevin McConnell 30b58f716b Make title a notifier attribute 2025-01-14 10:21:47 +00:00
Kevin McConnell 46989f6ebe Mark notification read when viewing the Bubble 2025-01-13 14:21:47 +00:00
Kevin McConnell 271ac063f9 Adjust a fixture 2025-01-13 14:21:47 +00:00
Kevin McConnell c62e800b08 Notifications are all related to a Bubble 2025-01-13 14:21:47 +00:00
Kevin McConnell d536358228 Make fixture match expected content 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 af5ac65116 Make notification target polymorphic 2025-01-13 14:21:47 +00:00
Jose Farias 326bdc74cf Merge branch 'main' into house
* 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
  ...
2024-12-16 13:50:55 -06:00
Jose Farias 59c66923f0 Implement all_access buckets 2024-12-10 19:46:40 -06:00
Jose Farias d556e21287 Use House for MD comments 2024-11-27 18:59:15 -06:00