Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions src/channels/web/static/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -1886,6 +1886,7 @@ async function handleAuthRequired(data) {
return;
}
if (data.extension_name && getConfigureOverlay(data.extension_name)) {
setAuthFlowPending(true, data.instructions);
return;
}
const existingCard = data.extension_name ? getAuthCard(data.extension_name) : getAuthCard();
Expand Down
6 changes: 6 additions & 0 deletions src/extensions/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11519,6 +11519,12 @@ mod tests {

#[test]
fn test_telegram_token_colon_preserved_in_validation_url() {
// ScopedEnvVar holds ENV_MUTEX for the test's lifetime, preventing
// a concurrent test from setting IRONCLAW_TEST_TELEGRAM_API_BASE_URL.
// Setting to "" is equivalent to unset — telegram_api_base_url()
// filters empty values. ScopedEnvVar restores the previous value on drop.
let _env = ScopedEnvVar::set(TELEGRAM_TEST_API_BASE_ENV, "");

// Regression: Telegram tokens (format: numeric_id:alphanumeric_string) must NOT
// have their colon URL-encoded to %3A, as this breaks the validation endpoint.
// Previously: form_urlencoded::byte_serialize encoded the token, causing 404s.
Expand Down
Loading