Compare commits

...

4 Commits

Author SHA1 Message Date
DecDuck
43e58bbb87 Merge remote-tracking branch 'origin/store' into release-prep 2026-01-29 20:44:09 +11:00
DecDuck
7092800159 fix: keyring fix 2026-01-29 20:43:57 +11:00
DecDucK
285e5e4c51 feat: add necessary client fixes for store 2026-01-24 20:24:36 +11:00
DecDucK
c74ef58c25 fix: windows launch 2026-01-24 18:58:48 +11:00
4 changed files with 19 additions and 9 deletions

View File

@@ -6,7 +6,7 @@ use std::{
use keyring::Entry;
use log::info;
use crate::interface::{DatabaseInterface};
use crate::interface::DatabaseInterface;
pub static DB: LazyLock<DatabaseInterface> = LazyLock::new(DatabaseInterface::set_up_database);
@@ -32,6 +32,9 @@ pub(crate) static KEY_IV: LazyLock<([u8; 16], [u8; 16])> = LazyLock::new(|| {
info!("created new database key");
buffer.to_vec()
});
let new = key.split_off(16);
(new.try_into().expect("failed to extract key"), key.try_into().expect("failed to extract iv"))
});
let iv: Vec<u8> = key.split_off(16);
(
key[0..16].try_into().expect("key wrong length"),
iv[0..16].try_into().expect("iv wrong length"),
)
});

View File

@@ -453,7 +453,7 @@ impl ProcessManager<'_> {
#[cfg(target_os = "windows")]
let mut command = Command::new("cmd");
#[cfg(target_os = "windows")]
command.raw_arg(format!("/C \"{}\"", &launch_string));
command.raw_arg(format!("/C \"{}\"", &launch_parameters.0));
info!(
"launching (in {}): {}",

View File

@@ -1,6 +1,6 @@
use database::borrow_db_checked;
use http::{
HeaderMap, HeaderValue, Request, Response, StatusCode, Uri, header::USER_AGENT,
HeaderMap, HeaderValue, Request, Response, StatusCode, Uri, header::{CONTENT_SECURITY_POLICY, USER_AGENT, X_FRAME_OPTIONS},
};
use log::{error, warn};
use tauri::UriSchemeResponder;
@@ -30,7 +30,7 @@ pub async fn handle_server_proto_wrapper(request: Request<Vec<u8>>, responder: U
match handle_server_proto(request).await {
Ok(r) => responder.respond(r),
Err(e) => {
warn!("Cache error: {e}");
warn!("server proto error: {e}");
responder.respond(
Response::builder()
.status(e)
@@ -84,12 +84,13 @@ async fn handle_server_proto(request: Request<Vec<u8>>) -> Result<Response<Vec<u
let response = match DROP_CLIENT_ASYNC
.request(request.method().clone(), new_uri.to_string())
.headers(headers)
.body(request.body().clone()) // TODO: refactor this into a move
.send()
.await
{
Ok(response) => response,
Err(e) => {
warn!("Could not send response. Got {e} when sending");
warn!("Could not send response. Got {e:?} when sending");
return Err(e.status().unwrap_or(StatusCode::BAD_REQUEST));
}
};
@@ -102,6 +103,12 @@ async fn handle_server_proto(request: Request<Vec<u8>>) -> Result<Response<Vec<u
{
let client_response_headers = client_http_response.headers_mut().unwrap();
for (header, header_value) in response.headers() {
if header == CONTENT_SECURITY_POLICY {
continue;
}
if header == X_FRAME_OPTIONS {
continue;
}
client_response_headers.insert(header, header_value.clone());
}
};