remove diag, check tos

This commit is contained in:
Sebastian 2023-09-08 11:15:13 -03:00
parent 1f7d2a9cd2
commit 036f8a463f
No known key found for this signature in database
GPG Key ID: 173909D1A5F66069
9 changed files with 19 additions and 129 deletions

View File

@ -28,12 +28,10 @@ import {
FormProvider,
} from "../../../../components/form/FormProvider.js";
import { Input } from "../../../../components/form/Input.js";
import { useBackendContext } from "../../../../context/backend.js";
import { MerchantBackend } from "../../../../declaration.js";
import { InputPaytoForm } from "../../../../components/form/InputPaytoForm.js";
import { parsePayUri, stringifyPaytoUri } from "@gnu-taler/taler-util";
import { undefinedIfEmpty } from "../../../../utils/table.js";
import { InputSelector } from "../../../../components/form/InputSelector.js";
import { MerchantBackend } from "../../../../declaration.js";
import { undefinedIfEmpty } from "../../../../utils/table.js";
type Entity = MerchantBackend.BankAccounts.AccountAddDetails & { repeatPassword: string };

View File

@ -99,7 +99,7 @@ export function ShowButtonsNonAcceptedTosView({
</WarningText>
</section>
)} */}
{terms.status === ExchangeTosStatus.Pending && (
{terms.status === ExchangeTosStatus.Accepted && (
<section style={{ justifyContent: "space-around", display: "flex" }}>
<Button
variant="contained"
@ -181,7 +181,7 @@ export function ShowTosContentView({
</LinkSuccess>
</section>
)}
{termsAccepted && terms.status !== ExchangeTosStatus.Proposed && (
{termsAccepted && terms.status !== ExchangeTosStatus.Accepted && (
<section style={{ justifyContent: "space-around", display: "flex" }}>
<CheckboxOutlined
name="terms"

View File

@ -172,6 +172,10 @@ async function checkPeerPushDebitAndCheckMax(
//a good response that allow us to try again
throw e;
}
if (Amounts.cmp(newAmount, amount) === 1) {
//how can this happen?
throw e;
}
return checkPeerPushDebitAndCheckMax(api, Amounts.stringify(newAmount));
}
}

View File

@ -1,44 +0,0 @@
/*
This file is part of GNU Taler
(C) 2022 Taler Systems S.A.
GNU Taler is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 3, or (at your option) any later version.
GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
import { WalletDiagnostics } from "@gnu-taler/taler-util";
import { useEffect, useState } from "preact/hooks";
import { useBackendContext } from "../context/backend.js";
export function useDiagnostics(): [WalletDiagnostics | undefined, boolean] {
const [timedOut, setTimedOut] = useState(false);
const api = useBackendContext();
const [diagnostics, setDiagnostics] = useState<WalletDiagnostics | undefined>(
undefined,
);
useEffect(() => {
let gotDiagnostics = false;
setTimeout(() => {
if (!gotDiagnostics) {
console.error("timed out");
setTimedOut(true);
}
}, 1000);
const doFetch = async (): Promise<void> => {
const d = await api.background.call("getDiagnostics", undefined);
gotDiagnostics = true;
setDiagnostics(d);
};
doFetch();
}, []);
return [diagnostics, timedOut];
}

View File

@ -27,24 +27,21 @@ import {
PendingTaskInfo,
WalletApiOperation,
} from "@gnu-taler/taler-wallet-core";
import { format } from "date-fns";
import { Fragment, h, VNode } from "preact";
import { useEffect, useRef, useState } from "preact/hooks";
import { Diagnostics } from "../components/Diagnostics.js";
import { SelectList } from "../components/SelectList.js";
import { NotifyUpdateFadeOut } from "../components/styled/index.js";
import { Time } from "../components/Time.js";
import { useBackendContext } from "../context/backend.js";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { format } from "date-fns";
import { Fragment, VNode, h } from "preact";
import { useEffect, useRef, useState } from "preact/hooks";
import { SelectList } from "../components/SelectList.js";
import { Time } from "../components/Time.js";
import { NotifyUpdateFadeOut } from "../components/styled/index.js";
import { useBackendContext } from "../context/backend.js";
import { useAsyncAsHook } from "../hooks/useAsyncAsHook.js";
import { useDiagnostics } from "../hooks/useDiagnostics.js";
import { Button } from "../mui/Button.js";
import { Grid } from "../mui/Grid.js";
import { Paper } from "../mui/Paper.js";
import { TextField } from "../mui/TextField.js";
export function DeveloperPage(): VNode {
const [status, timedOut] = useDiagnostics();
const listenAllEvents = Array.from<NotificationType>({ length: 1 });
@ -78,8 +75,6 @@ export function DeveloperPage(): VNode {
return (
<View
status={status}
timedOut={timedOut}
operations={operations}
coins={coins}
exchanges={exchanges}
@ -108,8 +103,6 @@ type SplitedCoinInfo = {
};
export interface Props {
status: any;
timedOut: boolean;
operations: PendingTaskInfo[];
coins: CoinsInfo;
exchanges: ExchangeListItem[];
@ -121,8 +114,6 @@ function hashObjectId(o: any): string {
}
export function View({
status,
timedOut,
operations,
coins,
onDownloadDatabase,
@ -458,7 +449,6 @@ export function View({
);
})}
<br />
<Diagnostics diagnostics={status} timedOut={timedOut} />
{operations && operations.length > 0 && (
<Fragment>
<p>

View File

@ -29,17 +29,9 @@ export default {
export const Normal = tests.createExample(TestedComponent, {
permissionToggle: { value: true, button: {} },
diagnostics: {
errors: [],
walletManifestVersion: "1.0",
walletManifestDisplayVersion: "1.0",
firefoxIdbProblem: false,
dbOutdated: false,
},
});
export const TimedoutDiagnostics = tests.createExample(TestedComponent, {
timedOut: true,
permissionToggle: { value: true, button: {} },
});

View File

@ -25,7 +25,6 @@ import { Fragment, h, VNode } from "preact";
import { Checkbox } from "../components/Checkbox.js";
import { SubTitle, Title } from "../components/styled/index.js";
import { useTranslationContext } from "@gnu-taler/web-util/browser";
import { useDiagnostics } from "../hooks/useDiagnostics.js";
import { useSettings } from "../hooks/useSettings.js";
import { ToggleHandler } from "../mui/handlers.js";
import { platform } from "../platform/foreground.js";
@ -34,7 +33,6 @@ import { useAlertContext } from "../context/alert.js";
export function WelcomePage(): VNode {
const [settings, updateSettings] = useSettings();
const { safely } = useAlertContext();
const [diagnostics, timedOut] = useDiagnostics();
return (
<View
permissionToggle={{
@ -45,21 +43,15 @@ export function WelcomePage(): VNode {
),
},
}}
diagnostics={diagnostics}
timedOut={timedOut}
/>
);
}
export interface ViewProps {
permissionToggle: ToggleHandler;
diagnostics: WalletDiagnostics | undefined;
timedOut: boolean;
}
export function View({
permissionToggle,
diagnostics,
timedOut,
}: ViewProps): VNode {
const { i18n } = useTranslationContext();
return (

View File

@ -70,10 +70,6 @@ export interface BackgroundOperations {
request: void;
response: void;
};
getDiagnostics: {
request: void;
response: WalletDiagnostics;
};
runGarbageCollector: {
request: void;
response: void;

View File

@ -76,43 +76,6 @@ const walletInit: OpenedPromise<void> = openPromise<void>();
const logger = new Logger("wxBackend.ts");
async function getDiagnostics(): Promise<WalletDiagnostics> {
const manifestData = platform.getWalletWebExVersion();
const errors: string[] = [];
let firefoxIdbProblem = false;
let dbOutdated = false;
try {
await walletInit.promise;
} catch (e) {
errors.push("Error during wallet initialization: " + e);
if (
currentDatabase === undefined &&
outdatedDbVersion === undefined &&
platform.isFirefox()
) {
firefoxIdbProblem = true;
}
}
if (!currentWallet) {
errors.push("Could not create wallet backend.");
}
if (!currentDatabase) {
errors.push("Could not open database");
}
if (outdatedDbVersion !== undefined) {
errors.push(`Outdated DB version: ${outdatedDbVersion}`);
dbOutdated = true;
}
const diagnostics: WalletDiagnostics = {
walletManifestDisplayVersion: manifestData.version_name || "(undefined)",
walletManifestVersion: manifestData.version,
errors,
firefoxIdbProblem,
dbOutdated,
};
return diagnostics;
}
type BackendHandlerType = {
[Op in keyof BackgroundOperations]: (
req: BackgroundOperations[Op]["request"],
@ -172,7 +135,6 @@ async function isInjectionEnabled(): Promise<boolean> {
const backendHandlers: BackendHandlerType = {
freeze,
sum,
getDiagnostics,
resetDb,
runGarbageCollector,
setLoggingLevel,