Commit Graph

12 Commits

Author SHA1 Message Date
Kevin McConnell bd259f7795 Add optimistic pausing to avoid stale reads
Instead of writer pinning, we'll track the last transaction ID of each
write in the session. Then on each read we'll wait for the replica to
report that this transaction is available.

If it doesn't become available within a reasonable timeout, we'll
proceed anyway, and accept the possibility of a stale read.

The hope here is that most of the time, the replica is caught up in the
time between a write request and the following read request. If it's
not, we now have a little tolerance to wait for it, which hopefully
proves enough to stale reads are not encountered in normal use.

We also disable the writer affinity opt-out mechanism that we had
before, since we will no longer be using writer affinity at the load
balancer.
2025-11-24 13:29:52 +00:00
Jorge Manrubia eea9afb639 Fix: dismiss grouped notifications by card from the notifications tray
This also splits the templates into two: index and tray, since the URL now changes.
2025-11-14 12:58:24 +01:00
Jorge Manrubia 03a345609e Baseline replacing collection with board across code 2025-11-05 13:31:54 +01:00
Kevin McConnell 5a9f9692f2 Track collection access when viewing cards 2025-06-24 15:48:05 -05:00
Kevin McConnell 63ddb23585 Opt out of writer affinity on readings controller 2025-06-16 15:05:47 +01:00
Jorge Manrubia f166b30f2f Fix: dismiss mention notifications in cards and comments when reading a card 2025-04-24 12:19:20 +02:00
Jorge Manrubia aa3acfeaa8 Add plain text mentions 2025-04-22 11:26:56 +02:00
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
Jorge Manrubia 723e6d94f5 Rename bubbles => cards 2025-04-09 14:50:58 +02:00