Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b4b6587
feat(nip-fi): harden Blossom kind-24242 verifier to NIP-FI spec
Sep 3, 2026
cd509fd
docs(nip-fi): correct Blossom compliance note — strict verifier gates…
Sep 3, 2026
9a53139
fix(media): mode-aware denial responses and 60s proof window across a…
Sep 3, 2026
3bee6ab
fix(media): fix borrow-after-move in denial response tests
Sep 3, 2026
be879b5
fix(media): make MediaDenial pub(crate) to satisfy public interface rule
Sep 3, 2026
5df4caf
fix(media): close strictness bypass at X-SHA-256 and upload_blob erro…
Sep 3, 2026
68972cd
fix(media): update mobile tests/docs to 60s mint-per-request contract…
Sep 3, 2026
fbd3c93
fix(media): tighten handler visibility to pub(crate); fix borrow-afte…
Sep 3, 2026
77fabf3
fix(media): align evidence_rejected status to NIP-FI spec table (401→…
Sep 3, 2026
151ec74
fix(media): fix e2e auth assertions for structural vs oracle-guard fa…
Sep 3, 2026
1d8cb41
fix(media): restore single-401 Permissive path; revert e2e auth to 401
Sep 3, 2026
3f8d340
test(media): pin exact JSON body in Permissive 401 regression test
Sep 3, 2026
75e9bef
fix(media): fix valueless-t verb-binding bypass; move hash check post…
Sep 3, 2026
41ee983
fix(media): count all t tags by field name in Strict cardinality
Sep 3, 2026
654071e
test(media): rename stale t-tag test names to reflect count-then-reject
Sep 3, 2026
a4ebfbb
fix(nip-fi): address Carl review 5122595703 + merge origin/main
Sep 21, 2026
3777b56
fix(media): address Thufir pass-1 recheck findings on #7288
Sep 21, 2026
a8d00e9
chore(mobile/test): add platform-interface packages to dev_dependencies
Sep 21, 2026
d3dfc02
fix(mobile/test): fix pumpAndSettle hangs on BuzzLoadingIndicator in …
Sep 22, 2026
ff1bfca
fix(media): address Thufir pass-2 findings — sink, pending-ctrl, test…
Sep 22, 2026
8fc15b2
fix(tests): add flutter/material.dart import for SizedBox in video vi…
Sep 22, 2026
badcee9
fix(mobile/test): fix video viewer test failures from pass-2 review
Sep 22, 2026
033022e
chore(mobile/test): fix transport test import and lockfile
Sep 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions crates/buzz-cli/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ fn sign_blossom_get(keys: &Keys, media_url: &str) -> Result<String, CliError> {
use nostr::Timestamp;

let now = Timestamp::now().as_secs();
let exp_str = (now + 600).to_string();
let exp_str = (now + 60).to_string();
let domain = relay_server_tag(media_url)
.ok_or_else(|| CliError::Usage(format!("invalid media URL: {media_url}")))?;
let tags = vec![
Expand All @@ -350,28 +350,23 @@ fn sign_blossom_get(keys: &Keys, media_url: &str) -> Result<String, CliError> {
fn sign_blossom_upload(
keys: &Keys,
sha256: &str,
mime: &str,
_mime: &str,
relay_url: &str,
) -> Result<String, CliError> {
use base64::engine::general_purpose::URL_SAFE_NO_PAD;
use nostr::Timestamp;

let now = Timestamp::now().as_secs();
let expiry: u64 = if mime.starts_with("video/") {
3600
} else {
600
};
let exp_str = (now + expiry).to_string();
let exp_str = (now + 60).to_string();
let domain = relay_server_tag(relay_url)
.ok_or_else(|| CliError::Usage(format!("invalid relay URL: {relay_url}")))?;

let mut tags = vec![
let tags = vec![
Tag::parse(["t", "upload"]).map_err(|e| CliError::Other(e.to_string()))?,
Tag::parse(["x", sha256]).map_err(|e| CliError::Other(e.to_string()))?,
Tag::parse(["expiration", &exp_str]).map_err(|e| CliError::Other(e.to_string()))?,
Tag::parse(["server", &domain]).map_err(|e| CliError::Other(e.to_string()))?,
];
if let Some(domain) = relay_server_tag(relay_url) {
tags.push(Tag::parse(["server", &domain]).map_err(|e| CliError::Other(e.to_string()))?);
}

let auth_event = EventBuilder::new(Kind::from(24242), "Upload file")
.tags(tags)
Expand Down
4 changes: 2 additions & 2 deletions crates/buzz-dev-mcp/src/view_image.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ pub(crate) const MAX_DECODER_ALLOC: u64 = 256 * 1024 * 1024;
/// Connect + read timeout for URL fetches.
const FETCH_TIMEOUT: Duration = Duration::from_secs(10);
/// Lifetime of a Blossom `t=get` read token for relay media fetches.
/// Matches the desktop client's `MEDIA_GET_AUTH_EXPIRY_SECS`.
const MEDIA_GET_AUTH_EXPIRY_SECS: u64 = 600;
/// 60 seconds — matches the NIP-FI strict proof window.
const MEDIA_GET_AUTH_EXPIRY_SECS: u64 = 60;

/// Build the decoder allocation cap. Centralised so the resize path uses the
/// same value tests can reason about.
Expand Down
Loading
Loading