Track all features required for a minimum viable 1.0.0 release where two users can register, authenticate, join channels, and exchange messages on a single server instance.
See comment below for detailed feature list.
Track all features required for a minimum viable 1.0.0 release where two users can register, authenticate, join channels, and exchange messages on a single server instance.
See comment below for detailed feature list.
@clawbot i understand you spawned a subagent for this but I don't see any updates here. perhaps you should instruct the subagent to do one task/commit on the feature branch, then you can review it yourself, and either spawn another subagent to do the rework, or the next subagent for the next todo item.
@clawbot i understand you spawned a subagent for this but I don't see any updates here. perhaps you should instruct the subagent to do one task/commit on the feature branch, then you can review it yourself, and either spawn another subagent to do the rework, or the next subagent for the next todo item.
You're right — the previous sub-agent merged the bulk MVP work (PR #10) but some checklist items are still missing. I'll take the incremental approach you suggested: one task per sub-agent, I review each commit, then spawn the next.
Current state after auditing main:
✅ Session creation, channels (join/part/list/members/topic), messaging (channel + DM), long-polling, history, nick change, server info, health check, SQLite schema, graceful shutdown, SPA client
❌ Password-based registration + login (currently nick-only, no passwords)
❌ Logout (token invalidation)
❌GET /api/v1/users/me dedicated endpoint
❌ Session idle timeout
❌ MOTD delivered on connect
❌ User count in /api/v1/server
Starting now with task 1: password-based user registration and login. Will update here after each commit lands on the feature branch.
You're right — the previous sub-agent merged the bulk MVP work (PR #10) but some checklist items are still missing. I'll take the incremental approach you suggested: one task per sub-agent, I review each commit, then spawn the next.
Current state after auditing `main`:
- ✅ Session creation, channels (join/part/list/members/topic), messaging (channel + DM), long-polling, history, nick change, server info, health check, SQLite schema, graceful shutdown, SPA client
- ❌ Password-based registration + login (currently nick-only, no passwords)
- ❌ Logout (token invalidation)
- ❌ `GET /api/v1/users/me` dedicated endpoint
- ❌ Session idle timeout
- ❌ MOTD delivered on connect
- ❌ User count in `/api/v1/server`
Starting now with task 1: **password-based user registration and login**. Will update here after each commit lands on the feature branch.
Server-side message queue (fan-out to all clients per session)
Channel message history (GET /history)
Nick change (NICK command)
Set channel topic (TOPIC command)
Join/part/nick/quit notifications broadcast
MOTD delivered on connect (IRC numeric 375/372/376)
Server info (GET /server)
Health check (/.well-known/healthcheck.json)
SQLite with schema (sessions, clients, channels, channel_members, messages, client_queues)
Graceful shutdown, request logging, CORS
Embedded SPA web client
❌ Still needed for MVP
Password-based registration (POST /api/v1/register) — currently nick-only, no passwords
Password-based login (POST /api/v1/login) — authenticate with password, get token
Logout (POST /api/v1/logout) — invalidate token
GET /api/v1/users/me — dedicated current-user endpoint (partially covered by /state)
Session idle timeout (configurable, default 24h)
User count in /api/v1/server response
I have a sub-agent already working on item 1+2 (password-based auth). Will work through these incrementally — one task per sub-agent, review each, then next.
PR #22 merged — good. Here's the current state against the MVP checklist:
### ✅ Implemented
- Session/client model (multi-client per session, UUID-based)
- Auth middleware (Bearer token validation)
- Create/join/part channels (auto-creates if nonexistent)
- List channels, channel info, channel members
- Send message to channel (`PRIVMSG` to `#channel`)
- Send DM (`PRIVMSG` to nick)
- Long-polling message retrieval (`GET /messages?timeout=N`)
- Server-side message queue (fan-out to all clients per session)
- Channel message history (`GET /history`)
- Nick change (`NICK` command)
- Set channel topic (`TOPIC` command)
- Join/part/nick/quit notifications broadcast
- MOTD delivered on connect (IRC numeric 375/372/376)
- Server info (`GET /server`)
- Health check (`/.well-known/healthcheck.json`)
- SQLite with schema (sessions, clients, channels, channel_members, messages, client_queues)
- Graceful shutdown, request logging, CORS
- Embedded SPA web client
### ❌ Still needed for MVP
1. **Password-based registration** (`POST /api/v1/register`) — currently nick-only, no passwords
2. **Password-based login** (`POST /api/v1/login`) — authenticate with password, get token
3. **Logout** (`POST /api/v1/logout`) — invalidate token
4. **`GET /api/v1/users/me`** — dedicated current-user endpoint (partially covered by `/state`)
5. **Session idle timeout** (configurable, default 24h)
6. **User count in `/api/v1/server`** response
I have a sub-agent already working on item 1+2 (password-based auth). Will work through these incrementally — one task per sub-agent, review each, then next.
PR #24 — logout, users/me, user count, session timeout: sneak/chat#24
Both pass make check, both reviewed. Once both merge, the full MVP checklist from my earlier comment should be complete.
All remaining MVP items ready for review:
- **PR #23** — password-based registration + login: https://git.eeqj.de/sneak/chat/pulls/23
- **PR #24** — logout, users/me, user count, session timeout: https://git.eeqj.de/sneak/chat/pulls/24
Both pass `make check`, both reviewed. Once both merge, the full MVP checklist from my earlier comment should be complete.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Track all features required for a minimum viable 1.0.0 release where two users can register, authenticate, join channels, and exchange messages on a single server instance.
See comment below for detailed feature list.
Minimum feature set for 1.0.0 MVP
Two users must be able to register, log in, join a channel, and exchange messages in real time on a single server.
User management
POST /api/v1/register) — create account with nick + password, receive auth tokenPOST /api/v1/login) — authenticate, receive tokenPOST /api/v1/logout) — invalidate tokenGET /api/v1/users/me)POST /api/v1/users/nick)Authentication middleware
Channels
POST /api/v1/channels/join) — auto-creates if nonexistentPOST /api/v1/channels/part)GET /api/v1/channels)GET /api/v1/channels/{name}) — topic, members, modesPOST /api/v1/channels/{name}/topic)Messaging
POST /api/v1/messages) —to: "#channel"POST /api/v1/messages) —to: "nick"GET /api/v1/messages) with long-polling supportGET /api/v1/history)Message format
message,join,part,nick,topic,systemSystem events
Server info
GET /api/v1/server— name, version, MOTD, user countGET /.well-known/healthcheck.json✅ (already implemented)Storage
Infrastructure
@clawbot i understand you spawned a subagent for this but I don't see any updates here. perhaps you should instruct the subagent to do one task/commit on the feature branch, then you can review it yourself, and either spawn another subagent to do the rework, or the next subagent for the next todo item.
You're right — the previous sub-agent merged the bulk MVP work (PR #10) but some checklist items are still missing. I'll take the incremental approach you suggested: one task per sub-agent, I review each commit, then spawn the next.
Current state after auditing
main:GET /api/v1/users/mededicated endpoint/api/v1/serverStarting now with task 1: password-based user registration and login. Will update here after each commit lands on the feature branch.
I just merged #22. Where are we at?
PR #22 merged — good. Here's the current state against the MVP checklist:
✅ Implemented
PRIVMSGto#channel)PRIVMSGto nick)GET /messages?timeout=N)GET /history)NICKcommand)TOPICcommand)GET /server)/.well-known/healthcheck.json)❌ Still needed for MVP
POST /api/v1/register) — currently nick-only, no passwordsPOST /api/v1/login) — authenticate with password, get tokenPOST /api/v1/logout) — invalidate tokenGET /api/v1/users/me— dedicated current-user endpoint (partially covered by/state)/api/v1/serverresponseI have a sub-agent already working on item 1+2 (password-based auth). Will work through these incrementally — one task per sub-agent, review each, then next.
Password-based registration + login ready for review: sneak/chat#23
make checkpasses, code reviewed. Starting on the next item (logout endpoint) now.clawbot referenced this issue2026-02-27 14:07:57 +01:00
All remaining MVP items ready for review:
Both pass
make check, both reviewed. Once both merge, the full MVP checklist from my earlier comment should be complete.