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

Roadmap #6

Open
iBicha opened this issue Nov 12, 2022 · 0 comments
Open

Roadmap #6

iBicha opened this issue Nov 12, 2022 · 0 comments

Comments

@iBicha
Copy link
Owner

iBicha commented Nov 12, 2022

This issue acts as a living roadmap for planning purposes. It might not be extensive, and it does not replace the CHANGELOG

Planned for v0.33.0

  • TBD

Released in v0.32.0

  • Quality selector

Released in v0.31.0

  • Trickplay thumbnails when using Playlet backend

Released in v0.30.0

  • Export registry

Released in v0.29.0

  • Support for auto-generated captions in Playlet backend

Released in v0.28.0

  • Support autoplay (play next) in Playlet backend

Released in v0.27.0

  • Playlet backend for playing videos

Released in v0.26.0

  • Web app hot fix

Released in v0.25.0

  • Added sort options to channel live streams

Released in v0.24.0

  • UI changes to support different languages

Released in v0.23.0

  • Use squashfs to load playlet lib faster

Released in v0.22.0

  • Localization - will add support to for localization and start with French as the second language
    • Roku
    • Web App

Released in v0.21.0

Released in v0.20.0

Released in v0.19.0

Released in v0.18.0

  • Invidious watch history

Released in v0.17.1

  • Add an Invidious instance test to test if thumbnails have valid paths and are reachable

Released in v0.17.0

  • Web app remote control

Released in v0.16.0

Released in v0.15.1

  • A setting to disable search history
  • Fixes

Released in v0.15.0

Released in v0.14.0

Released in v0.13.1

Released in v0.13.0

  • Channel page UI feed (videos, playlists, related channels, continuation)
  • Display channels in web app
  • better state caching
    • Use etag headers to cache files

Released in v0.12.0

  • Channel page UI
  • Search filters

Released in v0.11.0

  • A major rewrite/refactor of the app. Please see the CHANGELOG as well
  • Support for both created playlists and saved playlists [Bug] /api/v1/auth/playlists returns no videos for saved playlists iv-org/invidious#3995
    • Created playlists are "Invidious" playlists, and the ID starts with "IV"
    • Need to use /api/v1/auth/playlists/ID which requires additional token scope
  • Continuous feed load on paginated APIs
  • TV Playlist
    • Play next on playlists
    • Add to queue (Web App)
  • Setup unit tests
  • Playlist page UI
  • Logs Web API
  • Invidious instance health check (check for stats api)
  • Implement a mechanism to avoid issues with misconfigured instances (missing domain or external_port) missing domain is no longer a problem, as we prepend the api paths with the instance url

Released in v0.10.3

Released in v0.10.2

  • [UX] add a search button next to the search bar in web app
  • Improve SponsorBlock segments (Fix SponsorBlock zero videoDuration bug #23 follow up)
    • Handle segments when videoDuration is zero (compare with lengthSeconds from metadata)
    • Compare videoDuration with lengthSeconds, reject segment if difference is bigger than a second
    • Should ignore videoDuration
  • Figure out a way to share feedback without needing a Github account (email)

Released in v0.10.1

Released in v0.10.0

  • A new settings screen Preferences / Web App #79
    • can configure many options, like autoplay, preferred video quality, invidious, sponsorblock, etc
  • New Web App! Web app #80
    • Shows all features from the TV app: Search, home feed, settings, and info
    • Can cast to TV or redirect to invidious
    • Light/Dark mode
  • Add an option in main app to clear the playlet-lib url from registry, in case of softlock to an unwanted playlet-lib version Clear playlet lib arg #84
  • Handle case when video is casted while a dialog is showing Close dialog when casting a video #85

Released in v0.9.0

Released in v0.8.0

Released in v0.7.0

Released in v0.6.0

Released in v0.5.0

Released in v0.4.0

  • Live videos
  • DASH support (/api/manifest/dash/id/${videoId} [?local=true])
  • Invidious Logout (invalidate token)
  • Customize Invidious instance
    • setting in web app
  • Invidious instances API
  • Search page UI

Released in v0.3.0

  • Branding: new name! Playlet
  • Branding: logo Playlet
  • Fix project setup (linter/formatter)
  • Fix tooling setup (SceneGraph inspector)
  • Integrate roku-promise package
  • Invidious API definition file
    • Home layout default definition file
    • Trending
    • Popular
    • User feed
    • User playlists
  • Webserver router middleware
  • Long-running webserver
  • Registry API
  • More granular Invidious token scope
  • App Controller (not really done, to be refactored)
    • Video Player
    • Side menu
    • Home page
    • Settings
  • Login page on the web app

Roadmap (in no particular order)

  • [UX] Clarify that Playlet backend is only for video stream
  • Implement NextParams to fetch multiple videos (video id array) with one request
  • "Continue watching" list of videos Remembering Playback Position and Watch History  #138
    • Watched progress indicator
  • Add an option to block NSFW videos (parental control)
  • [UX] Clarify that Auto (DASH) quality can go up to 1080p
  • Add a selector for the content country for region specific trending videos and search results
  • Make sure all selectable items are compatible with the screen reader for better accessibility
  • Add the list of subscribed channels to the home screen
  • Refactor different notifications (added to queue, device connected, sponsorblock) and make them size responsive
  • Context menu in web app (bookmarks)
  • Bookmarks web apis
  • Add the ability to set playlet lib from a custom url in web app
    • Support for loading Playlet Lib from a PR
  • Add a setting to clear cache (cachefs)
  • Add a setting to clear registry (all user data)
  • [UX] Clarify the difference between Playlet lib/app versions in the UI
  • Video player controls
    • Playback speed
    • Quality selector (video selector + audio selector)
    • Caption
    • Next video
    • Loop button
  • Now playing from web app
    • controls, seek bar
  • Use expire field (in video urls) to check if video expired
    • Do an http-request with "cache-only" flag
    • If expired, make a request with "no-cache" flag
  • Try to support 4k videos using HLS manifest
  • SponsorBlock: "Multiple Segments Skipped" notification
  • Add support for chapters (not supported by Invidious yet)
  • Implement Basic Auth Add basic auth #17
  • Closed caption configuration/settings
  • Comments
  • Dislike count (Return YouTube Dislike integration)
  • SponsorBlock user id
  • SponsorBlock UI notification : Undo button
  • SponsorBlock UI notification: show for a maximum of 3 seconds when Video UI is not visible, to avoid showing the notification for too long on long segments. Notification should be visible when Video UI is visible
  • SponsorBlock manual skip
  • SponsorBlock default configurations
  • [Spike] Add Piped API support Support for Piped? #75
  • [Spike] Add ViewTube API support
  • [Spike] DeArrow integration
  • Annotation support
  • Video description support
    • Detect urls in description, Make them "focusable" and selectable.
    • Once selected, a QR Code can be generated
  • Show video related videos
  • Video add to Playlist
    • Add to Watch later
    • Remove from playlist
  • Adjust picture in picture position on Search Page
  • Implement roSystemLog
  • [Spike] implement HDR video
  • Implement remote key binding system for configurable buttons
  • Import/Export of Playlet user preferences - export implemented

Graveyard

These have been abandoned, or no longer apply.

  • [UX] clarify that the web app contains more settings than just casting Feature request - be able to provide own invidious URL (for self-hosted) #24
    • By adding a settings page and moving qr code to it's own screen, this seems to be established.
  • /invidious/replay API replay
    • /invidious/replay/api/v1/stats would proxy to $INSTANCE/api/v1/stats
    • This is already done for authenticated calls, and will be added to needed endpoints only
  • Music mode (no video)
    • Unless there's demand for this, there's no reason for it. It makes sense on mobile to save battery, but not on a TV.
  • [Spike] online service backup
    • Back up current roRegistry to pastebin-like service
    • Encrypt using device Id
    • Simply a bad idea: settings can be imported/exported to a file. We can add web app UI for this functionality.
  • [SPIKE] Web Share Target API
    • Web app must be installable, which means it needs to be served over HTTPS
      • Option 1: serve over HTTPS from Roku somehow
      • Option 2: serve from a hosted app (Maybe Github Pages would do) that won't work, it will hit Mixed Content Security Policy
      • Option 3: native mobile app? -> this remains the only logical option, still on the roadmap
      • Option 4: Dockerized local web app (self-hosted)
        • Have an advantage of being bundled with Invidious, and also can auto-find the TV
  • [Spike] Configurable installed version (latest vs specific version)
    • This is done as a developer menu
  • [Spike] Fix non-Latin characters (Unicode on Roku sucks) [Spike] Rich label rendering idea #40
  • [SPIKE] run yt-dlp on Roku using https://github.com/MotleyCoderDev/wasm2brs
    • Not much is possible with wasm2brs - a Playlet extractor might make more sense.
  • [BUG] Fix launchArg video focus issue (Create Component Library #43 regression) (no longer an issue after the v0.11.0 rewrite)
  • Add option to preview/watch a video on web app (using Invidious embed ${instance}/embed/${videoId})
  • Load known DASH urls before loading video details for faster load times #35
  • Chrome extension to cast to Playlet
  • Logs Web App UI (a button to download logs) - done
  • Native mobile app for casting from Official Youtube app Poc/nativescript #118
  • Log the lastExitOrTerminationReason value
  • Items deferred in Preferences / Web App #79
    • Setting controls should not have "instant save" to avoid accidental changes (on the web)
    • Buttons!
      • Invidious -> User -> logout (and display username?)
      • Reset settings? -> low priority, not for now
    • Error handling of web requests
  • Embedded preview video (auto-play)
  • Customize SponsorBlock instance - will reconsider if people are self hosting sponsorblock instances
    • setting in web app
  • [Spike] Use NewLeaf backend - not a priority
  • Theme support
    • Roku
    • Web App
@iBicha iBicha pinned this issue Nov 12, 2022
This was referenced Nov 18, 2022
@iBicha iBicha mentioned this issue Dec 2, 2022
@iBicha iBicha mentioned this issue Jan 10, 2023
@iBicha iBicha unpinned this issue Jan 11, 2023
@iBicha iBicha pinned this issue Jan 11, 2023
This was referenced Jun 25, 2023
@iBicha iBicha mentioned this issue Jul 10, 2023
@iBicha iBicha mentioned this issue Jul 24, 2023
This was referenced Sep 10, 2023
This was referenced Oct 2, 2023
@iBicha iBicha mentioned this issue Oct 26, 2023
This was referenced Nov 5, 2023
This was referenced Nov 14, 2023
@iBicha iBicha mentioned this issue Dec 28, 2023
@iBicha iBicha mentioned this issue Jan 10, 2024
@iBicha iBicha mentioned this issue Feb 22, 2024
@iBicha iBicha mentioned this issue Mar 8, 2024
@iBicha iBicha mentioned this issue Mar 25, 2024
@iBicha iBicha mentioned this issue Apr 4, 2024
@iBicha iBicha mentioned this issue May 4, 2024
This was referenced May 19, 2024
@iBicha iBicha mentioned this issue May 28, 2024
This was referenced Jun 8, 2024
This was referenced Jun 16, 2024
@iBicha iBicha mentioned this issue Jun 24, 2024
This was referenced Jul 3, 2024
@iBicha iBicha mentioned this issue Jul 22, 2024
This was referenced Aug 3, 2024
@iBicha iBicha mentioned this issue Aug 14, 2024
@iBicha iBicha mentioned this issue Aug 24, 2024
This was referenced Sep 6, 2024
@iBicha iBicha mentioned this issue Sep 23, 2024
This was referenced Oct 4, 2024
This was referenced Oct 13, 2024
This was referenced Oct 31, 2024
This was referenced Nov 22, 2024
@iBicha iBicha mentioned this issue Dec 3, 2024
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

No branches or pull requests

1 participant