diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb1..00000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index ea8714be..e1c28fbb 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -8,6 +8,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + [[package]] name = "aho-corasick" version = "0.7.20" @@ -152,9 +158,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.4.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "cairo-rs" @@ -455,6 +461,56 @@ dependencies = [ "syn", ] +[[package]] +name = "deflate" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "deno_core" +version = "0.171.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc41944f05dfeacfc2610e91f40ddcf246f3aeeac8ae4c26df46bfbf01a3902" +dependencies = [ + "anyhow", + "bytes", + "deno_ops", + "futures", + "indexmap", + "libc", + "log", + "once_cell", + "parking_lot", + "pin-project", + "serde", + "serde_json", + "serde_v8", + "smallvec", + "sourcemap", + "url", + "v8", +] + +[[package]] +name = "deno_ops" +version = "0.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4740bc5738ad07dc1f523a232a4079a995fa2ad11efd71e09e8e32bf28f21ee1" +dependencies = [ + "once_cell", + "pmutil", + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -526,6 +582,12 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + [[package]] name = "embed_plist" version = "1.2.2" @@ -612,6 +674,16 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fslock" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57eafdd0c16f57161105ae1b98a1238f97645f2f588438b2949c99a2af9616bf" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "futf" version = "0.1.5" @@ -1139,12 +1211,12 @@ dependencies = [ [[package]] name = "ico" -version = "0.2.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031530fe562d8c8d71c0635013d6d155bbfe8ba0aa4b4d2d24ce8af6b71047bd" +checksum = "6a4b3331534254a9b64095ae60d3dc2a8225a7a70229cd5888be127cdc1f6804" dependencies = [ "byteorder", - "png", + "png 0.11.0", ] [[package]] @@ -1163,6 +1235,12 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "if_chain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" + [[package]] name = "ignore" version = "0.4.18" @@ -1213,6 +1291,15 @@ dependencies = [ "cfb", ] +[[package]] +name = "inflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5f9f47468e9a76a6452271efadc88fe865a82be91fe75e6c0c57b87ccea59d4" +dependencies = [ + "adler32", +] + [[package]] name = "instant" version = "0.1.12" @@ -1543,6 +1630,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.1" @@ -1624,9 +1722,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" [[package]] name = "open" @@ -1863,6 +1961,26 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -1895,6 +2013,29 @@ dependencies = [ "time", ] +[[package]] +name = "pmutil" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "png" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0b0cabbbd20c2d7f06dbf015e06aad59b6ca3d9ed14848783e98af9aaf19925" +dependencies = [ + "bitflags", + "deflate", + "inflate", + "num-iter", +] + [[package]] name = "png" version = "0.17.7" @@ -2098,9 +2239,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" dependencies = [ "aho-corasick", "memchr", @@ -2168,6 +2309,15 @@ dependencies = [ "winreg", ] +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + [[package]] name = "rustc_version" version = "0.3.3" @@ -2277,13 +2427,22 @@ dependencies = [ "thin-slice", ] +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser 0.7.0", +] + [[package]] name = "semver" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser", + "semver-parser 0.10.2", ] [[package]] @@ -2295,6 +2454,12 @@ dependencies = [ "serde", ] +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + [[package]] name = "semver-parser" version = "0.10.2" @@ -2313,6 +2478,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" version = "1.0.152" @@ -2330,6 +2504,7 @@ version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" dependencies = [ + "indexmap", "itoa 1.0.5", "ryu", "serde", @@ -2358,6 +2533,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_v8" +version = "0.82.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c060fd38f18c420e82ab21592ec1f088b39bccb6897b1dda394d63628e22158d" +dependencies = [ + "bytes", + "derive_more", + "serde", + "serde_bytes", + "smallvec", + "v8", +] + [[package]] name = "serde_with" version = "1.14.0" @@ -2500,6 +2689,21 @@ dependencies = [ "system-deps 5.0.0", ] +[[package]] +name = "sourcemap" +version = "6.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aebe057d110ddba043708da3fb010bf562ff6e9d4d60c9ee92860527bcbeccd6" +dependencies = [ + "base64 0.13.1", + "if_chain", + "rustc_version 0.2.3", + "serde", + "serde_json", + "unicode-id", + "url", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -2619,7 +2823,7 @@ dependencies = [ "once_cell", "parking_lot", "paste", - "png", + "png 0.17.7", "raw-window-handle", "scopeguard", "serde", @@ -2643,9 +2847,9 @@ dependencies = [ [[package]] name = "tauri" -version = "1.2.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7e0f1d535e7cbbbab43c82be4fc992b84f9156c16c160955617e0260ebc449" +checksum = "ac135e45c2923bd91edbb95a0d656f8d025389697e34d6d79166952bfa79c61c" dependencies = [ "anyhow", "cocoa", @@ -2692,6 +2896,7 @@ dependencies = [ name = "tauri-app" version = "0.0.0" dependencies = [ + "deno_core", "futures", "http", "reqwest", @@ -2720,16 +2925,16 @@ dependencies = [ [[package]] name = "tauri-codegen" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14388d484b6b1b5dc0f6a7d6cc6433b3b230bec85eaa576adcdf3f9fafa49251" +checksum = "afcb77cf7bfe3d8f886e73a7fa6157587d015c599671180b76595c1aef175ba8" dependencies = [ "base64 0.13.1", "brotli", "ico", "json-patch", "plist", - "png", + "png 0.17.7", "proc-macro2", "quote", "regex", @@ -2746,9 +2951,9 @@ dependencies = [ [[package]] name = "tauri-macros" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069319e5ecbe653a799b94b0690d9f9bf5d00f7b1d3989aa331c524d4e354075" +checksum = "f24f481b0b2acfc288ac78755f00ebea53992c7365a165af64cb5ae00806edea" dependencies = [ "heck 0.4.1", "proc-macro2", @@ -3111,6 +3316,12 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +[[package]] +name = "unicode-id" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d70b6494226b36008c8366c288d77190b3fad2eb4c10533139c1c1f461127f1a" + [[package]] name = "unicode-ident" version = "1.0.6" @@ -3165,6 +3376,18 @@ dependencies = [ "getrandom 0.2.8", ] +[[package]] +name = "v8" +version = "0.60.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07fd5b3ed559897ff02c0f62bc0a5f300bfe79bb4c77a50031b8df771701c628" +dependencies = [ + "bitflags", + "fslock", + "lazy_static", + "which", +] + [[package]] name = "valuable" version = "0.1.0" @@ -3389,6 +3612,17 @@ dependencies = [ "windows-metadata", ] +[[package]] +name = "which" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +dependencies = [ + "either", + "libc", + "once_cell", +] + [[package]] name = "winapi" version = "0.3.9" @@ -3645,12 +3879,12 @@ dependencies = [ [[package]] name = "x11-dl" -version = "2.21.0" +version = "2.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0" dependencies = [ + "lazy_static", "libc", - "once_cell", "pkg-config", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3c483c82..06f82d85 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -13,13 +13,14 @@ edition = "2021" tauri-build = { version = "1.2", features = [] } [dependencies] -serde_json = "1.0" +serde_json = { version = "1.0" } serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.2", features = ["shell-open"] } -http = "0.2.8" +tauri = { version = "1.2", features = ["devtools", "shell-open"] } +http = { version = "0.2.8" } reqwest = { version = "0.11.14", features = ["json"] } tokio = { version = "1.25.0", features = ["full"] } -futures = "0.3.26" +futures = { version = "0.3.26" } +deno_core = { version = "0.171.0" } [features] # by default Tauri runs in production mode diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png index 6be5e50e..91eb085b 100644 Binary files a/src-tauri/icons/128x128.png and b/src-tauri/icons/128x128.png differ diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png index e81becee..a7181475 100644 Binary files a/src-tauri/icons/128x128@2x.png and b/src-tauri/icons/128x128@2x.png differ diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png index a437dd51..349717c8 100644 Binary files a/src-tauri/icons/32x32.png and b/src-tauri/icons/32x32.png differ diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png index 0ca4f271..38a8f582 100644 Binary files a/src-tauri/icons/Square107x107Logo.png and b/src-tauri/icons/Square107x107Logo.png differ diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png index b81f8203..0c600807 100644 Binary files a/src-tauri/icons/Square142x142Logo.png and b/src-tauri/icons/Square142x142Logo.png differ diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png index 624c7bfb..677b2fc7 100644 Binary files a/src-tauri/icons/Square150x150Logo.png and b/src-tauri/icons/Square150x150Logo.png differ diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png index c021d2ba..52442448 100644 Binary files a/src-tauri/icons/Square284x284Logo.png and b/src-tauri/icons/Square284x284Logo.png differ diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png index 62197002..7a0a1ea1 100644 Binary files a/src-tauri/icons/Square30x30Logo.png and b/src-tauri/icons/Square30x30Logo.png differ diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png index f9bc0483..071db292 100644 Binary files a/src-tauri/icons/Square310x310Logo.png and b/src-tauri/icons/Square310x310Logo.png differ diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png index d5fbfb2a..ac214202 100644 Binary files a/src-tauri/icons/Square44x44Logo.png and b/src-tauri/icons/Square44x44Logo.png differ diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png index 63440d79..2ab8447c 100644 Binary files a/src-tauri/icons/Square71x71Logo.png and b/src-tauri/icons/Square71x71Logo.png differ diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png index f3f705af..1b4ebe32 100644 Binary files a/src-tauri/icons/Square89x89Logo.png and b/src-tauri/icons/Square89x89Logo.png differ diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png index 45563882..6046af1f 100644 Binary files a/src-tauri/icons/StoreLogo.png and b/src-tauri/icons/StoreLogo.png differ diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns index 12a5bcee..cb6a4161 100644 Binary files a/src-tauri/icons/icon.icns and b/src-tauri/icons/icon.icns differ diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico index b3636e4b..e94bcf6b 100644 Binary files a/src-tauri/icons/icon.ico and b/src-tauri/icons/icon.ico differ diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png index e1cd2619..0eeac1eb 100644 Binary files a/src-tauri/icons/icon.png and b/src-tauri/icons/icon.png differ diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 3926bc5d..dea721e4 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -3,6 +3,9 @@ windows_subsystem = "windows" )] +use deno_core::JsRuntime; +use deno_core::RuntimeOptions; + // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command #[tauri::command] fn greet(name: &str) -> String { @@ -15,22 +18,36 @@ struct CustomResponse { body: String, elapsed: u128, elapsed2: u128, + url: String, +} + +fn run_plugin() { + // Initialize a runtime instance + let mut runtime = JsRuntime::new(RuntimeOptions { + ..Default::default() + }); + + runtime + .execute_script("deno", "Deno.core.print('Hello from Deno!\\n')") + .unwrap(); } #[tauri::command] async fn send_request(url: &str) -> Result { + run_plugin(); let start = std::time::Instant::now(); - let mut url = url.to_string(); - if !url.starts_with("http://") && !url.starts_with("https://") { - url = format!("http://{}", url); + let mut abs_url = url.to_string(); + if !abs_url.starts_with("http://") && !abs_url.starts_with("https://") { + abs_url = format!("http://{}", url); } - let resp = reqwest::get(url).await; + let resp = reqwest::get(abs_url.to_string()).await; let elapsed = start.elapsed().as_millis(); match resp { Ok(v) => { + let url2 = v.url().to_string(); let status = v.status().to_string(); let body = v.text().await.unwrap(); let elapsed2 = start.elapsed().as_millis(); @@ -39,6 +56,7 @@ async fn send_request(url: &str) -> Result { body, elapsed, elapsed2, + url: url2, }) } Err(e) => Err(e.to_string()), diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index f0ff4465..647e5cdc 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -7,8 +7,8 @@ "withGlobalTauri": false }, "package": { - "productName": "tauri-app", - "version": "0.0.0" + "productName": "Twosomnia", + "version": "0.0.1" }, "tauri": { "allowlist": { @@ -33,7 +33,7 @@ "icons/icon.icns", "icons/icon.ico" ], - "identifier": "com.tauri.dev", + "identifier": "co.schier.twosomnia", "longDescription": "", "macOS": { "entitlements": null, @@ -62,7 +62,7 @@ "fullscreen": false, "height": 800, "resizable": true, - "title": "tauri-app", + "title": "Twosomnia", "width": 1400, "theme": "Dark", "titleBarStyle": "Overlay", diff --git a/src/App.tsx b/src/App.tsx index 3fc930d2..0b2a34f1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,6 +4,7 @@ import "./App.css"; import Editor from "./Editor"; interface Response { + url: string; body: string; status: string; elapsed: number; @@ -12,14 +13,17 @@ interface Response { function App() { const [responseBody, setResponseBody] = useState(null); - const [url, setUrl] = useState(""); + const [url, setUrl] = useState("https://arthorsepod.com"); const [loading, setLoading] = useState(false); async function sendRequest() { setLoading(true); - const body = await invoke("send_request", {url: url}) as Response; - setResponseBody(body); + const resp = await invoke("send_request", {url: url}) as Response; + if (resp.body.includes("")) { + resp.body = resp.body.replace(//ig, ``); + } setLoading(false); + setResponseBody(resp); } return ( @@ -34,6 +38,7 @@ function App() { setUrl(e.currentTarget.value)} + value={url} placeholder="Enter a URL..." /> @@ -50,7 +55,7 @@ function App() {
-