diff --git a/Docs-TypeType b/Docs-TypeType index 7dc6077..4aaaa73 160000 --- a/Docs-TypeType +++ b/Docs-TypeType @@ -1 +1 @@ -Subproject commit 7dc607786d4ac85527de8fc852c803a7c583fbb6 +Subproject commit 4aaaa738418f39019d06cc194d013725f951bff1 diff --git a/README.md b/README.md index 8f08a01..c1e9101 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,21 @@ The installer creates `~/typetype-stack`, generates installation-specific secret - SponsorBlock, DeArrow, content blocking, imports, OIDC, and instance administration - No TypeType telemetry; the instance operator controls the deployment and its data +## Thanks to sponsors + +
+ +A big thx to [@Toastienergy](https://github.com/Toastienergy) and +[@filippobaroni](https://github.com/filippobaroni) for supporting TypeType through +GitHub Sponsors. Their support helps me cover the infrastructure and spend more +time improving the project. + +If u want to support TypeType financially, u can do so through +[GitHub Sponsors](https://github.com/sponsors/Priveetee). + ## For developers Each component has its own repository, tests, release cycle, and license. Pull requests belong in the repository that owns the changed code. Bug reports and feature requests stay in the central issue tracker. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index cd0e4e1..da4c681 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,88 +1,84 @@ -# TypeType 1.4.0 - -TypeType 1.4.0 adds richer search filters, consistent content blocking, -server-delivered YouTube subtitles, configurable account sessions, and several -playback, import and self-hosting fixes. - -## Search And Content Controls - -- Add grouped YouTube search filters for upload date, content type, duration - and sorting. [#187](https://github.com/TypeType-Video/TypeType/issues/187) -- Hide blocked channels and videos consistently across search, autoplay, watch - pages, embeds, playlists, history, subscriptions and recommendations. - [#193](https://github.com/TypeType-Video/TypeType/issues/193) -- Normalize channel and video identities so alternate YouTube URL formats - cannot bypass blocked-content rules. - -## Subtitles And Playback - -- Load YouTube subtitles through TypeType-Server instead of requiring the web - client to contact YouTube directly. -- Cache subtitle content and preserve manual, automatic and translated subtitle - tracks. -- Return typed rate-limit errors when YouTube rejects subtitle retrieval. -- Preload adaptive SABR initialization ranges to prevent startup failures when - an initialization segment is not returned immediately. - [#204](https://github.com/TypeType-Video/TypeType/issues/204) -- Restore saved playback positions only after the SABR session has completed - its initial bootstrap. -- Route chapter selection through SABR so selecting a chapter seeks correctly - again. [#202](https://github.com/TypeType-Video/TypeType/issues/202) -- Center captions correctly in the web player. - [#201](https://github.com/TypeType-Video/TypeType/issues/201) -- Update PipePipeExtractor and align TypeType with the current YouTube client - profiles. - -## Accounts And Administration - -- Add `AUTH_SESSION_TTL_DAYS` to configure account session lifetime from 1 to - 365 days, with a default of 30 days. - [#203](https://github.com/TypeType-Video/TypeType/issues/203) -- Preserve active browser sessions during temporary refresh failures instead - of immediately redirecting to login. -- Keep generated password reset tokens visible and copyable when browser - clipboard access is unavailable. - [#198](https://github.com/TypeType-Video/TypeType/issues/198) -- Keep admin user avatars stable when an account identity is edited. - [#199](https://github.com/TypeType-Video/TypeType/issues/199) - -## Imports And Performance - -- Skip deleted and unavailable videos when importing YouTube Takeout playlists. - [#135](https://github.com/TypeType-Video/TypeType/issues/135) -- Bound concurrent SABR download parts to reduce memory and connection pressure - during large downloads. -- Keep Server and Token YouTube traffic on the configured proxy instead of - silently switching to a different egress. +# TypeType 1.5.0 + +TypeType 1.5.0 adds private RSS feeds, new-upload notifications and better +control over live content. It also closes a security issue in the public media +proxy and improves SABR playback during resumes and long-distance seeks. + +## RSS And Notifications + +- Add private RSS feeds for all subscriptions or a selected set of channels. +- Filter feeds by service and content type, with direct shortcuts from channel + pages. +- Regenerate, disable or delete feed links without affecting subscriptions. +- Show compact in-app notifications when subscribed channels publish new + videos. [#211](https://github.com/TypeType-Video/TypeType/issues/211) +- Give instance administrators control over RSS availability, public base URL, + account limits, polling intervals and request rate limits. + +RSS access is private to each account. Feed tokens can be revoked at any time +and do not expose the account session itself. + +## Subscriptions + +- Add account settings to hide live streams, upcoming streams or both from the + subscription feed. [#213](https://github.com/TypeType-Video/TypeType/issues/213) +- Remove stale live entries after they stop being available from the provider. +- Normalize channel tab URLs before fetching and caching subscription pages. + +## Playback + +- Restore saved playback positions reliably in Safari after SABR preparation. +- Preserve the requested position while a SABR session is being prepared or + recovered. +- Seek directly to distant positions before decoder preroll instead of replaying + unnecessary media. +- Preserve play and pause intent through seeks and quality changes. +- Update the web player to `@typetype/mse` 0.1.44. + +## Security + +- Restrict the public media proxy to supported provider hosts and approved + media paths. +- Block private, loopback and local-network destinations, including redirect + and DNS resolution checks. +- Keep cross-provider redirects outside the proxy allowlist. +- Report YouTube remote-login readiness accurately instead of exposing an + unusable login flow. +- Update application and build dependencies across the released services. ## Self-Hosting -- Fix the installation script attempting to download the removed - `youtube-egress-relay.mjs` file. - [#197](https://github.com/TypeType-Video/TypeType/issues/197) -- Add account session lifetime configuration to the Compose stack and - environment template. -- Validate the new session configuration during stack checks. +No manual database migration is required. + +RSS is disabled by default. Instance administrators can enable it and configure +the public feed base URL from the documented environment settings. -No database migration is required. `AUTH_SESSION_TTL_DAYS` is optional and -defaults to `30`. +The account session lifetime and insecure-cookie development settings are now +documented in English, French and Spanish. -When a YouTube proxy is configured, it must remain reachable because Server and -Token will no longer silently bypass it. +## Known Limitations + +- YouTube may still throttle subtitle retrieval with HTTP 429 on some egress + addresses. [#210](https://github.com/TypeType-Video/TypeType/issues/210) +- Native SABR playback on ARM64 remains under investigation. + [#204](https://github.com/TypeType-Video/TypeType/issues/204) ## Thx -- A big thx to @LuckeeSoft for proposing the new search filters. -- Thx to @Toni-Vide for the detailed reports about blocked content, password - reset tokens and admin avatars. -- Thx to @Slashic for reporting the session, chapter selection and caption - alignment problems. -- Thx to @Role92 for the precise SABR initialization logs. -- Thx to @Willie169 for catching the broken self-hosted installation path. -- Thx to @lelam183 for repeatedly testing YouTube Takeout imports and helping - identify the remaining unavailable-video case. -- Thx as well to everyone testing subtitles and playback on beta, sharing logs, - and helping improve the self-hosting setup. +- A big thx to @LuckeeSoft for the RSS and notification ideas and for the + detailed feedback while the feature was taking shape. +- Thx to @CCGcastiel for proposing granular live-content controls for the + subscription feed. +- Thx to @Buage for privately and responsibly reporting the public proxy issue + before disclosure. [#212](https://github.com/TypeType-Video/TypeType/issues/212) +- Thx to @VitoItalianGamer for the detailed browser playback reports and the + time spent reproducing intermittent buffering behavior. +- A big thx to [@Toastienergy](https://github.com/Toastienergy) and + [@filippobaroni](https://github.com/filippobaroni) for supporting TypeType + through GitHub Sponsors. Their support helps me cover the infrastructure and + spend more time improving the project. +- Thx as well to everyone testing beta, sharing logs and helping other + self-hosters. ## Updating diff --git a/TypeType-Downloader b/TypeType-Downloader index 3a4346b..3fb485e 160000 --- a/TypeType-Downloader +++ b/TypeType-Downloader @@ -1 +1 @@ -Subproject commit 3a4346b394ed773c222b29b3b101dfff7842d33d +Subproject commit 3fb485eb9cc84905c8a3e66740e7ce15597c7afc diff --git a/TypeType-Frontend b/TypeType-Frontend index ab250df..1cd5839 160000 --- a/TypeType-Frontend +++ b/TypeType-Frontend @@ -1 +1 @@ -Subproject commit ab250dff91b809ac5b8472ccfb7dea907c081530 +Subproject commit 1cd58390ef9d6bb83a4a30a74848ded25de09846 diff --git a/TypeType-Player b/TypeType-Player index f4844c6..1266d1a 160000 --- a/TypeType-Player +++ b/TypeType-Player @@ -1 +1 @@ -Subproject commit f4844c6e65d021c0ad1ab61169f4f51cfcd77694 +Subproject commit 1266d1a776964f819a2eca7db00142a5f9ba1419 diff --git a/TypeType-Server b/TypeType-Server index 4bff946..e1b9e04 160000 --- a/TypeType-Server +++ b/TypeType-Server @@ -1 +1 @@ -Subproject commit 4bff946afef068cfc870c26aa51c178b1287bd94 +Subproject commit e1b9e04de73c68e501e1899ba66b284a600adb71 diff --git a/TypeType-Token b/TypeType-Token index 8cb517a..b49fc94 160000 --- a/TypeType-Token +++ b/TypeType-Token @@ -1 +1 @@ -Subproject commit 8cb517ac915570facf1e638a1ac0e8602908f11c +Subproject commit b49fc9425a0ca1f2ebe02dca6040a8c5820575fa