From c6a691bbdfecb18388bc18644dc9e56a3577acd2 Mon Sep 17 00:00:00 2001 From: yggverse Date: Mon, 24 Mar 2025 22:23:39 +0200 Subject: [PATCH] update header len for input statuses --- .../window/tab/item/client/driver/gemini.rs | 47 ++++++++++++++----- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/src/app/browser/window/tab/item/client/driver/gemini.rs b/src/app/browser/window/tab/item/client/driver/gemini.rs index fc84072e..6885bfed 100644 --- a/src/app/browser/window/tab/item/client/driver/gemini.rs +++ b/src/app/browser/window/tab/item/client/driver/gemini.rs @@ -216,22 +216,43 @@ fn handle( page.snap_history(); } redirects.replace(0); // reset - update_page_info(&page, EVENT_COMPLETED); match input { // https://geminiprotocol.net/docs/protocol-specification.gmi#status-10 - Input::Default(default) => page.input.set_new_response( - page.item_action.clone(), - uri, - Some(default.message().unwrap_or("Input expected")), - Some(1024), - ), + Input::Default(default) => { + { + let mut i = page.navigation.request.info.borrow_mut(); + i + .add_event(EVENT_COMPLETED.to_string()) + .set_size(Some(default.as_bytes().len()), None) + .unset_mime() + .commit(); + page.navigation.request.update_secondary_icon(&i) + } + page.input.set_new_response( + page.item_action.clone(), + uri, + Some(default.message().unwrap_or("Input expected")), + Some(1024), + ) + }, // https://geminiprotocol.net/docs/protocol-specification.gmi#status-11-sensitive-input - Input::Sensitive(sensitive) => page.input.set_new_sensitive( - page.item_action.clone(), - uri, - Some(sensitive.message().unwrap_or("Sensitive input expected")), - Some(1024), - ) + Input::Sensitive(sensitive) => { + { + let mut i = page.navigation.request.info.borrow_mut(); + i + .add_event(EVENT_COMPLETED.to_string()) + .set_size(Some(sensitive.as_bytes().len()), None) + .unset_mime() + .commit(); + page.navigation.request.update_secondary_icon(&i) + } + page.input.set_new_sensitive( + page.item_action.clone(), + uri, + Some(sensitive.message().unwrap_or("Sensitive input expected")), + Some(1024), + ) + } } } // https://geminiprotocol.net/docs/protocol-specification.gmi#status-20