Repository navigation
Show a failed command's output without --verbose; bump to 6.1.3 - #262
Merged
Merged
Conversation
runExec discarded the stdout of commands it ran unless --verbose was set, and printed only stderr when one failed. compileall reports a file's SyntaxError on stdout, so a syntax error in an app file made flet build fail with no explanation unless run with -vv (flet-dev/flet#7029).
1 task done
FeodorFitsner
approved these changes
Oct 31, 2026
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.
When a command run by
packagefailed, serious_python printed only that command's stderr, and its stdout was shown only with--verbose. Some tools report errors on stdout:python -m compileallprints a file'sSyntaxErrorthere and leaves stderr empty. So when an app had a.pyfile that doesn't compile,flet buildfailed with "Error building Flet app - see the log of failed command above." and nothing above it, unless it ran with-vv, the only level at which it passes--verbose. Dependencies hadn't been installed yet at that point, which is what flet-dev/flet#7029 reported as an emptysite-packages.Change
runExecnow keeps the command's stdout when--verboseis off. If the command fails, it writes that stdout to stderr, then the command's stderr, then flushes beforeexit(1), which doesn't wait for pending writes.--verbose: unchanged; stdout is still shown as it arrives.flet buildalready prints thepackagecommand's stderr when it fails, at every verbosity, so on the Flet side only the template'sserious_pythonpin needs bumping.Bumps every package to 6.1.3.
Testing
On macOS,
dart run serious_python:main packageon a Flet app whosehelper.pycontainsdef broken(::flet build macos -vwith flet 1.0.5 / serious_python 5.0.0): the log ends at thecompileallline; no error is shown.--verbose: stderr shows the file,line 1andSyntaxError: invalid syntax.--verbose: same output as before.dart analyze binreports no issues;dart formatmakes no changes.Fixes flet-dev/flet#7029