| 669 | .map(line => { try { return JSON.parse(line); } catch (_) { return null; } }) | 669 | .map(line => { try { return JSON.parse(line); } catch (_) { return null; } }) |
| 670 | .filter(x => x && typeof x.mes === 'string'); | 670 | .filter(x => x && typeof x.mes === 'string'); |
| 671 | | 671 | |
| 672 | if (messages.length === 0) { | 672 | if (query && messages.length === 0) { |
| 673 | continue; | 673 | continue; |
| 674 | } | 674 | } |
| 675 | | 675 | |
| 676 | const lastMessage = messages[messages.length - 1]; | 676 | const lastMessage = messages[messages.length - 1]; |
| 677 | const lastMesDate = lastMessage?.send_date || new Date().toISOString(); | 677 | const lastMesDate = lastMessage?.send_date || Math.round(fs.statSync(chatFile.path).mtimeMs); |
| 678 | | 678 | |
| 679 | // If no search query, just return metadata | 679 | // If no search query, just return metadata |
| 680 | if (!query) { | 680 | if (!query) { |