Commit Graph

1191 Commits

Author SHA1 Message Date
Jorge Manrubia 5dac14ab50 Move logic to the model 2025-04-23 16:06:20 +02:00
Jorge Manrubia 970a51db28 No need for it! 2025-04-23 15:49:22 +02:00
Jorge Manrubia b4cfd40a2f Inline, no need to duplicate the conditional 2025-04-23 15:37:28 +02:00
Jorge Manrubia 6f98f2f573 Order methods 2025-04-23 15:32:22 +02:00
Jorge Manrubia e964c5f9c9 Not used! 2025-04-23 15:31:26 +02:00
Jorge Manrubia 53eba9bd0b Favor after_create_commit to keep transactions fast 2025-04-23 15:28:28 +02:00
Jorge Manrubia ea66845e71 There is always an action 2025-04-23 15:27:58 +02:00
Jorge Manrubia e8e95bd511 Use it 2025-04-23 15:27:25 +02:00
Jorge Manrubia 4bef466df2 1-line 2025-04-23 15:22:41 +02:00
Jorge Manrubia ad58de9e76 Remove access checks when watching
https://github.com/basecamp/fizzy/pull/425#discussion_r2056039581
2025-04-23 15:22:18 +02:00
Jorge Manrubia a9df2d48d1 Remove delegate 2025-04-23 15:17:51 +02:00
Jorge Manrubia 6ff9f7a154 Fix identation 2025-04-23 15:07:02 +02:00
Jorge Manrubia 469fb9f049 Simplify the logic to determine action text changes 2025-04-23 15:02:31 +02:00
Jorge Manrubia e446080367 Don't create duplicated mentions
E.g: when editing a comment or description with a mention
2025-04-23 14:45:56 +02:00
Jorge Manrubia f43629f849 Format 2025-04-23 14:39:10 +02:00
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 696732a90a Rename mentions' container => source 2025-04-23 13:41:34 +02:00
Jorge Manrubia 043230394e Tidy up event helper code
Also, revert to using a helper method to determine the event action, since this is purely a view concern. Keep method at the event model to identify initial assignments.
2025-04-23 13:35:09 +02:00
Jorge Manrubia 2e3ffcfb9d Remove identation 2025-04-23 13:35:08 +02:00
Jorge Manrubia 755c9b45c7 Rename and fix problem where after_touch was overriding the saved content 2025-04-23 12:38:33 +02:00
Jorge Manrubia edcc9e3279 Add mentionees as watchers 2025-04-23 12:38:06 +02:00
Jorge Manrubia 8ebb3f2fa9 We need to remember on after_touch so that the mechanism triggers when touch-cascading records automatically via associations 2025-04-23 11:38:34 +02:00
Jorge Manrubia 8b6cfccded Rename to clarify usage 2025-04-23 11:20:33 +02:00
Jorge Manrubia ab54cafd84 Inline event notifiers 2025-04-23 11:06:43 +02:00
Jorge Manrubia b510ca0318 Don't choke for nil values 2025-04-23 10:56:00 +02:00
Jorge Manrubia af8701567a Extract method 2025-04-23 10:35:18 +02:00
Jorge Manrubia c3cd873588 Rename collect => create 2025-04-23 10:30:30 +02:00
Jason Zimdars 72c1fa3b05 Merge branch 'main' into fixes-tues-22
* main:
  Indention
  @collection is always available when card scoped
  Style
  Duh, no before destroy commit, but this is still not right!
  No long transactions!
  But feels more essentially part of the User, so list first
  Not related to the other two
  Style
  Try a slimmer version
  We werent using any of the other avatar methods
  Dont do a lot of work inside a single transaction
  Really liking the new it-style yields in many places
  Bump nokogiri from 1.18.7 to 1.18.8
2025-04-22 15:06:36 -05:00
David Heinemeier Hansson dff55d6cb6 Style 2025-04-22 21:48:32 +02:00
David Heinemeier Hansson 5048e9c970 Duh, no before destroy commit, but this is still not right! 2025-04-22 21:40:30 +02:00
David Heinemeier Hansson 7124835e60 No long transactions!
If you intend to deactivate someone, and the process fails mid process,
so you only delete some sessions, or some accesses, you are actually
fine. The system is never left in an incomplete state. And that's really
the only time we should be using transactions with sqlite3 -- to prevent
actual data integrity issues.

The rest of the time, we should optimize for each transaction to be as
quick as possible. The sqlite3 writer lock is the one bottleneck that we
cant afford to overload.
2025-04-22 21:29:03 +02:00
Jason Zimdars 5de85fa6bf Don't display published event in threads 2025-04-22 14:25:35 -05:00
David Heinemeier Hansson 90f05b7310 But feels more essentially part of the User, so list first 2025-04-22 21:25:30 +02:00
David Heinemeier Hansson 72d1d0baee Not related to the other two 2025-04-22 21:24:51 +02:00
David Heinemeier Hansson ad1e97767d Style 2025-04-22 21:22:42 +02:00
David Heinemeier Hansson 6cd8d54bf7 We werent using any of the other avatar methods 2025-04-22 21:20:18 +02:00
David Heinemeier Hansson 134333ae44 Dont do a lot of work inside a single transaction
Especially with sqlite3!
2025-04-22 21:01:11 +02:00
David Heinemeier Hansson 78d186bebd Really liking the new it-style yields in many places 2025-04-22 20:59:49 +02:00
Jorge Manrubia cdadc0373a Don't trigger unless the mentionable content changes
This is also needed to prevent incorrect triggering on cascade touches!
2025-04-22 18:10:27 +02:00
Jorge Manrubia a567e662e2 Fix: wrong delegation 2025-04-22 17:23:47 +02:00
Jorge Manrubia 9b4fec936e Move mentions to comments
- It does not make sense to scan "event summaries" for notifications.
- Placing them at the message level prevents us from using the generic approach to extract the mentionable content
2025-04-22 16:17:37 +02:00
David Heinemeier Hansson 3d28203224 Use singular staging resource and beef up testing 2025-04-22 14:44:55 +02:00
Jorge Manrubia 3bf73a0b71 Rename to match actual action 2025-04-22 14:22:23 +02:00
Jorge Manrubia beac61699c Not needed 2025-04-22 14:21:26 +02:00
Jorge Manrubia d5f0359338 Extract mentionable content using reflection to remove duplicated logic and the need for additional concerns 2025-04-22 14:19:45 +02:00
Jorge Manrubia 9db675e589 Format 2025-04-22 14:15:40 +02:00
Jorge Manrubia 22df208f9a Render proper content for mentions, don't send mentions to yourself 2025-04-22 14:11:21 +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 5ea0ec8cb4 Test and fix setting workflow to nothing 2025-04-22 13:05:39 +02:00
David Heinemeier Hansson a7d17b38aa Be confident 2025-04-22 12:44:49 +02:00