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 (57)
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 (12)
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 (65)
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 (6)
Mar 08, 3-4 AM (3)
Mar 08, 4-5 AM (1)
Mar 08, 5-6 AM (1)
Mar 08, 6-7 AM (2)
Mar 08, 7-8 AM (4)
Mar 08, 8-9 AM (10)
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 (22)
Mar 09, 3-4 AM (20)
Mar 09, 4-5 AM (2)
Mar 09, 5-6 AM (5)
Mar 09, 6-7 AM (3)
Mar 09, 7-8 AM (21)
Mar 09, 8-9 AM (36)
Mar 09, 9-10 AM (30)
Mar 09, 10-11 AM (44)
Mar 09, 11-12 PM (31)
Mar 09, 12-1 PM (60)
Mar 09, 1-2 PM (24)
Mar 09, 2-3 PM (74)
Mar 09, 3-4 PM (60)
Mar 09, 4-5 PM (127)
Mar 09, 5-6 PM (50)
Mar 09, 6-7 PM (54)
Mar 09, 7-8 PM (23)
Mar 09, 8-9 PM (25)
Mar 09, 9-10 PM (13)
Mar 09, 10-11 PM (60)
Mar 09, 11-12 AM (24)
Mar 10, 12-1 AM (5)
Mar 10, 1-2 AM (35)
Mar 10, 2-3 AM (34)
Mar 10, 3-4 AM (6)
Mar 10, 4-5 AM (3)
Mar 10, 5-6 AM (5)
Mar 10, 6-7 AM (20)
Mar 10, 7-8 AM (69)
Mar 10, 8-9 AM (110)
Mar 10, 9-10 AM (30)
Mar 10, 10-11 AM (30)
Mar 10, 11-12 PM (53)
Mar 10, 12-1 PM (65)
Mar 10, 1-2 PM (51)
Mar 10, 2-3 PM (89)
Mar 10, 3-4 PM (39)
Mar 10, 4-5 PM (44)
Mar 10, 5-6 PM (26)
Mar 10, 6-7 PM (10)
Mar 10, 7-8 PM (30)
Mar 10, 8-9 PM (15)
Mar 10, 9-10 PM (33)
Mar 10, 10-11 PM (30)
Mar 10, 11-12 AM (46)
Mar 11, 12-1 AM (13)
Mar 11, 1-2 AM (10)
Mar 11, 2-3 AM (6)
Mar 11, 3-4 AM (0)
Mar 11, 4-5 AM (4)
Mar 11, 5-6 AM (3)
Mar 11, 6-7 AM (26)
Mar 11, 7-8 AM (41)
Mar 11, 8-9 AM (94)
Mar 11, 9-10 AM (24)
Mar 11, 10-11 AM (67)
Mar 11, 11-12 PM (37)
Mar 11, 12-1 PM (67)
Mar 11, 1-2 PM (62)
Mar 11, 2-3 PM (33)
Mar 11, 3-4 PM (45)
Mar 11, 4-5 PM (41)
Mar 11, 5-6 PM (51)
Mar 11, 6-7 PM (35)
Mar 11, 7-8 PM (20)
Mar 11, 8-9 PM (39)
Mar 11, 9-10 PM (14)
Mar 11, 10-11 PM (57)
Mar 11, 11-12 AM (43)
Mar 12, 12-1 AM (4)
Mar 12, 1-2 AM (8)
Mar 12, 2-3 AM (6)
Mar 12, 3-4 AM (3)
Mar 12, 4-5 AM (4)
Mar 12, 5-6 AM (8)
Mar 12, 6-7 AM (46)
Mar 12, 7-8 AM (13)
Mar 12, 8-9 AM (62)
Mar 12, 9-10 AM (50)
Mar 12, 10-11 AM (85)
Mar 12, 11-12 PM (23)
Mar 12, 12-1 PM (4)
Mar 12, 1-2 PM (0)
4,423 commits this week Mar 05, 2026 - Mar 12, 2026
leios: Add "tracking" for `applyTick` and `applyBlock` calls
I had an assumption that turned out wrong. `applyTick` is called just before
`applyBlock`, and I thought it's applied on each "tick" (ie. new slot).

13:59 $ cabal run ouroboros-consensus-cardano:run-threadnet -- run --threadnet-config run-threadnet-example-config/example-threadnet-config.json --slots 15 --txs-per-slot 10
...
("Node",CoreNodeId 0,"current slot",SlotNo 14,ShelleyLedgerLeiosState {sllsMaybeAnnouncedEb = Nothing, sllsTooSoonToCertify = False, sllsApplyTickCount = 2, sllsApplyBlockCount = 2})
("Node",CoreNodeId 1,"current slot",SlotNo 14,ShelleyLedgerLeiosState {sllsMaybeAnnouncedEb = Nothing, sllsTooSoonToCertify = False, sllsApplyTickCount = 2, sllsApplyBlockCount = 2})
("Node",CoreNodeId 2,"current slot",SlotNo 14,ShelleyLedgerLeiosState {sllsMaybeAnnouncedEb = Nothing, sllsTooSoonToCertify = False, sllsApplyTickCount = 2, sllsApplyBlockCount = 2})
*** Exceptions?
Nothing
*** Tips
Just (SlotNo 14,fromList [(CoreId (CoreNodeId 0),At (BlockNo 1)),(CoreId (CoreNodeId 1),At (BlockNo 1)),(CoreId (CoreNodeId 2),At (BlockNo 1))])
*** Leios
("eb-slotno",fromList [(CoreId (CoreNodeId 0),fromList []),(CoreId (CoreNodeId 1),fromList []),(CoreId (CoreNodeId 2),fromList [])])
("eb-points",fromList [(CoreId (CoreNodeId 0),fromList []),(CoreId (CoreNodeId 1),fromList []),(CoreId (CoreNodeId 2),fromList [])])
("eb-txs",fromList [(CoreId (CoreNodeId 0),0),(CoreId (CoreNodeId 1),0),(CoreId (CoreNodeId 2),0)])
*** Outputting log files
fix: register runtime.onConnect synchronously on SW startup
When the service worker is woken by a content script connection,
the runtime.onConnect listener was not yet registered because it
was set up lazily inside the dynamically imported modules. This
caused the first DApp connector call to fail.

Call getBackgroundMessenger synchronously before the dynamic import
so the listener is in place immediately. The singleton ensures all
later exposeApi calls reuse the same messenger instance.