Repository navigation
Conversation
Recent versions of the thedjchi/Shizuku fork (Android 17 dev) print 'Entering shell...' to stdout before executing rish commands. This pollutes all $(rish -c "...") output captures, causing string comparisons like "Entering shell..." == "Success" to fail silently. Add rish_c() wrapper in each affected file that pipes rish output through grep -v to strip the banner. Backward-compatible: grep -v is a no-op on systems where the banner is absent (Android 14/15/16). The Rish detection check in constants.sh (rish -c 'exit' &> /dev/null) is intentionally left unchanged as it discards output and relies on the exit code only.
- install.sh: downloads launcher from jairjacom fork instead of OG repo - enhancify: update check and download URLs point to jairjacom/Enhancify - fetchSrc(): add null guard so no crash when fork has no releases yet - aapt2 binary URL left pointing to Graywizard888/Custom-Enhancify-aapt2-binary (separate repo, unchanged)
…cher These changes are not needed for the upstream PR — only the rish_c() fix belongs upstream. Keeping install.sh and enhancify pointing to the OG repo.
- enhancify launcher now checks jairjacom/Enhancify releases (not upstream) - install.sh downloads launcher from jairjacom fork - SpecManager.sh changelog fetch points to jairjacom/Enhancify - Restore enhancify and install.sh (deleted upstream in v6.2.2) - Add GitHub Actions workflow: auto-creates release on version tag push
Scheduled workflow runs daily at 9 AM UTC: - Checks if Graywizard888/Enhancify has a new release - If yes, merges upstream/main into fork main - Clean merge: pushes tag + creates GitHub release automatically - Conflict: aborts merge, opens a GitHub issue with fix instructions - Guards against duplicate tags before pushing
Our rish_c() wrapper only filtered stdout and used grep -v, which silently dropped real output when the banner shared a line with content (e.g. "Entering shell...Success"). The upstream PR Graywizard888#50 fix (built by arena-ai-coding-agent for Graywizard888) shadows rish() itself instead of requiring every call site to opt in, filters both stdout and stderr separately, and strips the banner as a prefix instead of deleting the whole line - fixing both gaps. Verified via bash -n on all touched files and a mock-rish smoke test covering banner-alone, banner+content same line, banner on stderr, no-banner backward compat, and exit-code preservation on failure.
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.
Problem
On Android 17 (dev preview) with the thedjchi/Shizuku fork, the
rishshell printsEntering shell...to stdout before executing commands.This breaks every
$(rish -c "...")output capture in Enhancify because the banner gets mixed into the result:String comparisons like
[ "$result" == "Success" ]silently fail, causing installs to appear broken with no error message.Fix
Added a
rish_c()wrapper function that strips the banner line before returning output:All
$(rish -c "...")output captures replaced with$(rish_c "...").Backward compatible —
grep -vis a no-op when the banner is absent (Android 14/15/16, standard Shizuku, other OEMs).Files changed
system/rish-install.shsystem/rish-uninstall.shmodules/system/rish.shmodules/system/root.shTested on