feat(swap): Use art_client to dial over Tor (#196)

- Upgrade `sqlx` to `0.8`
- Use `arti_client@0.24` in combination with [`libp2p-community-tor`](https://crates.io/crates/libp2p-community-tor/0.4.1). https://github.com/umgefahren/libp2p-tor/pull/18 was required for this.
- Display spinner in GUI while Tor circuits are being established
- Remove unused dependencies (`once_cell`, `tauri-plugin-devtools`, `digest`, `hyper`, `itertools`, `erased_serde`)
- Bundle roboto font from npm registry
This commit is contained in:
binarybaron 2024-11-21 01:00:36 +01:00 committed by GitHub
parent 3aef92e848
commit 6cd228fada
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 2689 additions and 871 deletions

View file

@ -1,36 +1,35 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
/>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/renderer/index.tsx"></script>
<style>
::-webkit-scrollbar {
display: none;
}
*,
*::after,
*::before {
-webkit-user-select: none;
-webkit-user-drag: none;
-webkit-app-region: no-drag;
}
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
html,
body {
height: 100%;
margin: 0;
overflow: auto;
}
</style>
</body>
</html>
<body>
<div id="root"></div>
<script type="module" src="/src/renderer/index.tsx"></script>
<style>
::-webkit-scrollbar {
display: none;
}
*,
*::after,
*::before {
-webkit-user-select: none;
-webkit-user-drag: none;
-webkit-app-region: no-drag;
}
html,
body {
height: 100%;
margin: 0;
overflow: auto;
}
</style>
</body>
</html>

View file

@ -15,6 +15,7 @@
"tauri": "tauri"
},
"dependencies": {
"@fontsource/roboto": "^5.1.0",
"@material-ui/core": "^4.12.4",
"@material-ui/icons": "^4.11.3",
"@material-ui/lab": "^4.0.0-alpha.61",
@ -66,4 +67,4 @@
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^2.1.1"
}
}
}

View file

@ -17,6 +17,7 @@ export interface CliLog {
name: CliLogSpanType;
[index: string]: unknown;
}[];
target?: string;
}
function isCliLog(log: unknown): log is CliLog {

View file

@ -13,6 +13,7 @@ import { useSettings } from "store/hooks";
import { themes } from "./theme";
import { useEffect } from "react";
import { setupBackgroundTasks } from "renderer/background";
import "@fontsource/roboto";
const useStyles = makeStyles((theme) => ({
innerContent: {

View file

@ -57,6 +57,12 @@ export default function DaemonStatusAlert() {
Opening the local database
</LoadingSpinnerAlert>
);
case "EstablishingTorCircuits":
return (
<LoadingSpinnerAlert severity="warning">
Connecting to the Tor network
</LoadingSpinnerAlert>
);
}
break;
case "Available":

View file

@ -5,7 +5,7 @@ import { logsToRawString } from "utils/parseUtils";
import ScrollablePaperTextBox from "./ScrollablePaperTextBox";
function RenderedCliLog({ log }: { log: CliLog }) {
const { timestamp, level, fields } = log;
const { timestamp, level, fields, target } = log;
const levelColorMap = {
DEBUG: "#1976d2", // Blue
@ -29,6 +29,9 @@ function RenderedCliLog({ log }: { log: CliLog }) {
size="small"
style={{ backgroundColor: levelColorMap[level], color: "white" }}
/>
{target && (
<Chip label={target.split("::")[0]} size="small" variant="outlined" />
)}
<Chip label={timestamp} size="small" variant="outlined" />
<Typography variant="subtitle2">{fields.message}</Typography>
</Box>

View file

@ -399,6 +399,11 @@
resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843"
integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==
"@fontsource/roboto@^5.1.0":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@fontsource/roboto/-/roboto-5.1.0.tgz#00230737ec09c60ae877a5e33d067c0607fdd5ba"
integrity sha512-cFRRC1s6RqPygeZ8Uw/acwVHqih8Czjt6Q0MwoUoDe9U3m4dH1HmNDRBZyqlMSFwgNAUKgFImncKdmDHyKpwdg==
"@humanwhocodes/module-importer@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"