n8n-nodes-chat2crm 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -97,13 +97,23 @@ class Chat2CrmTrigger {
97
97
  const redisConnections = new Map();
98
98
  for (const db of streamsByDb.keys()) {
99
99
  // Создаем отдельное соединение для каждой базы данных
100
+ // ВАЖНО: Каждое соединение уже настроено на свою базу данных через параметр db
100
101
  const redis = await RedisConnection_1.createRedisConnection.call(this, credentials, db);
101
102
  redisConnections.set(db, redis);
102
- // ДИАГНОСТИКА: Проверяем, что соединение использует правильную базу данных
103
+ // ДИАГНОСТИКА: Сразу после создания соединения проверяем stream'ы
103
104
  try {
104
- // Проверяем все ключи сразу после подключения
105
105
  const testKeys = await redis.keys('*');
106
- console.log(`[Chat2Crm Trigger] Test keys in DB ${db} after connection:`, testKeys);
106
+ console.log(`[Chat2Crm Trigger] Keys in DB ${db} immediately after connection:`, testKeys);
107
+ // Проверяем конкретно N8N_INCOMING_MESSAGE
108
+ if (streamsByDb.get(db)?.includes('N8N_INCOMING_MESSAGE')) {
109
+ try {
110
+ const testInfo = await redis.xinfo('STREAM', 'N8N_INCOMING_MESSAGE');
111
+ console.log(`[Chat2Crm Trigger] N8N_INCOMING_MESSAGE found immediately after connection!`, testInfo);
112
+ }
113
+ catch (e) {
114
+ console.error(`[Chat2Crm Trigger] N8N_INCOMING_MESSAGE NOT found immediately after connection:`, e.message);
115
+ }
116
+ }
107
117
  }
108
118
  catch (error) {
109
119
  console.error(`[Chat2Crm Trigger] Error checking keys in DB ${db}:`, error.message);
@@ -120,6 +130,18 @@ class Chat2CrmTrigger {
120
130
  try {
121
131
  const selectResult = await redis.select(db);
122
132
  console.log(`[Chat2Crm Trigger] SELECT ${db} result:`, selectResult);
133
+ // ДИАГНОСТИКА: Проверяем текущую базу данных через CLIENT INFO или другой способ
134
+ // Попробуем напрямую проверить stream после SELECT
135
+ for (const stream of dbStreams) {
136
+ try {
137
+ console.log(`[Chat2Crm Trigger] Direct XINFO check for "${stream}" immediately after SELECT ${db}`);
138
+ const directInfo = await redis.xinfo('STREAM', stream);
139
+ console.log(`[Chat2Crm Trigger] Direct XINFO SUCCESS for "${stream}":`, directInfo);
140
+ }
141
+ catch (directError) {
142
+ console.error(`[Chat2Crm Trigger] Direct XINFO FAILED for "${stream}":`, directError.message);
143
+ }
144
+ }
123
145
  // ДИАГНОСТИКА: Проверяем все stream'ы через SCAN
124
146
  const streamKeys = [];
125
147
  let cursor = '0';
@@ -135,6 +157,24 @@ class Chat2CrmTrigger {
135
157
  } while (cursor !== '0');
136
158
  console.log(`[Chat2Crm Trigger] Found ${streamKeys.length} streams in DB ${db}:`, streamKeys);
137
159
  console.log(`[Chat2Crm Trigger] Looking for:`, dbStreams);
160
+ // ДИАГНОСТИКА: Проверяем конкретно N8N_INCOMING_MESSAGE через разные методы
161
+ if (dbStreams.includes('N8N_INCOMING_MESSAGE')) {
162
+ console.log(`[Chat2Crm Trigger] Special check for N8N_INCOMING_MESSAGE in DB ${db}`);
163
+ try {
164
+ const exists = await redis.exists('N8N_INCOMING_MESSAGE');
165
+ console.log(`[Chat2Crm Trigger] EXISTS check for N8N_INCOMING_MESSAGE:`, exists);
166
+ }
167
+ catch (e) {
168
+ console.error(`[Chat2Crm Trigger] EXISTS check failed:`, e.message);
169
+ }
170
+ try {
171
+ const type = await redis.type('N8N_INCOMING_MESSAGE');
172
+ console.log(`[Chat2Crm Trigger] TYPE check for N8N_INCOMING_MESSAGE:`, type);
173
+ }
174
+ catch (e) {
175
+ console.error(`[Chat2Crm Trigger] TYPE check failed:`, e.message);
176
+ }
177
+ }
138
178
  }
139
179
  catch (error) {
140
180
  console.error(`[Chat2Crm Trigger] Failed to select DB ${db}:`, error.message);
@@ -172,7 +172,7 @@ async function createRedisConnection(credentials, db = 0) {
172
172
  const redis = new ioredis_1.default({
173
173
  host: redisHost,
174
174
  port: redisPort,
175
- db: selectedDb, // Явно используем переданный параметр db
175
+ db: selectedDb,
176
176
  password: credentials.password,
177
177
  enableReadyCheck: true,
178
178
  maxRetriesPerRequest: 3,
@@ -182,6 +182,18 @@ async function createRedisConnection(credentials, db = 0) {
182
182
  return delay;
183
183
  },
184
184
  });
185
+ // Ждем подключения и явно выбираем базу данных
186
+ await new Promise((resolve, reject) => {
187
+ redis.once('ready', () => {
188
+ resolve();
189
+ });
190
+ redis.once('error', (err) => {
191
+ reject(err);
192
+ });
193
+ });
194
+ // Явно выбираем базу данных после подключения
195
+ await redis.select(selectedDb);
196
+ console.log(`[Redis Connection] Explicitly selected DB ${selectedDb} after connection`);
185
197
  // Добавляем обработчики событий для диагностики
186
198
  redis.on('connect', () => {
187
199
  console.log(`[Redis Connection] Connected to Redis at ${redisHost}:${redisPort}, DB ${selectedDb}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-chat2crm",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "n8n node for Chat2Crm Redis integration",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",