🍙 signature fixes

This commit is contained in:
Shiba 2022-04-15 09:50:25 +00:00
parent 365173d316
commit 2a3771e45a
3 changed files with 17 additions and 10 deletions

View file

@ -110,6 +110,7 @@ export const sourcePlatfromSettings = {
const ytUrlResolver = (o: {
name: string
href: string
signRequest: boolean
}) => o
export type YTUrlResolver = ReturnType<typeof ytUrlResolver>
export type YTUrlResolverName = Extract<keyof typeof ytUrlResolversSettings, string>
@ -117,14 +118,17 @@ export const getYtUrlResolversSettingsEntiries = () => Object.entries(ytUrlResol
export const ytUrlResolversSettings = {
odyseeApi: ytUrlResolver({
name: "Odysee",
href: "https://api.odysee.com/yt/resolve"
href: "https://api.odysee.com/yt/resolve",
signRequest: false
}),
madiatorFinder: ytUrlResolver({
name: "Madiator Finder",
href: "https://finder.madiator.com/api/v1/resolve"
href: "https://finder.madiator.com/api/v1/resolve",
signRequest: true
}),
local: ytUrlResolver({
name: "Local",
href: "http://localhost:3000/api/v1/resolve"
href: "http://localhost:3000/api/v1/resolve",
signRequest: true
})
}

View file

@ -22,11 +22,6 @@ export function useSettings(initial: ExtensionSettings) {
chrome.storage.onChanged.addListener(changeListener)
chrome.storage.local.get(Object.keys(initial), o => dispatch(o as Partial<ExtensionSettings>))
generateKeys().then((keys) => {
setSetting('publicKey', keys.publicKey)
setSetting('privateKey', keys.privateKey)
})
return () => chrome.storage.onChanged.removeListener(changeListener)
}, [])
@ -38,4 +33,12 @@ export const setSetting = <K extends keyof ExtensionSettings>(setting: K, value:
/** A hook to read watch on lbry settings from local storage */
export const useLbrySettings = () => useSettings(DEFAULT_SETTINGS)
export const useLbrySettings = () => useSettings(DEFAULT_SETTINGS)
{
const settings = useLbrySettings()
if (!settings.publicKey || !settings.privateKey) generateKeys().then((keys) => {
setSetting('publicKey', keys.publicKey)
setSetting('privateKey', keys.privateKey)
})
}

View file

@ -42,7 +42,7 @@ export async function resolveById(params: Paramaters, progressCallback?: (progre
const url = new URL(`${urlResolverSetting.href}`)
url.searchParams.set('video_ids', params.filter((item) => item.type === 'video').map((item) => item.id).join(','))
url.searchParams.set('channel_ids', params.filter((item) => item.type === 'channel').map((item) => item.id).join(','))
if (publicKey && privateKey)
if (urlResolverSetting.signRequest && publicKey && privateKey)
url.searchParams.set('keys', JSON.stringify({
signature: await sign(url.searchParams.toString(), privateKey),
publicKey