fix(node-fcp): Improve insert stall handling and diagnostics#1079
fix(node-fcp): Improve insert stall handling and diagnostics#1079
Conversation
Preserve non-receive interrupts in CHKInsertHandler while stopping sender-status processing to avoid spin loops and interrupt leakage into synchronous sends. Clear internal wake-up interrupts before completion and terminal sync sends so sendSync does not report false timeouts. Replace success-flag cleanup with close-guard patterns when restoring RAF-backed resources, and add targeted tests for the CHKInsertHandler interrupt paths.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 746a82e22c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Keep CHKInsertHandler sender-status processing on non-receive interrupts so terminal handling still runs and the insert lifecycle is finalized instead of returning early. Capture and restore interrupt status after terminal handling, and clear interrupt state before synchronous sends that can otherwise be misclassified as transport timeouts. Update CHKInsertHandlerTest with a regression covering interrupted sender-status polling and terminal finalization.
|
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |


Summary
fcp:<Identifier>) through client requesters and UID tracesCHK@disk MIME suppression while preserving strict MIME validation (BAD_MIME_TYPE) for malformed explicit content typesRequestTracker.findTagByUid()and reapply diagnostic identifiers when persistentClientPutrequests resume.gitignoreHow To Test
./gradlew test./gradlew test --tests 'network.crypta.clients.fcp.ClientPutMimeResolverTest'./gradlew test --tests 'network.crypta.node.RequestTrackerTest' --tests 'network.crypta.clients.fcp.ClientPutTest'./gradlew test --tests 'network.crypta.node.CHKInsertHandlerTest' --tests 'network.crypta.node.UIDTagHardTimeoutTest' --tests 'network.crypta.node.NodeClientCoreTransfersTest'Notes
release/2.