fix lockfiles

This commit is contained in:
edideaur 2026-04-10 16:20:04 +03:00
parent 0cbfa4d3f4
commit edbec62a55
13 changed files with 33 additions and 33 deletions

View file

@ -49,7 +49,7 @@ public class AudioPlaybackService extends Service {
acquireWakeLock();
// If the system kills this service, don't restart it automatically
// If the system kills this service, don't restart it automatically -
// MainActivity will re-start it when audio resumes.
return START_NOT_STICKY;
}

View file

@ -18,7 +18,7 @@
"@svta/common-media-library": "^0.18.1",
"@types/wicg-file-system-access": "^2023.10.7",
"@typescript-eslint/eslint-plugin": "^8.57.2",
"@uimaxbai/am-lyrics": "^1.1.7",
"@uimaxbai/am-lyrics": "^1.1.8",
"@vitest/web-worker": "^4.1.2",
"appwrite": "^23.0.0",
"butterchurn": "^2.6.7",
@ -675,7 +675,7 @@
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ=="],
"@uimaxbai/am-lyrics": ["@uimaxbai/am-lyrics@1.1.7", "", { "dependencies": { "@babel/runtime": "^7.27.6", "lit": "^3.1.4" }, "peerDependencies": { "@lit/react": "^1.0.0", "react": ">=17.0.0" }, "optionalPeers": ["@lit/react", "react"] }, "sha512-hEwPl4dFmJ08sJf4VBaR7k7yxA3BNaoINS89j0KrkSFJYpCkohHDy24AIfzEMonPloJ3H6HBA55nCFMnAzm50w=="],
"@uimaxbai/am-lyrics": ["@uimaxbai/am-lyrics@1.1.8", "", { "dependencies": { "@babel/runtime": "^7.27.6", "lit": "^3.1.4" }, "peerDependencies": { "@lit/react": "^1.0.0", "react": ">=17.0.0" }, "optionalPeers": ["@lit/react", "react"] }, "sha512-VcbrlB2cOmkOjElmivf2SZujDmj8UAUaBkXyIfJ8dYq/Iv4H3PxmQY/s9VaRfF6UTnCgfix8ZPll1T1MA8eS4A=="],
"@vitest/browser": ["@vitest/browser@4.1.2", "", { "dependencies": { "@blazediff/core": "1.9.1", "@vitest/mocker": "4.1.2", "@vitest/utils": "4.1.2", "magic-string": "^0.30.21", "pngjs": "^7.0.0", "sirv": "^3.0.2", "tinyrainbow": "^3.1.0", "ws": "^8.19.0" }, "peerDependencies": { "vitest": "4.1.2" } }, "sha512-CwdIf90LNf1Zitgqy63ciMAzmyb4oIGs8WZ40VGYrWkssQKeEKr32EzO8MKUrDPPcPVHFI9oQ5ni2Hp24NaNRQ=="],

View file

@ -48,10 +48,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
switch type {
case .began:
// Interruption began system pauses audio automatically
// Interruption began - system pauses audio automatically
break
case .ended:
// Interruption ended reactivate session so playback can resume
// Interruption ended - reactivate session so playback can resume
if let optionsValue = userInfo[AVAudioSessionInterruptionOptionKey] as? UInt {
let options = AVAudioSession.InterruptionOptions(rawValue: optionsValue)
if options.contains(.shouldResume) {
@ -75,7 +75,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
}
if reason == .oldDeviceUnavailable {
// Headphones/Bluetooth disconnected reactivate session to keep background alive
// Headphones/Bluetooth disconnected - reactivate session to keep background alive
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch {

View file

@ -108,7 +108,7 @@ export interface TidalArtistProfile {
picture: string | null;
/** Fallback album cover UUID used when no artist picture exists, or `null`. */
selectedAlbumCoverFallback: string | null;
/** Popularity score (0100). */
/** Popularity score (0-100). */
popularity: number;
/** List of credited roles for this artist. */
artistRoles: TidalArtistRole[];
@ -150,7 +150,7 @@ export interface TidalTrackAlbumRef {
* Full track object as returned by the `/info` route and embedded in albums, playlists, and mixes.
*
* @remarks
* Fields `bpm`, `key`, and `keyScale` are nullable they are absent for some tracks.
* Fields `bpm`, `key`, and `keyScale` are nullable - they are absent for some tracks.
* `version` is present in the payload but may be `null`.
*/
export interface TidalTrack {
@ -162,7 +162,7 @@ export interface TidalTrack {
duration: number;
/** Track replay-gain value in dB. */
replayGain: number;
/** Track peak amplitude (01). */
/** Track peak amplitude (0-1). */
peak: number;
/** Whether the track is available for streaming. */
allowStreaming: boolean;
@ -186,7 +186,7 @@ export interface TidalTrack {
volumeNumber: number;
/** Version suffix (e.g. `"Remastered"`), or `null`. */
version: string | null;
/** Popularity score (0100). */
/** Popularity score (0-100). */
popularity: number;
/** Copyright notice. */
copyright: string;
@ -299,7 +299,7 @@ export interface TidalAlbum {
explicit: boolean;
/** UPC barcode. */
upc: string;
/** Popularity score (0100). */
/** Popularity score (0-100). */
popularity: number;
/** Highest available audio quality. */
audioQuality: string;
@ -339,7 +339,7 @@ export interface TidalVideoItem {
volumeNumber: number;
/** Track number on the disc. */
trackNumber: number;
/** Popularity score (0100). */
/** Popularity score (0-100). */
popularity: number;
/** Double-precision popularity score (present in topvideos). */
doublePopularity?: number;
@ -452,7 +452,7 @@ export interface TidalSimilarAlbum {
releaseDate: string;
/** Copyright information. */
copyright: { text: string };
/** Popularity score (01 float). */
/** Popularity score (0-1 float). */
popularity: number;
/** Access type, e.g. `"PUBLIC"`. */
accessType: string;
@ -533,7 +533,7 @@ export interface SimilarArtist {
url: string;
/** Relation type, e.g. `"SIMILAR_ARTIST"`. */
relationType: string;
/** Popularity score (01 float). */
/** Popularity score (0-1 float). */
popularity: number;
/** External link entries (e.g. TIDAL sharing URL). */
externalLinks: Array<{ href: string; meta: { type: string } }>;
@ -911,7 +911,7 @@ export interface TopVideosResponse extends VersionedResponse {
export interface TidalAudioNormData {
/** Replay gain value in dB. */
replayGain: number;
/** Peak amplitude (01). */
/** Peak amplitude (0-1). */
peakAmplitude: number;
}
@ -961,7 +961,7 @@ export interface TrackManifestAttributes {
export interface TrackManifestResource {
/** Resource identifier (track ID as a string). */
id: string;
/** JSON:API resource type always `"trackManifests"`. */
/** JSON:API resource type - always `"trackManifests"`. */
type: string;
/** Manifest attributes. */
attributes: TrackManifestAttributes;

View file

@ -513,7 +513,7 @@ document.addEventListener('DOMContentLoaded', async () => {
* visited the local tab yet).
*/
async function scanLocalMediaFolder(onlyIfAlreadyScanned = false) {
// Skip the scan if the user has never visited the local tab they'll
// Skip the scan if the user has never visited the local tab - they'll
// get a fresh scan when they navigate there for the first time.
if (onlyIfAlreadyScanned && !window.localFilesCache) return;

View file

@ -1252,7 +1252,7 @@ class AudioContextManager {
msChanged || this.filters.length !== count || (needsMS && this.midFilters.length !== count);
if (needsRebuild) {
// M/S state changed or band count changed full rebuild
// M/S state changed or band count changed - full rebuild
this._destroyMSFilters();
this._destroyEQ();
this._createEQ();
@ -1261,7 +1261,7 @@ class AudioContextManager {
}
this._connectGraph();
} else if (needsMS) {
// M/S active update both parallel chains in-place
// M/S active - update both parallel chains in-place
const now = this.audioContext.currentTime;
// Update main filters (not connected in M/S mode, kept in sync for stereo fallback)
@ -1275,11 +1275,11 @@ class AudioContextManager {
const sideGains = newGains.map((g, i) => (newChannels[i] === 'mid' ? 0 : g));
this._updateFilterChain(this.sideFilters, newFrequencies, newTypes, newQs, sideGains, now);
} else if (this.filters.length === count) {
// Normal stereo update in-place
// Normal stereo - update in-place
const now = this.audioContext.currentTime;
this._updateFilterChain(this.filters, newFrequencies, newTypes, newQs, newGains, now);
} else {
// Band count changed must rebuild
// Band count changed - must rebuild
this._destroyMSFilters();
this._destroyEQ();
this._createEQ();
@ -1423,7 +1423,7 @@ class AudioContextManager {
this.currentQs = qs;
this.currentGains = gains;
// Reset M/S channel assignments imported config has no channel info
// Reset M/S channel assignments - imported config has no channel info
this.currentChannels = new Array(this.bandCount).fill('stereo');
this.msEnabled = false;

View file

@ -410,7 +410,7 @@ export class BinauralDSP {
for (let i = 0; i < numChannels; i++) {
const chInfo = CHANNEL_ANGLES_51[i];
if (chInfo.isLFE) {
// Placeholder LFE uses gain node instead
// Placeholder - LFE uses gain node instead
this._mcConvolversL.push(null);
this._mcConvolversR.push(null);
continue;

View file

@ -499,7 +499,7 @@ async function bulkDownload({
* to the configured folder (Local Media Folder or saved Folder Picker handle),
* or `null` if the feature is not active / no folder is configured.
*
* In contrast to {@link createBulkWriter}, this never prompts the user it
* In contrast to {@link createBulkWriter}, this never prompts the user - it
* only succeeds when the folder is already known.
*/
async function createSingleTrackFolderWriter() {
@ -533,7 +533,7 @@ async function createSingleTrackFolderWriter() {
// fall through to picker
}
}
// No usable saved handle open the picker so the user can choose a folder.
// No usable saved handle - open the picker so the user can choose a folder.
try {
const writer = await FolderPickerWriter.create();
if (rememberFolder) {
@ -542,7 +542,7 @@ async function createSingleTrackFolderWriter() {
return writer;
} catch (error) {
if (error instanceof DOMException && error.name === 'AbortError') {
// User cancelled the picker return null so we fall back to the
// User cancelled the picker - return null so we fall back to the
// normal browser download instead of erroring out.
return null;
}
@ -578,7 +578,7 @@ async function createBulkWriter(folderName) {
// fall through to picker
}
}
// No usable handle prompt and persist
// No usable handle - prompt and persist
try {
const writer = await FolderPickerWriter.create();
await db.saveSetting('local_folder_handle', writer.getDirHandle());
@ -590,7 +590,7 @@ async function createBulkWriter(folderName) {
return null;
}
}
// Browser without File System Access API fall through to ZIP
// Browser without File System Access API - fall through to ZIP
}
// ── Folder Picker method ─────────────────────────────────────────────────

View file

@ -64,7 +64,7 @@ export function generateHRTF(audioContext, azimuthDeg, elevationDeg = 0) {
const ipsiData = sourceOnRight ? rightData : leftData;
const contraData = sourceOnRight ? leftData : rightData;
// Generate ipsilateral (near ear) IR mostly a delayed impulse with slight coloring
// Generate ipsilateral (near ear) IR - mostly a delayed impulse with slight coloring
// Ipsilateral ear (near source) receives sound first; contralateral ear is delayed by ITD
const ipsiDelay = 0;
const contraDelay = Math.abs(itdSamples);

View file

@ -2150,7 +2150,7 @@ export class Player {
await this._bgAudioPlugin.stop();
}
} catch {
// Not running in Capacitor or plugin unavailable ignore
// Not running in Capacitor or plugin unavailable - ignore
} finally {
this._bgAudioPending = false;
}

View file

@ -1354,7 +1354,7 @@ export async function initializeSettings(scrobbler, player, api, ui) {
for (let i = 0; i < count; i++) {
const t = i / (count - 1);
let freq = Math.round(min * Math.pow(max / min, t));
// Ensure strictly increasing rounding can produce duplicates at high band counts
// Ensure strictly increasing - rounding can produce duplicates at high band counts
if (freqs.length > 0 && freq <= freqs[freqs.length - 1]) {
freq = freqs[freqs.length - 1] + 1;
}

View file

@ -1881,7 +1881,7 @@ export const binauralDspSettings = {
try {
localStorage.setItem(this.STORAGE_KEY, JSON.stringify(obj));
} catch {
// QuotaExceededError storage full
// QuotaExceededError - storage full
}
},

View file

@ -37,7 +37,7 @@ export class Visualizer {
// Pause animation loop when the app is backgrounded so the analyser's
// FFT reads don't compete with the EQ biquad filter chain for audio
// thread time the main cause of audio skipping with AutoEQ in background.
// thread time - the main cause of audio skipping with AutoEQ in background.
document.addEventListener('visibilitychange', () => {
if (document.visibilityState === 'hidden' && this.isActive) {
this._backgroundPaused = true;