feat(soporte): leer solo los correos recientes, no todo el buzón
Sin ventana, la primera corrida convierte en tickets todo lo que haya sin leer, que en una casilla de años es una avalancha. Ahora hay un desplegable de antigüedad máxima —6h, 12h, 24h, 3 días o todo— y por defecto 12 horas. El corte se hace en dos pasos porque IMAP no da para más: al servidor se le pide SINCE con un día de margen (SINCE compara solo la fecha, no la hora) y el corte fino por hora se aplica contra la fecha real de cada mensaje. Afinar el SINCE sería perder los correos del borde. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d7c266f111
commit
6afad025c2
@@ -165,6 +165,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-2">
|
||||
<label class="block text-xs font-medium text-slate-600 mb-1">Antigüedad máxima</label>
|
||||
<select x-model.number="cfg.imap_horas_atras" class="w-full border border-slate-200 rounded-lg px-3 py-2 text-sm outline-none">
|
||||
<option :value="6">Últimas 6 horas</option>
|
||||
<option :value="12">Últimas 12 horas</option>
|
||||
<option :value="24">Últimas 24 horas</option>
|
||||
<option :value="72">Últimos 3 días</option>
|
||||
<option :value="0">Todo lo que haya sin leer</option>
|
||||
</select>
|
||||
<p class="text-xs text-slate-400 mt-1">
|
||||
Los correos más viejos que esto no se tocan, aunque estén sin leer. Es lo que evita que la
|
||||
primera corrida convierta años de buzón en tickets.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap gap-2 mt-3">
|
||||
<button @click="probarImap()" :disabled="ocupado"
|
||||
class="px-4 py-2 rounded-lg border border-slate-300 text-sm text-slate-700 disabled:opacity-50">
|
||||
@@ -245,6 +260,7 @@ function soporteWebhook() {
|
||||
imap_password: '',
|
||||
imap_encryption: 'ssl',
|
||||
imap_carpeta: 'INBOX',
|
||||
imap_horas_atras: 12,
|
||||
clasificar_con_ia: false,
|
||||
contexto_negocio: '',
|
||||
},
|
||||
@@ -310,6 +326,7 @@ function soporteWebhook() {
|
||||
imap_password: this.cfg.imap_password || '',
|
||||
imap_encryption: this.cfg.imap_encryption || 'ssl',
|
||||
imap_carpeta: this.cfg.imap_carpeta || 'INBOX',
|
||||
imap_horas_atras: Number(this.cfg.imap_horas_atras) || 0,
|
||||
clasificar_con_ia: !!this.cfg.clasificar_con_ia,
|
||||
contexto_negocio: this.cfg.contexto_negocio || '',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user