remove clipboardRead permission & pretty

This commit is contained in:
Sebastian 2022-12-22 12:13:59 -03:00
parent 9ac1c902c0
commit f1962dceb3
No known key found for this signature in database
GPG Key ID: BE4FF68352439FC1
6 changed files with 53 additions and 50 deletions

View File

@ -24,8 +24,7 @@
"optional_permissions": [ "optional_permissions": [
"http://*/*", "http://*/*",
"https://*/*", "https://*/*",
"webRequest", "webRequest"
"clipboardRead"
], ],
"browser_action": { "browser_action": {
"default_icon": { "default_icon": {

View File

@ -27,8 +27,7 @@
} }
}, },
"optional_permissions": [ "optional_permissions": [
"webRequest", "webRequest"
"clipboardRead"
], ],
"host_permissions": [ "host_permissions": [
"http://*/*", "http://*/*",

View File

@ -83,13 +83,14 @@ const hostPermissions = {
export function containsClipboardPermissions(): Promise<boolean> { export function containsClipboardPermissions(): Promise<boolean> {
return new Promise((res, rej) => { return new Promise((res, rej) => {
chrome.permissions.contains({ permissions: ["clipboardRead"] }, (resp) => { res(false);
const le = chrome.runtime.lastError?.message; // chrome.permissions.contains({ permissions: ["clipboardRead"] }, (resp) => {
if (le) { // const le = chrome.runtime.lastError?.message;
rej(le); // if (le) {
} // rej(le);
res(resp); // }
}); // res(resp);
// });
}); });
} }
@ -107,13 +108,14 @@ export function containsHostPermissions(): Promise<boolean> {
export async function requestClipboardPermissions(): Promise<boolean> { export async function requestClipboardPermissions(): Promise<boolean> {
return new Promise((res, rej) => { return new Promise((res, rej) => {
chrome.permissions.request({ permissions: ["clipboardRead"] }, (resp) => { res(false);
const le = chrome.runtime.lastError?.message; // chrome.permissions.request({ permissions: ["clipboardRead"] }, (resp) => {
if (le) { // const le = chrome.runtime.lastError?.message;
rej(le); // if (le) {
} // rej(le);
res(resp); // }
}); // res(resp);
// });
}); });
} }
@ -187,13 +189,14 @@ export async function removeHostPermissions(): Promise<boolean> {
export function removeClipboardPermissions(): Promise<boolean> { export function removeClipboardPermissions(): Promise<boolean> {
return new Promise((res, rej) => { return new Promise((res, rej) => {
chrome.permissions.remove({ permissions: ["clipboardRead"] }, (resp) => { res(true);
const le = chrome.runtime.lastError?.message; // chrome.permissions.remove({ permissions: ["clipboardRead"] }, (resp) => {
if (le) { // const le = chrome.runtime.lastError?.message;
rej(le); // if (le) {
} // rej(le);
res(resp); // }
}); // res(resp);
// });
}); });
} }
@ -775,21 +778,23 @@ async function timeout(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms)); return new Promise((resolve) => setTimeout(resolve, ms));
} }
async function findTalerUriInClipboard(): Promise<string | undefined> { async function findTalerUriInClipboard(): Promise<string | undefined> {
try { //FIXME: add clipboard feature
//It looks like clipboard promise does not return, so we need a timeout // try {
const textInClipboard = await Promise.any([ // //It looks like clipboard promise does not return, so we need a timeout
timeout(100), // const textInClipboard = await Promise.any([
window.navigator.clipboard.readText(), // timeout(100),
]); // window.navigator.clipboard.readText(),
if (!textInClipboard) return; // ]);
return textInClipboard.startsWith("taler://") || // if (!textInClipboard) return;
textInClipboard.startsWith("taler+http://") // return textInClipboard.startsWith("taler://") ||
? textInClipboard // textInClipboard.startsWith("taler+http://")
: undefined; // ? textInClipboard
} catch (e) { // : undefined;
logger.error("could not read clipboard", e); // } catch (e) {
return undefined; // logger.error("could not read clipboard", e);
} // return undefined;
// }
return undefined;
} }
async function findTalerUriInActiveTab(): Promise<string | undefined> { async function findTalerUriInActiveTab(): Promise<string | undefined> {

View File

@ -115,12 +115,12 @@ export function SettingsView({
error={autoOpenToggle.button.error.errorDetail} error={autoOpenToggle.button.error.errorDetail}
/> />
)} )}
{clipboardToggle.button.error && ( {/* {clipboardToggle.button.error && (
<ErrorTalerOperation <ErrorTalerOperation
title={<i18n.Translate>Could not toggle clipboard</i18n.Translate>} title={<i18n.Translate>Could not toggle clipboard</i18n.Translate>}
error={clipboardToggle.button.error.errorDetail} error={clipboardToggle.button.error.errorDetail}
/> />
)} )} */}
<SubTitle> <SubTitle>
<i18n.Translate>Navigator</i18n.Translate> <i18n.Translate>Navigator</i18n.Translate>
</SubTitle> </SubTitle>
@ -140,7 +140,7 @@ export function SettingsView({
enabled={autoOpenToggle.value!} enabled={autoOpenToggle.value!}
onToggle={autoOpenToggle.button.onClick!} onToggle={autoOpenToggle.button.onClick!}
/> />
<Checkbox {/* <Checkbox
label={ label={
<i18n.Translate> <i18n.Translate>
Automatically check clipboard for Taler URI Automatically check clipboard for Taler URI
@ -155,7 +155,7 @@ export function SettingsView({
} }
enabled={clipboardToggle.value!} enabled={clipboardToggle.value!}
onToggle={clipboardToggle.button.onClick!} onToggle={clipboardToggle.button.onClick!}
/> /> */}
<SubTitle> <SubTitle>
<i18n.Translate>Trust</i18n.Translate> <i18n.Translate>Trust</i18n.Translate>

View File

@ -58,9 +58,9 @@ export interface BackgroundOperations {
response: void; response: void;
}; };
sum: { sum: {
request: number[], request: number[];
response: number, response: number;
} };
resetDb: { resetDb: {
request: void; request: void;
response: void; response: void;

View File

@ -164,12 +164,12 @@ async function toggleHeaderListener(
function freeze(time: number): Promise<void> { function freeze(time: number): Promise<void> {
return new Promise((res, rej) => { return new Promise((res, rej) => {
setTimeout(res, time) setTimeout(res, time);
}) });
} }
async function sum(ns: Array<number>): Promise<number> { async function sum(ns: Array<number>): Promise<number> {
return ns.reduce((prev, cur) => prev + cur, 0) return ns.reduce((prev, cur) => prev + cur, 0);
} }
const backendHandlers: BackendHandlerType = { const backendHandlers: BackendHandlerType = {