diff --git a/cwd-admin/src/views/CommentsView/index.vue b/cwd-admin/src/views/CommentsView/index.vue
index 0a7cef9..8cdb023 100644
--- a/cwd-admin/src/views/CommentsView/index.vue
+++ b/cwd-admin/src/views/CommentsView/index.vue
@@ -89,7 +89,9 @@
target="_blank"
class="cell-path"
:title="item.postSlug"
- >{{ item.postSlug }}
+ {{ item.postUrl || item.postSlug }}
+
diff --git a/cwd-api/package.json b/cwd-api/package.json
index 050a5a4..8174cc5 100644
--- a/cwd-api/package.json
+++ b/cwd-api/package.json
@@ -2,7 +2,7 @@
"name": "cwd-api",
"version": "0.0.18",
"scripts": {
- "deploy": "node scripts/auto_migrate.js && wrangler deploy",
+ "deploy": "node scripts/index.js && wrangler deploy",
"dev": "wrangler dev",
"start": "wrangler dev",
"test": "vitest",
diff --git a/cwd-api/scripts/auto_migrate.js b/cwd-api/scripts/auto_migrate.js
index 3a0f9cc..c98b27d 100644
--- a/cwd-api/scripts/auto_migrate.js
+++ b/cwd-api/scripts/auto_migrate.js
@@ -39,17 +39,11 @@ function findDatabaseName() {
function run() {
try {
- console.log('🔍 [Auto-Migrate] Detecting D1 database...');
const dbName = findDatabaseName();
if (!dbName) {
- console.warn('⚠️ [Auto-Migrate] Could not detect database_name from wrangler config. Skipping.');
return;
}
- console.log(`✅ [Auto-Migrate] Found database: ${dbName}`);
-
- console.log('🔍 [Auto-Migrate] Checking schema status...');
try {
- // Check if post_url column exists
const checkCmd = `npx wrangler d1 execute ${dbName} --command "SELECT count(*) as count FROM pragma_table_info('Comment') WHERE name='post_url'" --remote --json`;
const output = execSync(checkCmd, { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'ignore'] });
@@ -57,16 +51,12 @@ function run() {
const count = result[0]?.results?.[0]?.count;
if (count > 0) {
- console.log('✅ [Auto-Migrate] Schema is up to date.');
return;
}
} catch (e) {
- console.warn('⚠️ [Auto-Migrate] Check failed (Database might be new or network error). Skipping migration to be safe.');
- console.warn(e.message);
return;
}
- console.log('🚀 [Auto-Migrate] Applying migration...');
const sql = `
ALTER TABLE Comment ADD COLUMN post_url TEXT;
UPDATE Comment SET post_url = post_slug;
@@ -82,10 +72,10 @@ function run() {
const migrateCmd = `npx wrangler d1 execute ${dbName} --command "${flatSql}" --remote --yes`;
execSync(migrateCmd, { stdio: 'inherit' });
- console.log('✅ [Auto-Migrate] Completed successfully.');
+ console.log('[Auto-Migrate] Migration applied for Comment.post_url.');
} catch (error) {
- console.error('❌ [Auto-Migrate] Failed:', error.message);
+ console.error('[Auto-Migrate] Failed:', error.message);
process.exit(1);
}
}
diff --git a/cwd-api/scripts/index.js b/cwd-api/scripts/index.js
new file mode 100644
index 0000000..14eff77
--- /dev/null
+++ b/cwd-api/scripts/index.js
@@ -0,0 +1 @@
+require('./auto_migrate');
diff --git a/cwd-api/src/api/admin/listComments.ts b/cwd-api/src/api/admin/listComments.ts
index cb1aec1..edeebbf 100644
--- a/cwd-api/src/api/admin/listComments.ts
+++ b/cwd-api/src/api/admin/listComments.ts
@@ -54,6 +54,7 @@ export const listComments = async (c: Context<{ Bindings: Bindings }>) => {
name: row.name,
email: row.email,
postSlug: row.post_slug,
+ postUrl: row.post_url,
url: row.url,
ipAddress: row.ip_address,
contentText: row.content_text,
diff --git a/cwd-api/src/api/public/getComments.ts b/cwd-api/src/api/public/getComments.ts
index cc91a4d..c48a2c0 100644
--- a/cwd-api/src/api/public/getComments.ts
+++ b/cwd-api/src/api/public/getComments.ts
@@ -36,7 +36,7 @@ export const getComments = async (c: Context<{ Bindings: Bindings }>) => {
let query = `
SELECT id, name, email, url, content_text as contentText,
content_html as contentHtml, created, parent_id as parentId,
- post_slug as postSlug, priority, COALESCE(likes, 0) as likes
+ post_slug as postSlug, post_url as postUrl, priority, COALESCE(likes, 0) as likes
FROM Comment
WHERE status = "approved" AND post_slug = ?
ORDER BY priority DESC, created DESC
@@ -46,7 +46,7 @@ export const getComments = async (c: Context<{ Bindings: Bindings }>) => {
query = `
SELECT id, name, email, url, content_text as contentText,
content_html as contentHtml, created, parent_id as parentId,
- post_slug as postSlug, priority, COALESCE(likes, 0) as likes
+ post_slug as postSlug, post_url as postUrl, priority, COALESCE(likes, 0) as likes
FROM Comment
WHERE status = "approved" AND post_slug IN (${placeholders})
ORDER BY priority DESC, created DESC
diff --git a/docs/widget/src/core/CWDComments.js b/docs/widget/src/core/CWDComments.js
index bd6ccae..843b576 100644
--- a/docs/widget/src/core/CWDComments.js
+++ b/docs/widget/src/core/CWDComments.js
@@ -188,7 +188,6 @@ export class CWDComments {
: this.config.commentPlaceholder;
const api = createApiClient(this.config);
- console.log(this.config)
this.api = api;
if (this.hostElement && this.mountPoint) {
this.store = createCommentStore(