mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-03-21 01:43:08 +00:00
fix: update telemetry to work with Supabase RLS and permissions
- Remove .select() from insert operations to avoid permission issues - Add debug logging for successful flushes - Add comprehensive test scripts for telemetry verification - Telemetry now successfully sends anonymous usage data to Supabase
This commit is contained in:
68
scripts/test-telemetry-no-select.ts
Normal file
68
scripts/test-telemetry-no-select.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env npx tsx
|
||||
/**
|
||||
* Test telemetry without requesting data back
|
||||
*/
|
||||
|
||||
import { createClient } from '@supabase/supabase-js';
|
||||
import dotenv from 'dotenv';
|
||||
|
||||
dotenv.config();
|
||||
|
||||
async function testNoSelect() {
|
||||
const supabaseUrl = process.env.SUPABASE_URL!;
|
||||
const supabaseAnonKey = process.env.SUPABASE_ANON_KEY!;
|
||||
|
||||
console.log('🧪 Telemetry Test (No Select)\n');
|
||||
|
||||
const supabase = createClient(supabaseUrl, supabaseAnonKey, {
|
||||
auth: {
|
||||
persistSession: false,
|
||||
autoRefreshToken: false,
|
||||
}
|
||||
});
|
||||
|
||||
// Insert WITHOUT .select() - just fire and forget
|
||||
const testData = {
|
||||
user_id: 'test-' + Date.now(),
|
||||
event: 'test_event',
|
||||
properties: { test: true }
|
||||
};
|
||||
|
||||
console.log('Inserting:', testData);
|
||||
|
||||
const { error } = await supabase
|
||||
.from('telemetry_events')
|
||||
.insert([testData]); // No .select() here!
|
||||
|
||||
if (error) {
|
||||
console.error('❌ Failed:', error);
|
||||
} else {
|
||||
console.log('✅ Success! Data inserted (no response data)');
|
||||
}
|
||||
|
||||
// Test workflow insert too
|
||||
const testWorkflow = {
|
||||
user_id: 'test-' + Date.now(),
|
||||
workflow_hash: 'hash-' + Date.now(),
|
||||
node_count: 3,
|
||||
node_types: ['webhook', 'http', 'slack'],
|
||||
has_trigger: true,
|
||||
has_webhook: true,
|
||||
complexity: 'simple',
|
||||
sanitized_workflow: { nodes: [], connections: {} }
|
||||
};
|
||||
|
||||
console.log('\nInserting workflow:', testWorkflow);
|
||||
|
||||
const { error: workflowError } = await supabase
|
||||
.from('telemetry_workflows')
|
||||
.insert([testWorkflow]); // No .select() here!
|
||||
|
||||
if (workflowError) {
|
||||
console.error('❌ Workflow failed:', workflowError);
|
||||
} else {
|
||||
console.log('✅ Workflow inserted successfully!');
|
||||
}
|
||||
}
|
||||
|
||||
testNoSelect().catch(console.error);
|
||||
Reference in New Issue
Block a user