Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
8cace5d
feat: Add LangGraph Studio setup for Eliza agent
claude Nov 18, 2025
0710c3e
fix: Move langgraph.json to packages/backend for architectural consis…
claude Nov 18, 2025
2214d98
chore: Add langchain-openai dependency for Eliza agent
claude Nov 18, 2025
4039ae1
chore: added langchain
thejackluo Nov 18, 2025
2e47bec
Merge branch 'claude/setup-langgraph-studio-01YX6iTd4yGoFDyzXYZHTY6D'…
thejackluo Nov 18, 2025
046d2a9
chore: update gitignore for langgraph_api and updating packages
thejackluo Nov 18, 2025
768bd1f
chore: update ignore and now poetry lock exists
thejackluo Nov 18, 2025
113e296
docs: Fix LangGraph Studio CORS issue + Add Swagger UI testing guide
claude Nov 18, 2025
e82a2fc
feat: Add one-click PowerShell launcher for LangGraph Studio visual UI
claude Nov 18, 2025
47271be
JUNK COMMIT: commit ONLy for agents
thejackluo Nov 18, 2025
e5a5d27
JUNK two: chatbot
thejackluo Nov 18, 2025
2ac71d2
docs: update stash changes log
thejackluo Nov 18, 2025
e60ab5d
feat: Add comprehensive web dashboard for experimental agent
claude Nov 18, 2025
2fb5c2a
Merge pull request #20 from magk-app/claude/web-dashboard-visualizer-…
thejackluo Nov 18, 2025
e03ce7e
updated improved chatbot that stores memory w
thejackluo Nov 18, 2025
32fae7b
feat: integrate experimental backend with Next.js frontend
claude Nov 18, 2025
dae8fa7
Merge experimental-agent branch with frontend-backend integration
claude Nov 18, 2025
a0d4a07
feat: add real chat API endpoint and connect Next.js frontend
claude Nov 19, 2025
88f36d0
feat: move experimental chat to separate route to avoid merge conflicts
claude Nov 19, 2025
2a7309b
fix: remove emoji from main.py for Windows compatibility
claude Nov 19, 2025
95eecb2
fix: resolve chat API 404 and infinite loop issues
claude Nov 19, 2025
97cd543
docs: add comprehensive bug fix documentation
claude Nov 19, 2025
97f738d
fix: auto-create user when chatting to prevent foreign key error
claude Nov 19, 2025
a867ad5
docs: add comprehensive technical documentation for experimental feat…
claude Nov 19, 2025
af749ae
feat: modernize experimental UI with dark theme and Lucide icons
claude Nov 19, 2025
03baf4c
docs: add UI modernization completion summary
claude Nov 19, 2025
e19014f
fix: small experimental fix
thejackluo Nov 19, 2025
905f407
feat: Phase 1 - User persistence & dark theme modernization
claude Nov 19, 2025
b10338c
docs: create bug queue
thejackluo Nov 19, 2025
2f475bb
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
ca82661
feat: Phase 1 Final - Chat overflow fix + User switcher
claude Nov 19, 2025
2ccb297
update: jack test message
thejackluo Nov 19, 2025
b390841
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
2b63169
feat: Phase 2 Part 1 - Async memory processing + architecture docs
claude Nov 19, 2025
08fb4b2
update: jack test message part 2
thejackluo Nov 19, 2025
08cedc1
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
4402bd6
feat: implement persistent chat history with database storage
claude Nov 19, 2025
b4e1db0
fix: rename metadata column to message_metadata to avoid SQLAlchemy c…
claude Nov 19, 2025
b33c802
fix: dark theme for configuration panel + overflow background fix
claude Nov 19, 2025
9768f36
feat: implement real-time token usage tracking (Phase 3.5 complete)
claude Nov 19, 2025
5ab470f
debug: add test endpoint for conversation API troubleshooting
claude Nov 19, 2025
0cf8307
fix: rename metadata to usage_metadata in TokenUsage model
claude Nov 19, 2025
120cb89
feat: add database setup API for table creation
claude Nov 19, 2025
d45b297
feat: add conversation sidebar and memory notifications
claude Nov 19, 2025
531a467
feat: add real-time auto-refresh to memory browser and analytics
claude Nov 19, 2025
f20c5a4
fix: conversation deletion animation and chat API method name
claude Nov 19, 2025
53bd80c
fix: adjust auto-refresh intervals
claude Nov 19, 2025
5947c45
fix: UserSwitcher z-index - use fixed positioning
claude Nov 19, 2025
9494d3b
fix: UserSwitcher dropdown positioning to fixed
claude Nov 19, 2025
d32ab80
fix: MemoryNotifications isProcessing prop
claude Nov 19, 2025
8c11e2b
feat: add proper memory API with CRUD and config save endpoint
claude Nov 19, 2025
97c7c11
feat: add memory API router and config save endpoint to dashboard server
claude Nov 19, 2025
1a3e2c8
feat: complete memory edit UI and fix user switching issues
claude Nov 19, 2025
5f6920e
feat: add memory polling and improve memory creation logging
claude Nov 19, 2025
4b33cee
fix: config persistence and conversation deletion bugs
claude Nov 19, 2025
86afe28
docs: clarify mock storage warnings are for legacy HTML dashboard only
claude Nov 19, 2025
64688f9
fix: critical bugs - memory retrieval, notifications, and conversatio…
claude Nov 19, 2025
5fb4ba6
config: system config
thejackluo Nov 19, 2025
87bfccc
update gitignore to ignore this file
thejackluo Nov 19, 2025
b544cac
fix: critical memory and conversation bugs
claude Nov 19, 2025
1633de8
feat: optimize UI for better performance and UX
claude Nov 19, 2025
eafbb8b
fix: better delete handling conversations and memory api as well
thejackluo Nov 19, 2025
becdbe3
fix: memory saerch trying to fix part 1
thejackluo Nov 19, 2025
f2658f1
fix: memory api and testing, like test search, better strategies etc
thejackluo Nov 19, 2025
c9691ce
fix: better seach and better memory management
thejackluo Nov 19, 2025
2ea1cba
fix: better memory clean up
thejackluo Nov 19, 2025
721b2db
fix: use proper async SQLAlchemy 2.0 delete statement for memory dele…
claude Nov 19, 2025
5a83acf
memory clean up api part 1
thejackluo Nov 19, 2025
19afa2d
deployment: railway part 1
thejackluo Nov 19, 2025
4b36354
railway part 2: deployment
thejackluo Nov 19, 2025
8809403
feat: register cleanup API router in dashboard server
claude Nov 19, 2025
8aece62
railway fixes
thejackluo Nov 19, 2025
56e69e8
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
3935de1
fix: add missing AnimatePresence import in MemoryVisualization
claude Nov 19, 2025
d9e5d7b
deployment: frontend url update
thejackluo Nov 19, 2025
161f736
fix: use railpack in general
thejackluo Nov 19, 2025
85847f8
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
deff01f
fix: TypeScript build errors for Railway deployment
claude Nov 19, 2025
93c6202
format: formatted feature queue
thejackluo Nov 19, 2025
050bde9
deployment: vercel deployment fix
thejackluo Nov 19, 2025
7293e12
feat: add server-side memory quality validation to prevent trash memo…
claude Nov 19, 2025
199ad15
fix: regenerate pnpm lockfile to fix Railway deployment
claude Nov 19, 2025
4203a8f
remove: only built dependencies
thejackluo Nov 19, 2025
f12343e
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
7952352
feat: Phase 3 - Hierarchical Memory, EAV Extraction, and Graph Relati…
claude Nov 19, 2025
c9d5c0d
deployment: railway try again
thejackluo Nov 19, 2025
3b2dc81
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
6c091e7
docs: add Phase 3 implementation summary
claude Nov 19, 2025
69fd53c
feat: Phase 3 REAL integration - Hierarchical memories, graph relatio…
claude Nov 19, 2025
56c838a
small: notated package manager version
thejackluo Nov 19, 2025
7f64d27
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 19, 2025
427c88b
fix: regenerate pnpm lockfile with pnpm 8.15.9 for Railway compatibility
claude Nov 19, 2025
0e3e08c
feat: comprehensive Phase 3 frontend integration
claude Nov 19, 2025
3fa0b6e
docs: add comprehensive Phase 3 frontend usage guide
claude Nov 19, 2025
d07f278
fix: add reactflow dependency and regenerate pnpm lockfile
claude Nov 19, 2025
956f1ab
fix: reactflow
thejackluo Nov 20, 2025
3b67b20
deploy half: networked testing setup
thejackluo Nov 20, 2025
5fab81f
wip: start mobile responsive header for experimental dashboard
claude Nov 20, 2025
75994e1
database fix part 2
thejackluo Nov 20, 2025
057567f
feat: make experimental dashboard fully mobile responsive
claude Nov 20, 2025
b9f99cb
fix: mobile responsive
thejackluo Nov 20, 2025
b74104d
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 20, 2025
e9fadd0
fix: reduced pooling and names
thejackluo Nov 20, 2025
a41a9a3
feat: implement futuristic marketing page redesign
claude Nov 20, 2025
e8a20c8
fix header part 1
thejackluo Nov 20, 2025
fedc03b
fix: move CSS @import rules to top of file
claude Nov 20, 2025
b7169df
fix: mobile issue
thejackluo Nov 20, 2025
f83a297
feat: Complete redesign of all marketing pages with futuristic style
claude Nov 20, 2025
be65a7c
fix: constant loading of the dashboard and conversations
thejackluo Nov 20, 2025
8704097
fix: part 2 more robust
thejackluo Nov 20, 2025
951e427
feat 2: navbar fix
thejackluo Nov 20, 2025
dd79f73
removed duplicate footer
thejackluo Nov 20, 2025
779111f
fix: delete package.json?
thejackluo Nov 20, 2025
128565d
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 20, 2025
198800f
Merge pull request #23 from magk-app/claude/redesign-marketing-page-0…
thejackluo Nov 20, 2025
15a9294
docs: update PR package
thejackluo Nov 20, 2025
9b2fefd
formatter:
thejackluo Nov 20, 2025
d69f2be
deployment: railway fix
thejackluo Nov 20, 2025
29a4107
deployment part 2: fix railway
thejackluo Nov 20, 2025
40fa08d
fix: user switcher dropdown positioning and click issue
claude Nov 20, 2025
86486f2
deployment: remove docker and use railpack
thejackluo Nov 20, 2025
766ee58
Merge branch 'claude/frontend-backend-integration-01XkTzdh6c6s5pmm7Zc…
thejackluo Nov 20, 2025
fc39be9
deploy: update start command
thejackluo Nov 20, 2025
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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ node_modules/
.pnp/
.pnp.js
.yarn/
package-lock.json

# Python
__pycache__/
Expand Down Expand Up @@ -127,3 +128,6 @@ bmad/
# other
tmp/
docs/archive/

# Experimental data
packages/backend/experiments/web/data/
184 changes: 184 additions & 0 deletions BUG_FIXES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
# 🐛 Bug Fixes - Experimental Dashboard

## Issues Fixed

### 1. ❌ Chat API Returning 404
**Problem:** `POST /api/chat/message HTTP/1.1" 404 Not Found`

**Root Cause:**
- Relative import `.chat_api` failed silently
- Router was never included in the FastAPI app
- No error message shown

**Fix:**
- Changed to absolute import `chat_api`
- Added traceback printing for debugging
- Chat router now loads properly

**How to verify:**
```bash
# Restart backend server
cd packages/backend
poetry run python experiments/web/dashboard_server.py

# Look for this in output:
✅ Chat API enabled
✅ Real ChatService loaded with OpenAI + PostgreSQL
```

---

### 2. ❌ Infinite Loop - Maximum Update Depth Exceeded
**Problem:** Console error `Maximum update depth exceeded`

**Root Cause:**
```typescript
// ❌ BAD - filters object creates new reference every render
const refresh = useCallback(async () => {
const data = await experimentalAPI.getMemories(filters);
setMemories(data);
}, [filters]); // filters is a new object every time!

useEffect(() => {
refresh(); // Runs every render -> infinite loop!
}, [refresh]);
```

**The Loop:**
1. Component renders with filters object
2. `useCallback` sees filters changed (new object reference)
3. Creates new `refresh` function
4. `useEffect` sees `refresh` changed
5. Calls `refresh()`
6. Sets state → component re-renders
7. Go to step 1 → **INFINITE LOOP** 🔄

**Fix:**
```typescript
// ✅ GOOD - stringify filters to create stable reference
const filtersString = JSON.stringify(filters || {});

const refresh = useCallback(async () => {
const parsedFilters = JSON.parse(filtersString);
const data = await experimentalAPI.getMemories(parsedFilters);
setMemories(data);
}, [filtersString]); // Only changes when filter VALUES change
```

**How to verify:**
1. Go to http://localhost:3000/experimental
2. Click "Memories" tab
3. No console errors
4. Page loads smoothly without freezing

---

### 3. ✅ Fallback to Mock Chat
**Improvement:** If dependencies aren't available, use mock instead of crashing

**Added:**
```python
try:
# Try to load real chat service
from openai import AsyncOpenAI
chat_service = ChatService() # Real AI
print("✅ Real ChatService loaded")
except ImportError:
# Fall back to mock
chat_service = MockChatService() # Echo responses
print("⚠️ Using MockChatService")
```

---

## Testing Steps

### Test Chat API

**Step 1:** Restart backend
```bash
cd packages/backend
poetry run python experiments/web/dashboard_server.py
```

**Step 2:** Check startup logs
```
✅ Chat API enabled ← Should see this
✅ Real ChatService loaded with OpenAI + PostgreSQL
```

**Step 3:** Test chat endpoint
```bash
curl -X POST http://localhost:8001/api/chat/message \
-H "Content-Type: application/json" \
-d '{"message": "Hello"}'
```

Should return JSON (not 404):
```json
{
"response": "...",
"memories_retrieved": [],
"memories_created": [],
"timestamp": "..."
}
```

---

### Test Frontend No Infinite Loop

**Step 1:** Start frontend
```bash
cd packages/frontend
npm run dev
```

**Step 2:** Open http://localhost:3000/experimental

**Step 3:** Open browser console (F12)

**Step 4:** Click "Memories" tab

**Expected:** ✅ No errors, no freezing

**Before fix:** ❌ Console spam with "Maximum update depth exceeded"

---

### Test Full Chat Flow

**With both servers running:**

1. Go to http://localhost:3000/experimental
2. Click "Chat" tab
3. Type: "I love hiking"
4. Press Enter

**Expected:**
- ✅ Loading indicator appears
- ✅ AI responds
- ✅ Shows "Memories Created"
- ✅ No 404 errors in console

---

## Summary

| Issue | Status | Impact |
|-------|--------|--------|
| Chat API 404 | ✅ Fixed | Chat now works |
| Infinite loop | ✅ Fixed | Memories tab loads |
| Mock fallback | ✅ Added | Works without full setup |

All critical bugs resolved! 🎉

---

## Still TODO (Not Bugs)

- Config save functionality (old Python dashboard)
- WebSocket real-time updates
- Graph view for memories

These are features, not bugs. The core chat + memory system now works!
Loading