diff --git a/Makefile b/Makefile
index d3fa259..6657f87 100644
--- a/Makefile
+++ b/Makefile
@@ -21,25 +21,3 @@ test:
# Docker Shell
shell:
docker compose run --rm dev-shell
-
-# Task Tracker Integration
-PYTHON=python3
-TASK_CLI=tasks/cli.py
-
-task-list:
- $(PYTHON) $(TASK_CLI) list
-
-task-add:
- $(PYTHON) $(TASK_CLI) add "$(title)"
-
-task-done:
- $(PYTHON) $(TASK_CLI) done $(id)
-
-task-update:
- $(PYTHON) $(TASK_CLI) update $(id) $(status)
-
-task-delete:
- $(PYTHON) $(TASK_CLI) delete $(id)
-
-task-filter:
- $(PYTHON) $(TASK_CLI) list --status $(status)
diff --git a/client/src/components/MessageList.vue b/client/src/components/MessageList.vue
index 24da011..0ff1e6f 100644
--- a/client/src/components/MessageList.vue
+++ b/client/src/components/MessageList.vue
@@ -98,39 +98,37 @@ const emit = defineEmits(['view-profile']);
msg.status === 'failed' ? 'bg-red-500/5 border border-red-500/20' : 'hover:bg-white/[0.02]'
]"
>
-
+
- {{ msg.username?.substring(0, 2).toUpperCase() }}
-
-
- {{ formatTime(msg.timestamp) }}
+ {{ msg.username?.substring(0, 2).toUpperCase() || '??' }}
-
+
- {{ msg.username }}
+ {{ msg.username || 'Anonymous' }}
+
+
{{ formatTime(msg.timestamp) }}
-
-
@@ -139,7 +137,7 @@ const emit = defineEmits(['view-profile']);
{{ msg.content }}
-
+
diff --git a/tasks/cli.py b/tasks/cli.py
deleted file mode 100644
index 2af4802..0000000
--- a/tasks/cli.py
+++ /dev/null
@@ -1,62 +0,0 @@
-import argparse
-
-from db import add_task, delete_task, init_db, list_tasks, update_task
-
-
-def main():
- init_db()
-
- parser = argparse.ArgumentParser(description="Plexus Task Tracker")
- subparsers = parser.add_subparsers(dest="command")
-
- # Add task
- add_parser = subparsers.add_parser("add", help="Add a new task")
- add_parser.add_argument("title", help="Task title")
-
- # List tasks
- list_parser = subparsers.add_parser("list", help="List tasks")
- list_parser.add_argument("--status", help="Filter by status")
-
- # Update task
- update_parser = subparsers.add_parser("update", help="Update task status")
- update_parser.add_argument("id", type=int, help="Task ID")
- update_parser.add_argument("status", help="New status")
-
- # Done task
- done_parser = subparsers.add_parser("done", help="Mark task as done")
- done_parser.add_argument("id", type=int, help="Task ID")
-
- # Delete task
- delete_parser = subparsers.add_parser("delete", help="Delete a task")
- delete_parser.add_argument("id", type=int, help="Task ID")
-
- args = parser.parse_args()
-
- if args.command == "add":
- add_task(args.title)
- print(f"Task added: {args.title}")
-
- elif args.command == "list":
- tasks = list_tasks(args.status)
- print(f"{'ID':<5} {'Status':<15} {'Title'}")
- print("-" * 40)
- for t in tasks:
- print(f"{t[0]:<5} {t[2]:<15} {t[1]}")
-
- elif args.command == "update":
- update_task(args.id, args.status)
- print(f"Task {args.id} updated to {args.status}")
-
- elif args.command == "done":
- update_task(args.id, "done")
- print(f"Task {args.id} marked as done")
-
- elif args.command == "delete":
- delete_task(args.id)
- print(f"Task {args.id} deleted")
-
- else:
- parser.print_help()
-
-if __name__ == "__main__":
- main()
diff --git a/tasks/db.py b/tasks/db.py
deleted file mode 100644
index 1501df9..0000000
--- a/tasks/db.py
+++ /dev/null
@@ -1,46 +0,0 @@
-
-import duckdb
-
-DB_PATH = "tasks/tasks.duckdb"
-
-def init_db():
-
- con = duckdb.connect(DB_PATH)
- con.execute("""
- CREATE TABLE IF NOT EXISTS tasks (
- id INTEGER PRIMARY KEY,
- title VARCHAR,
- status VARCHAR DEFAULT 'todo',
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- )
- """)
- con.execute("CREATE SEQUENCE IF NOT EXISTS seq_task_id START 1")
- con.close()
-
-def get_connection():
- return duckdb.connect(DB_PATH)
-
-def add_task(title):
- con = get_connection()
- con.execute("INSERT INTO tasks (id, title) VALUES (nextval('seq_task_id'), ?)", [title])
- con.close()
-
-def list_tasks(status=None):
- con = get_connection()
- if status:
- res = con.execute("SELECT * FROM tasks WHERE status = ? ORDER BY id", [status]).fetchall()
- else:
- res = con.execute("SELECT * FROM tasks ORDER BY id").fetchall()
- con.close()
- return res
-
-def update_task(task_id, status):
- con = get_connection()
- con.execute("UPDATE tasks SET status = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?", [status, task_id])
- con.close()
-
-def delete_task(task_id):
- con = get_connection()
- con.execute("DELETE FROM tasks WHERE id = ?", [task_id])
- con.close()
diff --git a/tasks/tasks.duckdb b/tasks/tasks.duckdb
deleted file mode 100644
index 5d1bf0f..0000000
Binary files a/tasks/tasks.duckdb and /dev/null differ