Fix boot.js on .NET 8 and infiniteScroll cleanup #4

Merged
cheapnud merged 2 commits from b/js-fixes into master 2026-08-17 11:26:38 +00:00
Owner
No description provided.
fix boot.js for .NET 8 blazor.web.js, clean up infiniteScroll listeners and logging
All checks were successful
Claude PR Review / AI Code Review (pull_request) Successful in 19s
Build / Build and Test (pull_request) Successful in 2m19s
6b56e2bd67

🤖 Claude AI Code Review

  1. Summary: Adds a grace-period delay before showing the reconnect modal, increases retry count, dual-shape circuit options for .NET 8 compatibility, and fixes scroll listener leaks in infiniteScroll.js.

  2. Code Quality:
    Solid cleanup — the listener-reference tracking properly fixes real memory leaks, and the reconnect logic is well-reasoned.

  3. Issues

🟢 boot.js — hasMoreItems referenced in infiniteScroll's checkScroll (self.hasMoreItems) is never defined on the object; it's undefined so the guard if (!self.hasMoreItems) return; short-circuits and always returns early. This is pre-existing behavior but worth verifying it's set elsewhere at runtime.

🟢 boot.js — With maximumRetryCount = 8 and a 3s interval, total reconnect window is now ~24s+ before giving up. Confirm this is intended, as it's a significant increase from the prior ~9s.

  1. Verdict: APPROVE

The core changes are correct: the modal grace timer is properly cleared on cancel, scroll handlers are now dereferenced and removed to prevent leaks, and the dual-shape start options are a reasonable compatibility approach. The flagged items are minor/verification-only.


📊 Tokens: 3964 input + 469 output | 💰 Cost: ~$0.0315
Generated by Claude Opus 4.8 via Gitea Actions

## 🤖 Claude AI Code Review 1. **Summary**: Adds a grace-period delay before showing the reconnect modal, increases retry count, dual-shape circuit options for .NET 8 compatibility, and fixes scroll listener leaks in infiniteScroll.js. 2. **Code Quality**: ⭐⭐⭐⭐☆ Solid cleanup — the listener-reference tracking properly fixes real memory leaks, and the reconnect logic is well-reasoned. 3. **Issues** 🟢 boot.js — `hasMoreItems` referenced in infiniteScroll's `checkScroll` (`self.hasMoreItems`) is never defined on the object; it's `undefined` so the guard `if (!self.hasMoreItems) return;` short-circuits and always returns early. This is pre-existing behavior but worth verifying it's set elsewhere at runtime. 🟢 boot.js — With `maximumRetryCount = 8` and a 3s interval, total reconnect window is now ~24s+ before giving up. Confirm this is intended, as it's a significant increase from the prior ~9s. 4. **Verdict**: **APPROVE** The core changes are correct: the modal grace timer is properly cleared on cancel, scroll handlers are now dereferenced and removed to prevent leaks, and the dual-shape start options are a reasonable compatibility approach. The flagged items are minor/verification-only. --- 📊 **Tokens**: 3964 input + 469 output | 💰 **Cost**: ~$0.0315 *Generated by Claude Opus 4.8 via Gitea Actions*
guard against double-registered scroll listeners
All checks were successful
Claude PR Review / AI Code Review (pull_request) Successful in 15s
Build / Build and Test (pull_request) Successful in 2m17s
682ef8c18c
cheapnud merged commit bc9a1d8aec into master 2026-08-17 11:26:38 +00:00
cheapnud deleted branch b/js-fixes 2026-08-17 11:26:38 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
cheapnud/CheapHelpers!4
No description provided.