feat(feedback): implement ChipDip-style floating dev feedback & bug report widget with markdown sync
This commit is contained in:
1 parent
e1cacde543
commit
8cffae46fa
11 files changed
+1104
-3
No files matched your search
@@ -433,6 +433,24 @@ def _migrate(conn: sqlite3.Connection):
|
||||
""")
|
||||
conn.execute("CREATE INDEX IF NOT EXISTS idx_lesson_sess_user_date ON lesson_sessions(user_id, completed_at DESC);")
|
||||
|
||||
# Ensure feedback_reports table exists (User In-App Bug & Feature Tracker)
|
||||
conn.execute("""
|
||||
CREATE TABLE IF NOT EXISTS feedback_reports (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
category TEXT NOT NULL DEFAULT 'bug',
|
||||
message TEXT NOT NULL,
|
||||
context_url TEXT DEFAULT '',
|
||||
context_data_json TEXT DEFAULT '{}',
|
||||
status TEXT NOT NULL DEFAULT 'new',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
);
|
||||
""")
|
||||
conn.execute("CREATE INDEX IF NOT EXISTS idx_feedback_user ON feedback_reports(user_id);")
|
||||
conn.execute("CREATE INDEX IF NOT EXISTS idx_feedback_status ON feedback_reports(status);")
|
||||
|
||||
# Repair legacy cards with placeholder blanks or mismatched context
|
||||
repair_mismatched_cefr_contexts(conn)
|
||||
|
||||
|
||||
Reference in new issue
Block a user