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

tui-rs is dead, long live tui-realm #48

Closed
veeso opened this issue Feb 13, 2023 · 2 comments
Closed

tui-rs is dead, long live tui-realm #48

veeso opened this issue Feb 13, 2023 · 2 comments
Labels
question Further information is requested

Comments

@veeso
Copy link
Owner

veeso commented Feb 13, 2023

As I recently discovered, tui-rs is dead fdehau/tui-rs#654 ⚰️ and as you probably know tui-realm totally relies on it.

What's my position about that?

  • tui-realm is still core to many of my active projects, such as termscp and tuifeed, so there's no way I can abandon it.
  • From my perspective, the latest version is TOTALLY satisfying for the purpose of this library and it seems there's nothing missing to tui-rs for what it is used for.

So basically, tui-realm is ALIVE and HEALTHY as a project and I'm not abandoning it even if tui-rs is dead.

tui-rs is totally reliable and accomplishing what is meant for in the tui-realm environment.

So what?

Basically there are three options from my perspective:

  • Keep using the latest version of tui-rrs
  • See whether someone is really MAINTAINING the project in a fork and start using it (I'm really not confident with it. 90% of forks claiming they're the current maintainer of a dead project, become a dead project after a few commits). Currently there is this promising fork https://github.com/tui-rs-revival/tui-rs-revival and I could see whether I've got time to work on it.
  • embedding tui-rs into realm and maintaining it: this is surely an option, but would take some time.

At the moment, I would opt for option 1 and in the future consider option 2. Option 3 is the last resort in case no fork is maintained and the library dependencies starts to become obsolete.

@veeso veeso added the question Further information is requested label Feb 13, 2023
@veeso veeso pinned this issue Feb 13, 2023
@veeso veeso closed this as completed Feb 13, 2023
@sayanarijit
Copy link

sayanarijit commented Feb 14, 2023

Hi @veeso, on behalf of the tui-rs-revival community (names are temporary), I'd like to invite you to join us and help revive the project. A lot of people showed up in our discord, and we're currently figuring out the organisational details. I think people in the community would like to have you onboard, and maybe have a separate channel to discuss things related to tui-realm. I also think your involvement would add a lot of value in any discussion related to tui-rs. Here's the invite link: https://discord.gg/pMCEU9hNEj

@joshka
Copy link

joshka commented Jun 26, 2023

As a follow up - the fork mentioned (which is now known as Ratatui seems reasonably healthy so far. Here's out changelog since taking over the project:

Changelog

All notable changes to this project will be documented in this file.

[unreleased]

Features

  • (block) Support for having more than one title (#232)
  • (terminal) Expose 'swap_buffers' method
  • (text) Add FromIterator<StyledGrapheme> for Line
  • (text) Add Line::styled() and Line.styled_graphemes()
  • (wrap) Reimplement char-boundary wrapping implementation for Line
  • (wrap) Add truncator wrapping for Line
  • (uncategorized) Add scrollbar widget (#228)

Bug Fixes

  • (examples) Correct progress label in gague example (#263)
  • (layout) Cap Contstraint::apply to 100% length (#264)
  • (typos) Configure typos linter (#233)
  • (uncategorized) Remediate lifetime and Cow issues in Line
  • (uncategorized) Revert removal of WTFPL from deny.toml (#266)

Refactor

  • (ci) Simplify cargo-make installation (#240)
  • (text) Reorganize text module items into their own files
  • (wrap) Implement wrap/trim changes from #193 [breaking]

Documentation

  • (lib) Add tui-term a pseudoterminal library (#268)
  • (lib) Fixup tui refs in widgets/mod.rs (#216)
  • (lib) Add backend docs (#213)
  • (readme) Remove duplicated mention of tui-rs-tree-widgets (#223)
  • (uncategorized) Fix scrollbar ascii illustrations and calendar doc paths (#272)
  • (uncategorized) README tweaks (#225)
  • (uncategorized) Add CODEOWNERS file (#212)
  • (uncategorized) Update README.md and add hello_world example (#204)

Styling

  • (comments) Set comment length to wrap at 100 chars (#218)
  • (config) Apply formatting to config files (#238)
  • (manifest) Apply formatting to Cargo.toml (#237)
  • (uncategorized) Reformat imports (#219)

Testing

  • (uncategorized) Add benchmarks for paragraph (#262)

Miscellaneous Tasks

  • (ci) Bump cargo-make version (#239)
  • (ci) Enable merge queue for builds (#235)
  • (ci) Integrate cargo-deny for linting dependencies (#221)
  • (commitizen) Add commitizen config (#222)
  • (demo) Update demo gif (#234)
  • (demo) Update demo gif with a fixed unicode gauge (#227)
  • (github) Simplify the CODEOWNERS file (#271)
  • (github) Add pull request template (#269)
  • (github) Fix the syntax in CODEOWNERS file (#236)
  • (uncategorized) Add doc comment description to StyledGrapheme
  • (uncategorized) Lint and doc cleanup (#191)

Build

  • (deps) Upgrade bitflags to 2.3 (#205) [breaking]

Continuous Integration

  • (uncategorized) Add feat-wrapping on push and on pull request ci triggers (#267)
  • (uncategorized) Add code coverage action (#209)

v0.21.0 - 2023-05-28

Features

  • (backend) Add termwiz backend and example (#5)
  • (block) Support placing the title on bottom (#36)
  • (border) Add border! macro for easy bitflag manipulation (#11)
  • (calendar) Add calendar widget (#138)
  • (color) Add FromStr implementation for Color (#180)
  • (list) Add len() to List (#24)
  • (paragraph) Allow Lines to be individually aligned (#149)
  • (sparkline) Finish [ImgBot] Optimize images #1 Sparkline directions PR (#134)
  • (terminal) Add inline viewport (#114) [breaking]
  • (test) Expose test buffer (#160)
  • (text) Add Masked to display secure data (#168) [breaking]
  • (widget) Add circle widget (#159)
  • (widget) Add style methods to Span, Spans, Text (#148)
  • (widget) Support adding padding to Block (#20)
  • (widget) Add offset() and offset_mut() for table and list state (#12)

Bug Fixes

  • (canvas) Use full block for Marker::Block (#133) [breaking]
  • (example) Update input in examples to only use press events (#129)
  • (uncategorized) Cleanup doc example (#145)
  • (reflow) Remove debug macro call (#198)

Refactor

  • (example) Remove redundant vec![] in user_input example (#26)
  • (example) Refactor paragraph example (#152)
  • (style) Mark some Style fns const so they can be defined globally (#115)
  • (text) Replace Spans with Line (#178)

Documentation

  • (apps) Fix rsadsb/adsb_deku radar link (#140)
  • (apps) Add tenere (#141)
  • (apps) Add twitch-tui (#124)
  • (apps) Add oxycards (#113)
  • (apps) Re-add trippy to APPS.md (#117)
  • (block) Add example for block.inner (#158)
  • (changelog) Update the empty profile link in contributors (#112)
  • (readme) Fix small typo in readme (#186)
  • (readme) Add termwiz demo to examples (#183)
  • (readme) Add acknowledgement section (#154)
  • (readme) Update project description (#127)
  • (uncategorized) Scrape example code from examples/* (#195)

Styling

  • (apps) Update the style of application list (#184)
  • (readme) Update project introduction in README.md (#153)
  • (uncategorized) Clippy's variable inlining in format macros

Testing

  • (buffer) Add assert_buffer_eq! and Debug implementation (#161)
  • (list) Add characterization tests for list (#167)
  • (widget) Add unit tests for Paragraph (#156)

Miscellaneous Tasks

  • (uncategorized) Inline format args (#190)
  • (uncategorized) Minor lints, making Clippy happier (#189)

Build

  • (uncategorized) Bump MSRV to 1.65.0 (#171)

Continuous Integration

  • (uncategorized) Add ci, build, and revert to allowed commit types

Contributors

Thank you so much to everyone that contributed to this release!

Here is the list of contributors who has contributed to ratatui for the first time!

v0.20.1 - 2023-03-19

Bug Fixes

  • (style) Bold needs a bit (#104)

Documentation

  • (apps) Add "logss" to apps (#105)
  • (uncategorized) Fixup remaining tui references (#106)

Contributors

Thank you so much to everyone that contributed to this release!

v0.20.0 - 2023-03-19

This marks the first release of ratatui, a community-maintained fork of tui.

The purpose of this release is to include bug fixes and small changes into the repository thus no new features are added. We have transferred all the pull requests from the original repository and worked on the low hanging ones to incorporate them in this "maintenance" release.

Here is a list of changes:

Features

  • (cd) Add continuous deployment workflow (#93)
  • (ci) Add MacOS to CI (#60)
  • (widget) Add offset() to TableState (#10)
  • (widget) Add width() to ListItem (#17)

Bug Fixes

  • (ci) Test MSRV compatibility on CI (#85)
  • (ci) Bump Rust version to 1.63.0 (#80)
  • (ci) Use env for the cargo-make version (#76)
  • (ci) Fix deprecation warnings on CI (#58)
  • (doc) Add 3rd party libraries accidentally removed at [QUESTION] - Keyboard event loop is slower than old version? #21 (#61)
  • (widget) List should not ignore empty string items (#42) [breaking]
  • (uncategorized) Cassowary/layouts: add extra constraints for fixing Min(v)/Max(v) combination. (#31)
  • (uncategorized) Fix user_input example double key press registered on windows
  • (uncategorized) Ignore zero-width symbol on rendering Paragraph
  • (uncategorized) Fix typos (#45)
  • (uncategorized) Fix typos (#47)

Refactor

  • (style) Make bitflags smaller (#13)

Documentation

  • (apps) Move 'apps using ratatui' to dedicated file (#98) (#99)
  • (canvas) Add documentation for x_bounds, y_bounds (#35)
  • (contributing) Specify the use of unsafe for optimization (#67)
  • (github) Remove pull request template (#68)
  • (readme) Update crate status badge (#102)
  • (readme) Small edits before first release (#101)
  • (readme) Add install instruction and update title (#100)
  • (readme) Add systeroid to application list (#92)
  • (readme) Add glicol-cli to showcase list (#95)
  • (readme) Add oxker to application list (#74)
  • (readme) Add app kubectl-watch which uses tui (#73)
  • (readme) Add poketex to 'apps using tui' in README (#64)
  • (readme) Update README.md (#39)
  • (readme) Update README.md (#40)
  • (readme) Clarify README.md fork status update
  • (uncategorized) Fix: fix typos (#90)
  • (uncategorized) Update to build more backends (#81)
  • (uncategorized) Expand "Apps" and "Third-party" sections (#21)
  • (uncategorized) Add tui-input and update xplr in README.md
  • (uncategorized) Add hncli to list of applications made with tui-rs (#41)
  • (uncategorized) Updated readme and contributing guide with updates about the fork (#46)

Performance

  • (layout) Better safe shared layout cache (#62)

Miscellaneous Tasks

  • (cargo) Update project metadata (#94)
  • (ci) Integrate typos for checking typos (#91)
  • (ci) Change the target branch to main (#79)
  • (ci) Re-enable clippy on CI (#59)
  • (uncategorized) Integrate committed for checking conventional commits (#77)
  • (uncategorized) Update rust-version to 1.59 in Cargo.toml (#57)
  • (uncategorized) Update deps (#51)
  • (uncategorized) Fix typo in layout.rs (#619)
  • (uncategorized) Add apps using tui

Contributors

Thank you so much to everyone that contributed to this release!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants