Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no stdout in precomp #191

Merged
merged 2 commits into from
Jan 9, 2023
Merged

no stdout in precomp #191

merged 2 commits into from
Jan 9, 2023

Conversation

FedeClaudi
Copy link
Owner

Changed _precompilation.jl to avoid having to redirect stdout and to precompile more things.

@FedeClaudi FedeClaudi linked an issue Jan 6, 2023 that may be closed by this pull request
@FedeClaudi
Copy link
Owner Author

@andreasnoack this should fix #190.
I can't be sure because I never encountered that issue in the first place, but I've removed the need for stdout re-direct alltogether based on suggestions in: timholy/SnoopCompile.jl#308 (comment)

Please not that this is being merged in master which currently holds code for the next big release of Term.jl for version 2.0 which introduces many new features and improvements. As such, it might be premature to grab the code from here as there's many not yet documented changes. However if you do want to do that, I'd be very happy to see how you like the new Term!

@andreasnoack
Copy link

Just tried this PR on the same machine where I experienced the deadlock and I can confirm that this PR fixes the issue.

@FedeClaudi
Copy link
Owner Author

awesome thanks for checking it out!

@FedeClaudi FedeClaudi marked this pull request as ready for review January 8, 2023 21:40
@FedeClaudi FedeClaudi merged commit 5af6831 into master Jan 9, 2023
@andreasnoack
Copy link

It would actually be helpful if you could backport this fix to a 1.x release. Otherwise it might take a while before we can precompile our package again.

@FedeClaudi
Copy link
Owner Author

Doing this here: #194

I've removed the pre-compilation code alltogether. Once v2.0 drops I strongly recomend switching to it. There shouldn't be major breaking changes but lots of improvements and new functionality.

@FedeClaudi FedeClaudi deleted the fix_190 branch January 15, 2023 20:44
@FedeClaudi
Copy link
Owner Author

Please disregard the previous message and other notifications. It seems that I've messed up the commit history badly enough such that backporting those changes is actually not a great idea.

If that works for you I can make a v2.0 release without the precompilation code now. Some of the new features are not fully finished yet but the rest of the code should be just the same as before, except the pre-compilation wouldn't bother you.

@andreasnoack
Copy link

Thanks for giving it a try. I'm fine with 2.0 but our project only pulls in Term as an indirect dependency so the upgrade is not under our direct control. We might be forced to stay of 1.x for a bit.

@FedeClaudi
Copy link
Owner Author

Got it. Sorry I couldn't be of more help, let me know if there's anything I can do!

@andreasnoack
Copy link

Took a closer a look. Usually, it's easier to make such a release from a dedicated release branch, i.e. I think it might be sufficient to make a branch similar to this one /~https://github.com/andreasnoack/Term.jl/tree/release-1.1 from my fork and then make a 1.1.1 from that one. (Or a similar release-1.2 if you prefer 1.2.0.)

@FedeClaudi
Copy link
Owner Author

yeah so the problem is that I merged a bunch of commits for v2.0 into the master branch (not a great idea) so to grab code that doesn't have this and make a new release without the newer features I would have to revert to a previous commit: 4dda667

I can't figure out a way to do that in a way where I can then make a PR without having to grab the most recent code from master.

@andreasnoack
Copy link

I can't figure out a way to do that in a way where I can then make a PR without having to grab the most recent code from master.

What I did, was to create the release branch, set it to v1.1.0, and revert the precompile commit, i.e.

git checkout -b release-1.1
git reset --hard v1.1.0
git revert e54f4d2a7a20c0a1698be1286bfa8590cbb87473

There is a very small conflict in the docs project but that's it. Then it could be possible to change the version on that branch and make the release from that branch and leave master as it is.

@FedeClaudi
Copy link
Owner Author

So I followed those steps and I have a branch with the new code, but I'm not sure how to release it without mergin the PR. Normally I trigger the bot from an issue (#170) but I'm not sure how to tell it to pull it from a branch?

@andreasnoack
Copy link

You can trigger the release by commenting on the relevant commit, i.e. 18ede51

@FedeClaudi
Copy link
Owner Author

The new release should be coming out: #36 (comment)

I hope it fixes your issues!

FedeClaudi added a commit that referenced this pull request Feb 4, 2023
* CompatHelper: add new compat entry for WordTokenizers at version 0.5, (keep existing compat) (#171)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* Stack traces (#179)

* styling

* now excludes other installed packages + fmt and tests

* small improvements ot hidden frames

* format and docs

* small fixes

* fmt

* kwarg func call fmt

* show each error line code

* covergage

* stacktrace formatting

* traces rendering improvements

* test fix

* new text reshaping function from chatgpt

* fixed tests

* cleanup

* cleanup

* bump

* bump

* bump

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* method error kwargs call

* parsed kwargs calls in stackrace

* fixes

* method error edge cases

* bump

* bump

* bump

* fixed textlen bug for orphaned tags

* Update Project.toml

* Update Project.toml

* errors with no backtrace are now shown

* logger doesn't cut msgs

* CI fix

* error msg panel now always shows

* reworked logs rendering code

* msg reshaping

* refactored stacktrace code + further logs improvements

* fixed bug with markdown rendering

* Link renderable development (#180)

* bump

* bump

* working on making Link work

* functional link?

* fixing them errors

* fixed behavior of hidden frames in stacktrace and docs

* fixed bugs

* bugs fixed and more test

* bugfix

* tests fix

* tests fixing

* tests fix

* tests fix

* Fix #181 (#182)

* small fixes

* bump

* `Prompt` (#175)

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* bump

* bump

* bump

* bump

* prompt wip

* bump

* prompt almost finished

* added tests and docs for prompt

* bump

* coverage and CI

* docs fix

* Update _error_messages.jl

* Annotations (#185)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* working on annotation

* added style

* bump

* disabled precompilation

* new code reshaping function

* new annotation system

* tests for annotations passing

* fmt

* more tests

* bump

* bump

* ci fix

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* Create Invalidations.yml

* Create unused_dependencies.yml

* Update Invalidations.yml

* Update Invalidations.yml

* Update CI.yml

* Update CI.yml

* Coverage - adding more tests (#186)

* increasing test coverage

* fixed bug with markup tags including newline

* test coverage

* bump

* bump

* bump

* bump

* bump

* CI fix

* CI fix

* CI fix

* CI fix

* bump

* Update CI.yml

* bump

* refactored tree

* CI fix

* docs

* Update unused_dependencies.yml

* ci fix

* Update Invalidations.yml

* removed fillin(segments)

* Update CI.yml

* fmt

* bump

* removed error message functionality, using base

* bump

* fix_markup_across_lines (#188)

* fix_markup_across_lines

* tests passing

* fixed small things

* bump

* wip for fix_ansi_across_lines

* fixed nested style tags

* reshaping with ANSI and markup works well

* fmt

* bump

* bump

* bump

* removed unused funcs

* docstring

* small fixes

* bump

* Update CI.yml

* Working on pre-compilation (#173)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* cleaned up precompilation

* removed deps

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* CompatHelper: add new compat entry for AbstractTrees at version 0.4, (keep existing compat) (#189)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* bump

* no stdout in precomp (#191)

* no stdout in precomp

* ignore precompilation code in coverage

* finished re-factoring tree

* CI fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
Co-authored-by: Rémi Vezy <VEZY@users.noreply.github.com>
Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>
FedeClaudi added a commit that referenced this pull request Feb 5, 2023
* Live first push

* bump

* bump

* pager almost ready

* pager ready

* making progress with menu

* making progress with menu

* hacky but working

* reduced flicker

* progress on making progress a Live

* redirect tsdout

* bump

* test

* introspection fmt + error fmt

* bump

* bump

* CompatHelper: add new compat entry for WordTokenizers at version 0.5, (keep existing compat) (#171)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* Stack traces (#179)

* styling

* now excludes other installed packages + fmt and tests

* small improvements ot hidden frames

* format and docs

* small fixes

* fmt

* kwarg func call fmt

* show each error line code

* covergage

* stacktrace formatting

* traces rendering improvements

* test fix

* new text reshaping function from chatgpt

* fixed tests

* cleanup

* cleanup

* bump

* bump

* bump

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* method error kwargs call

* parsed kwargs calls in stackrace

* fixes

* method error edge cases

* bump

* bump

* bump

* fixed textlen bug for orphaned tags

* Update Project.toml

* Update Project.toml

* errors with no backtrace are now shown

* logger doesn't cut msgs

* CI fix

* error msg panel now always shows

* reworked logs rendering code

* msg reshaping

* refactored stacktrace code + further logs improvements

* fixed bug with markdown rendering

* Link renderable development (#180)

* bump

* bump

* working on making Link work

* functional link?

* fixing them errors

* fixed behavior of hidden frames in stacktrace and docs

* fixed bugs

* bugs fixed and more test

* bugfix

* tests fix

* tests fixing

* tests fix

* tests fix

* Fix #181 (#182)

* small fixes

* bump

* `Prompt` (#175)

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* bump

* bump

* bump

* bump

* prompt wip

* bump

* prompt almost finished

* added tests and docs for prompt

* bump

* coverage and CI

* docs fix

* Update _error_messages.jl

* Annotations (#185)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* working on annotation

* added style

* bump

* disabled precompilation

* new code reshaping function

* new annotation system

* tests for annotations passing

* fmt

* more tests

* bump

* bump

* ci fix

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* Create Invalidations.yml

* Create unused_dependencies.yml

* Update Invalidations.yml

* Update Invalidations.yml

* Update CI.yml

* Update CI.yml

* Coverage - adding more tests (#186)

* increasing test coverage

* fixed bug with markup tags including newline

* test coverage

* bump

* bump

* bump

* bump

* bump

* CI fix

* CI fix

* CI fix

* CI fix

* bump

* Update CI.yml

* bump

* refactored tree

* CI fix

* docs

* Update unused_dependencies.yml

* ci fix

* Update Invalidations.yml

* removed fillin(segments)

* Update CI.yml

* fmt

* bump

* removed error message functionality, using base

* bump

* fix_markup_across_lines (#188)

* fix_markup_across_lines

* tests passing

* fixed small things

* bump

* wip for fix_ansi_across_lines

* fixed nested style tags

* reshaping with ANSI and markup works well

* fmt

* bump

* bump

* bump

* removed unused funcs

* docstring

* small fixes

* bump

* Update CI.yml

* Working on pre-compilation (#173)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* cleaned up precompilation

* removed deps

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* CompatHelper: add new compat entry for AbstractTrees at version 0.4, (keep existing compat) (#189)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* bump

* restored to old LiveInternals

* small improvements

* simple menu

* working on help message

* working on help

* added multi select menu

* bump

* help tooltip working

* small fixes

* pager with liner numbers and scrollbar

* tab viewer refactor

* improved key controls

* refactor

* more widgets and improvements

* tabviewer improvemens

* fixed scrollbar

* fixed introspection

* compositor accepts fractional values

* added apply_style to ren and removed extra style resets from boxes and panels

* removed apply style for renderables and working on app

* menu can be horizontal

* added gallery

* refactor

* small fixes

* RGB example

* inspect re-worked

* refactor

* bump

* reverted to master progress bar

* tests passing

* tests passing

* refactoring controls

* no stdout in precomp (#191)

* no stdout in precomp

* ignore precompilation code in coverage

* working on controls

* debug mode and working controls

* small imrpvoements

* removed live internals from widgets

* all widgets play through app

* bump

* small fixes

* working on responsive app size

* working on resposive

* pager improvements

* tictactoe

* small improvements

* tests fix

* bump

* widget internals

* transitions inferred from layout

* wip

* all widgets work

* added help msg

* help msg

* bump

* finished re-factoring tree

* CI fix

* added test

* CI fix

* bump

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
Co-authored-by: Rémi Vezy <VEZY@users.noreply.github.com>
Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>
FedeClaudi added a commit that referenced this pull request Feb 6, 2023
* init

* Pulling Abstract Trees into 2.0 (#198)

* CompatHelper: add new compat entry for WordTokenizers at version 0.5, (keep existing compat) (#171)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* Stack traces (#179)

* styling

* now excludes other installed packages + fmt and tests

* small improvements ot hidden frames

* format and docs

* small fixes

* fmt

* kwarg func call fmt

* show each error line code

* covergage

* stacktrace formatting

* traces rendering improvements

* test fix

* new text reshaping function from chatgpt

* fixed tests

* cleanup

* cleanup

* bump

* bump

* bump

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* method error kwargs call

* parsed kwargs calls in stackrace

* fixes

* method error edge cases

* bump

* bump

* bump

* fixed textlen bug for orphaned tags

* Update Project.toml

* Update Project.toml

* errors with no backtrace are now shown

* logger doesn't cut msgs

* CI fix

* error msg panel now always shows

* reworked logs rendering code

* msg reshaping

* refactored stacktrace code + further logs improvements

* fixed bug with markdown rendering

* Link renderable development (#180)

* bump

* bump

* working on making Link work

* functional link?

* fixing them errors

* fixed behavior of hidden frames in stacktrace and docs

* fixed bugs

* bugs fixed and more test

* bugfix

* tests fix

* tests fixing

* tests fix

* tests fix

* Fix #181 (#182)

* small fixes

* bump

* `Prompt` (#175)

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* bump

* bump

* bump

* bump

* prompt wip

* bump

* prompt almost finished

* added tests and docs for prompt

* bump

* coverage and CI

* docs fix

* Update _error_messages.jl

* Annotations (#185)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* working on annotation

* added style

* bump

* disabled precompilation

* new code reshaping function

* new annotation system

* tests for annotations passing

* fmt

* more tests

* bump

* bump

* ci fix

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* Create Invalidations.yml

* Create unused_dependencies.yml

* Update Invalidations.yml

* Update Invalidations.yml

* Update CI.yml

* Update CI.yml

* Coverage - adding more tests (#186)

* increasing test coverage

* fixed bug with markup tags including newline

* test coverage

* bump

* bump

* bump

* bump

* bump

* CI fix

* CI fix

* CI fix

* CI fix

* bump

* Update CI.yml

* bump

* refactored tree

* CI fix

* docs

* Update unused_dependencies.yml

* ci fix

* Update Invalidations.yml

* removed fillin(segments)

* Update CI.yml

* fmt

* bump

* removed error message functionality, using base

* bump

* fix_markup_across_lines (#188)

* fix_markup_across_lines

* tests passing

* fixed small things

* bump

* wip for fix_ansi_across_lines

* fixed nested style tags

* reshaping with ANSI and markup works well

* fmt

* bump

* bump

* bump

* removed unused funcs

* docstring

* small fixes

* bump

* Update CI.yml

* Working on pre-compilation (#173)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* cleaned up precompilation

* removed deps

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* CompatHelper: add new compat entry for AbstractTrees at version 0.4, (keep existing compat) (#189)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* bump

* no stdout in precomp (#191)

* no stdout in precomp

* ignore precompilation code in coverage

* finished re-factoring tree

* CI fix

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
Co-authored-by: Rémi Vezy <VEZY@users.noreply.github.com>
Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* Live (#199)

* Live first push

* bump

* bump

* pager almost ready

* pager ready

* making progress with menu

* making progress with menu

* hacky but working

* reduced flicker

* progress on making progress a Live

* redirect tsdout

* bump

* test

* introspection fmt + error fmt

* bump

* bump

* CompatHelper: add new compat entry for WordTokenizers at version 0.5, (keep existing compat) (#171)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* Stack traces (#179)

* styling

* now excludes other installed packages + fmt and tests

* small improvements ot hidden frames

* format and docs

* small fixes

* fmt

* kwarg func call fmt

* show each error line code

* covergage

* stacktrace formatting

* traces rendering improvements

* test fix

* new text reshaping function from chatgpt

* fixed tests

* cleanup

* cleanup

* bump

* bump

* bump

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* method error kwargs call

* parsed kwargs calls in stackrace

* fixes

* method error edge cases

* bump

* bump

* bump

* fixed textlen bug for orphaned tags

* Update Project.toml

* Update Project.toml

* errors with no backtrace are now shown

* logger doesn't cut msgs

* CI fix

* error msg panel now always shows

* reworked logs rendering code

* msg reshaping

* refactored stacktrace code + further logs improvements

* fixed bug with markdown rendering

* Link renderable development (#180)

* bump

* bump

* working on making Link work

* functional link?

* fixing them errors

* fixed behavior of hidden frames in stacktrace and docs

* fixed bugs

* bugs fixed and more test

* bugfix

* tests fix

* tests fixing

* tests fix

* tests fix

* Fix #181 (#182)

* small fixes

* bump

* `Prompt` (#175)

* prompt init

* small fixes to repr and error

* fixed small repr bugs

* removed deps

* wip errors

* bump

* bump

* bump

* bump

* prompt wip

* bump

* prompt almost finished

* added tests and docs for prompt

* bump

* coverage and CI

* docs fix

* Update _error_messages.jl

* Annotations (#185)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* working on annotation

* added style

* bump

* disabled precompilation

* new code reshaping function

* new annotation system

* tests for annotations passing

* fmt

* more tests

* bump

* bump

* ci fix

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* Create Invalidations.yml

* Create unused_dependencies.yml

* Update Invalidations.yml

* Update Invalidations.yml

* Update CI.yml

* Update CI.yml

* Coverage - adding more tests (#186)

* increasing test coverage

* fixed bug with markup tags including newline

* test coverage

* bump

* bump

* bump

* bump

* bump

* CI fix

* CI fix

* CI fix

* CI fix

* bump

* Update CI.yml

* bump

* refactored tree

* CI fix

* docs

* Update unused_dependencies.yml

* ci fix

* Update Invalidations.yml

* removed fillin(segments)

* Update CI.yml

* fmt

* bump

* removed error message functionality, using base

* bump

* fix_markup_across_lines (#188)

* fix_markup_across_lines

* tests passing

* fixed small things

* bump

* wip for fix_ansi_across_lines

* fixed nested style tags

* reshaping with ANSI and markup works well

* fmt

* bump

* bump

* bump

* removed unused funcs

* docstring

* small fixes

* bump

* Update CI.yml

* Working on pre-compilation (#173)

* init

* more extensive precompilation

* small fixes for error IO

* 204 method invalidation at startup ops

* bump

* cleaned up precompilation

* removed deps

* bump

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* CompatHelper: add new compat entry for AbstractTrees at version 0.4, (keep existing compat) (#189)

Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>

* bump

* restored to old LiveInternals

* small improvements

* simple menu

* working on help message

* working on help

* added multi select menu

* bump

* help tooltip working

* small fixes

* pager with liner numbers and scrollbar

* tab viewer refactor

* improved key controls

* refactor

* more widgets and improvements

* tabviewer improvemens

* fixed scrollbar

* fixed introspection

* compositor accepts fractional values

* added apply_style to ren and removed extra style resets from boxes and panels

* removed apply style for renderables and working on app

* menu can be horizontal

* added gallery

* refactor

* small fixes

* RGB example

* inspect re-worked

* refactor

* bump

* reverted to master progress bar

* tests passing

* tests passing

* refactoring controls

* no stdout in precomp (#191)

* no stdout in precomp

* ignore precompilation code in coverage

* working on controls

* debug mode and working controls

* small imrpvoements

* removed live internals from widgets

* all widgets play through app

* bump

* small fixes

* working on responsive app size

* working on resposive

* pager improvements

* tictactoe

* small improvements

* tests fix

* bump

* widget internals

* transitions inferred from layout

* wip

* all widgets work

* added help msg

* help msg

* bump

* finished re-factoring tree

* CI fix

* added test

* CI fix

* bump

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
Co-authored-by: Rémi Vezy <VEZY@users.noreply.github.com>
Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>

* working on docs

* bump

* Fixing known v2.0 problems ahead of release (#200)

* fixed logs problems

* bump

* fixed layout in repr functionality

* fixed err msg not showing up in progress

* added option to expand stackatrace width

* CI fix

* CI fix

* CI fix

* CI fix

* CI fix

* CI fix

* CI fix

* working on docs

* bump

* docs

* docs fix

* merged

---------

Co-authored-by: Federico Claudi <federicoclaudi@imac.mynetworksettings.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CompatHelper Julia <compathelper_noreply@julialang.org>
Co-authored-by: Rémi Vezy <VEZY@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Precompilation code causes deadlock
2 participants