diff --git a/crates/app/src/macros.rs b/crates/app/src/macros.rs
index 721314d..c7410a0 100644
--- a/crates/app/src/macros.rs
+++ b/crates/app/src/macros.rs
@@ -157,6 +157,14 @@ macro_rules! check_user_blocked_or_private {
.await
.is_ok(),
);
+ context.insert(
+ "is_following",
+ &$data
+ .0
+ .get_userfollow_by_initiator_receiver(ua.id, $other_user.id)
+ .await
+ .is_ok(),
+ );
return Ok(Html(
$data.1.render("profile/private.html", &context).unwrap(),
diff --git a/crates/app/src/main.rs b/crates/app/src/main.rs
index 1f79837..5bb19c3 100644
--- a/crates/app/src/main.rs
+++ b/crates/app/src/main.rs
@@ -59,8 +59,8 @@ async fn main() {
// governor
let governor_config = Arc::new(
GovernorConfigBuilder::default()
- .per_millisecond(75)
- .burst_size(32)
+ .per_millisecond(64)
+ .burst_size(128)
.finish()
.unwrap(),
);
diff --git a/crates/app/src/public/html/components.html b/crates/app/src/public/html/components.html
index 88d5d49..07042a2 100644
--- a/crates/app/src/public/html/components.html
+++ b/crates/app/src/public/html/components.html
@@ -1112,7 +1112,7 @@ show_kick=false, secondary=false) -%}
{{ self::full_username(user=user) }}
{{ self::user_status(other_user=user) }}
diff --git a/crates/app/src/routes/api/v1/auth/connections/stripe.rs b/crates/app/src/routes/api/v1/auth/connections/stripe.rs
index 551c653..cf8b866 100644
--- a/crates/app/src/routes/api/v1/auth/connections/stripe.rs
+++ b/crates/app/src/routes/api/v1/auth/connections/stripe.rs
@@ -70,8 +70,8 @@ pub async fn stripe_webhook(
let customer_id = invoice.customer.unwrap().id();
- // allow 10s for everything to finalize
- tokio::time::sleep(Duration::from_secs(10)).await;
+ // allow 30s for everything to finalize
+ tokio::time::sleep(Duration::from_secs(30)).await;
// pull user and update role
let user = match data.get_user_by_stripe_id(customer_id.as_str()).await {
@@ -79,6 +79,14 @@ pub async fn stripe_webhook(
Err(e) => return Json(e.into()),
};
+ if user.permissions.check(FinePermission::SUPPORTER) {
+ return Json(ApiReturn {
+ ok: true,
+ message: "Already applied".to_string(),
+ payload: (),
+ });
+ }
+
tracing::info!("invoice {} (stripe: {})", user.id, customer_id);
let new_user_permissions = user.permissions | FinePermission::SUPPORTER;