feat(webmail): pastas próprias na barra lateral e regras em linguagem comum
Regras. A tela pedia um tipo de correspondência do Sieve pelo nome - :contains, :is, :matches (regex) - e colava o valor escrito diretamente num script. Punha uma linguagem de padrões à frente de quem só queria dizer "o que vem do banco vai para Faturas", e bastava uma aspa no valor para o script deixar de fazer parse, desativando silenciosamente todas as regras de uma vez. O vocabulário passa a ser o de quem escreve: um campo, uma condição em português, um valor e uma ação. Os curingas são gerados a partir de "começa com" e "termina com" - ninguém os escreve, e um asterisco escrito por acaso continua a ser um asterisco. A pasta de destino é escolhida de uma lista das pastas que existem mesmo, em vez de ser escrita à mão: antes uma regra podia nomear uma pasta inexistente e nunca disparar, sem dizer porquê. A ordem passa a ser visível e alterável, porque a primeira regra que arquiva uma mensagem decide para onde ela vai. Um script que esta tela não consegue exprimir - escrito à mão, ou por um cliente de secretária sobre ManageSieve - é mostrado tal como está, em vez de ser reescrito na coisa mais parecida que este formulário sabe dizer, o que mudaria em silêncio o que o correio de alguém faz. Pastas próprias. Existiam na base de dados e as regras podiam arquivar nelas, mas a barra lateral listava só as seis fixas, portanto não havia como ver uma - nem como criar. Criar fica onde a vontade aparece, na própria barra; apagar avisa que leva as mensagens junto, porque leva. Encontrado a escrever isto: o motor tratava "\\*" como barra seguida de curinga em vez de um asterisco literal. Como é esta tela que gera os curingas, uma regra sobre um assunto com "50% *" teria correspondido a todos os assuntos começados por "50% ". Corrigido no motor, com testes dos dois lados. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
42420a7de2
commit
d403c47a71
12 files changed
+828
-80
No files matched your search
@@ -257,7 +257,24 @@
|
||||
"vacationIntro": "Responde automáticamente al correo entrante mientras esté ausente.",
|
||||
"vacationSubjectLabel": "Asunto de la respuesta",
|
||||
"vacationTitle": "Respuesta automática de ausencia",
|
||||
"valuePlaceholder": "Valor a coincidir..."
|
||||
"valuePlaceholder": "Valor a coincidir...",
|
||||
"ruleField": "Campo",
|
||||
"ruleCondition": "Condición",
|
||||
"ruleValue": "Valor",
|
||||
"ruleValuePlaceholder": "p. ej. factura",
|
||||
"fieldTo": "Para",
|
||||
"fieldCc": "Cc",
|
||||
"condContains": "Contiene",
|
||||
"condIs": "Es exactamente",
|
||||
"condStartsWith": "Empieza por",
|
||||
"condEndsWith": "Termina en",
|
||||
"condNotContains": "No contiene",
|
||||
"actionMarkRead": "Marcar como leída",
|
||||
"ruleMoveUp": "Subir",
|
||||
"ruleMoveDown": "Bajar",
|
||||
"ruleOrderNote": "Las reglas se aplican en orden, y la primera que archiva un mensaje decide dónde va.",
|
||||
"foreignScriptTitle": "Reglas escritas en otro sitio",
|
||||
"foreignScriptIntro": "Estas reglas se escribieron a mano o desde un cliente de correo y usan funciones que esta pantalla no puede mostrar. Se siguen aplicando. Editarlas aquí cambiaría lo que hacen, por eso se muestran tal cual."
|
||||
},
|
||||
"ui": {
|
||||
"accountLocked": "Bloqueada",
|
||||
@@ -337,5 +354,11 @@
|
||||
"underline": "Subrayado",
|
||||
"insertLink": "Enlace",
|
||||
"insertImage": "Imagen"
|
||||
},
|
||||
"folders": {
|
||||
"new": "Nueva carpeta",
|
||||
"newPlaceholder": "Nueva carpeta…",
|
||||
"delete": "Eliminar {name}",
|
||||
"deleteConfirm": "¿Eliminar la carpeta \"{name}\" y todos sus mensajes? Esto no se puede deshacer desde la interfaz."
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user