fix: use seen insstead of read flag

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-06-25 23:40:26 -04:00
parent 190f118589
commit f904b36a53
2 changed files with 12 additions and 3 deletions
+2 -2
View File
@@ -271,7 +271,7 @@ class MessageProperties extends MessagePropertiesMutableAbstract {
$this->data[static::PROPERTY_FLAGS] = [];
foreach ($parameters['keywords'] as $keyword => $value) {
$flag = match($keyword) {
'$seen' => 'read',
'$seen' => 'seen',
'$flagged' => 'flagged',
'$answered' => 'answered',
'$draft' => 'draft',
@@ -365,7 +365,7 @@ class MessageProperties extends MessagePropertiesMutableAbstract {
$parameters['keywords'] = [];
foreach ($this->data['flags'] as $flag => $value) {
$keyword = match($flag) {
'read' => '$seen',
'seen' => '$seen',
'flagged' => '$flagged',
'answered' => '$answered',
'draft' => '$draft',
+10 -1
View File
@@ -641,7 +641,16 @@ class Service implements ServiceBaseInterface, ServiceMutableInterface, ServiceC
$patch = $this->mailService->entityFresh();
$flags = $properties->getFlags();
foreach ($flags as $flag => $value) {
$patch->keyword($flag, $value);
// translate canonical flag names to JMAP keywords
$keyword = match($flag) {
'seen' => '$seen',
'flagged' => '$flagged',
'answered' => '$answered',
'draft' => '$draft',
'deleted' => '$deleted',
default => $flag
};
$patch->keyword($keyword, $value);
}
$dispositions = $this->mailService->entityPatch($patch, ...array_keys($targets));