dev → stage: binary assets, payment fix, checkout layout #129

Merged
will.anderson merged 4 commits from dev into stage 2026-05-12 01:11:26 +00:00
Owner

Changes

  • Fix binary asset serving (PNG logos and favicons now load correctly)
  • Fix $0 PaymentIntent: remove invalid setup_future_usage param for free plan
  • Fix checkout page left-alignment: add missing CSS grid layout + centering
## Changes - Fix binary asset serving (PNG logos and favicons now load correctly) - Fix $0 PaymentIntent: remove invalid setup_future_usage param for free plan - Fix checkout page left-alignment: add missing CSS grid layout + centering
will.anderson added 4 commits 2026-05-12 01:11:18 +00:00
Fix $0 PaymentIntent: remove setup_future_usage (invalid with amount=0)
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m32s
37c7dca30d
fix: binary asset serving + checkout centering
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m34s
5ce5f4a8be
el_runtime: http_response() JSON-encoded the body via jb_emit_escaped(),
which stops at the first null byte. PNG/binary files contain null bytes
at byte 8 (IHDR chunk length), so only 8 bytes were served — browsers
received a corrupt/truncated image and showed broken icons.

Fix: when _tl_fs_read_len > 0 (binary fs_read), copy raw bytes into a
thread-local side-channel (_tl_binary_body/_tl_binary_size) and write
the sentinel "__el_binary__" into the envelope body field. http_send_response()
detects the sentinel and substitutes the real bytes for sending.

checkout.el: .checkout-shell, .checkout-summary, and .checkout-form-wrap
had no CSS, leaving the page left-aligned and single-column. Added grid
layout (2-col desktop, 1-col mobile), max-width centering, and sticky
order summary.
will.anderson merged commit 3ed43c0037 into stage 2026-05-12 01:11:26 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron-web#129