| … | … | @@ -1,13 +1,13 @@ |
| 1 | 1 | # Wirecore Deployment on Tabertron |
| 2 | 2 | |
| 3 | 3 | **Date**: 2026-01-18 |
| 4 | | **Status**: Running in production (Phase 1 implementation complete) |
| 4 | **Status**: Running in production (Phase 2 complete) |
| 5 | 5 | |
| 6 | 6 | --- |
| 7 | 7 | |
| 8 | 8 | ## Current Status |
| 9 | 9 | |
| 10 | | ✅ **Wirecore running**: PID 565149 |
| 10 | ✅ **Wirecore running**: PID 578568 |
| 11 | 11 | ✅ **Port**: 3000 |
| 12 | 12 | ✅ **Node version**: v22.20.0 |
| 13 | 13 | ✅ **Storage**: `./wirecore-web-storage/` (legacy server feed) |
| … | … | @@ -49,6 +49,26 @@ All posts are now cryptographically verified: |
| 49 | 49 | - **Protection**: Prevents impersonation attacks |
| 50 | 50 | - **Logging**: Successful verifications logged server-side |
| 51 | 51 | |
| 52 | ### Phase 2: Timeline Persistence (COMPLETE) |
| 53 | |
| 54 | Feeds now persist across server restarts: |
| 55 | - **Feed loading**: loadExistingFeeds() scans wirecore-web-users/ on startup |
| 56 | - **Metadata tracking**: metadata.json maps browser publicKey to feed directory |
| 57 | - **Auto-migration**: Existing feeds without metadata.json get migrated on next connection |
| 58 | - **Timeline aggregation**: Timeline endpoint aggregates from all loaded feeds (up to 1000 posts/user) |
| 59 | - **Pagination**: offset-based pagination with metadata (total, hasMore) |
| 60 | - **Graceful shutdown**: All user instances properly closed on SIGINT |
| 61 | |
| 62 | **Verified working**: |
| 63 | - ✅ Feed loaded on startup with 7 posts |
| 64 | - ✅ metadata.json automatically created on first post |
| 65 | - ✅ Pagination tested with 6 posts (offset 0, 2, 4) |
| 66 | |
| 67 | **Recent commits**: |
| 68 | - `f2bc4d0` - Implement timeline persistence (Phase 2) |
| 69 | - `a079021` - Add pagination to timeline endpoint (Phase 2 complete) |
| 70 | - `18b116e` - Fix pagination: aggregate all posts before limiting |
| 71 | |
| 52 | 72 | --- |
| 53 | 73 | |
| 54 | 74 | ## Location |