fix(ci): pin Logos to a known-good commit to unbreak both build workflows - #293
Merged
Merged
Conversation
theos/logos master (777925d, theos/logos#114 "Support multi-line block arguments in %orig calls") rewrote the %orig handler so that it replaces everything from %orig to the end of the line and re-appends only ";". Every %orig that is not alone on its line therefore loses the rest of its line, including closing brackets: VOID_HANDLESCREENSHOT(%orig); -> VOID_HANDLESCREENSHOT(...; [SCIUtils liquidGlassEnabledBool:%orig]; -> [SCIUtils ...Bool:...; removeItemsInList(%orig, YES); -> removeItemsInList(...; Both build workflows check out theos/theos with ref: master and submodules: recursive, so they picked the regression up automatically and started failing during logos preprocessing/compilation: src/Features/Reels/ReelsPlayback.xm:43: error: Invalid argument structure in %orig src/Tweak.x: error: expected ']' src/Tweak.x: error: unterminated function-like macro invocation Pin the logos submodule to a62370066a97e36d59b200a9fa10c5091f5e8972 in both workflows. That is the direct parent of 777925d, so only SoCuul#114 is excluded and every other upstream fix is kept. (An earlier guess that 5f1138c was the parent was wrong -- it sits 12 commits back and would also revert SoCuul#100, SoCuul#103, SoCuul#105, SoCuul#109, SoCuul#110, SoCuul#112, SoCuul#113, SoCuul#115 and SoCuul#116.) Verified locally by running logos.pl over all 37 sources under src/ and checking the generated output for balanced brackets: 14 of 37 files broken on 777925d, 0 of 37 on a623700. The pin step itself was validated against a shallow clone of the public remote, matching what the runner does. No source changes -- the project code is correct; this is purely an upstream toolchain regression. Drop the pin once SoCuul#114 is fixed upstream. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
Author
Owner
|
I haven't tried this myself, but I'm going to merge this as a stopgap until I am able to work on fixing compatibility with newer theos releases. Thank you so much! |
Smelly-Ghost
added a commit
to Smelly-Ghost/SCInsta
that referenced
this pull request
Aug 1, 2026
fix(ci): pin Logos to a623700 to work around %orig regression (SoCuul#293)
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.

Closes #292
Problem
Both build workflows currently fail during Logos preprocessing:
This affects anyone forking the repo and running the workflows — nothing in SCInsta changed.
Cause
buildapp.ymlandbuildtweak.ymlcheck outtheos/theoswithref: masterandsubmodules: recursive, so they always pull the newest Logos. On 2026-06-29,theos/logos#114 ("Support multi-line block
arguments in
%origcalls", commit777925d) rewrote the%orighandler: it now replaceseverything from
%origto the end of the line and re-appends only;.Every
%origthat is not alone on its line therefore loses the rest of its line,including closing brackets:
VOID_HANDLESCREENSHOT(%orig);VOID_HANDLESCREENSHOT(...;return [SCIUtils liquidGlassEnabledBool:%orig];return [SCIUtils liquidGlassEnabledBool:...;[SCIUtils showConfirmation:^(void) { %orig; }];[SCIUtils showConfirmation:^(void) { ...;Hence the
expected ']'andunterminated function-like macro invocationerrors furtherdown the build. SCInsta uses this idiom in ~232 places; the code is correct and unchanged.
Fix
A
Pin Logos to known-good versionstep in both workflows, right afterSetup Theos:a623700is the direct parent of777925d, so only the regression is excluded and everyother upstream Logos fix is retained. Only the two workflow files change — no source edits.
Verification
logos.plwas run over all 37 sources undersrc/, and the generated output checked forbalanced
(),{}and[](comments and string/char literals stripped first):777925d(current master)a623700(pinned)Run A reproduced the reported
ReelsPlayback.xm:43error exactly; the other 13 files producedunbalanced output, worst being
src/Tweak.x(()+15 {}+19 []+9).The pin step itself was validated against a shallow clone of the public remote — the same
state
actions/checkoutwithsubmodules: recursiveleaves behind — confirming thatgit fetch --depth=1 origin <sha>resolves a specific commit ontheos/logos.Notes
on
theos/logos, so an upstream issue is still worth filing.cover the Theos/Logos submodule, which is what breaks here. pin github actions #277 edits the
uses:line ofthe same
Setup Theosstep, so the two touch adjacent lines but different content.