1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge remote-tracking branch 'upstream/master' into fix-sonar-issues

This commit is contained in:
Bill Thornton 2022-10-04 10:00:37 -04:00
commit 7d2850f6a3
67 changed files with 527 additions and 627 deletions

View file

@ -324,11 +324,9 @@ if (browser.mobile || browser.tv) {
browser.slow = true;
}
if (typeof document !== 'undefined') {
/* eslint-disable-next-line compat/compat */
if (('ontouchstart' in window) || (navigator.maxTouchPoints > 0)) {
browser.touch = true;
}
/* eslint-disable-next-line compat/compat */
if (typeof document !== 'undefined' && ('ontouchstart' in window) || (navigator.maxTouchPoints > 0)) {
browser.touch = true;
}
browser.keyboard = hasKeyboard(browser);

View file

@ -822,12 +822,12 @@ import browser from './browser';
maxH264Level = 52;
}
if (browser.tizen ||
videoTestElement.canPlayType('video/mp4; codecs="avc1.6e0033"').replace(/no/, '')) {
if ((browser.tizen ||
videoTestElement.canPlayType('video/mp4; codecs="avc1.6e0033"').replace(/no/, ''))
// These tests are passing in safari, but playback is failing
if (!browser.safari && !browser.iOS && !browser.web0s && !browser.edge && !browser.mobile) {
h264Profiles += '|high 10';
}
&& !browser.safari && !browser.iOS && !browser.web0s && !browser.edge && !browser.mobile
) {
h264Profiles += '|high 10';
}
let maxHevcLevel = 120;

View file

@ -68,10 +68,8 @@ export function showLayoutMenu (button, currentLayout, views) {
cancelable: false
}));
if (!dispatchEvent) {
if (window.$) {
$(button).trigger('layoutchange', [id]);
}
if (!dispatchEvent && window.$) {
$(button).trigger('layoutchange', [id]);
}
}
});

View file

@ -9,7 +9,8 @@ import viewManager from '../components/viewManager/viewManager';
import { appRouter } from '../components/appRouter';
import { appHost } from '../components/apphost';
import { playbackManager } from '../components/playback/playbackmanager';
import groupSelectionMenu from '../components/syncPlay/ui/groupSelectionMenu';
import { pluginManager } from '../components/pluginManager';
import groupSelectionMenu from '../plugins/syncPlay/ui/groupSelectionMenu';
import browser from './browser';
import globalize from './globalize';
import imageHelper from './imagehelper';
@ -154,8 +155,14 @@ import '../assets/css/flexstyles.scss';
const policy = user.Policy ? user.Policy : user.localUser.Policy;
const apiClient = getCurrentApiClient();
if (headerSyncButton && policy?.SyncPlayAccess !== 'None' && apiClient.isMinServerVersion('10.6.0')) {
if (
// Button is present
headerSyncButton
// SyncPlay plugin is loaded
&& pluginManager.plugins.filter(plugin => plugin.id === 'syncplay').length > 0
// SyncPlay enabled for user
&& policy?.SyncPlayAccess !== 'None'
) {
headerSyncButton.classList.remove('hide');
}
} else {

View file

@ -88,12 +88,10 @@ import dom from '../scripts/dom';
function onPointerEnter(e) {
const pointerType = e.pointerType || (layoutManager.mobile ? 'touch' : 'mouse');
if (pointerType === 'mouse') {
if (!isMouseIdle) {
const parent = focusManager.focusableParent(e.target);
if (parent) {
focusManager.focus(parent);
}
if (pointerType === 'mouse' && !isMouseIdle) {
const parent = focusManager.focusableParent(e.target);
if (parent) {
focusManager.focus(parent);
}
}
}

View file

@ -1,5 +1,5 @@
import { playbackManager } from '../components/playback/playbackmanager';
import SyncPlay from '../components/syncPlay/core';
import SyncPlay from '../plugins/syncPlay/core';
import { Events } from 'jellyfin-apiclient';
import inputManager from '../scripts/inputManager';
import focusManager from '../components/focusManager';