Compare commits

..
26 Commits
Author SHA1 Message Date
Brandon Thomas 41e021fcf5 fix cargo tomls 2026-02-22 09:39:17 +07:00
Brandon Thomas e45c7886eb cleanup 2026-02-22 09:37:33 +07:00
Brandon Thomas 163464c3ee Fix OpenSSL/BoringSSL conflicts 2026-02-22 09:34:17 +07:00
Brandon Thomas 94ff298cfa run docker builds on "test" branch 2026-02-21 08:58:29 +07:00
Tanish Manku c98aca330b Map history stack and corresponding edits (#1041)
Event based, so only updates on creation, selection and deletion of
history images.
2026-02-20 16:37:38 -08:00
Brandon Thomas f9da20315e clang 2026-02-21 06:53:45 +07:00
Brandon Thomas 4134c648ab upgrade boringssl, wreq, etc. 2026-02-21 06:40:53 +07:00
Brandon Thomas 56d40c7800 replace reqwest with wreq in web 2026-02-21 06:07:27 +07:00
Brandon Thomas 69adc0d95a remove seedance job for now 2026-02-21 05:49:47 +07:00
Brandon Thomas 0613e6d3ca seedance2pro cargo.toml dep 2026-02-21 05:43:28 +07:00
Brandon Thomas 4b77e589e8 build verbosely 2026-02-21 05:26:07 +07:00
Brandon Thomas 71ba9e7286 revert all build tomls 2026-02-21 05:19:31 +07:00
Brandon Thomas e219c4728b revert storyteller-web cargo.toml 2026-02-21 05:11:50 +07:00
Brandon Thomas 0b3cce75f3 revert cargo/docker 2026-02-21 05:08:29 +07:00
Brandon Thomas 339fb8263c revert some of dockerfile 2026-02-21 04:56:52 +07:00
Brandon Thomas 8cd0f543fa reqwest augh 2026-02-21 04:54:25 +07:00
Brandon Thomas a25c4005a9 reqwest issues 2026-02-21 04:32:28 +07:00
Brandon Thomas dbd89cdd10 consolidate reqwest usage 2026-02-21 04:08:25 +07:00
Brandon Thomas 9c1136710d this could have introduced the issue 2026-02-21 03:23:46 +07:00
Brandon Thomas 7054e3a381 clang packages 2026-02-21 03:07:43 +07:00
Brandon Thomas bbc4b98b50 debug failing build 2026-02-21 02:53:59 +07:00
Brandon Thomas 6c2f60801e artcraft seedance (tauri app) (#1046) 2026-02-21 02:41:16 +07:00
Brandon Thomas 68624e81d8 bump rust docker version 2026-02-20 21:46:02 +07:00
Brandon Thomas 5bbb0fdb06 db codegen 2026-02-20 21:15:02 +07:00
Brandon Thomas 8273822a5c seedance job - download seedance results and upload to storage (#1045) 2026-02-20 17:45:49 +07:00
Brandon Thomas e1427094c3 seedance 2.0 generation endpoint (#1044) 2026-02-20 15:50:27 +07:00
7 changed files with 13 additions and 16 deletions
Generated
+1 -1
View File
@@ -11520,7 +11520,6 @@ dependencies = [
"redis_common",
"redis_schema",
"regex",
"reqwest 0.12.23",
"resend-rs",
"reusable_types",
"rust-s3",
@@ -11552,6 +11551,7 @@ dependencies = [
"utoipa-swagger-ui",
"videos",
"workspace-build-acceleration",
"wreq",
"zip 0.6.6",
]
+1 -1
View File
@@ -300,7 +300,7 @@ toml = "0.8.23"
url = { version = "2.5.4", features = ["serde"] }
uuid = "1.18.1"
# NB(1): wreq gets past fingerprinting, but we have to deal with platform-specific build issues.
# NB: wreq gets past fingerprinting, but we have to deal with platform-specific build issues.
#
# Mac:
# brew install --formula cmake pkg-config llvm
@@ -22,8 +22,5 @@ workspace-build-acceleration.workspace = true
once_cell.workspace = true
wreq.workspace = true
[target.'cfg(target_os = "linux")'.dependencies]
wreq = { workspace = true, features = ["prefix-symbols"] }
[dev-dependencies]
# (None)
+4 -4
View File
@@ -16,11 +16,11 @@ path = "src/lib.rs"
normal = ["workspace-build-acceleration"]
[dependencies]
# Internal
errors = { path = "../errors" }
# cargo-hakari workspace hack (faster compile times)
workspace-build-acceleration.workspace = true
# Workspace hack (faster compile times)
workspace-build-acceleration = { version = "0.1", path = "../../workspace-build-acceleration" }
# Internal
errors.workspace = true
# External
# (None yet)
@@ -52,7 +52,6 @@ email_sender= { path = "../../../lib/email_sender" }
enums.workspace = true
enums_public.workspace = true
errors.workspace = true
seedance2pro.workspace = true
fal_client.workspace = true
filesys.workspace = true
google_sign_in = { path = "../../../api_clients/google_sign_in" }
@@ -66,7 +65,6 @@ memory_caching = { path = "../../../lib/caching/memory_caching" }
migration = { path = "../../../lib/migration" }
mimetypes.workspace = true
mysql_queries = { path = "../../../schema/database/mysql_queries" }
#openai_sora_client = { path = "../../../api_clients/openai_sora_client" }
password = { path = "../../../lib/password" }
primitives = { path = "../../../lib/data/primitives" }
prompt_engineering = { path = "../../../lib/machine_learning/prompt_engineering" }
@@ -74,6 +72,7 @@ redis_caching = { path = "../../../lib/caching/redis_caching" }
redis_common = { path = "../../../schema/database/redis_common" }
redis_schema = { path = "../../../schema/database/redis_schema" }
reusable_types = { path = "../../../schema/public/reusable_types" }
seedance2pro.workspace = true
server_environment = { path = "../../../lib/server_environment" }
thumbnail_generator = { path = "../../../api_clients/thumbnail_generator" }
tokens.workspace = true
@@ -112,10 +111,12 @@ language-tags = "0.3.2" # Parsing single tags richly
# HTTP
# TODO/NB: This is just for Twitch, but we might need it later.
reqwest.workspace = true
# reqwest.workspace = true
wreq.workspace = true
# Email
resend-rs = { version = "0.21.0", default-features = false, features = ["rustls-tls"] }
# NB: Both ring (via reqwest 0.12/hyper-rustls) and aws-lc-rs (via quinn/resend-rs)
# are features of rustls 0.23 in this binary. rustls requires an explicit default
# provider when multiple crypto providers are compiled in.
@@ -1,13 +1,13 @@
use bytes::Bytes;
use errors::AnyhowResult;
use reqwest::{Client, IntoUrl};
use wreq::Client;
const USER_AGENT: &str = "storyteller-web/1.0";
// TODO(bt, 2025-06-03): Don't load the entire file into memory!
/// Downloads a (binary) file to memory. Good for images, etc. Not great for large files.
pub async fn http_download_url_to_bytes<U: IntoUrl>(url: U) -> AnyhowResult<Bytes> {
pub async fn http_download_url_to_bytes(url: &str) -> AnyhowResult<Bytes> {
let client = Client::builder()
.gzip(true)
.build()?;
@@ -1,13 +1,12 @@
use crate::util::http_download_url_to_bytes::http_download_url_to_bytes;
use errors::AnyhowResult;
use reqwest::IntoUrl;
use std::io::Write;
use tempfile::NamedTempFile;
const USER_AGENT: &str = "storyteller-web/1.0";
/// Downloads a (binary) file to a filesystem path. Good for images, etc. Not great for large files.
pub async fn http_download_url_to_tempfile<U: IntoUrl>(url: U, temp_file: &mut NamedTempFile) -> AnyhowResult<()> {
pub async fn http_download_url_to_tempfile(url: &str, temp_file: &mut NamedTempFile) -> AnyhowResult<()> {
let bytes = http_download_url_to_bytes(url).await?;
temp_file.write_all(&bytes)?;
Ok(())