Skip to content

Commit

Permalink
Preferences / Web App (#79)
Browse files Browse the repository at this point in the history
* Add basic router

* Add a preferences file

* small changes

* Basic settings navigation menu

* Lint fix

* Add bunch of controls

* Lint fix

* StringControl

* Lint fix

* Add description to keyboard

* Settings saving and loading

* Lint fix

* Settings migration stuff

* GET web api

* Lint fix

* PUT and DELETE (I really fucking hate BrightScript)

* plug in sponsorblock settings

* autoplay, quality, and video proxying

* Remove unused stuff

* Lint fix

* Invidious instance stuff

* cache public instances on start

* Start loading home screen after fetching instances

* Move web app out of settings to its own screen

* picture in picture when in settings

* Web app (#80)

* Update instance stuff

* Update dependencies

* Add basic layout

* Info and settings page, missing styling

* Navbar fixes

* Settings page formatting

* Theme stuff

* Feedback link

* Fix username badge

* Fix svelte warnings

* A wip search page

* Add a couple of api functions

* Wip home screen

* user country code

* Expose token and proxy auth calls

* Use auth requests server side

* Some cleanup

* Add svelte vs code extension

* remove old web app

* More layout stuff

* Tweak for string control

* Filter out old search suggestions

* Search history stuff

* img size for lazy loading

* Basic modal to play video

* Lint fix

* Dependencies bump

* Add video duration and LIVE indicator to cell

* Delete legacy stuff

* Add dev menu

* Lint fix

* Video cell layout

* Cell stuff

* prefs visibility

* Modal layout

* Drag and drop functionality

* Clear search history

* Move web calls to main app

* changelog

* changelog

* Mostly comments

* Lint fix

---------

Co-authored-by: github-action linter <githubaction@githubaction.com>
  • Loading branch information
iBicha and github-action linter authored Jun 24, 2023
1 parent 9a631aa commit 8f8c7d3
Show file tree
Hide file tree
Showing 91 changed files with 3,979 additions and 1,787 deletions.
3 changes: 2 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"recommendations": [
"RokuCommunity.brightscript"
"RokuCommunity.brightscript",
"svelte.svelte-vscode",
]
}
54 changes: 53 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,81 @@
# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

### Added

- New web app, mirroring Playlet app
- Includes home page, search, settings and info
- Dark mode
- Also includes a dev menu
- Hidden by default, use `dev=1` in the browser to show it
- Improved drag and drop functionality (drag and drop a link from Youtube into the web app)
- New settings page, available on TV and web app
- New preferences system
- Unified settings between TV and web app
- Web API allowing to import/export preferences (no UI for that yet)

### Changed

- SponsorBlock segments are not skipped by default, except for sponsor segments
- Web app QR Code is now in its own page

### Removed

- The ability to set multiple Invidious instances. This was anticipated to use as fallback in case of failure, but it was never implemented. This is now removed to avoid confusion
- Sometimes it is necesary to check multiple instances for closed captions in case one instance is saturated. For this case, publicly hosted Invidious instances will be used.
- Of course, if no instance if provided, and public instance will be used by default. This behaviour did not change. It is now implicit.

## [0.9.0] - 2023-04-21

### Added

- Add watched videos to Invidious watch history
- App info screen
- A dev menu selector to test newer or older versions of playlet lib
- Makes it possible to test unstable releases before they officially release

### Fixed

- A crash where the metadata of a video is not validated [#57](https://github.com/iBicha/playlet/issues/57)
- A crash where the video details in home screen are null [#56](https://github.com/iBicha/playlet/issues/56)
- A crash where the video details are not returned in json [#63](https://github.com/iBicha/playlet/issues/63)
- Revert to using DASH instead of 720p by default
- A crash where request cache fails [#62](https://github.com/iBicha/playlet/issues/62)

## [0.8.0] - 2023-03-02

### Added

- SponsorBlock notification
- Invidious username to web app v1

### Fixed

- Crash in case GetLocalIpAddress() returns invalid
- Use Format Stream (720p) instead of DASH (https://github.com/iv-org/invidious/issues/3666)
- Use Format Stream (720p) instead of DASH (<https://github.com/iv-org/invidious/issues/3666>)

## [0.7.0] - 2023-02-04

### Added

- A script to sync between Youtube profile and and Invidious profile
- Moved most of Playlet logic to Playlet Lib
- Support for multiple caption languages

#### Fixed

- Issue where auto-play keeps playing the same videos in a loop

## [0.6.0] - 2023-01-10

### Added

- Ability to clear search history from web app
- WebSocket server for realtime events
- SponsorBlock tracking
Expand All @@ -50,22 +84,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Caching for video details

### Changed

- The License has changed from MIT to AGPL
- Now videos play the next related/recommended video once finished
- This does not take into account the videos in playlists

### Fixed

- Bug where app freezes if metadata fails to fetch
- Bug where SponsorBlock returning videoDuration of zero causes the app to hang
- Bug where app would lose focus when casting from web app
- Bug where DASH stream is not compatible. Play format stream as a fallback
- Showing upcoming videos correctly

### Removed

- Dependency on [roku-promise](https://github.com/rokucommunity/roku-promise)

## [0.5.0] - 2022-12-02

### Added

- Version check in settings page
- Support for web request body parsing
- Error dialog for video load fail
Expand All @@ -77,6 +116,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Error and Exit dialogs

### Fixed

- Bug where playing and exiting a video too quickly would cause the video to play in the background.
- Bug where logging in causes issues if a video is already playing
- Bug where casting from web app while playing a video from the search
Expand All @@ -85,7 +125,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Race condition where button group gains focus before suggestions are set in Search Page

## [0.4.0] - 2022-11-24

### Added

- Play video API
- Play video by ID/URL in web app
- Metadata to Video Player
Expand All @@ -95,21 +137,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Very basic UI to customize/change invidious instance

### Fixed

- Bug where Settings page and home page are both visible, if settings page is selected, and user logs in.

## [0.3.0] - 2022-11-19

### Changed

- App name! new name: **Playlet**

### Added

- Nav bar / menu
- Web server now always on
- Settings page with QR Code
- API Refactor
- New UI

## [0.2.0] - 2022-11-06

### Added

- QrCode component to take user to invidious token page
- Web server allowing the recption of the token through call back
- The web server can also be used to serve a web app, facilitating the
Expand All @@ -121,7 +169,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added basic instructions

## [0.1.0] - 2022-10-30

### Added

- Initial version
- Reads feeds from popular and trending videos using Invidious APIs
- Skips sections using SponsorBlock

<!-- markdownlint-configure-file {"MD024": { "siblings_only": true } } -->
Loading

0 comments on commit 8f8c7d3

Please sign in to comment.