Compare commits

...

2 Commits

Author SHA1 Message Date
spinline
32f4946530 fix: show N/A for magnet link dates
All checks were successful
Build MIPS Binary / build (push) Successful in 4m14s
Magnet links don't have creation_date, so timestamp is 0.
Now shows 'N/A' instead of 01/01/1970 00:00
2026-02-08 05:28:14 +03:00
spinline
619951fa1c security: remove hardcoded VAPID keys fallback
All checks were successful
Build MIPS Binary / build (push) Successful in 4m14s
VAPID keys must now be set via environment variables or .env file.
This eliminates the security risk of having keys in source code.
2026-02-08 05:16:31 +03:00
2 changed files with 6 additions and 9 deletions

View File

@@ -118,13 +118,8 @@ pub async fn send_push_notification(
let client = HyperWebPushClient::new();
// Get VAPID keys from environment or use defaults
let _vapid_public_key = std::env::var("VAPID_PUBLIC_KEY")
.unwrap_or_else(|_| "BEdPj6XQR7MGzM28Nev9wokF5upHoydNDahouJbQ9ZdBJpEFAN1iNfANSEvY0ItasNY5zcvvqN_tjUt64Rfd0gU".to_string());
let vapid_private_key = std::env::var("VAPID_PRIVATE_KEY")
.unwrap_or_else(|_| "aUcCYJ7kUd9UClCaWwad0IVgbYJ6svwl19MjSX7GH10".to_string());
let vapid_email = std::env::var("VAPID_EMAIL")
.unwrap_or_else(|_| "mailto:admin@vibetorrent.app".to_string());
let vapid_private_key = std::env::var("VAPID_PRIVATE_KEY").expect("VAPID_PRIVATE_KEY must be set in .env");
let vapid_email = std::env::var("VAPID_EMAIL").expect("VAPID_EMAIL must be set in .env");
for subscription in subscriptions {
let subscription_info = SubscriptionInfo {
@@ -166,6 +161,5 @@ pub async fn send_push_notification(
}
pub fn get_vapid_public_key() -> String {
std::env::var("VAPID_PUBLIC_KEY")
.unwrap_or_else(|_| "BEdPj6XQR7MGzM28Nev9wokF5upHoydNDahouJbQ9ZdBJpEFAN1iNfANSEvY0ItasNY5zcvvqN_tjUt64Rfd0gU".to_string())
std::env::var("VAPID_PUBLIC_KEY").expect("VAPID_PUBLIC_KEY must be set in .env")
}

View File

@@ -46,6 +46,9 @@ fn format_duration(seconds: i64) -> String {
}
fn format_date(timestamp: i64) -> String {
if timestamp <= 0 {
return "N/A".to_string();
}
let dt = chrono::DateTime::from_timestamp(timestamp, 0);
match dt {
Some(dt) => dt.format("%d/%m/%Y %H:%M").to_string(),