Merge pull request #1320 from Materialious/update/1.13.5

Update/1.13.5
This commit is contained in:
Ward
2026-01-19 14:23:11 +00:00
committed by GitHub
8 changed files with 54 additions and 38 deletions
+2 -2
View File
@@ -7,8 +7,8 @@ android {
applicationId "us.materialio.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 188
versionName "1.13.4"
versionCode 189
versionName "1.13.5"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
@@ -85,7 +85,11 @@
<release version="1.13.4" date="2026-1-20">
<release version="1.13.5" date="2026-1-20">
<url>https://github.com/Materialious/Materialious/releases/tag/1.13.5</url>
</release>
<release version="1.13.4" date="2026-1-20">
<url>https://github.com/Materialious/Materialious/releases/tag/1.13.4</url>
</release>
<release version="1.13.3" date="2026-1-18">
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "Materialious",
"version": "1.13.4",
"version": "1.13.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "Materialious",
"version": "1.13.4",
"version": "1.13.5",
"license": "MIT",
"dependencies": {
"@capacitor-community/electron": "^5.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "Materialious",
"version": "1.13.4",
"version": "1.13.5",
"description": "Modern material design for Invidious.",
"author": {
"name": "Ward Pearce",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "materialious",
"version": "1.13.4",
"version": "1.13.5",
"private": true,
"scripts": {
"dev": "npm run patch:github && vite dev",
+41 -29
View File
@@ -91,7 +91,6 @@
let playerCurrentPlaybackState = $state(false);
let playerCurrentTime = $state(0);
let playerMaxKnownTime = $state(data.video.lengthSeconds);
let playerPauseTimeUpdates = $state(false);
let playerIsBuffering = $state(true);
let playerVolume = $state(0);
let playerSettings: 'quality' | 'speed' | 'language' | 'root' = $state('root');
@@ -109,7 +108,7 @@
// eslint-disable-next-line no-undef
let playerSliderDebounce: NodeJS.Timeout;
let playerVolumeElement: HTMLElement | undefined = $state();
let playerHideBufferBar: boolean = $state(false);
let playerUserManualSeeking: boolean = $state(false);
let playerIsFullscreen: boolean = $state(false);
const playerTimelineSlider = new Slider({
@@ -117,7 +116,7 @@
step: 0.1,
value: () => playerCurrentTime,
onValueChange: (timeToSet) => {
playerHideBufferBar = true;
playerUserManualSeeking = true;
playerCurrentTime = timeToSet;
if (playerSliderDebounce) clearTimeout(playerSliderDebounce);
@@ -125,7 +124,7 @@
playerSliderDebounce = setTimeout(() => {
if (playerElement) {
playerElement.currentTime = timeToSet;
playerHideBufferBar = false;
playerUserManualSeeking = false;
}
}, 300);
},
@@ -444,6 +443,7 @@
restoreDefaultLanguage();
setActiveVideoTrack();
setActiveAudioTrack();
updateVideoPlayerHeight();
if ($playerCCByDefault) {
toggleSubtitles();
@@ -889,7 +889,7 @@
playerElement?.addEventListener('timeupdate', () => {
if (!playerElement) return;
if (!playerPauseTimeUpdates) {
if (!playerUserManualSeeking) {
playerCurrentTime = playerElement.currentTime ?? 0;
}
@@ -1221,31 +1221,39 @@
>
<div class="track">
<div class="range"></div>
<div {...playerTimelineSlider.thumb}></div>
<div {...playerTimelineSlider.thumb}>
<div class="tooltip thumb-tooltip">
{videoLength(playerCurrentTime)}
</div>
</div>
</div>
</div>
<div bind:this={playerBufferBar} class="buffered-bar" class:hide={playerHideBufferBar}></div>
{#each data.content.timestamps as chapter, index (chapter)}
<div
class="chapter-marker"
style:left="{(chapter.time / playerMaxKnownTime) * 100}%"
style:width={getMarkerWidth(
chapter.time,
data.content.timestamps[index + 1]?.time || playerMaxKnownTime // Next chapter time or end of video
)}
bind:this={playerBufferBar}
class="buffered-bar"
class:hide={playerUserManualSeeking}
></div>
{/each}
{#if !$sponsorBlockTimelineStore}
{#each segments as segment (segment)}
{#each data.content.timestamps as chapter, index (chapter)}
<div
class="chapter-marker segment-marker"
style:left="{(segment.startTime / playerMaxKnownTime) * 100}%"
style:width={getMarkerWidth(segment.startTime, segment.endTime)}
class="chapter-marker"
style:left="{(chapter.time / playerMaxKnownTime) * 100}%"
style:width={getMarkerWidth(
chapter.time,
data.content.timestamps[index + 1]?.time || playerMaxKnownTime // Next chapter time or end of video
)}
></div>
{/each}
{/if}
{#if !$sponsorBlockTimelineStore}
{#each segments as segment (segment)}
<div
class="chapter-marker segment-marker"
style:left="{(segment.startTime / playerMaxKnownTime) * 100}%"
style:width={getMarkerWidth(segment.startTime, segment.endTime)}
></div>
{/each}
{/if}
</div>
{#if playerTimelineTooltipVisible}
{#if playerTimelineTooltipVisible && !playerUserManualSeeking}
<div class="tooltip" style="position: absolute; left: {playerTimelineMouseX}px;">
{#if playerCloestTimestamp}
{playerCloestTimestamp.title}
@@ -1578,13 +1586,17 @@
background: var(--inverse-primary);
left: var(--percentage);
top: 50%;
width: 25px;
height: 25px;
width: 5px;
height: 35px;
z-index: 3;
cursor: grab;
transform: translate(-50%, -50%);
}
.thumb-tooltip {
left: var(--percentage);
}
.seek-double-click {
background-color: var(--secondary-container);
height: var(--video-player-height);
@@ -1612,10 +1624,10 @@
position: absolute;
height: 1rem;
background: var(--secondary);
top: 20%;
top: 50%;
left: 0;
transform: translateY(-50%);
z-index: 2;
z-index: 1;
pointer-events: none;
border-top-right-radius: 2rem;
border-bottom-right-radius: 2rem;
@@ -1623,14 +1635,14 @@
.chapter-marker {
position: absolute;
top: 20%;
top: 50%;
transform: translateY(-50%);
left: 0;
height: 1rem;
background-color: var(--secondary);
opacity: 0.5;
border-radius: 2rem;
z-index: 1;
z-index: 2;
pointer-events: none;
}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -3,7 +3,7 @@ import os
import re
from datetime import datetime
LATEST_VERSION = "1.13.4"
LATEST_VERSION = "1.13.5"
RELEASE_DATE = datetime.now().strftime("%Y-%-m-%d") # Format: YYYY-M-D
WORKING_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "materialious")