deploy: c363a326cf4742f42e015c42de16fe53ac628c0a
Nov 11, 8-9 PM (17)
Nov 11, 9-10 PM (24)
Nov 11, 10-11 PM (34)
Nov 11, 11-12 AM (20)
Nov 12, 12-1 AM (4)
Nov 12, 1-2 AM (2)
Nov 12, 2-3 AM (6)
Nov 12, 3-4 AM (5)
Nov 12, 4-5 AM (5)
Nov 12, 5-6 AM (3)
Nov 12, 6-7 AM (15)
Nov 12, 7-8 AM (36)
Nov 12, 8-9 AM (51)
Nov 12, 9-10 AM (53)
Nov 12, 10-11 AM (32)
Nov 12, 11-12 PM (46)
Nov 12, 12-1 PM (56)
Nov 12, 1-2 PM (48)
Nov 12, 2-3 PM (21)
Nov 12, 3-4 PM (29)
Nov 12, 4-5 PM (59)
Nov 12, 5-6 PM (15)
Nov 12, 6-7 PM (15)
Nov 12, 7-8 PM (16)
Nov 12, 8-9 PM (10)
Nov 12, 9-10 PM (15)
Nov 12, 10-11 PM (33)
Nov 12, 11-12 AM (14)
Nov 13, 12-1 AM (12)
Nov 13, 1-2 AM (8)
Nov 13, 2-3 AM (6)
Nov 13, 3-4 AM (8)
Nov 13, 4-5 AM (2)
Nov 13, 5-6 AM (3)
Nov 13, 6-7 AM (27)
Nov 13, 7-8 AM (28)
Nov 13, 8-9 AM (55)
Nov 13, 9-10 AM (72)
Nov 13, 10-11 AM (54)
Nov 13, 11-12 PM (42)
Nov 13, 12-1 PM (40)
Nov 13, 1-2 PM (109)
Nov 13, 2-3 PM (36)
Nov 13, 3-4 PM (43)
Nov 13, 4-5 PM (27)
Nov 13, 5-6 PM (58)
Nov 13, 6-7 PM (14)
Nov 13, 7-8 PM (14)
Nov 13, 8-9 PM (32)
Nov 13, 9-10 PM (13)
Nov 13, 10-11 PM (23)
Nov 13, 11-12 AM (19)
Nov 14, 12-1 AM (3)
Nov 14, 1-2 AM (3)
Nov 14, 2-3 AM (2)
Nov 14, 3-4 AM (3)
Nov 14, 4-5 AM (26)
Nov 14, 5-6 AM (2)
Nov 14, 6-7 AM (10)
Nov 14, 7-8 AM (11)
Nov 14, 8-9 AM (30)
Nov 14, 9-10 AM (38)
Nov 14, 10-11 AM (49)
Nov 14, 11-12 PM (39)
Nov 14, 12-1 PM (42)
Nov 14, 1-2 PM (31)
Nov 14, 2-3 PM (36)
Nov 14, 3-4 PM (21)
Nov 14, 4-5 PM (18)
Nov 14, 5-6 PM (29)
Nov 14, 6-7 PM (22)
Nov 14, 7-8 PM (14)
Nov 14, 8-9 PM (8)
Nov 14, 9-10 PM (5)
Nov 14, 10-11 PM (31)
Nov 14, 11-12 AM (25)
Nov 15, 12-1 AM (30)
Nov 15, 1-2 AM (7)
Nov 15, 2-3 AM (1)
Nov 15, 3-4 AM (2)
Nov 15, 4-5 AM (0)
Nov 15, 5-6 AM (0)
Nov 15, 6-7 AM (3)
Nov 15, 7-8 AM (2)
Nov 15, 8-9 AM (2)
Nov 15, 9-10 AM (3)
Nov 15, 10-11 AM (3)
Nov 15, 11-12 PM (11)
Nov 15, 12-1 PM (4)
Nov 15, 1-2 PM (0)
Nov 15, 2-3 PM (9)
Nov 15, 3-4 PM (6)
Nov 15, 4-5 PM (1)
Nov 15, 5-6 PM (1)
Nov 15, 6-7 PM (13)
Nov 15, 7-8 PM (11)
Nov 15, 8-9 PM (22)
Nov 15, 9-10 PM (4)
Nov 15, 10-11 PM (19)
Nov 15, 11-12 AM (26)
Nov 16, 12-1 AM (1)
Nov 16, 1-2 AM (2)
Nov 16, 2-3 AM (4)
Nov 16, 3-4 AM (3)
Nov 16, 4-5 AM (1)
Nov 16, 5-6 AM (0)
Nov 16, 6-7 AM (0)
Nov 16, 7-8 AM (0)
Nov 16, 8-9 AM (6)
Nov 16, 9-10 AM (6)
Nov 16, 10-11 AM (1)
Nov 16, 11-12 PM (3)
Nov 16, 12-1 PM (3)
Nov 16, 1-2 PM (6)
Nov 16, 2-3 PM (5)
Nov 16, 3-4 PM (10)
Nov 16, 4-5 PM (4)
Nov 16, 5-6 PM (8)
Nov 16, 6-7 PM (11)
Nov 16, 7-8 PM (14)
Nov 16, 8-9 PM (4)
Nov 16, 9-10 PM (9)
Nov 16, 10-11 PM (38)
Nov 16, 11-12 AM (24)
Nov 17, 12-1 AM (0)
Nov 17, 1-2 AM (7)
Nov 17, 2-3 AM (4)
Nov 17, 3-4 AM (4)
Nov 17, 4-5 AM (3)
Nov 17, 5-6 AM (8)
Nov 17, 6-7 AM (7)
Nov 17, 7-8 AM (36)
Nov 17, 8-9 AM (40)
Nov 17, 9-10 AM (29)
Nov 17, 10-11 AM (83)
Nov 17, 11-12 PM (32)
Nov 17, 12-1 PM (49)
Nov 17, 1-2 PM (47)
Nov 17, 2-3 PM (51)
Nov 17, 3-4 PM (41)
Nov 17, 4-5 PM (29)
Nov 17, 5-6 PM (23)
Nov 17, 6-7 PM (27)
Nov 17, 7-8 PM (26)
Nov 17, 8-9 PM (18)
Nov 17, 9-10 PM (25)
Nov 17, 10-11 PM (27)
Nov 17, 11-12 AM (28)
Nov 18, 12-1 AM (7)
Nov 18, 1-2 AM (6)
Nov 18, 2-3 AM (8)
Nov 18, 3-4 AM (7)
Nov 18, 4-5 AM (3)
Nov 18, 5-6 AM (5)
Nov 18, 6-7 AM (1)
Nov 18, 7-8 AM (15)
Nov 18, 8-9 AM (35)
Nov 18, 9-10 AM (38)
Nov 18, 10-11 AM (65)
Nov 18, 11-12 PM (61)
Nov 18, 12-1 PM (31)
Nov 18, 1-2 PM (43)
Nov 18, 2-3 PM (43)
Nov 18, 3-4 PM (40)
Nov 18, 4-5 PM (33)
Nov 18, 5-6 PM (18)
Nov 18, 6-7 PM (30)
Nov 18, 7-8 PM (2)
Nov 18, 8-9 PM (0)
3,397 commits this week
Nov 11, 2025
-
Nov 18, 2025
docs: remove example since it fails doc tests
Signed-off-by: yHSJ <[email protected]>
docs: provide some ToPlutusData documentation
Documentation here is sparse. It focusees on serializations that can fail Signed-off-by: yHSJ <[email protected]>
feat: strengthen validation of topics and notifications in e2e tests injection script
A typo in an attribute could be a source of waste of time investigating the reason for the not expected behavior. This gives an immediate feedback in case of error.
fix: isSubscribed in notifications type to reflect the type from @lace/notifications package
The wrong attribute name prevents the toggle switch in the subscriptions dropdown to work.
fix: navigation to goBack when a notification is removed
When the condition is met, (either due to error for bad navigation or because the notification is removed), the correct action is to go back to previous page: pushing a new page injects into the history a sort of infinite loop-back navigation, as a result the back button does not work.
fix: navigation to notifications center when last notification is removed
For some reason (at least to me, unknown), the notifications returned by useNotificationsCenter hook is initially undefined. This means that when the last notification is removed, the hook returns undefined and the navigation to the notifications center is not triggered. Changed the check: when notifications is not undefined, even if an empty array, the navigation must be triggered.
feat: integrate NotificationsClient library
Deploying to gh-pages from @ input-output-hk/catalyst-ci@97ac22c0c9c0784bd8b3a004bc36fa4f8cd2af63 🚀
refactor(node): create an ouroboros package
Signed-off-by: Chris Gianelloni <[email protected]>
Merge pull request #1019 from IntersectMBO/webpack-test
Add webpack NPM package test to CI
fix: update leios endorser block shape
Signed-off-by: Chris Gianelloni <[email protected]>
chore(catalyst-ci): Update catalyst-ci to v3.6.3
chore(catalyst-ci): Update catalyst-ci to v3.6.3
prometheus service discovery (experimental)
Bump CHaP index and bump to cardano-api-10.20.0.0
fix(cardano): add rate limiting to prevent resource exhaustion during indexing
Implement interval-based rate limiting (~100 blocks/sec) in the subscription loop to prevent memory exhaustion and system freezes during blockchain indexing. The network can produce hundreds of blocks per second during historical sync, but WASM processing is significantly slower (~30-50 blocks/sec). Without rate limiting, resources accumulate in the DashMap faster than they can be consumed, leading to unbounded memory growth and eventual OOM kills. The rate limiter works in conjunction with the bounded event queue (10K capacity) to provide complete backpressure control. Resources are created before the bounded channel send() can block, so throttling at the production point is essential. Changes: - Add BLOCK_RATE_LIMIT_MS constant (10ms interval) - Replace tokio::select! on follower.next() with interval-based tick - Set MissedTickBehavior::Skip to prevent tick accumulation - Add detailed comments explaining the resource lifecycle and why both bounded channels and rate limiting are necessary This replaces the previous sleep-based throttle with a more idiomatic tokio::time::interval approach that explicitly controls block polling rate.
feat(cat-voices): add web file compression (#485)
* feat: add web file compression * fix: add `glsl` to project dic * move installation to flutter-base * add flutter web and linux precache step in Earthfile * refactor * refactor * test fix * test fix * test fix * test fix * back to previous config * set flutter version to 3.35.1 * add .mjs file compression * parameterize compression levels * correct variable name for Brotli compression level
Update golden files
Certificate deprecation changes
Update friendly rendering of certificates
docs: document ScriptContext external API
Signed-off-by: yHSJ <[email protected]>
fix(cardano): add rate limiting to prevent resource exhaustion during indexing
Implement interval-based rate limiting (~100 blocks/sec) in the subscription loop to prevent memory exhaustion and system freezes during blockchain indexing. The network can produce hundreds of blocks per second during historical sync, but WASM processing is significantly slower (~30-50 blocks/sec). Without rate limiting, resources accumulate in the DashMap faster than they can be consumed, leading to unbounded memory growth and eventual OOM kills. The rate limiter works in conjunction with the bounded event queue (10K capacity) to provide complete backpressure control. Resources are created before the bounded channel send() can block, so throttling at the production point is essential. Changes: - Add BLOCK_RATE_LIMIT_MS constant (10ms interval) - Replace tokio::select! on follower.next() with interval-based tick - Set MissedTickBehavior::Skip to prevent tick accumulation - Add detailed comments explaining the resource lifecycle and why both bounded channels and rate limiting are necessary This replaces the previous sleep-based throttle with a more idiomatic tokio::time::interval approach that explicitly controls block polling rate.
chore: update proposal list to have completed proposals
Update from adee9ed79eb8d25d0f3a9a76d1b0948d7afef690