Skip to content

Commit

Permalink
fix: MyAnimeList Linux Clipboard
Browse files Browse the repository at this point in the history
Fix line feed at the end of state returned from MAL and undefined symbol 'line' in linux's clipboard paste handler
  • Loading branch information
RockinChaos authored Sep 9, 2024
2 parents f37ffe2 + 1ff02a6 commit 7804dfe
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions common/modules/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import IPC from '@/modules/ipc.js'
import { toast } from 'svelte-sonner'
import Debug from 'debug'

const debug = Debug('ui:anilist')
const debug = Debug('ui:settings')

export let profiles = writable(JSON.parse(localStorage.getItem('profiles')) || [])
/** @type {{viewer: import('./al').Query<{Viewer: import('./al').Viewer}>, token: string} | null} */
Expand Down Expand Up @@ -60,12 +60,15 @@ window.addEventListener('paste', ({ clipboardData }) => {
handleToken(token)
}
} else if (text.includes("code=") && text.includes("&state")) { // is a MyAnimeList authorization
let code = line.split('code=')[1].split('&state')[0]
let state = line.split('&state=')[1]
let code = text.split('code=')[1].split('&state')[0]
let state = text.split('&state=')[1]
if (code && state) {
if (code.endsWith('/')) code = code.slice(0, -1)
if (state.endsWith('/')) state = state.slice(0, -1)
if (state.includes('%')) state = decodeURIComponent(state)
// remove linefeed characters from the state
code = code.replace(/(\r\n|\n|\r)/gm, '')
state = state.replace(/(\r\n|\n|\r)/gm, '')
handleMalToken(code, state)
}
}
Expand Down

0 comments on commit 7804dfe

Please sign in to comment.