fix: don't ignore QR token timestamp from sync messages

This commit is contained in:
link2xt
2025-09-09 03:07:55 +00:00
parent 214a1d3e2d
commit eea848f72b
3 changed files with 40 additions and 14 deletions

View File

@@ -19,7 +19,7 @@ use crate::key::Fingerprint;
use crate::net::http::post_empty;
use crate::net::proxy::{DEFAULT_SOCKS_PORT, ProxyConfig};
use crate::token;
use crate::tools::validate_id;
use crate::tools::{time, validate_id};
const OPENPGP4FPR_SCHEME: &str = "OPENPGP4FPR:"; // yes: uppercase
const IDELTACHAT_SCHEME: &str = "https://i.delta.chat/#";
@@ -741,8 +741,16 @@ pub async fn set_config_from_qr(context: &Context, qr: &str) -> Result<()> {
authcode,
..
} => {
token::save(context, token::Namespace::InviteNumber, None, &invitenumber).await?;
token::save(context, token::Namespace::Auth, None, &authcode).await?;
let timestamp = time();
token::save(
context,
token::Namespace::InviteNumber,
None,
&invitenumber,
timestamp,
)
.await?;
token::save(context, token::Namespace::Auth, None, &authcode, timestamp).await?;
context.sync_qr_code_tokens(None).await?;
context.scheduler.interrupt_inbox().await;
}
@@ -752,14 +760,23 @@ pub async fn set_config_from_qr(context: &Context, qr: &str) -> Result<()> {
grpid,
..
} => {
let timestamp = time();
token::save(
context,
token::Namespace::InviteNumber,
Some(&grpid),
&invitenumber,
timestamp,
)
.await?;
token::save(
context,
token::Namespace::Auth,
Some(&grpid),
&authcode,
timestamp,
)
.await?;
token::save(context, token::Namespace::Auth, Some(&grpid), &authcode).await?;
context.sync_qr_code_tokens(Some(&grpid)).await?;
context.scheduler.interrupt_inbox().await;
}