* fix(database): Use native extension instead of describeEnum
* new(sonarr): [Catalogue] Previous airing sorting options
* splash: Rebuild Android & iOS splash screens
* changelog: Refactor changelog sheet
* Continued WIP Polish of UI
* chore: Reintegrate pods
* calendar: Added second line for Lidarr/Radarr entries
* settings: Show quick actions information as banner block
* lidarr: Add support for monitoring options on add, posters in result list
* uiux: Fade edges of scrollable text
* drawer: Restyle header
* Remove redundant body texts in edit/add content
* macos: Set window size & alignment
* settings: Add description banner block for profiles
FIXES
- [Flutter] Update packages
- [Flutter] Upgrade to Firebase SDK v8.3.0
- [UI/UX] (ListView) Make padding around the end of infinite list loaders and icons more consistent
- [UI/UX] (Popup Menu) Positioning could get unaligned or broken if opened in specific views
- [UI/UX] (Router) OSlide transitions between pages could not occur on some devices
- [UI/UX] (Snackbar) Snackbars would not be shown in some cases
- [UI/UX] (Theme) Remove deprecated theme values
NEW
- [External Modules] Ability to add and view external modules
- [Flutter] Build LunaSea with precompiled SkSL shaders
FIXES
- [Flutter] Update packages
- [UI/UX] (ListView) Vertical padding did not match horizontal padding
* chore(packages): Added pedantic package to enforce linting and styling
* feat(lunasea): Enforce effective dart styling
* Comment and format colours class
* Localize additional classes in Dashboard, cleanup additional code
* chore(lunasea): Major refactor by running dartfmt on the entire codebase, added widget return for page routers
* Additional work on conforming to effective dart style
* fix(share_plus): Roll back share_plus package to 2.0.0 to support iOS 12 or lower
* chore(lunasea): Fix remaining enabled analysis warnings
* feat(Notifications): Add calls to check notification authorization state
* fix(Notifications): If notifications are disabled, warn a user on the notifications page
NEW
- [Dashboard] "Home" has been renamed to "Dashboard"
- [Radarr/Catalogue] If no movie is found in the search query, given an option to search to add the movie
- [Radarr/Discover] Add the ability to discover movies from your import lists & Radarr recommendations
- [Radarr/Releases] Ability to set sorting direction, category, and filtering method
- [Settings/Radarr] Ability to toggle on or off Radarr suggestions in the discover page
TWEAKS
- [Drawer] Removed the option to use categories/folders in the drawer
- [Settings/Config] Sort configuration options within modules for cleaner isolation and easier expansion for future configuration options
- [Settings/Profiles] Renaming a profile now checks for an existing profile with the same name within the prompt
- [Settings/Profiles] Adding a profile now checks for an existing profile with the same name within the prompt
- [Settings/Profiles] The delete profile prompt now hides the currently enabled profile, and shows a snackbar if only one profile exists
- [Settings/Wake on LAN] Allow clearing the broadcast and MAC addresses to empty values
FIXES
- [Radarr] Support for Radarr v3.1.0+ (nightly builds)
- [Radarr/Add] Instantly show a movie as addable again if removed right after adding it
- [Radarr/Cast] If a job or character name is empty, show a dash instead of an empty space
- [Radarr/Catalogue] Instantly remove the movie tile when removing a movie
- [Radarr/Edit] Padding around the "Update Movie" button was incorrect
- [Toasts] In some cases, the error was not being passed through to the error viewer
- [UI/UX] Upstream framework support for basic mouse/trackpad highlight and scrolling support
- [UI/UX] Tapping the AppBar to scroll back in a nested route would scroll back the parent route as well
- [UI/UX] Use the recommended safe area padding at the bottom of lists for fullscreen devices
NEW
- [Radarr] Completely rewritten from the ground-up
- [Radarr] View system status, disk usage, and manage tags
- [Radarr] Catalogue, upcoming, missing, tags, and quality profiles are now held in-state between module switches
- [Radarr/Add] Long-pressing a search result tile will open the movie's TMDB entry
- [Radarr/History] Now an infinite scrolling list
- [Radarr/Movie] Cast information, movie-specific history, more detailed file information, more detailed overview page
- [Radarr/Filtering] Improved sorting and filtering speed, performance, and consistency
- [Radarr/Filtering] Ability to set sorting and filtering defaults in settings
- [Radarr/Filtering] Many additional filtering options
- [Haptics] Added haptic feedback to all buttons, toggles, and dropdowns
- [Quick Actions] Default "Settings" quick action added to end of the list (if there is room)
- [UI/UX] (Radarr Only For Now) Ability to tap the AppBar to scroll to top
- [UI/UX] (Radarr Only For Now) If the list is in a tabbed PageView, tapping the active tab will scroll the list to the top
- [UI/UX] (Radarr Only For Now) If the keyboard is open, scrolling the list, swiping between pages, or opening the drawer will dismiss the keyboard
- [Webhooks] Notification webhooks will now show as an in-app heads up if LunaSea is open at the time of receiving the notification
TWEAKS
- [Radarr] Now only supports v3.0.0 and higher of Radarr
- [Radarr] Many visual changes, too many to list
- [Radarr] The tab "History" has been replaced with "More"
- [Radarr/Edit] Monitor toggle has been moved to the edit prompt
- [Sonarr/Filtering] Updated button to use standard filtering icon
- [Tautulli/Activity] Show session type and bandwidth type breakdown on activity page
- [Tautulli/Activity] Cleanup player information to more closely resemble web GUI
- [Tautulli/Activity] Show subtitle stream decision
- [UI/UX] Reduced the weight of bold text across the application
- [UI/UX] Added padding to bottom of lists for devices that require a safe area
- [UI/UX] Active tab in navigation bar now has a border with the AMOLED theme
FIXES
- [Changelog] Properly align/pad "Full Changelog" button at the end of the changelog
- [Flutter] Update packages
- [Flutter] Now using the beta channel
- [Quick Actions] Improve internal implementation of quick actions to be more stable and reliable
- [Settings/Modules] Newly set headers would sometimes not be passed to the connection test
- [Sonarr/Edit] Series path prompt would show an incorrect title
- [Sonarr/Description] Show "No summary is available" when there is no summary instead of an empty string
- [Sonarr/Releases] Default sorting direction was using catalogue default value
- [Tautulli/Graphs] Description of some graphs were not correct (Thanks @ZuluWhiskey!)
- [Tautulli/IPs] Fix location showing as null for local addresses
- [UI/UX] Border radius for the splash highlight wouldn't clip correctly on slim buttons
- [UI/UX] Margin/size of sort/filter buttons were off by a few pixels
- [UI/UX] InkWell splash now clips correctly to the rounded borders of popup menu buttons
* Updated all packages
* [iOS] Added associated domain for webcredentials (autofill)
* [IAPs] Remove all references or code for a pro upgrade
* [Android] Added asset_statements for autofill association
* [Accounts] Ability to send password reset email
* [Sonarr/Upcoming] Change "Not Downloaded" to "Missing"
* [Sonarr/Add] Fixed error log showing series ID as null
* [Messages] Separate messages (including changelog) to its own Hive box to prevent repeated message prompts
* [Changelog] Write build number from PackageInfo to database instead of JSON
* [Actions] Cleanup quick actions, removed Siri suggestions package and initialization
* Update contributers file
* Updated changelog
* Add Siri Suggestions Template (#297)
* Updated version, removed stub siri suggestions
* [Flutter] Updated packages
* [Firebase] Allow a user to copy their device or user ID from the help prompt in the account section
* [Sonarr/Releases] Add loading state to download button
* [Sonarr/Upcoming] "Upcoming" to "Unaired", show "Unaired" on home calendar
* [Android] Correctly set Android notification icon
* Updated CHANGELOG.md
Co-authored-by: Kristian Matthews <kristian.matthews@me.com>
TWEAKS
- [Sonarr/Upcoming] If an episode has not aired, show it as "Upcoming" instead of "Not Downloaded"
FIXES
- [Accounts] Register device token to database for future notification support
- [Accounts] Improve validation for email and passwords
- [Radarr] Fix some durations being displayed twice
- [UI/TextField] Show errors as snackbar instead of in-line error
NEW
- [Accounts] Added LunaSea accounts
- [Accounts] Ability to backup, restore, and delete cloud configurations
- [Backups] All backups now contain all customization and configuration options in LunaSea
- [Changelog] Show changelog on launch if a new version is installed
- [Changelog] Use a new bottom sheet UI for the changelog
- [Settings/Modules] Add an information/help button with module descriptions and links
TWEAKS
- [Radarr] Always show the amount of days content will be available instead of limiting it to only content in the next 30 days
- [Settings] Moved "Backup & Restore" and "Logs" to "System" section
- [Settings] Merged "Customization" and "Modules" sections into "Configuration"
- [Settings/Sonarr] Removed the need to enable Sonarr to test the connection
- [Settings/Tautulli] Removed the need to enable Tautulli to test the connection
FIXES
- [In App Purchases] Ensure all in app purchases are marked as "consumed"
- [Flutter] Updated packages
- [Logging] Updated Sentry to v4 framework to improve capturing fatal/crashing bugs
- [Settings/Logs] Hide exception and stack trace buttons when an error is not available
- [Settings/Resources] Updated URL endpoints
- [Sonarr/History] Fixed history fetching the oldest entries, not the newest
- [State] Correctly clear state when clearing LunaSea's configuration
- [Tautulli/Activity] Fixed consistency of hardware transcoding indicator compared to the web UI
- [UI/Divider] Fix consistency of divider width across regular and AMOLED dark theme