Upstream

Bugs found while running this stack get filed and patched at the source. Each entry below is a real contribution to a real open-source project, with a link to the upstream issue or PR and the blog post that documents the diagnosis. The same engineering log that powers this blog also produces these. Identity for all of these: github.com/cipherfoxie.

11contributions
1merged
8open
8projects

Snapshot from GitHub API on 2026-05-06. Refreshed each deploy.

PR open getAlby/bitcoin-connect #385

docs: clear window.webln on disconnect (closes #215)

Issue #215 (filed 2024-05-06) flagged that the README's documented pattern for assigning the provider to window.webln in onConnected leaves a stale provider on the global after disconnect โ€” the saved reference outlives the wallet connection. Library can't own window.webln (would conflict with consumer expectations + other extensions), so the right fix is documentation. PR extends the WebLN global object example to pair onConnected with onDisconnected and delete the global.

PR open vite-pwa/docs #192

docs(deployment): fix grammar in AWS Amplify WIP placeholder

Re-submission of vite-plugin-pwa #930 after maintainer @userquin closed the original (wrong-repo: docs moved to this dedicated repository). The same 'Will coming soon' typo found in deployment/aws.md โ€” 'will' takes a bare infinitive, not a present participle. 1-line fix to 'Coming soon'. Two-step engagement pattern: (1) initial PR in wrong repo, (2) maintainer redirects, (3) re-submit cleanly + offer follow-up cleanup of orphan placeholder files in the legacy repo.

Issue open openclaw/openclaw #77336

[Feature Request]: Built-in handling of strict role alternation for Mistral / SGLang backends

OpenClaw's request shape produces consecutive user messages in normal multi-turn flows, which Mistral's strict-alternation chat template rejects with HTTP 400. Today this requires an external side-car proxy. Filed as a feature request with two suggested in-repo approaches (provider capability flag, or pre-send hook on the Mistral plugin) and an offer to draft the PR.

Read the full diagnosis on the blog โ†’

Issue open OpenHands/OpenHands #14287

[Bug]: RecallAction with EventSource.USER after a user message produces two consecutive USER turns, breaks Mistral / SGLang strict-alternation backends

AgentController._handle_message_action dispatches a RecallAction with EventSource.USER after every user message. The recall lands as a synthetic USER turn, so the LLM request carries two consecutive user messages and any Mistral-template-strict backend rejects it with HTTP 400 on prompt 1 of every session. Three suggested fixes plus the controller-patch workaround that operators run today.

Read the full diagnosis on the blog โ†’

Issue open mistralai/mistral-vibe #667

[Bug]: Context-window overflow during write_file silently drops file content, agent reports 'committed' on a corrupted file

Under context pressure the model emits a partial-rewrite that drops chunks of the original file, but the tool-call success shape is unchanged so the write commits silently. Suggested handling: pre-commit size-delta check, an apply_patch primitive bounded to the section being edited, and a context-overflow flag that an MCP can refuse on.

Read the full diagnosis on the blog โ†’

Issue open vllm-project/vllm #37431

Mamba-2 Triton kernels crash with illegal instruction on SM121 (DGX Spark) without CUDA_LAUNCH_BLOCKING=1

Cross-pollination comment from adjacent inference engines on the same DGX Spark / GB10 hardware: SGLang nightly with Mistral Small 4 NVFP4 + vLLM for Voxtral. Pointed maintainers to sibling sgl-project/sglang#21085 and the two open SGLang PRs attempting fixes (#21558, #24269). Reinforced @EmilHaase's finding that native causal-conv1d works on SM121 but Triton-generated equivalents fail โ€” the bug is in the Triton-codegen-for-SM121 path specifically, not the substrate. Offered to test the CUDA_LAUNCH_BLOCKING=1 + --enforce-eager workaround on this Spark and cross-check whether vLLM's Triton SSM ops fail the same way SGLang's flashinfer-GDN path does. Asked for a minimal Mamba-2 repro that avoids the 120B Nemotron-3 weights.

PR closed vite-pwa/vite-plugin-pwa #930

docs(astro): fix grammar in Astro WIP placeholder (closed: wrong repo)

Closed by maintainer @userquin: the framework docs pages in this repository are orphan placeholders, the canonical docs moved to vite-pwa/docs. PR re-submitted there as #192. While engaging on the close, I asked the maintainer whether the orphan files (astro.md + iles.md, both <12 lines) should be removed entirely from this repo to prevent search-engine landings on stale content. Engagement model worked even on a closed PR: same-day maintainer response, helpful redirect, opening for follow-up cleanup PR.

PR closed getAlby/bitcoin-connect #384

fix: fire webln:enabled event on successful connect (closes #82)

Bitcoin Connect listens to the webln:enabled event in boot.ts to detect external WebLN providers, but never dispatches it itself when one of its own connectors finishes connecting. PR dispatched the event after a successful connect in store.ts and tightened the listener guard in boot.ts. Closed by maintainer rolznz on 2026-05-06 with a design clarification: BC deliberately does not own window.webln, consumers manage the provider locally via onConnected, so firing the global event would mislead spec-following callers that read window.webln directly. Useful outcome anyway โ€” the closure surfaced the documented ownership model and led to companion docs PR #385.

Read the full diagnosis on the blog โ†’

Why this page exists

Every fix that ships in production here started as a bug somewhere upstream. Sending the fix back is the honest move and produces a more durable record than a private patch. This page is also the consolidated public-facing index of contributions, easier than scrolling GitHub profile activity.

If a contribution is open and you have an interest in it landing, react on the GitHub issue or PR directly. The blog posts give the engineering context, the upstream tracker is where the merge decision happens.