Search - query parser: phrases, prefix*, -exclude, OR, from:, subject:, group:, after:/before: date bounds - meta_fts index over subject + from_addr (npm run index:meta) - drop the FTS->messages join from counts (11s -> ~25ms for "unix"); group scope seeks by rowid range instead of joining - highlighted snippets, relevance/newest/oldest sort, timing, clear errors UI - group links with @, spaces, commas no longer 404 (decode route params) - home: hierarchy overview, largest/all views, name filter, sortable columns - group: oldest/newest toggle, scoped search, windowed pager + jump-to-page - message: quote-depth tinting, dimmed signatures, clickable URLs, author/thread links, index link returns to the right page - decode RFC 2047 encoded subjects/authors - fixed table layout (no column overflow), 14px text, mobile layout - keyboard: j/k next/prev, u up, / search; help, 404, error, loading pages
Showing the changes to package.json (1 of 19 files). Show all
Unified · Split
| @@ -9,7 +9,8 @@ · 8 unmodified lines | ||
| 9 | 9 | "import": "tsx scripts/import.ts", |
| 10 | 10 | "import:mbox": "tsx scripts/import-mbox.ts", |
| 11 | 11 | "import:utzoo": "tsx scripts/import-utzoo.ts", |
| 12 | − "resplit": "tsx scripts/resplit.ts" | |
| 12 | + "resplit": "tsx scripts/resplit.ts", | |
| 13 | + "index:meta": "tsx scripts/index-meta.ts" | |
| 13 | 14 | }, |
| 14 | 15 | "dependencies": { |
| 15 | 16 | "better-sqlite3": "^12.9.0", |
| @@ -24,5 +25,9 @@ · 8 unmodified lines | ||
| 24 | 25 | "@types/react-dom": "^19", |
| 25 | 26 | "tsx": "^4.21.0", |
| 26 | 27 | "typescript": "^5" |
| 28 | + }, | |
| 29 | + "allowScripts": { | |
| 30 | + "better-sqlite3@12.9.0": true, | |
| 31 | + "esbuild@0.27.7": true | |
| 27 | 32 | } |
| 28 | 33 | } |