Home / Input Output / ouroboros-leios
Jan 14, 6-7 PM (2)
Jan 14, 7-8 PM (3)
Jan 14, 8-9 PM (2)
Jan 14, 9-10 PM (1)
Jan 14, 10-11 PM (1)
Jan 14, 11-12 AM (0)
Jan 15, 12-1 AM (0)
Jan 15, 1-2 AM (0)
Jan 15, 2-3 AM (0)
Jan 15, 3-4 AM (0)
Jan 15, 4-5 AM (0)
Jan 15, 5-6 AM (0)
Jan 15, 6-7 AM (0)
Jan 15, 7-8 AM (0)
Jan 15, 8-9 AM (0)
Jan 15, 9-10 AM (0)
Jan 15, 10-11 AM (3)
Jan 15, 11-12 PM (0)
Jan 15, 12-1 PM (1)
Jan 15, 1-2 PM (0)
Jan 15, 2-3 PM (1)
Jan 15, 3-4 PM (0)
Jan 15, 4-5 PM (1)
Jan 15, 5-6 PM (1)
Jan 15, 6-7 PM (0)
Jan 15, 7-8 PM (0)
Jan 15, 8-9 PM (1)
Jan 15, 9-10 PM (0)
Jan 15, 10-11 PM (1)
Jan 15, 11-12 AM (0)
Jan 16, 12-1 AM (0)
Jan 16, 1-2 AM (0)
Jan 16, 2-3 AM (0)
Jan 16, 3-4 AM (0)
Jan 16, 4-5 AM (0)
Jan 16, 5-6 AM (0)
Jan 16, 6-7 AM (0)
Jan 16, 7-8 AM (0)
Jan 16, 8-9 AM (0)
Jan 16, 9-10 AM (0)
Jan 16, 10-11 AM (0)
Jan 16, 11-12 PM (0)
Jan 16, 12-1 PM (0)
Jan 16, 1-2 PM (2)
Jan 16, 2-3 PM (30)
Jan 16, 3-4 PM (2)
Jan 16, 4-5 PM (0)
Jan 16, 5-6 PM (1)
Jan 16, 6-7 PM (1)
Jan 16, 7-8 PM (0)
Jan 16, 8-9 PM (4)
Jan 16, 9-10 PM (2)
Jan 16, 10-11 PM (0)
Jan 16, 11-12 AM (0)
Jan 17, 12-1 AM (0)
Jan 17, 1-2 AM (0)
Jan 17, 2-3 AM (0)
Jan 17, 3-4 AM (0)
Jan 17, 4-5 AM (0)
Jan 17, 5-6 AM (0)
Jan 17, 6-7 AM (1)
Jan 17, 7-8 AM (0)
Jan 17, 8-9 AM (0)
Jan 17, 9-10 AM (0)
Jan 17, 10-11 AM (0)
Jan 17, 11-12 PM (0)
Jan 17, 12-1 PM (0)
Jan 17, 1-2 PM (0)
Jan 17, 2-3 PM (0)
Jan 17, 3-4 PM (0)
Jan 17, 4-5 PM (0)
Jan 17, 5-6 PM (0)
Jan 17, 6-7 PM (0)
Jan 17, 7-8 PM (0)
Jan 17, 8-9 PM (0)
Jan 17, 9-10 PM (0)
Jan 17, 10-11 PM (0)
Jan 17, 11-12 AM (0)
Jan 18, 12-1 AM (0)
Jan 18, 1-2 AM (0)
Jan 18, 2-3 AM (0)
Jan 18, 3-4 AM (0)
Jan 18, 4-5 AM (0)
Jan 18, 5-6 AM (0)
Jan 18, 6-7 AM (0)
Jan 18, 7-8 AM (0)
Jan 18, 8-9 AM (0)
Jan 18, 9-10 AM (0)
Jan 18, 10-11 AM (0)
Jan 18, 11-12 PM (1)
Jan 18, 12-1 PM (0)
Jan 18, 1-2 PM (0)
Jan 18, 2-3 PM (0)
Jan 18, 3-4 PM (0)
Jan 18, 4-5 PM (0)
Jan 18, 5-6 PM (0)
Jan 18, 6-7 PM (0)
Jan 18, 7-8 PM (0)
Jan 18, 8-9 PM (0)
Jan 18, 9-10 PM (0)
Jan 18, 10-11 PM (0)
Jan 18, 11-12 AM (0)
Jan 19, 12-1 AM (0)
Jan 19, 1-2 AM (0)
Jan 19, 2-3 AM (0)
Jan 19, 3-4 AM (0)
Jan 19, 4-5 AM (0)
Jan 19, 5-6 AM (0)
Jan 19, 6-7 AM (0)
Jan 19, 7-8 AM (0)
Jan 19, 8-9 AM (0)
Jan 19, 9-10 AM (0)
Jan 19, 10-11 AM (1)
Jan 19, 11-12 PM (0)
Jan 19, 12-1 PM (0)
Jan 19, 1-2 PM (0)
Jan 19, 2-3 PM (1)
Jan 19, 3-4 PM (0)
Jan 19, 4-5 PM (0)
Jan 19, 5-6 PM (0)
Jan 19, 6-7 PM (0)
Jan 19, 7-8 PM (0)
Jan 19, 8-9 PM (0)
Jan 19, 9-10 PM (0)
Jan 19, 10-11 PM (0)
Jan 19, 11-12 AM (0)
Jan 20, 12-1 AM (0)
Jan 20, 1-2 AM (0)
Jan 20, 2-3 AM (0)
Jan 20, 3-4 AM (0)
Jan 20, 4-5 AM (0)
Jan 20, 5-6 AM (0)
Jan 20, 6-7 AM (0)
Jan 20, 7-8 AM (1)
Jan 20, 8-9 AM (1)
Jan 20, 9-10 AM (8)
Jan 20, 10-11 AM (5)
Jan 20, 11-12 PM (6)
Jan 20, 12-1 PM (5)
Jan 20, 1-2 PM (0)
Jan 20, 2-3 PM (0)
Jan 20, 3-4 PM (0)
Jan 20, 4-5 PM (0)
Jan 20, 5-6 PM (1)
Jan 20, 6-7 PM (0)
Jan 20, 7-8 PM (0)
Jan 20, 8-9 PM (0)
Jan 20, 9-10 PM (0)
Jan 20, 10-11 PM (1)
Jan 20, 11-12 AM (1)
Jan 21, 12-1 AM (0)
Jan 21, 1-2 AM (0)
Jan 21, 2-3 AM (0)
Jan 21, 3-4 AM (0)
Jan 21, 4-5 AM (0)
Jan 21, 5-6 AM (0)
Jan 21, 6-7 AM (0)
Jan 21, 7-8 AM (0)
Jan 21, 8-9 AM (0)
Jan 21, 9-10 AM (0)
Jan 21, 10-11 AM (10)
Jan 21, 11-12 PM (2)
Jan 21, 12-1 PM (0)
Jan 21, 1-2 PM (0)
Jan 21, 2-3 PM (0)
Jan 21, 3-4 PM (0)
Jan 21, 4-5 PM (2)
Jan 21, 5-6 PM (0)
Jan 21, 6-7 PM (0)
107 commits this week Jan 14, 2026 - Jan 21, 2026
Fix React re-render cascade causing maximum depth exceeded
- Remove redundant console.log in cli.ts (already logged via logger.fatal)
- Remove duplicate Canvas useEffect that called draw() on every change
- Use hoveredNodeRef instead of state in draw() to avoid recreation on mouse move
- Throttle force layout position updates with requestAnimationFrame
- Only update event log state when lengths actually change
- Only update animatedTxs state when count changes

These changes prevent the force layout from triggering 100+ React
re-renders per second during initial settling.
Fix React re-render cascade causing maximum depth exceeded
- Remove redundant console.log in cli.ts (already logged via logger.fatal)
- Remove duplicate Canvas useEffect that called draw() on every change
- Use hoveredNodeRef instead of state in draw() to avoid recreation on mouse move
- Throttle force layout position updates with requestAnimationFrame
- Only update event log state when lengths actually change
- Only update animatedTxs state when count changes

These changes prevent the force layout from triggering 100+ React
re-renders per second during initial settling.