diff --git a/src/lib/modules/auth/kitsu.ts b/src/lib/modules/auth/kitsu.ts
index 291eb7f..77c9018 100644
--- a/src/lib/modules/auth/kitsu.ts
+++ b/src/lib/modules/auth/kitsu.ts
@@ -449,14 +449,15 @@ export default new class KitsuSync {
const kitsuEntry = this.userlist.value[targetMediaId]
- const kitsuEntryVariables = {
+ const kitsuEntryVariables: Partial
= {
status: AL_TO_KITSU_STATUS[variables.status!],
- progress: variables.progress ?? undefined,
- rating: (variables.score ?? 0) < 2 ? undefined : variables.score!.toString(),
- reconsumeCount: variables.repeat ?? undefined,
reconsuming: variables.status === 'REPEATING'
}
+ if (variables.progress) kitsuEntryVariables.progress = variables.progress
+ if (variables.score) kitsuEntryVariables.rating = (variables.score < 2 ? undefined : variables.score.toString())
+ if (variables.repeat) kitsuEntryVariables.reconsumeCount = variables.repeat
+
if (kitsuEntry) {
await this._updateEntry(kitsuEntry.id, kitsuEntryVariables, targetMediaId)
} else {
diff --git a/src/lib/modules/auth/mal.ts b/src/lib/modules/auth/mal.ts
index f81787e..071d2af 100644
--- a/src/lib/modules/auth/mal.ts
+++ b/src/lib/modules/auth/mal.ts
@@ -436,12 +436,13 @@ export default new class MALSync {
const body: MALListUpdate = {
status: AL_TO_MAL_STATUS[variables.status!],
- num_watched_episodes: variables.progress ?? 0,
- score: variables.score ?? 0,
- num_times_rewatched: variables.repeat ?? 0,
is_rewatching: variables.status === 'REPEATING'
}
+ if (variables.progress) body.num_watched_episodes = variables.progress
+ if (variables.score) body.score = variables.score
+ if (variables.repeat) body.num_times_rewatched = variables.repeat
+
const res = await this._patch(`${ENDPOINTS.API_ANIME}/${malId}/my_list_status`, body)
if ('error' in res) return
diff --git a/src/lib/modules/extensions/extensions.ts b/src/lib/modules/extensions/extensions.ts
index c6308d5..b3c2a62 100644
--- a/src/lib/modules/extensions/extensions.ts
+++ b/src/lib/modules/extensions/extensions.ts
@@ -14,8 +14,7 @@ import type { TorrentResult } from 'hayase-extensions'
import { dev } from '$app/environment'
import { options as extensionOptions, saved } from '$lib/modules/extensions'
-// TODO: ember exclusions might not be needed anymore as parser was improved
-const exclusions = ['DTS', 'TrueHD', '[EMBER]']
+const exclusions = ['DTS', 'TrueHD']
const video = document.createElement('video')
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 322ac71..b9d9614 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -4,6 +4,7 @@
import '@fontsource/geist-mono'
import '$lib/modules/navigate'
import { ProgressBar } from '@prgm/sveltekit-progress-bar'
+ import { setContext } from 'svelte'
import { toast } from 'svelte-sonner'
import Backplate from '$lib/components/Backplate.svelte'
@@ -24,6 +25,14 @@
toast.error('Torrent Process Error!', { description: error?.stack ?? error?.message })
console.error(error)
})
+
+ const displayThresholdMs = 150
+ let complete: ((settleTime: number | undefined) => void) | undefined
+ setContext('stop-progress-bar', () => {
+ setTimeout(() => {
+ complete?.(0)
+ }, displayThresholdMs)
+ })
@@ -31,7 +40,7 @@
-
+
diff --git a/src/routes/app/settings/+page.svelte b/src/routes/app/settings/+page.svelte
index bcde325..7bcc58e 100644
--- a/src/routes/app/settings/+page.svelte
+++ b/src/routes/app/settings/+page.svelte
@@ -73,7 +73,7 @@
-