Commit Graph

212 Commits

Author SHA1 Message Date
Jason Zimdars 8e26106a07 Reorder and rename activity columns; include system popped events 2025-03-19 13:35:17 -05:00
Jason Zimdars 28a569c49b Tickets 2025-03-17 21:24:08 -05:00
Kevin McConnell f50a880d6b Avoid double render in Avatars#show
After sending the conditional 304 response, we were still attempting to
render the response, which is unnecessary.
2025-03-12 09:05:50 +00:00
Kevin McConnell 49fa8b21a6 Move current user check to controller
This is necessary to a) ensure people can't edit/delete comments they
don't own, and b) make the comment partial cacheable.
2025-03-03 17:04:16 +00:00
Kevin McConnell 942dd27e5c Sort buckets on notification settings 2025-02-27 12:17:32 +00:00
Kevin McConnell ab27371115 Include self in watcher list 2025-02-27 10:51:59 +00:00
Kevin McConnell 385e299db7 Simplify param 2025-02-26 10:53:03 +00:00
Kevin McConnell a802b8de5a Allow managing bucket subscriptions 2025-02-26 10:53:03 +00:00
Kevin McConnell f22742c431 watched_by? should reflect subscriptions too 2025-02-26 10:53:03 +00:00
Kevin McConnell 694783e5f3 Allow toggling watch preference
We use a true/false preference so we can tell the difference between
disabling the watch vs never having the watch. This is so we can toggle
off and on the preferences for a container (like the bucket) without
losing any bubble-specific preferences.
2025-02-26 10:53:03 +00:00
Jason Zimdars d73d3a9daa Constrain boost events 2025-02-24 17:12:46 -06:00
Jason Zimdars 5a4d2a72c8 Remove uniqueness constraint
I'm not sure if this was inadvertent or an artifact of an earlier design but I'm fairly certain we want a more comprehensive list of events here. Especially comments, for example. We should show all the comments that happen in a particular hour on the timeline. There may be places were we need to dial back but for now I'm going to lift the constraint and see how it feels.
2025-02-24 17:01:43 -06:00
Jason Zimdars 530b6e4a90 Stub notifications settings screen 2025-02-21 17:25:44 -06:00
Jason Zimdars 28bdc531b0 Mark individual notifications as read 2025-02-21 16:39:50 -06:00
Jason Zimdars 190e046479 Mark all notifications as read from the index 2025-02-21 12:12:00 -06:00
Jason Zimdars 8cde1883a6 Filter activity by bucket 2025-02-19 18:05:12 -06:00
Jason Zimdars 000bd158eb Reactions on comments 2025-02-18 17:08:56 -06:00
Jason Zimdars 783af287db Don't allow creating duplicate tags 2025-02-14 11:44:52 -06:00
Jason Zimdars edd7e55313 Prevent using # in the stored tag name 2025-02-14 11:23:08 -06:00
Kevin McConnell 483c6cdbe6 Allow updating draft comment with bubble 2025-02-13 14:39:33 +00:00
Kevin McConnell a24817ffb7 Don't show system events in Activity view 2025-02-12 14:31:29 +00:00
Kevin McConnell b0add103c4 Remove the system user avatar
We probably won't need it.
2025-02-12 14:29:33 +00: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
Kevin McConnell fd1556b298 Decision can belong to subsequently created bubble 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 beaa8fa30c Formatting 2025-02-11 14:34:39 +00:00
Kevin McConnell c23d829063 Tidy 2025-02-11 14:34:39 +00:00
Kevin McConnell 70f7f100a9 Add publish/draft/cancel buttons to form 2025-02-11 14:34:39 +00:00
Kevin McConnell 321384b573 Replace "editing" param with creating? state 2025-02-11 14:34:39 +00:00
Jason Zimdars 04844504f1 Move to plain checkboxes instead of combobox 2025-02-04 16:51:06 -06:00
Jason Zimdars 92cc2c8121 Just use plain checkboxes
- Style WIP
2025-01-29 21:25:43 -06:00
Kevin McConnell 4c63f88620 Merge pull request #206 from basecamp/latest-activity
Latest activity
2025-01-28 17:43:06 +00:00
Kevin McConnell 13080a5c36 Simplify the methods a bit 2025-01-28 17:27:56 +00:00
Kevin McConnell cc1051c968 Expire upload links after 5 minutes
By default the Active Storage URLs are valid for 5 minutes. We should
avoid caching the responses for longer than that.
2025-01-28 16:13:26 +00:00
Kevin McConnell e93acb0e38 Don't repeatedly mark notifications read 2025-01-28 11:54:11 +00:00
Kevin McConnell c213914af6 Remove conditional caching on bubble
This leads to us showing stale assets after deployments. Removing for
now, until we add a more consistent cache strategy.
2025-01-28 11:34:08 +00:00
Jason Zimdars a847a71a57 Merge branch 'main' into latest-activity
* main:
  Undo weird flash notices
  Redirect to bucket after deleting
  Fix layout issues in Safari
  Should match text
  Add production deploy config
  Add Kamal deploy config
  Remove old deploy config
2025-01-27 17:11:27 -06:00
Jason Zimdars 7364720e42 Redirect to bucket after deleting 2025-01-27 16:55:57 -06:00
Kevin McConnell 1184ea8cf8 Smoosh empty days together 2025-01-27 17:07:46 +00:00
Kevin McConnell 3f3b5f3a61 Only show unique bubble entries in each cluster 2025-01-27 15:41:01 +00:00
Kevin McConnell bfaac4bd44 Render activity directly into requested timezone 2025-01-27 15:41:01 +00:00
Kevin McConnell 94b2c256b9 Set request timezone to match browser 2025-01-27 14:16:15 +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 1f3bc1134f Paginate the read notifications 2025-01-24 17:42:36 +00:00
Kevin McConnell 7f96475344 Each cluster of events should have a parent 2025-01-23 17:08:55 +00:00
Kevin McConnell 86cb627120 Include neighbouring events in paginated query
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.
2025-01-22 16:44:30 +00:00
Kevin McConnell 5d5dc8fb73 Wire up notifications "Mark all as read" button 2025-01-21 14:37:41 +00:00
Kevin McConnell 3481d1f93e Show activity per day 2025-01-17 15:33:24 +00:00
Kevin McConnell 6706802b89 Add an index view for all notifications 2025-01-16 17:48:38 +00:00