Commit Graph

  • 2b15afcb83 Added support for editing all indexer settings (finally)! Dark-Alex-17 2023-09-08 16:06:20 -06:00
  • b16a58deae Updated Ratatui, created custom deserialization logic for i64s to make life easier, and used string interpolation where possible to reduce the lines needed to write log messages or create formatted text Dark-Alex-17 2023-09-07 17:20:38 -06:00
  • e13d1ece58 Fixed a bug with cancelling tokens when processing prompt networking events Dark-Alex-17 2023-08-17 16:48:37 -06:00
  • 268029bfe8 Fixed a few linting warnings Dark-Alex-17 2023-08-16 11:32:29 -06:00
  • 907fa9a2ec Refactored unnecessary data fields into Options to make the code cleaner, and to reduce the memory usage of the application Dark-Alex-17 2023-08-14 13:02:50 -06:00
  • 23ad489b15 Updated the logs query to fetch 500 log lines instead of just 100 for more useful logging information Dark-Alex-17 2023-08-12 13:04:18 -06:00
  • ec9d23ede7 Refactored the movie_details_popup data into the MovieDetailsModal so things are neater and to follow the same format I've already established for other modals Dark-Alex-17 2023-08-11 16:37:21 -06:00
  • f7cb832095 Refactored the filter and search logic to follow the established modal logic and added some refactored functions to the UI module as well to clean up the UI code too Dark-Alex-17 2023-08-10 16:43:57 -06:00
  • ce12ebd301 Refactored the HorizontallyScrollableText struct to handle Unicode strings more uniformly and to not rely on byte boundaries but instead to rely on Unicode char boundaries Dark-Alex-17 2023-08-08 14:15:23 -06:00
  • 218d442694 Fixed unicode bug where horizontally scrollable text would attempt to iterate beyond the length of the string; this happens whenever unicode values are present in the string Dark-Alex-17 2023-08-08 10:50:18 -06:00
  • 56fe4400cc Fixed another subtle bug with scrolling movie titles when showing the delete movie popup Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • e9b6ff0ca1 Fixed a subtle bug when downloading movies where the movie_id needs to be specified in the POST to the releases endpoint Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 77fd9e621f Did a lot of things in this one: Cleaned up a bit of leftover unused code from yesterday; deprecated the use of drain() on HorizontallyScrollableText; Refactored the uses of search and filter to be wrapped in Options; Fixed a race condition when closing the Add Movie modals in rapid succession; upgraded to ratatui 0.22.0; Fixed a bug in attempting to close an empty root folder; fixed a bug in attempting to close an empty filter; fixed a bug in attempting to close an empty search; fixed a bug in attempting to close an empty filter without resetting the view; fixed a bug in attempting to delete a movie after dynamically added one and updating the main library table Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 2d624e2648 Refactored the Edit/Add modals into their own structs so that adding similar modals in the future is more consistent, uses less RAM (since it's wrapped in an Option now), and is easier to implement. This comes with an initial example of the IndexerSettings UI that needs its own modal now. The modal has been created but it is still not used just yet so that's the next step. Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • e2e4bf16e4 Added additional fixes Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 618ba09b02 Refactored the RadarrData and ActiveRadarrBlock structs into their own file in models/servarr_data to make things neater and cleaner and easier to build on Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • c8781ae442 Removed unnecessary use of clap since I'm making a TUI and not a CLI application Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • dd339d1685 Refactored the key_mappings into files for context_clues for better naming conventions, and added unit tests for the clues and the contents of the ActiveRadarrBlock arrays that are used for chain-of-responsibility delegation in the handlers and UI components. Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 68aaa21030 Changed Ctrl-r to ctrl-r for displaying key mappings Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 5602fc4341 Tweaked the key mappings so that it is now easier to change key mappings and update the corresponding UI elements as well Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 74011b9ab3 Removed unnecessary Tokio thread spawn when processing a network request Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 97c60b47e3 Fixed overflow error when users try to scroll on empty tables or lists Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • a8f6a5398b Fixed long-running requests to be cancelled when users try to change tabs or contexts. Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • e253ca8359 Did some cleanup Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • cf11527fef Refactored the UI module and the handlers module to do a more chain-of-responsibility method to manage the UI's and handlers for different key events. Also, initial work for indexer settings as well Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 718613d59f Added typo checks and upgraded to the latest version of Ratatui Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 2b9ddd0d1e Added network support for updating all indexer settings, editing specific indexer settings, deleting an indexer; Also added keybindings for all of the above that change the current route. Added full support for deleting an indexer; still need to add an indexer_handler to handle the add, edit, and settings functionalities Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 52f22312f3 Added field_type to Radarr events to dynamically display fields at runtime. Also updated the keybinding for events in the systems tab to reuse the 'e' key. Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 72194fe668 Implemented the ability to view indexers Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • d32f2b538d Fixed a bug in the UI that would scroll text on edit window popups when it shouldn't Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 653c7274b0 Added a help block to the updates popup Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • bb7fd6a873 Fixed typo in pageSize in the logs network test Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 0c7fc88e22 Added the ability to view Radarr updates and remapped the events queue key to 'z' Dark-Alex-17 2023-08-08 10:50:07 -06:00
  • 0bad52b658 Added help messages for the system tasks popup for closing the window and triggering a task Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • b2e475200c Implemented full system browsing support with logs, events, and tasks. Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 460efb2497 Completed initial implementation of logs, events, and tasks Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 519778c0ca Partial implementation of Tasks and Logs and test refactor Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 9d943a266e Created the DrawUi trait and refactored the UI logic to delegate to different modules to draw parts of the UI to ensure future UI components follow a similar pattern and structure. Additionally, cleaned up the _BLOCKS constants in the Radarr module to be static instead of const's so that less data is copied around during compilation and the arrays all share the same memory reference. Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 4fb83c114a Cleaned up the block selection logic to use the new BlockSelectionState struct Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 2561e7e9b2 Fixed a typo in the trigger automatic movie search command (MoviesSearch instead of MovieSearch) Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • be698ebbd4 Tweaked a minor formatting issue in the status ui to make the Radarr Version and Uptime bold Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 4ac22f525b Converted project to use the tui-rs-revival ratatui in favor of the likely soon-to-be-archived tui-rs repo. Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • f252fedeed Converted project to use the tui-rs-revival ratatui in favor of the likely soon-to-be-archived tui-rs repo. Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 435926f6f0 Added two new checkboxes to the delete movie UI that allows users to specify to delete the file and/or add an exclusion for the selected film on deletion. Also fixed the refresh bug in the root folders UI where you have to manually refresh to get the changes to show before 20 seconds. Also cleaned up code a bit and removed some unnecessary clone calls and references-dereferences since the types were copyable and not necessary to be referenced since they were all dereferenced anyway and copied. Made sense to just cut out the middleman on the copies. Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • b7d00f4827 Added root folders free space to the stats for Radarr, and fixed a weird spacing bug with the downloads context (was using Min instead of Length) Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 07b5a90a36 Fixed typo in Makefile Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • c606fe8573 Added full support for managing root folders, and also for changing the root folder when adding a movie Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • a564710aee Added the ability to add and delete root folders, and added a body to the error message logs and dialog box if a body is returned from the Servarr Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 9142d5ab3e Added the Root Folders tab Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • d8a93efd5a Updated the Asciinema to be public Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • a65b6328ed Fixed a tags bug and added in an asciicast demo of Managarr's radarr functionality Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 88f0934ef1 Testing using a webm demo of Managarr instead of a gif Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • cacc452fa1 Fixed search and filter boxes to look better in 16:9 aspect ratios Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • a09eb83555 Fixed Add movie, edit movie, and edit collection UIs to look better in 16:9 aspect ratios Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • b9771ab108 Updated UI layout to have the Radarr logo on the right and shrunk the context row so the managarr UI looks better on 16:9 aspect ratio systems as well as 16:10 Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 7a45aee126 Updated README to be more consistent Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 0ab43adcd9 Fixed bug in deserializing inCinemas in the MinimumAvailability enum Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • bf5ecbd5a6 Implemented the ability to edit collections and fixed a refresh bug so screens will automatically refresh when users edit movies or collections Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 173e81fc17 Fixed downloads output path horizontal scrolling bug Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 841147f1c2 Fixed a bug that no longer reset horizontally scrollable text once the selection changed Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 9be4affec5 Fixed a bug that no longer reset horizontally scrollable text once the selection changed Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 9a59ee0af9 Fixed an accidental bug in empty responses Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • d132068152 Fixed an accidental bug in empty responses Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • bf03914e63 Fixed a GetReleases bug after refactoring the is_loading logic Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 514fd2244a Added horizontal scrolling for long movie titles, a refresh key, and fixed the network issues so that network requests are sent once every 20 seconds by default to not stress out the server. Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • 7f3dd18478 Full support for editing movies and managing tags Dark-Alex-17 2023-08-08 10:50:06 -06:00
  • c946d916ad Functional tags implementation for adding movies! Still need to fix weird loading bug when searching a movie that shows an error too soon before results are loaded, need to fix the horizontal scrolling issue, and I need to change the quality profile map to use the BiMap Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • a23fc84d5b Mostly completed tags implementation; still need to add the UI option for the Add Movie popup, and I still need to fix the REALLY FAST horizontal scrolling issue (I'm thinking just %2 everything to slow it down). Oh, and also need to convert the quality profile Hashmap into a BiMap Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 03928778f5 Mostly completed tags implementation; still need to add the UI option for the Add Movie popup, and I still need to fix the REALLY FAST horizontal scrolling issue (I'm thinking just %2 everything to slow it down). Oh, and also need to convert the quality profile Hashmap into a BiMap Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 207b8a8c80 Mostly completed tags implementation; still need to add the UI option for the Add Movie popup, and I still need to fix the REALLY FAST horizontal scrolling issue (I'm thinking just %2 everything to slow it down). Oh, and also need to convert the quality profile Hashmap into a BiMap Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • f92042fb21 Added some better theming to the UI, enabled clippy to warn on 2018 idioms, and added human_panic hook to report bugs Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 652dc0f2c4 Completed edit movies implementation, cleaned up the Movies table, and fixed a bug when adding a movie from the CollectionDetails screen. Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • d5117fda39 Added pre-commit and pre-push hooks with the help of cargo-husky. This also means that I need to temporarily allow specific bits of dead code until I implement support for at least one more Servarr Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 74502f5462 Fixed another bug with properly showing the right colors for downloading files. Accidentally named the download field id instead of movie_id Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 2870a45ee6 Fixed another bug with properly showing the right colors for downloading files. Accidentally named the download field id instead of movie_id Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 1b915a7f9a Fixed an accidental overflow bug when determining when to scroll text horizontally or not Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 6866f90329 Added support for adding movies directly from the collection details UI, refactored to support contexts for different routes, and fixed the horizontal scrolling bug with the get_width_with_margin function. Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 3007f76efe Incremented patch version after fixing previous bug Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 9375382a12 Fixed bug so users can now search on filtered movies and collections. Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 08eabb24db Added support for sorting when looking to manually add a release Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 3ae5020051 Fixed an incomplete comment in the Makefile Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 027cd0ff2d Improved logging format Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 13e9ae08ec Upgraded to the first stable version of Mockito! Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 28d9f3abe0 Added a checkmark to the add-movie UI that indicates if a movie is already in the user's library or not Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • dcc251ae01 Cleaned up active radarr block delegation to not have giant match arms and instead just check an array, and fixed a UI bug that shows an error message if a movie is already in a user's library. Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • fa381cea01 Fixed a UI bug that briefly showed "No movies found" error before actually loading content Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 316c129b99 Fixed UI bug that didn't alert users when they tried to add a movie that couldn't be found Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • dc9ea91739 Added Wekan logo and link to the Wekan board Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 1c670e0925 Added Wekan logo and link to the Wekan board Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 8968eb0015 Created a Wekan board to track bugs, features, changes, etc. This should make life easier moving forward. Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • d358935386 Optimized copy-able types Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 110da1c0ee Implemented unit tests for ui utils Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • e9b37e23ae Completed events unit tests Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 47da289738 Improved unit test coverage in radarr_network to ensure the handler calls the correct functions. Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 20143a0832 Added SonarQube analysis to the Makefile Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 88f10d13bb Upgraded crossterm and indoc Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • fe8150b923 Fixed output path being nullable bug for downloads Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 83446b32d3 Completed unit tests for all network modules and fixed a couple of bugs. On to the UI! Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 15d29e0362 Partially complete radarr_network tests. Still need to add everything past get_collections Dark-Alex-17 2023-08-08 10:50:05 -06:00
  • 79e21b6726 Implemented network tests Dark-Alex-17 2023-08-08 10:50:05 -06:00