diff --git a/.cargo/config.toml b/.cargo/config.toml
index ca333857a..a52d5a685 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -1,3 +1,6 @@
# Windows has stack overflows when calling from Tauri, so we increase compiler size
[target.'cfg(windows)']
rustflags = ["-C", "link-args=/STACK:16777220"]
+
+[build]
+rustflags = ["--cfg", "tokio_unstable"]
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 920f14d43..8bb6f2364 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -387,6 +387,55 @@ dependencies = [
"libc",
]
+[[package]]
+name = "anstream"
+version = "0.6.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.59.0",
+]
+
[[package]]
name = "anyhow"
version = "1.0.97"
@@ -625,6 +674,28 @@ dependencies = [
"windows-sys 0.59.0",
]
+[[package]]
+name = "async-stream"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.90",
+]
+
[[package]]
name = "async-stripe"
version = "0.39.1"
@@ -787,6 +858,53 @@ dependencies = [
"thiserror 1.0.69",
]
+[[package]]
+name = "axum"
+version = "0.7.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bytes 1.7.2",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.1",
+ "http-body-util",
+ "itoa 1.0.11",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "sync_wrapper 1.0.1",
+ "tower 0.5.2",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
+dependencies = [
+ "async-trait",
+ "bytes 1.7.2",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.1",
+ "http-body-util",
+ "mime",
+ "pin-project-lite",
+ "rustversion",
+ "sync_wrapper 1.0.1",
+ "tower-layer",
+ "tower-service",
+]
+
[[package]]
name = "backtrace"
version = "0.3.74"
@@ -1295,6 +1413,46 @@ dependencies = [
"inout",
]
+[[package]]
+name = "clap"
+version = "4.5.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "027bb0d98429ae334a8698531da7077bdf906419543a35a55c2cb1b66437d767"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5589e0cba072e0f3d23791efac0fd8627b49c829c196a492e88168e6a669d863"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed"
+dependencies = [
+ "heck 0.5.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.90",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
+
[[package]]
name = "clickhouse"
version = "0.11.6"
@@ -1394,6 +1552,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+[[package]]
+name = "colorchoice"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
+
[[package]]
name = "combine"
version = "4.6.7"
@@ -1430,6 +1594,45 @@ dependencies = [
"windows-sys 0.59.0",
]
+[[package]]
+name = "console-api"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8030735ecb0d128428b64cd379809817e620a40e5001c54465b99ec5feec2857"
+dependencies = [
+ "futures-core",
+ "prost",
+ "prost-types",
+ "tonic",
+ "tracing-core",
+]
+
+[[package]]
+name = "console-subscriber"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6539aa9c6a4cd31f4b1c040f860a1eac9aa80e7df6b05d506a6e7179936d6a01"
+dependencies = [
+ "console-api",
+ "crossbeam-channel",
+ "crossbeam-utils 0.8.20",
+ "futures-task",
+ "hdrhistogram",
+ "humantime",
+ "hyper-util",
+ "prost",
+ "prost-types",
+ "serde",
+ "serde_json",
+ "thread_local",
+ "tokio 1.42.0",
+ "tokio-stream",
+ "tonic",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
[[package]]
name = "const-oid"
version = "0.9.6"
@@ -2267,6 +2470,12 @@ dependencies = [
"const-random",
]
+[[package]]
+name = "dotenv-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4547f16c17f6051a12cdb8c62b803f94bee6807c74aa7c530b30b737df981fc"
+
[[package]]
name = "dotenvy"
version = "0.15.7"
@@ -2437,16 +2646,22 @@ dependencies = [
]
[[package]]
-name = "env_logger"
-version = "0.10.2"
+name = "env_filter"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
+checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
dependencies = [
- "humantime",
- "is-terminal",
"log",
- "regex",
- "termcolor",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.11.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0"
+dependencies = [
+ "env_filter",
+ "log",
]
[[package]]
@@ -3149,6 +3364,7 @@ dependencies = [
]
[[package]]
+<<<<<<< HEAD
name = "governor"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3169,6 +3385,8 @@ dependencies = [
]
[[package]]
+=======
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
name = "group"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3324,6 +3542,19 @@ dependencies = [
"hashbrown 0.15.2",
]
+[[package]]
+name = "hdrhistogram"
+version = "7.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d"
+dependencies = [
+ "base64 0.21.7",
+ "byteorder",
+ "flate2",
+ "nom",
+ "num-traits",
+]
+
[[package]]
name = "heck"
version = "0.3.3"
@@ -3569,7 +3800,12 @@ dependencies = [
"http 1.2.0",
"http-body 1.0.1",
"httparse",
+<<<<<<< HEAD
"itoa 1.0.15",
+=======
+ "httpdate",
+ "itoa 1.0.11",
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
"pin-project-lite",
"smallvec 1.14.0",
"tokio 1.44.0",
@@ -3611,6 +3847,19 @@ dependencies = [
"webpki-roots 0.26.8",
]
+[[package]]
+name = "hyper-timeout"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0"
+dependencies = [
+ "hyper 1.4.1",
+ "hyper-util",
+ "pin-project-lite",
+ "tokio 1.42.0",
+ "tower-service",
+]
+
[[package]]
name = "hyper-tls"
version = "0.5.0"
@@ -3938,6 +4187,28 @@ dependencies = [
"cfb",
]
+[[package]]
+name = "inferno"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "692eda1cc790750b9f5a5e3921ef9c117fd5498b97cfacbc910693e5b29002dc"
+dependencies = [
+ "ahash 0.8.11",
+ "clap",
+ "crossbeam-channel",
+ "crossbeam-utils 0.8.20",
+ "dashmap 6.1.0",
+ "env_logger",
+ "indexmap 2.5.0",
+ "itoa 1.0.11",
+ "log",
+ "num-format",
+ "once_cell",
+ "quick-xml 0.37.2",
+ "rgb",
+ "str_stack",
+]
+
[[package]]
name = "inotify"
version = "0.9.6"
@@ -4030,6 +4301,12 @@ dependencies = [
"once_cell",
]
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
[[package]]
name = "iso8601"
version = "0.6.2"
@@ -4111,23 +4388,20 @@ dependencies = [
]
[[package]]
-name = "jemalloc-sys"
-version = "0.5.4+5.3.0-patched"
+name = "jemalloc_pprof"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2"
+checksum = "5622af6d21ff86ed7797ef98e11b8f302da25ec69a7db9f6cde8e2e1c8df9992"
dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "jemallocator"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc"
-dependencies = [
- "jemalloc-sys",
+ "anyhow",
"libc",
+ "mappings",
+ "once_cell",
+ "pprof_util",
+ "tempfile",
+ "tikv-jemalloc-ctl",
+ "tokio 1.42.0",
+ "tracing",
]
[[package]]
@@ -4312,33 +4586,40 @@ dependencies = [
"bytes 1.10.1",
"censor",
"chrono",
+ "clap",
"clickhouse",
"color-thief",
+ "console-subscriber",
"dashmap 5.5.3",
"deadpool-redis",
"derive-new",
+ "dotenv-build",
"dotenvy",
"either",
- "env_logger",
"flate2",
"futures 0.3.31",
"futures-timer",
"futures-util",
- "governor",
"hex",
"hmac 0.11.0",
"hyper 0.14.32",
"hyper-tls 0.5.0",
+ "iana-time-zone",
"image 0.24.9",
"itertools 0.12.1",
+<<<<<<< HEAD
"jemallocator",
"json-patch 4.0.0",
+=======
+ "jemalloc_pprof",
+ "json-patch",
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
"lazy_static",
"lettre",
- "log",
"maxminddb",
"meilisearch-sdk",
"murmur2",
+ "prometheus",
"rand 0.8.5",
"rand_chacha 0.3.1",
"redis",
@@ -4360,10 +4641,20 @@ dependencies = [
"spdx",
"sqlx",
"tar",
+<<<<<<< HEAD
"thiserror 1.0.69",
"tokio 1.44.0",
+=======
+ "thiserror 1.0.64",
+ "tikv-jemalloc-ctl",
+ "tikv-jemallocator",
+ "tokio 1.42.0",
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
"tokio-stream",
"totp-rs",
+ "tracing",
+ "tracing-actix-web",
+ "tracing-subscriber",
"url",
"urlencoding",
"uuid 1.15.1",
@@ -4650,6 +4941,19 @@ dependencies = [
"libc",
]
+[[package]]
+name = "mappings"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e434981a332777c2b3062652d16a55f8e74fa78e6b1882633f0d77399c84fc2a"
+dependencies = [
+ "anyhow",
+ "libc",
+ "once_cell",
+ "pprof_util",
+ "tracing",
+]
+
[[package]]
name = "markup5ever"
version = "0.11.0"
@@ -4679,6 +4983,12 @@ version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+[[package]]
+name = "matchit"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
+
[[package]]
name = "maxminddb"
version = "0.24.0"
@@ -4928,6 +5238,12 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb585ade2549a017db2e35978b77c319214fa4b37cede841e27954dd6e8f3ca8"
+[[package]]
+name = "mutually_exclusive_features"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e94e1e6445d314f972ff7395df2de295fe51b71821694f0b0e1e79c4f12c8577"
+
[[package]]
name = "native-dialog"
version = "0.7.0"
@@ -5028,12 +5344,6 @@ dependencies = [
"memoffset 0.9.1",
]
-[[package]]
-name = "no-std-compat"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c"
-
[[package]]
name = "nodrop"
version = "0.1.14"
@@ -5051,6 +5361,7 @@ dependencies = [
]
[[package]]
+<<<<<<< HEAD
name = "nom"
version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5066,6 +5377,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21"
[[package]]
+=======
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
name = "normpath"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5122,6 +5435,20 @@ dependencies = [
"winapi 0.3.9",
]
+[[package]]
+name = "num"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
[[package]]
name = "num-bigint"
version = "0.4.6"
@@ -5149,12 +5476,31 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "num-complex"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
+dependencies = [
+ "num-traits",
+]
+
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+[[package]]
+name = "num-format"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
+dependencies = [
+ "arrayvec",
+ "itoa 1.0.11",
+]
+
[[package]]
name = "num-integer"
version = "0.1.46"
@@ -5175,6 +5521,17 @@ dependencies = [
"num-traits",
]
+[[package]]
+name = "num-rational"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
+dependencies = [
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
[[package]]
name = "num-traits"
version = "0.2.19"
@@ -6125,6 +6482,21 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+[[package]]
+name = "pprof_util"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9fa015c78eed2130951e22c58d2095849391e73817ab2e74f71b0b9f63dd8416"
+dependencies = [
+ "anyhow",
+ "backtrace",
+ "flate2",
+ "inferno",
+ "num",
+ "paste",
+ "prost",
+]
+
[[package]]
name = "ppv-lite86"
version = "0.2.20"
@@ -6266,9 +6638,52 @@ dependencies = [
"memchr",
"parking_lot 0.12.3",
"procfs",
+<<<<<<< HEAD
"thiserror 1.0.69",
+=======
+ "protobuf",
+ "thiserror 1.0.64",
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
]
+[[package]]
+name = "prost"
+version = "0.13.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5"
+dependencies = [
+ "bytes 1.7.2",
+ "prost-derive",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.13.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d"
+dependencies = [
+ "anyhow",
+ "itertools 0.13.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.90",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.13.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16"
+dependencies = [
+ "prost",
+]
+
+[[package]]
+name = "protobuf"
+version = "2.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94"
+
[[package]]
name = "psm"
version = "0.1.25"
@@ -6308,6 +6723,7 @@ dependencies = [
]
[[package]]
+<<<<<<< HEAD
name = "quanta"
version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6323,6 +6739,8 @@ dependencies = [
]
[[package]]
+=======
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
name = "quick-error"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6356,6 +6774,15 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "quick-xml"
+version = "0.37.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "quinn"
version = "0.11.6"
@@ -6552,6 +6979,7 @@ dependencies = [
]
[[package]]
+<<<<<<< HEAD
name = "raw-cpuid"
version = "11.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6561,6 +6989,8 @@ dependencies = [
]
[[package]]
+=======
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
name = "raw-window-handle"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8077,15 +8507,6 @@ dependencies = [
"lock_api 0.4.12",
]
-[[package]]
-name = "spinning_top"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300"
-dependencies = [
- "lock_api 0.4.12",
-]
-
[[package]]
name = "spki"
version = "0.7.3"
@@ -8318,6 +8739,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+[[package]]
+name = "str_stack"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb"
+
[[package]]
name = "strfmt"
version = "0.2.4"
@@ -9068,15 +9495,6 @@ dependencies = [
"winapi 0.3.9",
]
-[[package]]
-name = "termcolor"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
-dependencies = [
- "winapi-util",
-]
-
[[package]]
name = "theseus"
version = "0.9.3"
@@ -9256,6 +9674,37 @@ dependencies = [
"weezl",
]
+[[package]]
+name = "tikv-jemalloc-ctl"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f21f216790c8df74ce3ab25b534e0718da5a1916719771d3fec23315c99e468b"
+dependencies = [
+ "libc",
+ "paste",
+ "tikv-jemalloc-sys",
+]
+
+[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "tikv-jemallocator"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865"
+dependencies = [
+ "libc",
+ "tikv-jemalloc-sys",
+]
+
[[package]]
name = "time"
version = "0.3.39"
@@ -9644,6 +10093,36 @@ dependencies = [
"winnow 0.7.3",
]
+[[package]]
+name = "tonic"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum",
+ "base64 0.22.1",
+ "bytes 1.7.2",
+ "h2 0.4.6",
+ "http 1.1.0",
+ "http-body 1.0.1",
+ "http-body-util",
+ "hyper 1.4.1",
+ "hyper-timeout",
+ "hyper-util",
+ "percent-encoding",
+ "pin-project",
+ "prost",
+ "socket2",
+ "tokio 1.42.0",
+ "tokio-stream",
+ "tower 0.4.13",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
[[package]]
name = "totp-rs"
version = "5.6.0"
@@ -9660,6 +10139,29 @@ dependencies = [
[[package]]
name = "tower"
+<<<<<<< HEAD
+=======
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "indexmap 1.9.3",
+ "pin-project",
+ "pin-project-lite",
+ "rand 0.8.5",
+ "slab",
+ "tokio 1.42.0",
+ "tokio-util",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower"
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
@@ -9667,8 +10169,12 @@ dependencies = [
"futures-core",
"futures-util",
"pin-project-lite",
+<<<<<<< HEAD
"sync_wrapper 1.0.2",
"tokio 1.44.0",
+=======
+ "sync_wrapper 1.0.1",
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
"tower-layer",
"tower-service",
]
@@ -9698,9 +10204,28 @@ dependencies = [
]
[[package]]
+<<<<<<< HEAD
name = "tracing-attributes"
version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
+=======
+name = "tracing-actix-web"
+version = "0.7.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "332bbdf3bd208d1fe6446f8ffb4e8c2ae66e25da0fb38e0b69545e640ecee6a6"
+dependencies = [
+ "actix-web",
+ "mutually_exclusive_features",
+ "pin-project",
+ "tracing",
+ "uuid 1.12.0",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+>>>>>>> b9d90aa6356c88c8d661c04ab84194cf08ea0198
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
@@ -10023,6 +10548,12 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
[[package]]
name = "uuid"
version = "0.8.2"
diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue
index 3db426763..23ac007a8 100644
--- a/apps/app-frontend/src/App.vue
+++ b/apps/app-frontend/src/App.vue
@@ -536,6 +536,16 @@ function handleAuxClick(e) {
width: 'calc(100% - var(--right-bar-width))',
}"
>
+
@@ -607,12 +617,6 @@ function handleAuxClick(e) {
-->
-
-
-
{{ criticalErrorMessage.header }}
-
-
-
diff --git a/apps/app-frontend/src/components/ui/ExportModal.vue b/apps/app-frontend/src/components/ui/ExportModal.vue
index 031e6dc59..0b96afb11 100644
--- a/apps/app-frontend/src/components/ui/ExportModal.vue
+++ b/apps/app-frontend/src/components/ui/ExportModal.vue
@@ -151,7 +151,7 @@ const exportPack = async () => {
-
+
{}"
/>
-
+
{}">
{{ expandedGalleryItem.title }}
@@ -98,7 +98,7 @@ import { trackEvent } from '@/helpers/analytics'
const props = defineProps({
project: {
type: Object,
- default: () => {},
+ default: () => ({}),
},
})
diff --git a/apps/app/tauri.conf.json b/apps/app/tauri.conf.json
index 7e1887625..727d61992 100644
--- a/apps/app/tauri.conf.json
+++ b/apps/app/tauri.conf.json
@@ -39,7 +39,7 @@
"fileAssociations": [
{
"ext": ["mrpack"],
- "mimeType": "application/zip+mrpack"
+ "mimeType": "application/x-modrinth-modpack+zip"
}
]
},
diff --git a/apps/docs/public/openapi.yaml b/apps/docs/public/openapi.yaml
index ec727b3af..da9504ae5 100644
--- a/apps/docs/public/openapi.yaml
+++ b/apps/docs/public/openapi.yaml
@@ -1823,7 +1823,7 @@ components:
description: Number of projects on Modrinth
versions:
type: integer
- description: Number of projects on Modrinth
+ description: Number of versions on Modrinth
files:
type: integer
description: Number of version files on Modrinth
diff --git a/apps/frontend/.env.example b/apps/frontend/.env.example
index bd54ceb10..43ceb1d53 100644
--- a/apps/frontend/.env.example
+++ b/apps/frontend/.env.example
@@ -1,2 +1,3 @@
BASE_URL=https://api.modrinth.com/v2/
BROWSER_BASE_URL=https://api.modrinth.com/v2/
+PYRO_BASE_URL=https://archon.modrinth.com/
diff --git a/apps/frontend/nuxt.config.ts b/apps/frontend/nuxt.config.ts
index 8e442fefd..269ee2e7b 100644
--- a/apps/frontend/nuxt.config.ts
+++ b/apps/frontend/nuxt.config.ts
@@ -126,6 +126,7 @@ export default defineNuxtConfig({
homePageSearch?: any[];
homePageNotifs?: any[];
products?: any[];
+ errors?: number[];
} = {};
try {
@@ -157,6 +158,14 @@ export default defineNuxtConfig({
},
};
+ const caughtErrorCodes = new Set();
+
+ function handleFetchError(err: any, defaultValue: any) {
+ console.error("Error generating state: ", err);
+ caughtErrorCodes.add(err.status);
+ return defaultValue;
+ }
+
const [
categories,
loaders,
@@ -168,15 +177,25 @@ export default defineNuxtConfig({
homePageNotifs,
products,
] = await Promise.all([
- $fetch(`${API_URL}tag/category`, headers),
- $fetch(`${API_URL}tag/loader`, headers),
- $fetch(`${API_URL}tag/game_version`, headers),
- $fetch(`${API_URL}tag/donation_platform`, headers),
- $fetch(`${API_URL}tag/report_type`, headers),
- $fetch(`${API_URL}projects_random?count=60`, headers),
- $fetch(`${API_URL}search?limit=3&query=leave&index=relevance`, headers),
- $fetch(`${API_URL}search?limit=3&query=&index=updated`, headers),
- $fetch(`${API_URL.replace("/v2/", "/_internal/")}billing/products`, headers),
+ $fetch(`${API_URL}tag/category`, headers).catch((err) => handleFetchError(err, [])),
+ $fetch(`${API_URL}tag/loader`, headers).catch((err) => handleFetchError(err, [])),
+ $fetch(`${API_URL}tag/game_version`, headers).catch((err) => handleFetchError(err, [])),
+ $fetch(`${API_URL}tag/donation_platform`, headers).catch((err) =>
+ handleFetchError(err, []),
+ ),
+ $fetch(`${API_URL}tag/report_type`, headers).catch((err) => handleFetchError(err, [])),
+ $fetch(`${API_URL}projects_random?count=60`, headers).catch((err) =>
+ handleFetchError(err, []),
+ ),
+ $fetch(`${API_URL}search?limit=3&query=leave&index=relevance`, headers).catch((err) =>
+ handleFetchError(err, {}),
+ ),
+ $fetch(`${API_URL}search?limit=3&query=&index=updated`, headers).catch((err) =>
+ handleFetchError(err, {}),
+ ),
+ $fetch(`${API_URL.replace("/v2/", "/_internal/")}billing/products`, headers).catch((err) =>
+ handleFetchError(err, []),
+ ),
]);
state.categories = categories;
@@ -188,6 +207,7 @@ export default defineNuxtConfig({
state.homePageSearch = homePageSearch;
state.homePageNotifs = homePageNotifs;
state.products = products;
+ state.errors = [...caughtErrorCodes];
await fs.writeFile("./src/generated/state.json", JSON.stringify(state));
diff --git a/apps/frontend/package.json b/apps/frontend/package.json
index 64b7a31cf..c04ddc418 100644
--- a/apps/frontend/package.json
+++ b/apps/frontend/package.json
@@ -10,7 +10,7 @@
"postinstall": "nuxi prepare",
"lint": "eslint . && prettier --check .",
"fix": "eslint . --fix && prettier --write .",
- "intl:extract": "formatjs extract \"{,src/components,src/composables,src/layouts,src/middleware,src/modules,src/pages,src/plugins,src/utils}/**/*.{vue,ts,tsx,js,jsx,mts,cts,mjs,cjs}\" --ignore '**/*.d.ts' --ignore 'node_modules' --out-file src/locales/en-US/index.json --format crowdin --preserve-whitespace"
+ "intl:extract": "formatjs extract \"{,src/components,src/composables,src/layouts,src/middleware,src/modules,src/pages,src/plugins,src/utils}/**/*.{vue,ts,tsx,js,jsx,mts,cts,mjs,cjs}\" \"src/error.vue\" --ignore '**/*.d.ts' --ignore 'node_modules' --out-file src/locales/en-US/index.json --format crowdin --preserve-whitespace"
},
"devDependencies": {
"@formatjs/cli": "^6.2.12",
diff --git a/apps/frontend/src/assets/images/utils/align-left.svg b/apps/frontend/src/assets/images/utils/align-left.svg
deleted file mode 100644
index e295fc502..000000000
--- a/apps/frontend/src/assets/images/utils/align-left.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/archive.svg b/apps/frontend/src/assets/images/utils/archive.svg
deleted file mode 100644
index 7e1a54e64..000000000
--- a/apps/frontend/src/assets/images/utils/archive.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/asterisk.svg b/apps/frontend/src/assets/images/utils/asterisk.svg
deleted file mode 100644
index 19e562fdf..000000000
--- a/apps/frontend/src/assets/images/utils/asterisk.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/bell-ring.svg b/apps/frontend/src/assets/images/utils/bell-ring.svg
deleted file mode 100644
index 0611c0b0d..000000000
--- a/apps/frontend/src/assets/images/utils/bell-ring.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/bell.svg b/apps/frontend/src/assets/images/utils/bell.svg
deleted file mode 100644
index c8b1cd588..000000000
--- a/apps/frontend/src/assets/images/utils/bell.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/book-text.svg b/apps/frontend/src/assets/images/utils/book-text.svg
deleted file mode 100644
index b2442799f..000000000
--- a/apps/frontend/src/assets/images/utils/book-text.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/box.svg b/apps/frontend/src/assets/images/utils/box.svg
deleted file mode 100644
index 81c7a615f..000000000
--- a/apps/frontend/src/assets/images/utils/box.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/calendar-clock.svg b/apps/frontend/src/assets/images/utils/calendar-clock.svg
deleted file mode 100644
index 13cd832da..000000000
--- a/apps/frontend/src/assets/images/utils/calendar-clock.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/calendar.svg b/apps/frontend/src/assets/images/utils/calendar.svg
deleted file mode 100644
index c350eb1a5..000000000
--- a/apps/frontend/src/assets/images/utils/calendar.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/chart.svg b/apps/frontend/src/assets/images/utils/chart.svg
deleted file mode 100644
index 1300b435d..000000000
--- a/apps/frontend/src/assets/images/utils/chart.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/check-check.svg b/apps/frontend/src/assets/images/utils/check-check.svg
deleted file mode 100644
index d3c06bd92..000000000
--- a/apps/frontend/src/assets/images/utils/check-check.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/check-circle.svg b/apps/frontend/src/assets/images/utils/check-circle.svg
deleted file mode 100644
index f6e6b1752..000000000
--- a/apps/frontend/src/assets/images/utils/check-circle.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/check.svg b/apps/frontend/src/assets/images/utils/check.svg
deleted file mode 100644
index f633db267..000000000
--- a/apps/frontend/src/assets/images/utils/check.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/chevron-left.svg b/apps/frontend/src/assets/images/utils/chevron-left.svg
deleted file mode 100644
index 2b7022366..000000000
--- a/apps/frontend/src/assets/images/utils/chevron-left.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/chevron-right.svg b/apps/frontend/src/assets/images/utils/chevron-right.svg
deleted file mode 100644
index 6f2693a38..000000000
--- a/apps/frontend/src/assets/images/utils/chevron-right.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/clear.svg b/apps/frontend/src/assets/images/utils/clear.svg
deleted file mode 100644
index 144ce2439..000000000
--- a/apps/frontend/src/assets/images/utils/clear.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/client.svg b/apps/frontend/src/assets/images/utils/client.svg
deleted file mode 100644
index 06dd3b980..000000000
--- a/apps/frontend/src/assets/images/utils/client.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/clipboard-copy.svg b/apps/frontend/src/assets/images/utils/clipboard-copy.svg
deleted file mode 100644
index 4d1827d95..000000000
--- a/apps/frontend/src/assets/images/utils/clipboard-copy.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/coins.svg b/apps/frontend/src/assets/images/utils/coins.svg
deleted file mode 100644
index 8d3fd9d2d..000000000
--- a/apps/frontend/src/assets/images/utils/coins.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/contract.svg b/apps/frontend/src/assets/images/utils/contract.svg
deleted file mode 100644
index 977536891..000000000
--- a/apps/frontend/src/assets/images/utils/contract.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/copyright.svg b/apps/frontend/src/assets/images/utils/copyright.svg
deleted file mode 100644
index 3a93176c2..000000000
--- a/apps/frontend/src/assets/images/utils/copyright.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/crown.svg b/apps/frontend/src/assets/images/utils/crown.svg
deleted file mode 100644
index 7772c5b55..000000000
--- a/apps/frontend/src/assets/images/utils/crown.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/currency.svg b/apps/frontend/src/assets/images/utils/currency.svg
deleted file mode 100644
index 221d05fcd..000000000
--- a/apps/frontend/src/assets/images/utils/currency.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/dashboard.svg b/apps/frontend/src/assets/images/utils/dashboard.svg
deleted file mode 100644
index 94c0ceb3e..000000000
--- a/apps/frontend/src/assets/images/utils/dashboard.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/download.svg b/apps/frontend/src/assets/images/utils/download.svg
deleted file mode 100644
index 84f0d7d3b..000000000
--- a/apps/frontend/src/assets/images/utils/download.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/dropdown.svg b/apps/frontend/src/assets/images/utils/dropdown.svg
deleted file mode 100644
index 3ef764bce..000000000
--- a/apps/frontend/src/assets/images/utils/dropdown.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/edit.svg b/apps/frontend/src/assets/images/utils/edit.svg
deleted file mode 100644
index 98ef3a754..000000000
--- a/apps/frontend/src/assets/images/utils/edit.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/exit.svg b/apps/frontend/src/assets/images/utils/exit.svg
deleted file mode 100644
index 7d8048fa5..000000000
--- a/apps/frontend/src/assets/images/utils/exit.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/expand.svg b/apps/frontend/src/assets/images/utils/expand.svg
deleted file mode 100644
index 743770940..000000000
--- a/apps/frontend/src/assets/images/utils/expand.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/external.svg b/apps/frontend/src/assets/images/utils/external.svg
deleted file mode 100644
index 36fbe5a4e..000000000
--- a/apps/frontend/src/assets/images/utils/external.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/eye-off.svg b/apps/frontend/src/assets/images/utils/eye-off.svg
deleted file mode 100644
index dc48b93c8..000000000
--- a/apps/frontend/src/assets/images/utils/eye-off.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/eye.svg b/apps/frontend/src/assets/images/utils/eye.svg
deleted file mode 100644
index e6fe607ba..000000000
--- a/apps/frontend/src/assets/images/utils/eye.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/file-text.svg b/apps/frontend/src/assets/images/utils/file-text.svg
deleted file mode 100644
index 10ee96fbf..000000000
--- a/apps/frontend/src/assets/images/utils/file-text.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/file.svg b/apps/frontend/src/assets/images/utils/file.svg
deleted file mode 100644
index 09dcf7612..000000000
--- a/apps/frontend/src/assets/images/utils/file.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/filter.svg b/apps/frontend/src/assets/images/utils/filter.svg
deleted file mode 100644
index 38a47e043..000000000
--- a/apps/frontend/src/assets/images/utils/filter.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/gap.svg b/apps/frontend/src/assets/images/utils/gap.svg
deleted file mode 100644
index 44951634c..000000000
--- a/apps/frontend/src/assets/images/utils/gap.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/github.svg b/apps/frontend/src/assets/images/utils/github.svg
deleted file mode 100644
index 90908bb31..000000000
--- a/apps/frontend/src/assets/images/utils/github.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/globe.svg b/apps/frontend/src/assets/images/utils/globe.svg
deleted file mode 100644
index 292dca417..000000000
--- a/apps/frontend/src/assets/images/utils/globe.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/grid.svg b/apps/frontend/src/assets/images/utils/grid.svg
deleted file mode 100644
index f721c4857..000000000
--- a/apps/frontend/src/assets/images/utils/grid.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/hamburger.svg b/apps/frontend/src/assets/images/utils/hamburger.svg
deleted file mode 100644
index 8e2046a0d..000000000
--- a/apps/frontend/src/assets/images/utils/hamburger.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/hash.svg b/apps/frontend/src/assets/images/utils/hash.svg
deleted file mode 100644
index e7ed57c05..000000000
--- a/apps/frontend/src/assets/images/utils/hash.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/heart-handshake.svg b/apps/frontend/src/assets/images/utils/heart-handshake.svg
deleted file mode 100644
index 336bb00ac..000000000
--- a/apps/frontend/src/assets/images/utils/heart-handshake.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/heart.svg b/apps/frontend/src/assets/images/utils/heart.svg
deleted file mode 100644
index 4f363ce76..000000000
--- a/apps/frontend/src/assets/images/utils/heart.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/history.svg b/apps/frontend/src/assets/images/utils/history.svg
deleted file mode 100644
index c55b1cdbc..000000000
--- a/apps/frontend/src/assets/images/utils/history.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/image.svg b/apps/frontend/src/assets/images/utils/image.svg
deleted file mode 100644
index a45c6a30e..000000000
--- a/apps/frontend/src/assets/images/utils/image.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/info.svg b/apps/frontend/src/assets/images/utils/info.svg
deleted file mode 100644
index 8ae884368..000000000
--- a/apps/frontend/src/assets/images/utils/info.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/issues.svg b/apps/frontend/src/assets/images/utils/issues.svg
deleted file mode 100644
index ec77384be..000000000
--- a/apps/frontend/src/assets/images/utils/issues.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/key.svg b/apps/frontend/src/assets/images/utils/key.svg
deleted file mode 100644
index 845dcd6b2..000000000
--- a/apps/frontend/src/assets/images/utils/key.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/languages.svg b/apps/frontend/src/assets/images/utils/languages.svg
deleted file mode 100644
index 72ed7aeee..000000000
--- a/apps/frontend/src/assets/images/utils/languages.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/left-arrow.svg b/apps/frontend/src/assets/images/utils/left-arrow.svg
deleted file mode 100644
index 743b86d89..000000000
--- a/apps/frontend/src/assets/images/utils/left-arrow.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/lightbulb.svg b/apps/frontend/src/assets/images/utils/lightbulb.svg
deleted file mode 100644
index 724bc9776..000000000
--- a/apps/frontend/src/assets/images/utils/lightbulb.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/link.svg b/apps/frontend/src/assets/images/utils/link.svg
deleted file mode 100644
index f5db36f31..000000000
--- a/apps/frontend/src/assets/images/utils/link.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/list-end.svg b/apps/frontend/src/assets/images/utils/list-end.svg
deleted file mode 100644
index 06ded6da5..000000000
--- a/apps/frontend/src/assets/images/utils/list-end.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/list.svg b/apps/frontend/src/assets/images/utils/list.svg
deleted file mode 100644
index 10bfe7538..000000000
--- a/apps/frontend/src/assets/images/utils/list.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/lock.svg b/apps/frontend/src/assets/images/utils/lock.svg
deleted file mode 100644
index de09d9db3..000000000
--- a/apps/frontend/src/assets/images/utils/lock.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/log-out.svg b/apps/frontend/src/assets/images/utils/log-out.svg
deleted file mode 100644
index f489e1808..000000000
--- a/apps/frontend/src/assets/images/utils/log-out.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/message.svg b/apps/frontend/src/assets/images/utils/message.svg
deleted file mode 100644
index 7b092e81a..000000000
--- a/apps/frontend/src/assets/images/utils/message.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/mic.svg b/apps/frontend/src/assets/images/utils/mic.svg
deleted file mode 100644
index a63b99671..000000000
--- a/apps/frontend/src/assets/images/utils/mic.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/modrinth.svg b/apps/frontend/src/assets/images/utils/modrinth.svg
deleted file mode 100644
index a6b2e3807..000000000
--- a/apps/frontend/src/assets/images/utils/modrinth.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/monitor-smartphone.svg b/apps/frontend/src/assets/images/utils/monitor-smartphone.svg
deleted file mode 100644
index 0494f32d6..000000000
--- a/apps/frontend/src/assets/images/utils/monitor-smartphone.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/moon.svg b/apps/frontend/src/assets/images/utils/moon.svg
deleted file mode 100644
index 3284684f3..000000000
--- a/apps/frontend/src/assets/images/utils/moon.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/more-horizontal.svg b/apps/frontend/src/assets/images/utils/more-horizontal.svg
deleted file mode 100644
index 20338ba75..000000000
--- a/apps/frontend/src/assets/images/utils/more-horizontal.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/organization.svg b/apps/frontend/src/assets/images/utils/organization.svg
deleted file mode 100644
index d624b2079..000000000
--- a/apps/frontend/src/assets/images/utils/organization.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/paintbrush.svg b/apps/frontend/src/assets/images/utils/paintbrush.svg
deleted file mode 100644
index 7b3371125..000000000
--- a/apps/frontend/src/assets/images/utils/paintbrush.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/plus.svg b/apps/frontend/src/assets/images/utils/plus.svg
deleted file mode 100644
index 7da250ede..000000000
--- a/apps/frontend/src/assets/images/utils/plus.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/radio-button-checked.svg b/apps/frontend/src/assets/images/utils/radio-button-checked.svg
deleted file mode 100644
index 6571ac46e..000000000
--- a/apps/frontend/src/assets/images/utils/radio-button-checked.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/radio-button.svg b/apps/frontend/src/assets/images/utils/radio-button.svg
deleted file mode 100644
index c2e74a314..000000000
--- a/apps/frontend/src/assets/images/utils/radio-button.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/reply.svg b/apps/frontend/src/assets/images/utils/reply.svg
deleted file mode 100644
index b308a45d5..000000000
--- a/apps/frontend/src/assets/images/utils/reply.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/report.svg b/apps/frontend/src/assets/images/utils/report.svg
deleted file mode 100644
index 3f8507abf..000000000
--- a/apps/frontend/src/assets/images/utils/report.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/right-arrow.svg b/apps/frontend/src/assets/images/utils/right-arrow.svg
deleted file mode 100644
index 6046f1518..000000000
--- a/apps/frontend/src/assets/images/utils/right-arrow.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/save.svg b/apps/frontend/src/assets/images/utils/save.svg
deleted file mode 100644
index 204821423..000000000
--- a/apps/frontend/src/assets/images/utils/save.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/search.svg b/apps/frontend/src/assets/images/utils/search.svg
deleted file mode 100644
index 35ce90a3e..000000000
--- a/apps/frontend/src/assets/images/utils/search.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/send.svg b/apps/frontend/src/assets/images/utils/send.svg
deleted file mode 100644
index e20fad810..000000000
--- a/apps/frontend/src/assets/images/utils/send.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/server.svg b/apps/frontend/src/assets/images/utils/server.svg
deleted file mode 100644
index 54e05379d..000000000
--- a/apps/frontend/src/assets/images/utils/server.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/settings.svg b/apps/frontend/src/assets/images/utils/settings.svg
deleted file mode 100644
index 5accf92ee..000000000
--- a/apps/frontend/src/assets/images/utils/settings.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/shield.svg b/apps/frontend/src/assets/images/utils/shield.svg
deleted file mode 100644
index 9a4bef40e..000000000
--- a/apps/frontend/src/assets/images/utils/shield.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/slash.svg b/apps/frontend/src/assets/images/utils/slash.svg
deleted file mode 100644
index f4131b85f..000000000
--- a/apps/frontend/src/assets/images/utils/slash.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/sort-asc.svg b/apps/frontend/src/assets/images/utils/sort-asc.svg
deleted file mode 100644
index 859fb6e60..000000000
--- a/apps/frontend/src/assets/images/utils/sort-asc.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/sort-desc.svg b/apps/frontend/src/assets/images/utils/sort-desc.svg
deleted file mode 100644
index 2df482776..000000000
--- a/apps/frontend/src/assets/images/utils/sort-desc.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/star.svg b/apps/frontend/src/assets/images/utils/star.svg
deleted file mode 100644
index 0854bd018..000000000
--- a/apps/frontend/src/assets/images/utils/star.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/sun.svg b/apps/frontend/src/assets/images/utils/sun.svg
deleted file mode 100644
index e6255561a..000000000
--- a/apps/frontend/src/assets/images/utils/sun.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/sunrise.svg b/apps/frontend/src/assets/images/utils/sunrise.svg
deleted file mode 100644
index e84d06498..000000000
--- a/apps/frontend/src/assets/images/utils/sunrise.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/tag.svg b/apps/frontend/src/assets/images/utils/tag.svg
deleted file mode 100644
index d39bfbc02..000000000
--- a/apps/frontend/src/assets/images/utils/tag.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/tags.svg b/apps/frontend/src/assets/images/utils/tags.svg
deleted file mode 100644
index 37c752456..000000000
--- a/apps/frontend/src/assets/images/utils/tags.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/transfer.svg b/apps/frontend/src/assets/images/utils/transfer.svg
deleted file mode 100644
index 8929f6ca3..000000000
--- a/apps/frontend/src/assets/images/utils/transfer.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/trash.svg b/apps/frontend/src/assets/images/utils/trash.svg
deleted file mode 100644
index 731d939cc..000000000
--- a/apps/frontend/src/assets/images/utils/trash.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/undo.svg b/apps/frontend/src/assets/images/utils/undo.svg
deleted file mode 100644
index dfda16c24..000000000
--- a/apps/frontend/src/assets/images/utils/undo.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/unknown-donation.svg b/apps/frontend/src/assets/images/utils/unknown-donation.svg
deleted file mode 100644
index 1a124d269..000000000
--- a/apps/frontend/src/assets/images/utils/unknown-donation.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/unknown.svg b/apps/frontend/src/assets/images/utils/unknown.svg
deleted file mode 100644
index 000b3c115..000000000
--- a/apps/frontend/src/assets/images/utils/unknown.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/updated.svg b/apps/frontend/src/assets/images/utils/updated.svg
deleted file mode 100644
index b4a29e8ac..000000000
--- a/apps/frontend/src/assets/images/utils/updated.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/upload.svg b/apps/frontend/src/assets/images/utils/upload.svg
deleted file mode 100644
index 10ff29218..000000000
--- a/apps/frontend/src/assets/images/utils/upload.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/user-plus.svg b/apps/frontend/src/assets/images/utils/user-plus.svg
deleted file mode 100644
index 09e5ff83a..000000000
--- a/apps/frontend/src/assets/images/utils/user-plus.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/user-x.svg b/apps/frontend/src/assets/images/utils/user-x.svg
deleted file mode 100644
index b8244f0de..000000000
--- a/apps/frontend/src/assets/images/utils/user-x.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/user.svg b/apps/frontend/src/assets/images/utils/user.svg
deleted file mode 100644
index 34d4b2b6a..000000000
--- a/apps/frontend/src/assets/images/utils/user.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/users.svg b/apps/frontend/src/assets/images/utils/users.svg
deleted file mode 100644
index 416859760..000000000
--- a/apps/frontend/src/assets/images/utils/users.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/version.svg b/apps/frontend/src/assets/images/utils/version.svg
deleted file mode 100644
index e83cf9bf5..000000000
--- a/apps/frontend/src/assets/images/utils/version.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/wiki.svg b/apps/frontend/src/assets/images/utils/wiki.svg
deleted file mode 100644
index 260e6d41e..000000000
--- a/apps/frontend/src/assets/images/utils/wiki.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/apps/frontend/src/assets/images/utils/world.svg b/apps/frontend/src/assets/images/utils/world.svg
deleted file mode 100644
index d064d8542..000000000
--- a/apps/frontend/src/assets/images/utils/world.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/apps/frontend/src/assets/images/utils/x.svg b/apps/frontend/src/assets/images/utils/x.svg
deleted file mode 100644
index 6e20061f4..000000000
--- a/apps/frontend/src/assets/images/utils/x.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/apps/frontend/src/assets/styles/layout.scss b/apps/frontend/src/assets/styles/layout.scss
index 41be6710e..60e05cfdd 100644
--- a/apps/frontend/src/assets/styles/layout.scss
+++ b/apps/frontend/src/assets/styles/layout.scss
@@ -126,6 +126,7 @@
max-width: 80rem;
column-gap: 0.75rem;
padding: 0 1.5rem;
+ padding-bottom: 1.5rem;
grid-template:
"header"
diff --git a/apps/frontend/src/components/ui/Breadcrumbs.vue b/apps/frontend/src/components/ui/Breadcrumbs.vue
index 35ab1dc08..889a2484a 100644
--- a/apps/frontend/src/components/ui/Breadcrumbs.vue
+++ b/apps/frontend/src/components/ui/Breadcrumbs.vue
@@ -15,7 +15,7 @@
diff --git a/apps/frontend/src/layouts/default.vue b/apps/frontend/src/layouts/default.vue
index 8a70ab6bb..118074246 100644
--- a/apps/frontend/src/layouts/default.vue
+++ b/apps/frontend/src/layouts/default.vue
@@ -80,6 +80,23 @@
/>
+
+
+
+ {{ formatMessage(failedToBuildBannerMessages.title) }}
+
+
+ {{
+ formatMessage(failedToBuildBannerMessages.description, {
+ errors: generatedStateErrors,
+ url: config.public.apiBaseUrl,
+ })
+ }}
+
+