aboutsummaryrefslogtreecommitdiff
path: root/ticket/src/tui.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Switch from termion to crossterm for tuiMichael Gattozzi2019-12-191-82/+52
|
* Add the ability to add comments to ticketsMichael Gattozzi2019-12-131-3/+19
| | | | | | | | | | | | | | | | | | This commit encompasses quite a few changes to add tickets: - The `Ticket` struct is updated to properly order comments using a uuid v1 and to hold the user name, uuid, and their comment - Tickets in the repo are updated to accomodate this change to the ticket. Despite this being a breaking config change, none of these tickets had any comments so it was an easy manual port and the migration tool did not need to be updated. - The TUI was updated to display the tickets a bit better with some coloring and now also showing the comments with them This gets us one step closer to a decent first release for ticket. The only things that are really left to do are adding the ability to comment in the tui, listing tickets on the cli, and adding in issue assignees on both the cli and tui.
* Make the pre-commit script pedantic and fix errorsMichael Gattozzi2019-12-101-8/+8
| | | | | | | | This commit really ups the level and quality of the Rust code by setting clippy to pedantic mode. It also fixes an issue where bash continued to run scripts even if something failed with a non-zero exit status. We also deny all warnings so as to actually fail the builds and the commit hooks. This should make sure code quality stays at a high level.
* Upgrade ticket format from V0 to V1 to use UUIDsMichael Gattozzi2019-12-031-16/+4
| | | | | | | | | | | | | | | | | | | | | This is a necessary upgrade to deal with the fact that incremental ids do not work in distributed systems. For instance say we have two branches from the same commit on master and they both add a new ticket. Both will have the same incremental ID despite being completely separate tickets. In this case we want to use UUIDs, specifically version 1 as defined in IETF RFC 4122. This version of UUID uses a timestamp to generate it and as a result the UUID it generates is *sortable*. This means that the UUIDs can be created whenever on any branch, be unique, and will be sortable by time. No matter when or where our tickets can be sorted correctly by this UUID in a deterministic order. Since we are also upgrading the code we've set up migration upgrade code to handle this in case we need to do this again in the future. We also add a few more fields and make some breaking changes since we already are for the UUIDs. Resources: - https://tools.ietf.org/html/rfc4122
* Add a tui for ticketMichael Gattozzi2019-12-021-0/+336
This commit sets up a basic tui for the current functionality. It's traversable by keyboard and by mouse and shows the ticket state via tab, info in a row, and the description in it's own box when selected. This is necessary for a good user experience for in repo tools. Files are fine, but interactivity is better.