Commit Graph

2530 Commits

Author SHA1 Message Date
Massimo Pissarello
be93d1a522 Translated using Weblate (Italian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/it/
2026-08-26 02:51:24 +00:00
Kavin
15f7e8a23b Cleanup fix slightly. 2026-08-13 23:13:50 +05:30
Kavin
0451facc2e Fix some layout issues. 2026-08-13 23:11:04 +05:30
Kavin
a0a0727703 Fix chapters on player. 2026-08-13 23:11:03 +05:30
Kavin
57c367117b Add useConfig composable. 2026-08-13 23:11:02 +05:30
formosa
597d8520e7 Translated using Weblate (Russian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/ru/
2026-07-06 21:01:20 +02:00
Kavin
5321c71841 Merge pull request #4245 from t6fb3m59/upstream-pr
Fix position saving for videos and have history update when opened
2026-06-01 06:35:33 +05:30
LogicalKarma
174ca1a072 fix(player): resume from saved position and protect it across keep-alive
Clicking a video from history (or any cached watch page) restarted it from 0
instead of resuming, and history bars showed stale positions. Four shared-path
bugs, all engine-agnostic:

- The resume position was computed but never applied: Shaka's load(uri, startTime)
  doesn't perform the initial seek for lazily-fetched segment indexes, so playback
  began at 0. Apply the resume explicitly with a runtime seek once load() resolves.

- initialSeekComplete (gates progress saving until the resume seek lands) was never
  reset per-load. On a reactivated player it stayed true from the previous play, so
  a timeupdate at currentTime=0 during rebuild churn overwrote the saved position
  before the resume read ran. Reset it at the start of loadVideo.

- Leaving a watch page (destroy) empties the media element -> currentTime snaps to
  0 and a stray timeupdate fires while initialSeekComplete is still true, clobbering
  the saved position. Gate the save on destroying as well.

- HistoryPage: re-read watch_history in onActivated so progress bars reflect the
  current saved position instead of a stale first-mount snapshot. Kept off onMounted
  to avoid double-loading (both fire on first keep-alive mount).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 01:03:21 +03:00
LogicalKarma
3b7b40b39e docs(firefoxMediaCapabilitiesFix): link Firefox tracker bug 2043895
Add the upstream Mozilla tracker bug for the slow decodingInfo path.

Refs:
  https://bugzilla.mozilla.org/show_bug.cgi?id=2043895
  https://github.com/TeamPiped/Piped/issues/4238
2026-05-31 21:25:00 +03:00
LogicalKarma
e006840fba docs(firefoxMediaCapabilitiesFix): document hack tradeoffs and measured perf
- Replace shaka-player#4775 link (closed) with TeamPiped/Piped#4238 as the
  ongoing tracker.
- Add measured rough per-call cost: Chromium ~0.1 ms vs Firefox ~20 ms.
- Call out explicitly that this is a hack: forcing smooth/powerEfficient to
  true throws away signals Shaka would otherwise see. If anything in the
  player chain reads those fields (preferredDecodingAttributes is set, a
  downstream consumer ranks variants on power efficiency, or a Shaka
  upgrade changes filtering), Shaka will pick streams the device cannot
  decode in real time — frame drops, software-decode CPU spikes, battery
  drain. Today (Shaka 5.1, Piped default config) the fields are not read
  and the shim is harmless; revisit on every Shaka upgrade.

Refs: https://github.com/TeamPiped/Piped/issues/4238
2026-05-31 21:25:00 +03:00
LogicalKarma
c4f86d2a7e fix(player): suppress Firefox blue :focus outline on <video> element
VideoPlayer calls videoEl.focus() on every seek-bar mouseup (existing
upstream code, so hotkeys-js continues receiving keys). Firefox/Gecko
draws the system :focus outline whenever a <video> element is focused;
Chromium uses :focus-visible heuristics on media elements and doesn't
render it for click-driven focus, which is why this is Gecko-only.

Add a targeted CSS rule outside the Tailwind @layer so it wins the
cascade against any layered author or vendor rule, and !important to
override the UA focus ring.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 21:25:00 +03:00
LogicalKarma
6b666b4b6f fix(VideoPlayer): work around slow Firefox MediaCapabilities.decodingInfo
Firefox's navigator.mediaCapabilities.decodingInfo costs ~14 ms per call
(out-of-process RDD decoder probe). Shaka Player calls it once per Variant
in the DASH manifest while filtering supported variants, and YouTube
manifests routinely have 1000+ variants, so player initialization stalls
15-20 s on Gecko-based browsers before the first SourceBuffer is added.

Wrap decodingInfo to delegate "supported" checks to
MediaSource.isTypeSupported (sub-ms on Firefox) with a per-MIME cache.
DRM probes and non-media-source queries fall through to native.
Wrapper is gated to Gecko UAs so Chromium and Safari are unaffected.

Refs: https://github.com/shaka-project/shaka-player/issues/4775

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-31 21:25:00 +03:00
ssantos
5f8ea8560d Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pt_PT/
2026-05-31 18:22:34 +00:00
ssantos
352082cff6 Translated using Weblate (Portuguese)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pt/
2026-05-31 18:22:34 +00:00
ssantos
c391a3b05b Translated using Weblate (Portuguese (Portugal))
Currently translated at 99.5% (233 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pt_PT/
2026-05-31 18:22:33 +00:00
Milo Ivir
17d386dc8b Translated using Weblate (Croatian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/hr/
2026-05-31 18:22:33 +00:00
Ghost of Sparta
63b75ebae8 Translated using Weblate (Hungarian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/hu/
2026-05-04 16:09:49 +00:00
Lendrush
a6d50fe12d Translated using Weblate (Armenian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/hy/
2026-04-28 01:09:51 +00:00
Ecron
428845f7f4 Translated using Weblate (Catalan)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/ca/
2026-04-23 13:09:49 +00:00
Quentin PAGÈS
caa0a14ffc Translated using Weblate (Occitan)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/oc/
2026-04-14 10:09:52 +00:00
Sergio Marques
9743963405 Translated using Weblate (Portuguese)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pt/
2026-04-14 01:10:42 +02:00
on9686
b2fe8108dd Translated using Weblate (Korean)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/ko/
2026-04-07 06:09:49 +00:00
George Stamate
c4297c49df Translated using Weblate (Romanian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/ro/
2026-04-04 02:09:49 +00:00
joaooliva
ca3216c93e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pt_BR/
2026-04-02 00:09:49 +02:00
Milan
43e8fed62a Translated using Weblate (Slovak)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/sk/
2026-04-01 11:09:49 +02:00
jonnysemon
129205a624 Translated using Weblate (Arabic)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/ar/
2026-03-31 02:09:48 +00:00
bittin1ddc447d824349b2
ba6d687eb8 Translated using Weblate (Swedish)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/sv/
2026-03-30 14:09:50 +00:00
ColorfulRhino
a4db147604 Translated using Weblate (German)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/de/
2026-03-30 14:09:48 +00:00
Danial Behzadi
3333268cc6 Translated using Weblate (Persian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/fa/
2026-03-28 14:11:49 +00:00
polarwood
c3aaa3ebe4 Translated using Weblate (Turkish)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/tr/
2026-03-28 10:09:51 +01:00
Oğuz Ersen
d1e76f7229 Translated using Weblate (Turkish)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/tr/
2026-03-28 10:09:50 +01:00
大王叫我来巡山
4044a2d1ee Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/zh_Hans/
2026-03-28 10:09:49 +01:00
Quentin PAGÈS
68e7e45551 Translated using Weblate (Occitan)
Currently translated at 90.5% (212 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/oc/
2026-03-28 10:09:48 +01:00
Kavin
2754d01ed7 Simplify homepage navigation. 2026-03-28 11:43:47 +05:30
Kavin
2386d728e6 Fix for theme switching.
Closes #4175
Closes #4177
2026-03-28 11:41:16 +05:30
Fjuro
28aa215d92 Translated using Weblate (Czech)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/cs/
2026-03-28 02:09:48 +01:00
Priit Jõerüüt
526f980feb Translated using Weblate (Estonian)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/et/
2026-03-28 02:09:47 +01:00
Matthaiks
0e0f126b5f Translated using Weblate (Polish)
Currently translated at 100.0% (234 of 234 strings)

Translation: Piped/Frontend
Translate-URL: https://hosted.weblate.org/projects/piped/frontend/pl/
2026-03-27 21:09:48 +01:00
Kavin
605deeb6d5 Fix for feed not loading properly.
Closes #4173
2026-03-28 01:38:22 +05:30
Kavin
a43db165e1 Implement more responsive view on watch page
Closes #4172
2026-03-28 01:35:02 +05:30
Kavin
768c015b32 add type=button
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-27 20:40:00 +05:30
Kavin
1e9c5dff5d implement fixes for review 2026-03-27 20:06:35 +05:30
Kavin
75201a8083 Implement more reka ui and attempt to fix review issues. 2026-03-27 13:36:04 +05:30
Kavin
d1ef96e7d4 Migrate to tailwind + reka ui 2026-03-27 11:47:27 +05:30
Kavin
82c7062de7 Upgrade eslint and vite. 2026-03-27 02:42:49 +05:30
Kavin
dead2b023a Update prettier. 2026-03-27 02:22:51 +05:30
Kavin
8be585d084 Shaka 5 upgrade. 2026-03-27 02:20:20 +05:30
Kavin
3e79a04fe3 Fix for falsy types 2026-03-27 00:55:36 +05:30
Kavin
fa5bbbd267 Migrate code to composition api. 2026-03-27 00:41:48 +05:30
Kavin
2d164da616 Merge pull request #4143 from pierreeurope/fix/theater-mode-button-visibility
fix: make theater mode toggle button visible on light theme
2026-03-26 13:06:37 +05:30