Commit Graph

88 Commits

Author SHA1 Message Date
David Heinemeier Hansson a5de4863fa Allow for multiple notifications to be read
cc @kevinmcconnell
2025-04-17 11:39:37 +02:00
Kevin McConnell 6c8fe164b3 Read a card should dismiss all notifications
Previous code assumed that there was a single notification to dismiss
for that card, but in practice there can be zero or many. If it's zero,
we need to avoid the crash. If it's many, we should dismiss them all.

Also re-rendering the notification stack after dismissing enables us to
remove all the removed cards, as well as reveal any older ones that were
previously outside the visible page size.

This reverts commit 6135909b7e.
2025-04-17 09:40:59 +01:00
David Heinemeier Hansson 6135909b7e Card readings just need to remove the notification
No need to broadcast everything again
2025-04-16 16:51:18 +02:00
David Heinemeier Hansson d00a0433e9 Inline anemic method 2025-04-16 15:34:28 +02:00
Andy Smith a88264ed0a Merge branch 'main' into consolidate-cards
* main: (94 commits)
  Source order seems to be significant
  Use `card.title`
  Nicer flow
  Fix string interpolation
  Fix constant
  Use record lookup
  Always use sole
  Explained less and extracted nothing of value
  Weird double negative
  Remove anemic and indirect method that explained nothing
  Can use record lookup for workflows
  Access control has already been done through the card
  Style
  Use _path in all cases where we are not potentially changing the domain
  Clearer
  Spacing
  Get rid of card_title
  Join the two users controllers but split out role setting
  Ensure user is returned
  We are not using the parameter
  ...
2025-04-14 09:40:22 -05:00
David Heinemeier Hansson cfb345bc32 Nicer flow 2025-04-13 20:39:09 +02:00
David Heinemeier Hansson e8a730c239 Fix constant 2025-04-13 20:36:07 +02:00
David Heinemeier Hansson 7b60748796 Clearer 2025-04-13 08:11:25 +02:00
David Heinemeier Hansson 4ef46ccd19 Spacing 2025-04-13 08:10:47 +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 e8a839d5f6 We have a callback dependency to do this actually 2025-04-12 11:47:08 +02:00
David Heinemeier Hansson 63c05220ce Clearer naming 2025-04-12 11:09:55 +02:00
David Heinemeier Hansson 27d90abbd6 Reduce the direct knowledge of comments inside the card 2025-04-12 11:04:16 +02:00
David Heinemeier Hansson 24b02c42fd Comments are dependents of messages, so need to destroy the latter to get the former 2025-04-12 10:59:59 +02:00
Andy Smith 47974b5e3b Fix failing pin test 2025-04-11 16:14:56 -05:00
David Heinemeier Hansson aefae634c3 Anemic params method
Wont ever get reused here since there is no update
2025-04-11 18:21:44 +02:00
David Heinemeier Hansson 8d36f13fab No longer needing that extra local 2025-04-11 18:20:28 +02:00
David Heinemeier Hansson 06a636bd8d Did need to separate them out for the broadcast 2025-04-11 18:19:33 +02:00
David Heinemeier Hansson 5fa8007397 Loaded directly in the partial 2025-04-11 18:19:10 +02:00
David Heinemeier Hansson 7861b7c087 Just open one turbo stream per card
Per comment is excessive and needless
2025-04-11 17:58:11 +02:00
David Heinemeier Hansson 79700162fc Use correct stream name
comment, :comments makes no sense for a stream for the reactions
2025-04-11 17:47:35 +02:00
David Heinemeier Hansson eec76d0d4f Use modern params#expect 2025-04-11 17:43:31 +02:00
David Heinemeier Hansson f9bb779b61 Use local vars so ivar dependency is only from before actions 2025-04-11 17:42:30 +02:00
David Heinemeier Hansson 3ecf150636 Use proper access control
Otherwise you could react to any comment on the entire account. And then
you might as well just do Comment.find.
2025-04-11 17:41:28 +02:00
David Heinemeier Hansson 5084bbf3b7 Use modern params#expect syntax 2025-04-11 17:01:19 +02:00
David Heinemeier Hansson 8a4a087a00 Fine to let destroying something destroyed be a no-op
Would be an edge-casey race condition, but its possible
2025-04-11 17:00:08 +02:00
David Heinemeier Hansson 256d536009 Always use _path unless we are changing domains 2025-04-11 16:58:56 +02:00
David Heinemeier Hansson 16c1583133 Usually the order comes last 2025-04-11 16:58:47 +02:00
David Heinemeier Hansson 5ecf0ce3f6 Stick with one term 2025-04-11 16:57:03 +02:00
David Heinemeier Hansson a8aa2c4f80 Clean up the controller 2025-04-11 16:49:55 +02:00
David Heinemeier Hansson f4ce57e308 Move comments under cards 2025-04-11 16:21:44 +02:00
Jorge Manrubia 4f3f322528 Rename inconsistency: go with goldness 2025-04-11 10:22:18 +02:00
Jorge Manrubia 806609e77b Use gild/ungild 2025-04-11 10:20:06 +02:00
Jorge Manrubia 7406a1039f Add models to track gold cards and implement basic toggle behavior 2025-04-10 16:48:12 +02:00
Jorge Manrubia 695247ae9b Paginate collection cards 2025-04-10 15:09:56 +02:00
Jorge Manrubia 221bbb3247 Fix renames that the scripts missed 2025-04-09 14:56:59 +02:00
Jorge Manrubia 723e6d94f5 Rename bubbles => cards 2025-04-09 14:50:58 +02:00