(text: string)
| 144 | const byRecency = (a: ThreadMeta, b: ThreadMeta) => b.updatedAt - a.updatedAt |
| 145 | |
| 146 | function truncateTitle(text: string): string { |
| 147 | const trimmed = text.trim() |
| 148 | return trimmed.length > TITLE_MAX |
| 149 | ? `${trimmed.slice(0, TITLE_MAX).trimEnd()}…` |
| 150 | : trimmed |
| 151 | } |
| 152 | |
| 153 | function relativeTime(ts: number): string { |
| 154 | const seconds = Math.floor((Date.now() - ts) / 1000) |