pgserve 0.1.3 → 0.1.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pgserve",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Multi-instance PostgreSQL embedded server using PGlite - zero config, auto-port allocation, perfect for development and embedded apps",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
package/src/protocol.js CHANGED
@@ -176,6 +176,9 @@ export async function readStartupMessage(socket) {
176
176
  socket.on('data', onData);
177
177
  socket.on('error', onError);
178
178
 
179
+ // Resume socket AFTER listeners are set up (prevents race condition)
180
+ socket.resume();
181
+
179
182
  // Timeout after 5 seconds
180
183
  setTimeout(() => {
181
184
  if (resolved) return;
package/src/router.js CHANGED
@@ -152,8 +152,8 @@ export class MultiTenantRouter extends EventEmitter {
152
152
  // Track connection
153
153
  this.connections.add(socket);
154
154
 
155
- // Resume socket (was paused on connect)
156
- socket.resume();
155
+ // NOTE: Don't resume here - let readStartupMessage() resume after setting up listeners
156
+ // This prevents race condition where data arrives before listener is attached
157
157
 
158
158
  let dbName = null;
159
159
  let handler = null;