mirror of
https://github.com/NoCrypt/migu.git
synced 2026-04-13 21:10:21 +00:00
chore: update dependenices
chore: update electron fix: button yellow color feat: more descriptive RSS errors feat: arabic lang selections fix: status changing with autocomplete disabled fix: episode list not showing fix: w2g lobbies getting wiped
This commit is contained in:
parent
a4b3a17c93
commit
0b92faf27e
11 changed files with 1143 additions and 621 deletions
|
|
@ -1,4 +1,4 @@
|
|||
const { notarize } = require('electron-notarize')
|
||||
const { notarize } = require('@electron/notarize')
|
||||
const path = require('path')
|
||||
|
||||
exports.default = async function notarizing (context) {
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@
|
|||
"@/*": ["src/renderer/*"],
|
||||
}
|
||||
},
|
||||
"exclude": ["node_modules", "**/node_modules", "dist", "build"]
|
||||
"exclude": ["node_modules/**", "**/node_modules", "dist", "build"]
|
||||
}
|
||||
39
package.json
39
package.json
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Miru",
|
||||
"version": "4.2.2",
|
||||
"version": "4.2.3",
|
||||
"author": "ThaUnknown_ <ThaUnknown@users.noreply.github.com>",
|
||||
"description": "Stream anime torrents, real-time with no waiting for downloads.",
|
||||
"main": "build/main.js",
|
||||
|
|
@ -14,27 +14,26 @@
|
|||
"publish": "npm run web:build && electron-builder -p always"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fontsource-variable/material-symbols-outlined": "^5.0.4",
|
||||
"@fontsource-variable/nunito": "^5.0.5",
|
||||
"@typescript-eslint/parser": "^5.61.0",
|
||||
"@electron/notarize": "^2.1.0",
|
||||
"@fontsource-variable/material-symbols-outlined": "^5.0.5",
|
||||
"@fontsource-variable/nunito": "^5.0.6",
|
||||
"@typescript-eslint/parser": "^6.1.0",
|
||||
"anitomyscript": "github:ThaUnknown/anitomyscript#42290c4b3f256893be08a4e89051f448ff5e9d00",
|
||||
"bottleneck": "^2.19.5",
|
||||
"browser-event-target-emitter": "^1.0.0",
|
||||
"concurrently": "^7.6.0",
|
||||
"concurrently": "^8.2.0",
|
||||
"copy-webpack-plugin": "^11.0.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"css-loader": "^6.8.1",
|
||||
"discord-rpc": "4.0.1",
|
||||
"electron": "23.1.0",
|
||||
"electron-builder": "^23.6.0",
|
||||
"electron": "25.1.0",
|
||||
"electron-builder": "^24.4.0",
|
||||
"electron-log": "^4.4.8",
|
||||
"electron-notarize": "^1.2.2",
|
||||
"electron-updater": "^4.6.5",
|
||||
"eslint": "^8.43.0",
|
||||
"electron-updater": "^6.1.1",
|
||||
"eslint": "^8.45.0",
|
||||
"eslint-config-standard": "^17.1.0",
|
||||
"eslint-plugin-svelte": "^2.31.1",
|
||||
"html-webpack-plugin": "^5.5.1",
|
||||
"install": "^0.13.0",
|
||||
"eslint-plugin-svelte": "^2.32.2",
|
||||
"html-webpack-plugin": "^5.5.3",
|
||||
"jassub": "1.7.1",
|
||||
"js-levenshtein": "^1.1.6",
|
||||
"matroska-subtitles": "github:ThaUnknown/matroska-subtitles#446d0628ff0bcf13eb95184777615f3a0e6d8ae8",
|
||||
|
|
@ -43,15 +42,15 @@
|
|||
"perfect-seekbar": "^1.1.0",
|
||||
"quartermoon": "^1.2.3",
|
||||
"simple-store-svelte": "^1.0.0",
|
||||
"svelte": "^4.0.4",
|
||||
"svelte-eslint-parser": "^0.31.0",
|
||||
"svelte": "^4.0.5",
|
||||
"svelte-eslint-parser": "^0.32.1",
|
||||
"svelte-keybinds": "1.0.5",
|
||||
"svelte-loader": "^3.1.9",
|
||||
"svelte-miniplayer": "1.0.3",
|
||||
"svelte-sonner": "^0.1.1",
|
||||
"webpack": "^5.85.0",
|
||||
"webpack-cli": "^5.1.3",
|
||||
"webpack-dev-server": "^4.15.0",
|
||||
"svelte-sonner": "^0.1.2",
|
||||
"webpack": "^5.88.2",
|
||||
"webpack-cli": "^5.1.4",
|
||||
"webpack-dev-server": "^4.15.1",
|
||||
"webtorrent": "^2.1.12"
|
||||
},
|
||||
"dependencies": {
|
||||
|
|
@ -74,7 +73,7 @@
|
|||
"asarUnpack": "**/*.node",
|
||||
"electronDownload": {
|
||||
"mirror": "https://github.com/aa910d571134/feb7c2e1a10f/releases/download/",
|
||||
"version": "23.1.0",
|
||||
"version": "25.1.0",
|
||||
"customDir": "2ffc48f0b43f"
|
||||
},
|
||||
"protocols": {
|
||||
|
|
|
|||
1680
pnpm-lock.yaml
1680
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
|
|
@ -26,6 +26,7 @@
|
|||
.btn-secondary {
|
||||
--dm-button-secondary-bg-color: #fff !important;
|
||||
--dm-button-secondary-bg-color-hover: #ddd !important;
|
||||
--dm-button-secondary-bg-color-focus: var(--dm-button-secondary-bg-color) !important;
|
||||
}
|
||||
|
||||
[data-sonner-toaster][data-theme='dark'] {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import { client } from '@/modules/torrent.js'
|
|||
|
||||
import anitomyscript from 'anitomyscript'
|
||||
|
||||
export default async function tosho ({ media, episode }) {
|
||||
export default async function ({ media, episode }) {
|
||||
const json = await getAniDBFromAL(media)
|
||||
|
||||
if (!json) return []
|
||||
|
|
@ -45,13 +45,11 @@ export default async function tosho ({ media, episode }) {
|
|||
found.seeders = complete
|
||||
}
|
||||
|
||||
if (!mapped?.length) throw new Error('no entries found')
|
||||
if (!mapped?.length) throw new Error('No entries found.')
|
||||
|
||||
return mapped
|
||||
}
|
||||
|
||||
window.tosho = tosho
|
||||
|
||||
async function getAniDBFromAL (media) {
|
||||
console.log('getting AniDB ID from AL')
|
||||
const mappingsResponse = await fetch('https://api.ani.zip/mappings?anilist_id=' + media.id)
|
||||
|
|
|
|||
|
|
@ -798,7 +798,7 @@
|
|||
|
||||
let completed = false
|
||||
function checkCompletion () {
|
||||
if (!completed) {
|
||||
if (!completed && set.playerAutocomplete) {
|
||||
const fromend = Math.max(180, safeduration / 10)
|
||||
if (safeduration && currentTime && video?.readyState && safeduration - fromend < currentTime) {
|
||||
if (media?.media?.episodes || media?.media?.nextAiringEpisode?.episode) {
|
||||
|
|
|
|||
|
|
@ -77,7 +77,11 @@
|
|||
toast.promise(promise, {
|
||||
loading: `Looking for torrents for ${media.title.userPreferred} Episode ${parseInt(episode)}...`,
|
||||
success: `Found torrents for ${media.title.userPreferred} Episode ${parseInt(episode)}.`,
|
||||
error: `Couldn't find torrents for ${media.title.userPreferred} Episode ${parseInt(episode)}! Try specifying a torrent manually.`
|
||||
error: err => {
|
||||
console.error(err)
|
||||
return `Couldn't find torrents for ${media.title.userPreferred} Episode ${parseInt(episode)}! Try specifying a torrent manually.\n${err.message}`
|
||||
}
|
||||
|
||||
})
|
||||
let entries
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -305,6 +305,7 @@
|
|||
<option value='rum'>Romanian</option>
|
||||
<option value='slo'>Slovak</option>
|
||||
<option value='swe'>Swedish</option>
|
||||
<option value='ara'>Arabic</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class='input-group mb-10 w-400 form-control-lg' data-toggle='tooltip' data-placement='top' data-title='What Audio Language To Automatically Select, If Not Found Defaults To Japanese'>
|
||||
|
|
@ -332,6 +333,7 @@
|
|||
<option value='rum'>Romanian</option>
|
||||
<option value='slo'>Slovak</option>
|
||||
<option value='swe'>Swedish</option>
|
||||
<option value='ara'>Arabic</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<script>
|
||||
import { getContext, setStatus } from 'svelte'
|
||||
import { getMediaMaxEp, formatMap, playMedia } from '@/modules/anime.js'
|
||||
import { getContext } from 'svelte'
|
||||
import { getMediaMaxEp, formatMap, playMedia, setStatus } from '@/modules/anime.js'
|
||||
import { playAnime } from '../RSSView.svelte'
|
||||
import { toast } from 'svelte-sonner'
|
||||
import { alRequest } from '@/modules/anilist.js'
|
||||
|
|
@ -170,7 +170,7 @@
|
|||
</ToggleList>
|
||||
</div>
|
||||
<div class='col-5 d-flex flex-column pl-20'>
|
||||
<EpisodeList id={media.id} userProgress={media.mediaListEntry && media.mediaListEntry.status === 'CURRENT' && media.mediaListEntry.progress} episodeCount={media.episodes} duration={media.duration} {play} />
|
||||
<EpisodeList id={media.id} userProgress={media.mediaListEntry && media.mediaListEntry.status === 'CURRENT' && media.mediaListEntry.progress} episodeCount={getMediaMaxEp(media)} duration={media.duration} {play} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -130,13 +130,7 @@
|
|||
index: 0
|
||||
}
|
||||
|
||||
function checkInvite (invite) {
|
||||
page.set('watchtogether')
|
||||
joinLobby(invite?.match(inviteRx)[1])
|
||||
}
|
||||
|
||||
const inviteRx = /([A-z0-9]{16})/i
|
||||
window.IPC.on('w2glink', checkInvite)
|
||||
window.IPC.on('w2glink', joinLobby)
|
||||
|
||||
function cleanup () {
|
||||
state.set(false)
|
||||
|
|
@ -161,6 +155,16 @@
|
|||
|
||||
let joinText
|
||||
|
||||
const inviteRx = /([A-z0-9]{16})/i
|
||||
function checkInvite (invite) {
|
||||
if (!invite) return
|
||||
const match = invite?.match(inviteRx)?.[1]
|
||||
if (!match) return
|
||||
page.set('watchtogether')
|
||||
joinLobby(match)
|
||||
joinText = ''
|
||||
}
|
||||
|
||||
$: checkInvite(joinText)
|
||||
</script>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue