From 9849853b4dec988dbf4877c044b700860298bc92 Mon Sep 17 00:00:00 2001 From: jasonyess <174889127+jasonyess@users.noreply.github.com> Date: Tue, 6 Oct 2026 17:59:45 -0400 Subject: [PATCH 1/2] fix: demon page sometimes holding idle connections --- pointercrate-demonlist-api/src/pages.rs | 2 +- pointercrate-integrate/src/gd.rs | 26 +++++++++---------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/pointercrate-demonlist-api/src/pages.rs b/pointercrate-demonlist-api/src/pages.rs index f84922d6..c923a2f0 100644 --- a/pointercrate-demonlist-api/src/pages.rs +++ b/pointercrate-demonlist-api/src/pages.rs @@ -144,7 +144,7 @@ pub async fn demon_page(position: i16, pool: &State, gd: &Stat }, demonlist: current_list(&mut connection).await?, movements: modifications, - integration: gd.load_level_for_demon(&full_demon.demon).await, + integration: gd.load_level_for_demon(&full_demon.demon, &mut connection).await, data: full_demon, })) } diff --git a/pointercrate-integrate/src/gd.rs b/pointercrate-integrate/src/gd.rs index e930df49..fb28bed8 100644 --- a/pointercrate-integrate/src/gd.rs +++ b/pointercrate-integrate/src/gd.rs @@ -12,7 +12,7 @@ use log::{debug, error, trace, warn}; use pointercrate_core::ratelimits; use pointercrate_demonlist::demon::Demon; use reqwest::{header::CONTENT_TYPE, Client}; -use sqlx::{Pool, Postgres}; +use sqlx::{PgConnection, Pool, Postgres}; use std::{borrow::Cow, sync::Arc}; pub use dash_rs::{ @@ -37,7 +37,7 @@ impl GeometryDashConnector { /// /// If the last time the data for this demon was sought on the Geometry Dash servers was over 24h ago, /// re-query them for updated data. - pub async fn load_level_for_demon(&self, demon: &Demon) -> Option { + pub async fn load_level_for_demon(&self, demon: &Demon, connection: &mut PgConnection) -> Option { if self.ratelimits.throttle_throttle(demon.base.id).is_ok() && self.ratelimits.throttle().is_ok() && self.ratelimits.demon_refresh(demon.base.id).is_ok() @@ -50,12 +50,12 @@ impl GeometryDashConnector { if let Some(level_id) = demon.level_id { let level = self - .lookup_level(level_id) + .lookup_level(level_id, &mut *connection) .await? - .with_data(self.lookup_level_data(level_id).await?); + .with_data(self.lookup_level_data(level_id, &mut *connection).await?); let song = match level.custom_song { - Some(id) => self.lookup_newgrounds_song(id).await, + Some(id) => self.lookup_newgrounds_song(id, &mut *connection).await, None => None, }; @@ -164,9 +164,7 @@ impl GeometryDashConnector { } } - pub async fn lookup_creator(&self, user_id: u64) -> Option> { - let mut connection = self.pool.acquire().await.ok()?; - + pub async fn lookup_creator(&self, user_id: u64, connection: &mut PgConnection) -> Option> { let creator_row = sqlx::query!("SELECT * FROM gj_creator WHERE user_id = $1", user_id as i64) .fetch_one(&mut *connection) .await @@ -195,9 +193,7 @@ impl GeometryDashConnector { let _ = connection.commit().await; } - pub async fn lookup_newgrounds_song(&self, song_id: u64) -> Option> { - let mut connection = self.pool.acquire().await.ok()?; - + pub async fn lookup_newgrounds_song(&self, song_id: u64, connection: &mut PgConnection) -> Option> { let song_row = sqlx::query!("SELECT * from gj_newgrounds_song WHERE song_id = $1", song_id as i64) .fetch_one(&mut *connection) .await @@ -242,9 +238,7 @@ impl GeometryDashConnector { let _ = connection.commit().await; } - pub async fn lookup_level_data(&self, level_id: u64) -> Option> { - let mut connection = self.pool.acquire().await.ok()?; - + pub async fn lookup_level_data(&self, level_id: u64, connection: &mut PgConnection) -> Option> { let row = sqlx::query!("SELECT * FROM gj_level_data WHERE level_id = $1", level_id as i64) .fetch_one(&mut *connection) .await @@ -304,9 +298,7 @@ impl GeometryDashConnector { let _ = connection.commit().await; } - pub async fn lookup_level(&self, level_id: u64) -> Option> { - let mut connection = self.pool.acquire().await.ok()?; - + pub async fn lookup_level(&self, level_id: u64, connection: &mut PgConnection) -> Option> { let row = sqlx::query!("SELECT * FROM gj_level WHERE level_id = $1", level_id as i64) .fetch_one(&mut *connection) .await From 3ca681cfd92c164d3dabc97fa07912422a9ef53e Mon Sep 17 00:00:00 2001 From: jasonyess <174889127+jasonyess@users.noreply.github.com> Date: Tue, 13 Oct 2026 14:59:07 -0400 Subject: [PATCH 2/2] remove duplicate gsi scripts (#1) --- pointercrate-user-pages/src/account/profile.rs | 11 +---------- pointercrate-user-pages/src/login.rs | 12 +++--------- pointercrate-user-pages/src/register.rs | 12 +++--------- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/pointercrate-user-pages/src/account/profile.rs b/pointercrate-user-pages/src/account/profile.rs index 3897b733..e804f516 100644 --- a/pointercrate-user-pages/src/account/profile.rs +++ b/pointercrate-user-pages/src/account/profile.rs @@ -5,7 +5,6 @@ use pointercrate_core::{ permission::PermissionsManager, trp, }; -use pointercrate_core_pages::head::Script; use pointercrate_user::{ auth::{AuthenticatedUser, NonMutating}, config, @@ -24,14 +23,6 @@ impl AccountPageTab for ProfileTab { "/static/user/js/account/profile.js".into() } - fn additional_scripts(&self) -> Vec