update header len for input statuses

This commit is contained in:
yggverse 2025-03-24 22:23:39 +02:00
parent 2660fad68d
commit c6a691bbdf

View file

@ -216,17 +216,37 @@ fn handle(
page.snap_history(); page.snap_history();
} }
redirects.replace(0); // reset redirects.replace(0); // reset
update_page_info(&page, EVENT_COMPLETED);
match input { match input {
// https://geminiprotocol.net/docs/protocol-specification.gmi#status-10 // https://geminiprotocol.net/docs/protocol-specification.gmi#status-10
Input::Default(default) => page.input.set_new_response( 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(), page.item_action.clone(),
uri, uri,
Some(default.message().unwrap_or("Input expected")), Some(default.message().unwrap_or("Input expected")),
Some(1024), Some(1024),
), )
},
// https://geminiprotocol.net/docs/protocol-specification.gmi#status-11-sensitive-input // https://geminiprotocol.net/docs/protocol-specification.gmi#status-11-sensitive-input
Input::Sensitive(sensitive) => page.input.set_new_sensitive( 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(), page.item_action.clone(),
uri, uri,
Some(sensitive.message().unwrap_or("Sensitive input expected")), Some(sensitive.message().unwrap_or("Sensitive input expected")),
@ -234,6 +254,7 @@ fn handle(
) )
} }
} }
}
// https://geminiprotocol.net/docs/protocol-specification.gmi#status-20 // https://geminiprotocol.net/docs/protocol-specification.gmi#status-20
Response::Success(success) => match *feature { Response::Success(success) => match *feature {
Feature::Download => { Feature::Download => {