Skip to content

fix(photon): repair two cross-PR collisions from the photon wave (U+FFFC shadow + runtime-record fixture) - #73773

Closed
teknium1 wants to merge 2 commits into
mainfrom
fix/photon-fffc-shadowed
Closed

fix(photon): repair two cross-PR collisions from the photon wave (U+FFFC shadow + runtime-record fixture)#73773
teknium1 wants to merge 2 commits into
mainfrom
fix/photon-fffc-shadowed

Conversation

@teknium1

@teknium1 teknium1 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Restores main's red CI — two independent cross-PR collisions from yesterday's photon wave: (1) slice 2/8, 4 tests — the #73560 cherry-pick of #54514's early U+FFFC drop landed after the deferred-wait handler and its early return made the _pending_fffc branch unreachable; (2) slice 7/8, 2 tests — 9cf2046 hardened sidecar_deps_installed() to probe node_modules/spectrum-ts, and the later-merged runtime-record tests (e79d316) still created only bare node_modules/, so _start_sidecar raised deps-not-installed before the code under test ran.

Root cause

Two independent fixes for the same iMessage placeholder bug merged in sequence: the deferred-wait implementation (6b91b50, _pending_fffc + 15s timeout + cancel-on-attachment) and later the boundary drop (fd4f756, early return on \ufffc). The drop sits earlier in _dispatch_inbound, so the wait branch — and its 4 regression tests — became dead code.

Changes

  • plugins/platforms/photon/adapter.py: remove the early drop block. The deferred-wait branch subsumes its intent — the placeholder is still never dispatched as a text turn, and the pending timeout lets the real attachment cancel cleanly. The drop's own regression test still passes unchanged.
  • tests/plugins/platforms/photon/test_runtime_record.py: spawn fixture materializes node_modules/spectrum-ts (the dir the hardened probe checks) instead of bare node_modules/.

Validation

Before After
tests/plugins/platforms/photon/test_inbound.py 17 passed, 4 failed (matches main CI red) 21 passed
tests/plugins/platforms/photon/test_runtime_record.py 9 passed, 2 failed (matches main CI red) 11 passed
full tests/plugins/platforms/photon/ 164 passed

Credit: placeholder drop originally by @kelsia14 (#54514); deferred wait from the #71673 salvage.

Infographic

unshadow-the-handler

… handler

The #73560 cherry-pick of #54514 (drop placeholder text at the boundary,
fd4f756) landed after the deferred-wait implementation (6b91b50) and
its early return made the _pending_fffc wait/timeout branch unreachable —
breaking 4 tests on main (CI slice 2/8 red for every PR).

The deferred-wait branch subsumes the drop's intent: the placeholder is
still never dispatched as a text turn, and we additionally hold a timeout
so the real attachment can cancel it. The drop-commit's regression test
still passes unchanged.

Credit: placeholder-drop originally by @kelsia14 (#54514); deferred-wait
by the #71673 salvage.
@alt-glitch alt-glitch added type/bug Something isn't working comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have duplicate This issue or pull request already exists sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages labels Jul 29, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #73762: both remove the early U+FFFC drop so the deferred-wait handler remains reachable. #73762 additionally includes the sidecar-dependency fixture repair.

…ture

Second cross-PR collision from the same wave: 9cf2046 hardened
sidecar_deps_installed() to probe node_modules/spectrum-ts (not bare
node_modules/), and the later-merged runtime-record tests (e79d316)
still created only node_modules/ — so _start_sidecar raised the
deps-not-installed error before the code under test ran (CI slice 7/8
red on main). Fixture now creates the dir the probe checks.
@teknium1 teknium1 changed the title fix(photon): remove early U+FFFC drop that shadowed the deferred-wait handler fix(photon): repair two cross-PR collisions from the photon wave (U+FFFC shadow + runtime-record fixture) Jul 29, 2026
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

૮ >ﻌ< ა ci review

ran on f01c938

all good!

@teknium1

Copy link
Copy Markdown
Contributor Author

Superseded — Teknium landed the identical fix directly on main in ceaa788 (adapter change byte-identical, fixture fix equivalent). Closing; nothing left to salvage.

@teknium1 teknium1 closed this Jul 29, 2026
@teknium1
teknium1 deleted the fix/photon-fffc-shadowed branch July 29, 2026 04:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have sweeper:risk-message-delivery Sweeper risk: may drop, duplicate, misroute, or suppress messages type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants