Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion emrg/server/daemon.py
Original file line number Diff line number Diff line change
Expand Up @@ -793,13 +793,14 @@ async def _process_message(
# Optional project targeting (multi-project support)
project = msg.get("project", "").strip()

# Field order: timestamp → project → status → progress → message
# Field order: timestamp → project → status → progress → completed → message
# (project right after timestamp per user feedback; message last)
entry = {
"timestamp": msg.get("timestamp", datetime.now().isoformat()),
"project": project,
"status": "pending",
"progress": None,
"completed": None,
}
# message last, so status fields stay visible when scanning the file
entry["message"] = rant_message
Expand Down
5 changes: 3 additions & 2 deletions tests/test_daemon.py
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ async def _send(self, data: dict) -> bool:

def test_rant_field_order(tmp_path, monkeypatch):
"""Rant entries are written with field order:
timestamp → project → status → progress → message (message last)."""
timestamp → project → status → progress → completed → message (message last)."""
monkeypatch.setattr("emrg.server.daemon.config_dir", lambda: tmp_path)
server = _make_server()
writer = _FakeWriter()
Expand All @@ -508,8 +508,9 @@ def test_rant_field_order(tmp_path, monkeypatch):
assert len(lines) == 1
entry = json.loads(lines[0])
assert list(entry.keys()) == [
"timestamp", "project", "status", "progress", "message",
"timestamp", "project", "status", "progress", "completed", "message",
]
assert entry["completed"] is None # new rants default to null completed
assert entry["project"] == "emrg"
assert entry["status"] == "pending"
assert entry["message"] == "test rant message"
Loading