Skip to content

Commit 5ef952a

Browse files
chore: update dependencies
Signed-off-by: Henry <mail@henrygressmann.de>
1 parent 38c415c commit 5ef952a

File tree

12 files changed

+248
-244
lines changed

12 files changed

+248
-244
lines changed

Cargo.lock

Lines changed: 130 additions & 97 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ path="src/main.rs"
1616

1717
[dependencies]
1818
# async/concurrency
19-
arc-swap="1.8"
19+
arc-swap="1.9"
2020
tokio={version="1.50", default-features=false, features=["macros", "rt-multi-thread", "signal"]}
2121
tokio-util={version="0.7", features=["io"]}
2222
futures-lite={version="2.6", default-features=false, features=["alloc"]}
@@ -29,9 +29,9 @@ serde={version="1.0", features=["derive"]}
2929
serde_json={version="1.0"}
3030
md-5={version="0.11.0-rc.5"}
3131
async-compression={version="0.4", default-features=false, features=["gzip", "tokio"]}
32-
tokio-tar={package="astral-tokio-tar", version="0.5"}
32+
tokio-tar={package="astral-tokio-tar", version="0.6"}
3333
blake3={version="1.8"}
34-
argon2={version="0.6.0-rc.7", features=[]}
34+
argon2={version="0.6.0-rc.8", features=[]}
3535
password-hash={version="0.6.0", features=[
3636
"rand_core",
3737
"getrandom",
@@ -68,7 +68,7 @@ tower-http={version="0.6", default-features=false, features=[
6868
"set-header",
6969
]}
7070
tower_governor={version="0.8", default-features=false, features=["axum"]}
71-
aide={version="0.16.0-alpha.2", default-features=false, features=[
71+
aide={version="0.16.0-alpha.3", default-features=false, features=[
7272
"axum",
7373
"axum-json",
7474
"axum-matched-path",
@@ -82,13 +82,13 @@ rust-embed={version="8.11", features=["mime-guess"]}
8282
reqwest={version="0.13", default-features=false, features=["json", "stream", "charset", "rustls"]}
8383

8484
# database
85-
duckdb={version="1.10500", features=["buildtime_bindgen", "chrono", "bundled", "r2d2"]}
85+
duckdb={version="1.10501", features=["buildtime_bindgen", "chrono", "bundled", "r2d2"]}
8686
rusqlite={version="0.39", features=["bundled", "modern_sqlite", "chrono"]}
8787
r2d2={version="0.8", default-features=false}
8888
refinery={version="0.9", default-features=false}
8989
refinery-core={version="0.9", default-features=false}
9090
maxminddb={version="0.27", optional=true, features=["simdutf8"]}
91-
mimalloc={version="0.1"}
91+
mimalloc={version="0.1", features=["v3"]}
9292

9393
[dev-dependencies]
9494
figment={version="*", features=["test"]}

data/licenses-cargo.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

data/licenses-npm.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

src/app/core/geoip.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
#![allow(dead_code)]
2-
31
use std::io::{self, Read};
42
use std::net::IpAddr;
53
use std::path::{Path, PathBuf};
64
use std::sync::Arc;
75
use std::sync::atomic::{AtomicBool, Ordering};
86
use std::time::Duration;
97

10-
use crate::app::SqlitePool;
118
use anyhow::{Context, Result, anyhow};
129
use arc_swap::ArcSwapOption;
1310
use futures_lite::StreamExt;
@@ -26,21 +23,19 @@ pub struct LookupResult {
2623
}
2724

2825
pub struct LiwanGeoIP {
29-
pool: SqlitePool,
3026
reader: ArcSwapOption<maxminddb::Reader<Vec<u8>>>,
31-
3227
downloading: AtomicBool,
3328
geoip: crate::config::GeoIpConfig,
3429
path: PathBuf,
3530
}
3631

3732
impl LiwanGeoIP {
38-
pub fn try_new(config: crate::config::Config, pool: SqlitePool) -> Result<Self> {
33+
pub fn try_new(config: crate::config::Config) -> Result<Self> {
3934
let geoip = config.geoip;
4035
if geoip.maxmind_account_id.is_none() && geoip.maxmind_license_key.is_none() && geoip.maxmind_db_path.is_none()
4136
{
4237
tracing::trace!("GeoIP support disabled, skipping...");
43-
return Ok(Self::noop(pool));
38+
return Ok(Self::noop());
4439
}
4540

4641
let edition = &geoip.maxmind_edition;
@@ -61,13 +56,12 @@ impl LiwanGeoIP {
6156
maxminddb::Reader::open_readfile(path.clone()).expect("Failed to open GeoIP database file").into()
6257
});
6358

64-
Ok(Self { geoip, pool, reader: ArcSwapOption::new(reader), path, downloading: Default::default() })
59+
Ok(Self { geoip, reader: ArcSwapOption::new(reader), path, downloading: Default::default() })
6560
}
6661

67-
fn noop(pool: SqlitePool) -> Self {
62+
fn noop() -> Self {
6863
Self {
6964
geoip: Default::default(),
70-
pool,
7165
reader: ArcSwapOption::new(None),
7266
downloading: Default::default(),
7367
path: PathBuf::new(),

src/app/mod.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ pub struct Liwan {
2525
pub onboarding: core::onboarding::LiwanOnboarding,
2626
pub entities: core::entities::LiwanEntities,
2727
pub projects: core::projects::LiwanProjects,
28+
29+
#[cfg(feature = "geoip")]
2830
pub geoip: Arc<core::geoip::LiwanGeoIP>,
2931

3032
pub config: Config,
@@ -59,7 +61,7 @@ impl Liwan {
5961

6062
Ok(Self {
6163
#[cfg(feature = "geoip")]
62-
geoip: core::geoip::LiwanGeoIP::try_new(config.clone(), conn_app.clone())?.into(),
64+
geoip: core::geoip::LiwanGeoIP::try_new(config.clone())?.into(),
6365

6466
events: LiwanEvents::try_new(conn_events.clone(), conn_app.clone())?,
6567
onboarding: LiwanOnboarding::try_new(&conn_app)?,
@@ -81,7 +83,7 @@ impl Liwan {
8183

8284
Ok(Self {
8385
#[cfg(feature = "geoip")]
84-
geoip: core::geoip::LiwanGeoIP::try_new(config.clone(), conn_app.clone())?.into(),
86+
geoip: core::geoip::LiwanGeoIP::try_new(config.clone())?.into(),
8587

8688
events: LiwanEvents::try_new(conn_events.clone(), conn_app.clone())?,
8789
onboarding: LiwanOnboarding::try_new(&conn_app)?,
@@ -101,6 +103,7 @@ impl Liwan {
101103
}
102104

103105
pub fn run_background_tasks(&self) {
106+
#[cfg(feature = "geoip")]
104107
tokio::task::spawn(core::geoip::keep_updated(self.geoip.clone()));
105108
}
106109

src/web/routes/event.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,16 @@ fn process_event(
9797
Some(ip) => hash_ip(&ip, user_agent.as_str(), &app.events.get_salt()?, &event.entity_id),
9898
None => visitor_id(),
9999
};
100+
101+
#[cfg(feature = "geoip")]
100102
let (country, city) = ip
101103
.and_then(|ip| app.geoip.lookup(&ip).ok())
102104
.map(|lookup| (lookup.country_code, lookup.city))
103105
.unwrap_or((None, None));
104106

107+
#[cfg(not(feature = "geoip"))]
108+
let (country, city) = (None, None);
109+
105110
let path = url.path().to_string();
106111
let path = if path.len() > 1 && path.ends_with('/') { path.trim_end_matches('/').to_string() } else { path };
107112
let fqdn = url.host().unwrap_or_default().to_string();

src/web/webext.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#![allow(clippy::result_large_err)]
2-
31
use std::convert::Infallible;
42
use std::fmt::Display;
53
use std::marker::PhantomData;

0 commit comments

Comments
 (0)