Repository navigation
Revert i2i ref-attach (PR #50, commit 529d335); keep teardown guard. Closes #56 - #57
Merged
Merged
Conversation
This reverts commit 529d335 (the i2i half of PR #50). Closes #56. Live verification on the ffroliva Chrome-strategy profile post-merge (correlation_id cf4ae6a4-ff5a-4f41-9c82-0d2403ec4d6f) failed with an unhandled TimeoutError ~34s after count_setter_completed. Structlog timeline up to the failure: 09:24:23.5Z entered_editor 09:24:25.4Z image_mode_tab selector_matched 09:24:26.9Z image_mode_entered 09:24:28.9Z aspect_ratio_set 9:16 09:24:29.0Z count_setter_completed count=1 (silent 34s gap) 09:25:02.8Z error_unhandled TimeoutError The 34s gap is consistent with the 8s add_media.wait_for + ~30s default Playwright wait inside _upload_via_open_dialog for a filechooser event that never fired. Hypothesis: image-mode and video-mode share the add_2 button icon (locale-stable) but NOT its click semantics — in image mode, clicking Add Media likely opens an intermediate menu (upload-from-device vs library) instead of going straight to the OS file chooser. PR #50's "same add_2 surface" assumption holds for the icon, not for the post-click flow. Full diagnostic + asks for the PR author in issue #56. The __aenter__ teardown guard from commit 57d1746a (the second commit on PR #50) is intentionally KEPT — it surfaced cleanly during this failure (no orphan chrome process, no profile lock for debug runs). Tests: ruff clean, ruff format clean, 158 scoped tests pass (tests/cli/test_cli_image.py, tests/api/transports/test_ui_automation.py, tests/api/test_concurrency.py, tests/api/test_image.py). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: Flavio Oliva <ffroliva@gmail.com>
Merged
6 of 8 tasks
15990166686ll-crypto
pushed a commit
to 15990166686ll-crypto/gflow-cli
that referenced
this pull request
Aug 24, 2026
Revert i2i ref-attach (PR ffroliva#50, commit 2137f56); keep teardown guard. Closes ffroliva#56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reverts the i2i ref-attach half of #50 (commit
529d335). Keeps the__aenter__teardown guard from57d1746— that fix is independent and worked correctly during this failure (no orphan chrome process). Closes #56.Why
Live verification on the
ffrolivaChrome-strategy profile post-merge (correlation_idcf4ae6a4-ff5a-4f41-9c82-0d2403ec4d6f) failed with an unhandledTimeoutError~34s aftercount_setter_completed. The new_attach_referencescall in_generate_images_locked(ui_automation.py:1510) reuses the R2V helper (ui_automation_video.py:674); the helper clicks Add Media successfully but the OS file-chooser event never fires in image mode. Hypothesis: image-mode and video-mode share theadd_2button icon (locale-stable) but NOT its click semantics — image mode likely opens an intermediate menu (upload-from-device vs library) requiring a second click. PR #50's "sameadd_2surface" assumption holds for the icon, not the post-click flow. Full diagnostic timeline + asks for @svasakorn in #56.What is reverted
src/gflow_cli/api/image.py— dropsGenerateImageRequest.ref_pathsfieldsrc/gflow_cli/api/transports/ui_automation.py— drops theif request.ref_paths: await self._attach_references(...)blocksrc/gflow_cli/cli_image.py— restores prior path/UUID handling (noref_pathssplit)tests/api/transports/test_ui_automation.py— drops the_attach_referencesawait assertiontests/cli/test_cli_image.py— restores prior assertionsCHANGELOG.md— drops the i2i bullet (teardown bullet retained)What is NOT reverted (intentional)
src/gflow_cli/api/client.py—__aenter__partial-setup leak guard from57d1746(independent fix, surfaced cleanly here)tests/api/test_concurrency.py::test_aenter_partial_failure_tears_down_browser— its testCHANGELOG.mdTest plan
uv run ruff check src tests— cleanuv run ruff format --check src tests— 103 files already formattedtests/cli/test_cli_image.py tests/api/transports/test_ui_automation.py tests/api/test_concurrency.py tests/api/test_image.py) — 158 passedgflow image i2iwith a UUID--ref(the non-broken path) still works post-revertgflow image i2i --ref <local-file>now fails fast with a clear error (no silent UI hang), per pre-feat(image): i2i local-ref attach via media dialog (closes #39) + __aenter__ teardown guard #50 behaviorNotes
_attach_referencesvariant. The runtime-tripwire idea (a screenshot before/after the Add Media click in image mode) is also discussed in i2i ref attach (#50) fails with TimeoutError on ffroliva account; image-mode add-media flow likely differs from video R2V #56.