web: show X-Original-To: if To: is missing, fallback to Delivered-To:
This commit is contained in:
parent
e6b3a5b5a9
commit
1cc52d6c96
@ -641,7 +641,6 @@ impl Notmuch {
|
|||||||
let Some(msg) = &tn.0 else {
|
let Some(msg) = &tn.0 else {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
};
|
};
|
||||||
info!("msg.headers {:#?}", msg.headers);
|
|
||||||
let mut addrs = vec![];
|
let mut addrs = vec![];
|
||||||
let hdr = &msg.headers.to;
|
let hdr = &msg.headers.to;
|
||||||
if let Some(to) = hdr {
|
if let Some(to) = hdr {
|
||||||
|
|||||||
@ -671,6 +671,30 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": [],
|
||||||
|
"deprecationReason": null,
|
||||||
|
"description": null,
|
||||||
|
"isDeprecated": false,
|
||||||
|
"name": "xOriginalTo",
|
||||||
|
"type": {
|
||||||
|
"kind": "OBJECT",
|
||||||
|
"name": "Email",
|
||||||
|
"ofType": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": [],
|
||||||
|
"deprecationReason": null,
|
||||||
|
"description": null,
|
||||||
|
"isDeprecated": false,
|
||||||
|
"name": "deliveredTo",
|
||||||
|
"type": {
|
||||||
|
"kind": "OBJECT",
|
||||||
|
"name": "Email",
|
||||||
|
"ofType": null
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": [],
|
"args": [],
|
||||||
"deprecationReason": null,
|
"deprecationReason": null,
|
||||||
|
|||||||
@ -31,6 +31,14 @@ query ShowThreadQuery($threadId: String!) {
|
|||||||
name
|
name
|
||||||
addr
|
addr
|
||||||
}
|
}
|
||||||
|
xOriginalTo {
|
||||||
|
name
|
||||||
|
addr
|
||||||
|
}
|
||||||
|
deliveredTo {
|
||||||
|
name
|
||||||
|
addr
|
||||||
|
}
|
||||||
timestamp
|
timestamp
|
||||||
body {
|
body {
|
||||||
__typename
|
__typename
|
||||||
|
|||||||
@ -519,6 +519,48 @@ fn render_open_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Node<
|
|||||||
})
|
})
|
||||||
]
|
]
|
||||||
]),
|
]),
|
||||||
|
IF!(msg.to.is_empty() && msg.x_original_to.is_some()=>div![
|
||||||
|
C!["text-xs"],
|
||||||
|
span![
|
||||||
|
C!["font-semibold"],
|
||||||
|
"Original To: "
|
||||||
|
],
|
||||||
|
span![
|
||||||
|
msg.x_original_to.as_ref().map(|to| {
|
||||||
|
let ShowThreadQueryThreadOnEmailThreadMessagesXOriginalTo { name, addr } = to;
|
||||||
|
span![
|
||||||
|
addr.as_ref().map(|addr| attrs! {
|
||||||
|
At::Title => addr
|
||||||
|
}),
|
||||||
|
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
|
||||||
|
" ",
|
||||||
|
addr.as_ref().map(|addr| copy_text_widget(&addr)),
|
||||||
|
" "
|
||||||
|
]
|
||||||
|
})
|
||||||
|
]
|
||||||
|
]),
|
||||||
|
IF!(msg.to.is_empty() && msg.x_original_to.is_none() && msg.delivered_to.is_some() => div![
|
||||||
|
C!["text-xs"],
|
||||||
|
span![
|
||||||
|
C!["font-semibold"],
|
||||||
|
"Delivered To: "
|
||||||
|
],
|
||||||
|
span![
|
||||||
|
msg.delivered_to.as_ref().map(|to| {
|
||||||
|
let ShowThreadQueryThreadOnEmailThreadMessagesDeliveredTo { name, addr } = to;
|
||||||
|
span![
|
||||||
|
addr.as_ref().map(|addr| attrs! {
|
||||||
|
At::Title => addr
|
||||||
|
}),
|
||||||
|
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
|
||||||
|
" ",
|
||||||
|
addr.as_ref().map(|addr| copy_text_widget(&addr)),
|
||||||
|
" "
|
||||||
|
]
|
||||||
|
})
|
||||||
|
]
|
||||||
|
]),
|
||||||
IF!(!msg.cc.is_empty() =>div![
|
IF!(!msg.cc.is_empty() =>div![
|
||||||
C!["text-xs"],
|
C!["text-xs"],
|
||||||
span![
|
span![
|
||||||
@ -614,6 +656,48 @@ fn render_closed_header(msg: &ShowThreadQueryThreadOnEmailThreadMessages) -> Nod
|
|||||||
],
|
],
|
||||||
" "
|
" "
|
||||||
]),
|
]),
|
||||||
|
IF!(msg.to.is_empty() && msg.x_original_to.is_some()=>div![
|
||||||
|
C!["text-xs"],
|
||||||
|
span![
|
||||||
|
C!["font-semibold"],
|
||||||
|
"Original To: "
|
||||||
|
],
|
||||||
|
span![
|
||||||
|
msg.x_original_to.as_ref().map(|to| {
|
||||||
|
let ShowThreadQueryThreadOnEmailThreadMessagesXOriginalTo { name, addr } = to;
|
||||||
|
span![
|
||||||
|
addr.as_ref().map(|addr| attrs! {
|
||||||
|
At::Title => addr
|
||||||
|
}),
|
||||||
|
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
|
||||||
|
" ",
|
||||||
|
addr.as_ref().map(|addr| copy_text_widget(&addr)),
|
||||||
|
" "
|
||||||
|
]
|
||||||
|
})
|
||||||
|
]
|
||||||
|
]),
|
||||||
|
IF!(msg.to.is_empty() && msg.x_original_to.is_none() && msg.delivered_to.is_some() => div![
|
||||||
|
C!["text-xs"],
|
||||||
|
span![
|
||||||
|
C!["font-semibold"],
|
||||||
|
"Delivered To: "
|
||||||
|
],
|
||||||
|
span![
|
||||||
|
msg.delivered_to.as_ref().map(|to| {
|
||||||
|
let ShowThreadQueryThreadOnEmailThreadMessagesDeliveredTo { name, addr } = to;
|
||||||
|
span![
|
||||||
|
addr.as_ref().map(|addr| attrs! {
|
||||||
|
At::Title => addr
|
||||||
|
}),
|
||||||
|
name.as_ref().unwrap_or_else(|| addr.as_ref().unwrap_or(&unknown)),
|
||||||
|
" ",
|
||||||
|
addr.as_ref().map(|addr| copy_text_widget(&addr)),
|
||||||
|
" "
|
||||||
|
]
|
||||||
|
})
|
||||||
|
]
|
||||||
|
]),
|
||||||
IF!(!msg.cc.is_empty() => div![
|
IF!(!msg.cc.is_empty() => div![
|
||||||
C!["text-xs", "max-w-full", "overflow-clip", "text-ellipsis"],
|
C!["text-xs", "max-w-full", "overflow-clip", "text-ellipsis"],
|
||||||
span![
|
span![
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user