aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/ui')
-rw-r--r--server/src/ui/admin/mod.rs23
-rw-r--r--server/src/ui/assets.rs59
-rw-r--r--server/src/ui/error.rs2
-rw-r--r--server/src/ui/mod.rs3
-rw-r--r--server/src/ui/player.rs3
5 files changed, 33 insertions, 57 deletions
diff --git a/server/src/ui/admin/mod.rs b/server/src/ui/admin/mod.rs
index 3a9e4e2..62c5940 100644
--- a/server/src/ui/admin/mod.rs
+++ b/server/src/ui/admin/mod.rs
@@ -12,7 +12,7 @@ use super::{
};
use crate::{database::Database, helper::A, locale::AcceptLanguage};
use anyhow::{anyhow, Context};
-use jellybase::{assetfed::AssetInner, federation::Federation, CONF};
+use jellybase::assetfed::AssetInner;
use jellycommon::routes::u_admin_dashboard;
use jellyimport::{import_wrap, is_importing, IMPORT_ERRORS};
use jellylogic::session::AdminSession;
@@ -103,7 +103,6 @@ pub async fn r_admin_remove_invite(
pub async fn r_admin_import(
session: A<AdminSession>,
database: &State<Database>,
- _federation: &State<Federation>,
incremental: bool,
) -> MyResult<Redirect> {
drop(session);
@@ -139,26 +138,6 @@ pub async fn r_admin_update_search(
Ok(Redirect::temporary(u_admin_dashboard()))
}
-#[post("/admin/delete_cache")]
-pub async fn r_admin_delete_cache(
- session: A<AdminSession>,
- database: &State<Database>,
-) -> MyResult<Redirect> {
- drop(session);
- let t = Instant::now();
- let r = tokio::fs::remove_dir_all(&CONF.cache_path).await;
- tokio::fs::create_dir(&CONF.cache_path).await?;
- // admin_dashboard(
- // database,
- // Some(
- // r.map_err(|e| e.into())
- // .map(|_| format!("Cache deleted; took {:?}", t.elapsed())),
- // ),
- // )
- // .await
- Ok(Redirect::temporary(u_admin_dashboard()))
-}
-
static SEM_TRANSCODING: Semaphore = Semaphore::const_new(1);
fn is_transcoding() -> bool {
SEM_TRANSCODING.available_permits() == 0
diff --git a/server/src/ui/assets.rs b/server/src/ui/assets.rs
index 3b9319e..596661a 100644
--- a/server/src/ui/assets.rs
+++ b/server/src/ui/assets.rs
@@ -4,11 +4,9 @@
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
use super::error::MyResult;
-use crate::helper::{cache::CacheControlFile, A};
+use crate::{helper::{cache::CacheControlFile, A}, CONF};
use anyhow::{anyhow, bail, Context};
-use base64::Engine;
-use jellybase::{assetfed::AssetInner, database::Database, federation::Federation, CONF};
-use jellycache::async_cache_file;
+use jellybase::{assetfed::AssetInner, database::Database};
use jellycommon::{LocalTrack, NodeID, PeopleGroup, SourceTrackKind, TrackSource};
use jellylogic::session::Session;
use log::info;
@@ -21,22 +19,23 @@ pub const AVIF_SPEED: u8 = 5;
#[get("/asset/<token>?<width>")]
pub async fn r_asset(
_session: A<Session>,
- fed: &State<Federation>,
token: &str,
width: Option<usize>,
) -> MyResult<(ContentType, CacheControlFile)> {
let width = width.unwrap_or(2048);
let asset = AssetInner::deser(token)?;
- let path = if let AssetInner::Federated { host, asset } = asset {
- let session = fed.get_session(&host).await?;
+ let path =
+ // if let AssetInner::Federated { host, asset } = asset {
+ // let session = fed.get_session(&host).await?;
- let asset = base64::engine::general_purpose::URL_SAFE.encode(asset);
- async_cache_file("fed-asset", &asset, |out| async {
- session.asset(out, &asset, width).await
- })
- .await?
- } else {
+ // let asset = base64::engine::general_purpose::URL_SAFE.encode(asset);
+ // async_cache_file("fed-asset", &asset, |out| async {
+ // session.asset(out, &asset, width).await
+ // })
+ // .await?
+ // } else
+ {
let source = resolve_asset(asset).await.context("resolving asset")?;
// fit the resolution into a finite set so the maximum cache is finite too.
@@ -56,7 +55,7 @@ pub async fn resolve_asset(asset: AssetInner) -> anyhow::Result<PathBuf> {
match asset {
AssetInner::Cache(c) => Ok(c.abs()),
AssetInner::Assets(c) => Ok(CONF.asset_path.join(c)),
- AssetInner::Media(c) => Ok(CONF.media_path.join(c)),
+ AssetInner::Media(c) => Ok(c),
_ => bail!("wrong asset type"),
}
}
@@ -138,7 +137,6 @@ pub async fn r_person_asset(
pub async fn r_node_thumbnail(
_session: A<Session>,
db: &State<Database>,
- fed: &State<Federation>,
id: A<NodeID>,
t: f64,
width: Option<usize>,
@@ -146,7 +144,7 @@ pub async fn r_node_thumbnail(
let node = db.get_node(id.0)?.ok_or(anyhow!("node does not exist"))?;
let media = node.media.as_ref().ok_or(anyhow!("no media"))?;
- let (thumb_track_index, thumb_track) = media
+ let (thumb_track_index, _thumb_track) = media
.tracks
.iter()
.enumerate()
@@ -171,23 +169,24 @@ pub async fn r_node_thumbnail(
return Err(anyhow!("track set to wrong asset type").into());
};
// the track selected might be different from thumb_track
- jellytranscoder::thumbnail::create_thumbnail(&CONF.media_path.join(path), t).await?
+ jellytranscoder::thumbnail::create_thumbnail(&path, t).await?
}
TrackSource::Remote(_) => {
- // TODO in the new system this is preferrably a property of node ext for regular fed
- let session = fed
- .get_session(
- thumb_track
- .federated
- .last()
- .ok_or(anyhow!("federation broken"))?,
- )
- .await?;
+ // // TODO in the new system this is preferrably a property of node ext for regular fed
+ // let session = fed
+ // .get_session(
+ // thumb_track
+ // .federated
+ // .last()
+ // .ok_or(anyhow!("federation broken"))?,
+ // )
+ // .await?;
- async_cache_file("fed-thumb", (id.0, t as i64), |out| {
- session.node_thumbnail(out, id.0.into(), 2048, t)
- })
- .await?
+ // async_cache_file("fed-thumb", (id.0, t as i64), |out| {
+ // session.node_thumbnail(out, id.0.into(), 2048, t)
+ // })
+ // .await?
+ todo!()
}
};
diff --git a/server/src/ui/error.rs b/server/src/ui/error.rs
index 0ea1a8d..05249af 100644
--- a/server/src/ui/error.rs
+++ b/server/src/ui/error.rs
@@ -3,7 +3,7 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
-use jellybase::CONF;
+use crate::CONF;
use log::info;
use rocket::{
catch,
diff --git a/server/src/ui/mod.rs b/server/src/ui/mod.rs
index 17a8b6f..041dadc 100644
--- a/server/src/ui/mod.rs
+++ b/server/src/ui/mod.rs
@@ -3,10 +3,9 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
-use crate::{helper::A, locale::AcceptLanguage};
+use crate::{helper::A, locale::AcceptLanguage, CONF};
use error::MyResult;
use home::rocket_uri_macro_r_home;
-use jellybase::CONF;
use jellylogic::session::Session;
use jellyui::{render_page, scaffold::RenderInfo, CustomPage};
use rocket::{
diff --git a/server/src/ui/player.rs b/server/src/ui/player.rs
index 94ca6ac..300e9d2 100644
--- a/server/src/ui/player.rs
+++ b/server/src/ui/player.rs
@@ -4,8 +4,7 @@
Copyright (C) 2025 metamuffin <metamuffin.org>
*/
use super::error::MyResult;
-use crate::{database::Database, helper::A, locale::AcceptLanguage};
-use jellybase::CONF;
+use crate::{database::Database, helper::A, locale::AcceptLanguage, CONF};
use jellycommon::{
api::NodeFilterSort,
stream::{StreamContainer, StreamSpec},