fix(ui): add max zindex for no witness alert
Mar 02, 10-11 AM (33)
Mar 02, 11-12 PM (42)
Mar 02, 12-1 PM (81)
Mar 02, 1-2 PM (60)
Mar 02, 2-3 PM (58)
Mar 02, 3-4 PM (37)
Mar 02, 4-5 PM (30)
Mar 02, 5-6 PM (92)
Mar 02, 6-7 PM (49)
Mar 02, 7-8 PM (29)
Mar 02, 8-9 PM (13)
Mar 02, 9-10 PM (24)
Mar 02, 10-11 PM (40)
Mar 02, 11-12 AM (42)
Mar 03, 12-1 AM (7)
Mar 03, 1-2 AM (35)
Mar 03, 2-3 AM (22)
Mar 03, 3-4 AM (12)
Mar 03, 4-5 AM (6)
Mar 03, 5-6 AM (17)
Mar 03, 6-7 AM (5)
Mar 03, 7-8 AM (26)
Mar 03, 8-9 AM (32)
Mar 03, 9-10 AM (35)
Mar 03, 10-11 AM (38)
Mar 03, 11-12 PM (17)
Mar 03, 12-1 PM (53)
Mar 03, 1-2 PM (57)
Mar 03, 2-3 PM (62)
Mar 03, 3-4 PM (39)
Mar 03, 4-5 PM (40)
Mar 03, 5-6 PM (12)
Mar 03, 6-7 PM (16)
Mar 03, 7-8 PM (20)
Mar 03, 8-9 PM (4)
Mar 03, 9-10 PM (31)
Mar 03, 10-11 PM (44)
Mar 03, 11-12 AM (20)
Mar 04, 12-1 AM (8)
Mar 04, 1-2 AM (19)
Mar 04, 2-3 AM (12)
Mar 04, 3-4 AM (7)
Mar 04, 4-5 AM (7)
Mar 04, 5-6 AM (6)
Mar 04, 6-7 AM (7)
Mar 04, 7-8 AM (48)
Mar 04, 8-9 AM (54)
Mar 04, 9-10 AM (33)
Mar 04, 10-11 AM (97)
Mar 04, 11-12 PM (40)
Mar 04, 12-1 PM (47)
Mar 04, 1-2 PM (66)
Mar 04, 2-3 PM (81)
Mar 04, 3-4 PM (102)
Mar 04, 4-5 PM (18)
Mar 04, 5-6 PM (62)
Mar 04, 6-7 PM (60)
Mar 04, 7-8 PM (39)
Mar 04, 8-9 PM (56)
Mar 04, 9-10 PM (15)
Mar 04, 10-11 PM (26)
Mar 04, 11-12 AM (26)
Mar 05, 12-1 AM (15)
Mar 05, 1-2 AM (18)
Mar 05, 2-3 AM (17)
Mar 05, 3-4 AM (16)
Mar 05, 4-5 AM (3)
Mar 05, 5-6 AM (9)
Mar 05, 6-7 AM (27)
Mar 05, 7-8 AM (20)
Mar 05, 8-9 AM (31)
Mar 05, 9-10 AM (72)
Mar 05, 10-11 AM (43)
Mar 05, 11-12 PM (53)
Mar 05, 12-1 PM (65)
Mar 05, 1-2 PM (51)
Mar 05, 2-3 PM (68)
Mar 05, 3-4 PM (64)
Mar 05, 4-5 PM (55)
Mar 05, 5-6 PM (56)
Mar 05, 6-7 PM (66)
Mar 05, 7-8 PM (20)
Mar 05, 8-9 PM (21)
Mar 05, 9-10 PM (8)
Mar 05, 10-11 PM (22)
Mar 05, 11-12 AM (21)
Mar 06, 12-1 AM (11)
Mar 06, 1-2 AM (18)
Mar 06, 2-3 AM (8)
Mar 06, 3-4 AM (0)
Mar 06, 4-5 AM (11)
Mar 06, 5-6 AM (5)
Mar 06, 6-7 AM (16)
Mar 06, 7-8 AM (63)
Mar 06, 8-9 AM (35)
Mar 06, 9-10 AM (46)
Mar 06, 10-11 AM (48)
Mar 06, 11-12 PM (45)
Mar 06, 12-1 PM (48)
Mar 06, 1-2 PM (89)
Mar 06, 2-3 PM (93)
Mar 06, 3-4 PM (37)
Mar 06, 4-5 PM (40)
Mar 06, 5-6 PM (20)
Mar 06, 6-7 PM (16)
Mar 06, 7-8 PM (22)
Mar 06, 8-9 PM (15)
Mar 06, 9-10 PM (13)
Mar 06, 10-11 PM (28)
Mar 06, 11-12 AM (22)
Mar 07, 12-1 AM (16)
Mar 07, 1-2 AM (1)
Mar 07, 2-3 AM (6)
Mar 07, 3-4 AM (0)
Mar 07, 4-5 AM (1)
Mar 07, 5-6 AM (5)
Mar 07, 6-7 AM (7)
Mar 07, 7-8 AM (7)
Mar 07, 8-9 AM (4)
Mar 07, 9-10 AM (3)
Mar 07, 10-11 AM (0)
Mar 07, 11-12 PM (4)
Mar 07, 12-1 PM (6)
Mar 07, 1-2 PM (2)
Mar 07, 2-3 PM (6)
Mar 07, 3-4 PM (22)
Mar 07, 4-5 PM (21)
Mar 07, 5-6 PM (5)
Mar 07, 6-7 PM (0)
Mar 07, 7-8 PM (7)
Mar 07, 8-9 PM (10)
Mar 07, 9-10 PM (7)
Mar 07, 10-11 PM (37)
Mar 07, 11-12 AM (28)
Mar 08, 12-1 AM (3)
Mar 08, 1-2 AM (5)
Mar 08, 2-3 AM (5)
Mar 08, 3-4 AM (1)
Mar 08, 4-5 AM (1)
Mar 08, 5-6 AM (1)
Mar 08, 6-7 AM (0)
Mar 08, 7-8 AM (3)
Mar 08, 8-9 AM (8)
Mar 08, 9-10 AM (2)
Mar 08, 10-11 AM (0)
Mar 08, 11-12 PM (1)
Mar 08, 12-1 PM (3)
Mar 08, 1-2 PM (6)
Mar 08, 2-3 PM (6)
Mar 08, 3-4 PM (15)
Mar 08, 4-5 PM (0)
Mar 08, 5-6 PM (31)
Mar 08, 6-7 PM (7)
Mar 08, 7-8 PM (8)
Mar 08, 8-9 PM (12)
Mar 08, 9-10 PM (1)
Mar 08, 10-11 PM (25)
Mar 08, 11-12 AM (25)
Mar 09, 12-1 AM (6)
Mar 09, 1-2 AM (5)
Mar 09, 2-3 AM (21)
Mar 09, 3-4 AM (20)
Mar 09, 4-5 AM (2)
Mar 09, 5-6 AM (4)
Mar 09, 6-7 AM (3)
Mar 09, 7-8 AM (19)
Mar 09, 8-9 AM (35)
Mar 09, 9-10 AM (15)
Mar 09, 10-11 AM (1)
4,296 commits this week
Mar 02, 2026
-
Mar 09, 2026
Fix cluster test failures caused by timer-driven snapshot retry
The timer fires at ~200 times per second once a head is Open. Three issues stalled
the main processing loop and caused HeadIsOpen to miss its timeout:
1. InputQueue.tryEnqueue: io-classes has no tryWriteTBQueue (that is in
Katip). Implement non-blocking enqueue semantics using isFullTBQueue
+ conditional writeTBQueue in a single STM transaction. This prevents
the timer thread from blocking when the input queue is full.
2. Node.hs - skip tracing for TimerInput: 200 ticks/s × 3 traceWith
calls = 600 blocking writes/s into the 500-slot log queue. The queue
fills in < 1 s, causing traceWith to block and stall the main loop.
Meaningful outcomes (SnapshotRequested etc.) are still traced through
their own state-change and effect traces.
3. Node.hs - only enqueue TimerInput when Open: in Idle/Initial/Closed
the timer is a no-op in HeadLogic, so firing at 200 Hz only creates
STM contention and log pressure that delays chain event processing
(e.g. OnCollectComTx → HeadIsOpen). A queryNodeState STM read in the
timer thread does not slow the main loop — GHC STM writers never
retry due to unrelated readers.
4. canSideLoadSnapshot: the timer now auto-resolves the previously-stuck
snapshot (Alice re-broadcasts ReqSn, Carol signs on reconnect).
Remove the assertion that the snapshot remains stuck, update the
side-load to use the dynamically confirmed snapshot number and a
fresh UTxO so the test is valid regardless of timing.
Signed-off-by: Sasha Bogicevic <[email protected]>
feat(ui): show close button when missing witness outside onboarding
fix(ci): update neoprism version and fix VDR cucumber tag (#1729)
Signed-off-by: Yurii Shynbuiev <[email protected]> Co-authored-by: Claude Opus 4.6 <[email protected]>
Merge pull request #7915 from tregubartemofficial/token-submission-4ce7b207-1772795057356
Add token metadata for BERRY
deploy: 69caced3fa199532d223a7841f5c070b607a7770
o-n: bursty mux
Merge pull request #3077 from input-output-hk/jprayanud/fix-cargo-sort
fix: apply `cargo sort -w` following release of version `2.1.1`
Merge branch 'main' into feature/811-modern-record-extensions
New translations index.md (Vietnamese)
New translations voting-systems.md (Vietnamese)
New translations logistics.md (Vietnamese)
New translations social-programs.md (Vietnamese)
New translations retail.md (Vietnamese)
New translations payments.md (Vietnamese)
Enable TCP_NOTSENT_LOWAT, TCP_NODELAY
integrate bursty mux
test: update tests for offline mode
Restore producer-local FIFO ordering in bitmap mempool simulator
o-n:framework - generalise Ouroboros.Network.Socket API
Parametrise `Ouroboros.Network.Socket` API with monad `m`. This patch allows us to have a cleaner integration of ouroboros-network in `dmq-node`, where we need to connect to the node, but we don't want to be forced to use `IO` monad too early or pass callbacks around.
mux: MonadReadBuffer
Address PR #818 comment, removed changelog entry as requested and fixed formattinglint
update Internal.Arena with modern record extensions instead of RecordWildCards
Add DuplicateRecordFields, NoFieldSelectors, OverloadedRecordDot
- Replace Arena {..} patterns with dot-access (arena.curr/free/full)
- Replace pure Arena {..} with explicit field assignment, no code logic change just refactored with modern record, part of #811