Commit 23ed627
committed
fix: account delete N+1, env webhook secret refine, empty reorder broadcast, members dialog double-submit + email validation
- account.delete: collapse the N+1 `COUNT(*) per room` loop into a single
GROUP BY query with FILTER. Max plan owns up to 50 rooms; this turns 51
round-trips into 1.
- lib/env: add refine that requires STRIPE_WEBHOOK_SECRET when STRIPE_SECRET_KEY
is set in production. Without it the webhook returns 503 on every event and
subscription state never reaches the DB — currently a silent misconfiguration.
- tabs.routes reorder: replace `serialized[0]?.roomId ?? ""` fallback with
an explicit `if (firstRoomId)` guard. Passing "" to broadcastTabsReordered
opens a stray Hocuspocus document named "room:" via openDirectConnection.
- members-dialog AddEmailInput: client-side email regex check + submitting
state + disabled input/button. Previously rapid Enter or button mashing
sent N parallel POSTs; an obvious typo (no @, no .) round-tripped to the
server before the user got feedback.
Code review pass 6.1 parent 06fe1bf commit 23ed627
4 files changed
Lines changed: 54 additions & 23 deletions
File tree
- apps
- server/src
- account
- lib
- rooms
- web/src/components/rooms
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
56 | 67 | | |
57 | | - | |
58 | | - | |
59 | 68 | | |
60 | 69 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
69 | 73 | | |
70 | | - | |
| 74 | + | |
71 | 75 | | |
72 | 76 | | |
73 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
43 | 48 | | |
44 | 49 | | |
45 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
71 | 76 | | |
72 | 77 | | |
73 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
413 | 417 | | |
414 | 418 | | |
415 | 419 | | |
416 | 420 | | |
417 | 421 | | |
418 | | - | |
| 422 | + | |
419 | 423 | | |
420 | 424 | | |
| 425 | + | |
421 | 426 | | |
422 | | - | |
| 427 | + | |
423 | 428 | | |
| 429 | + | |
424 | 430 | | |
425 | 431 | | |
426 | | - | |
427 | | - | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
428 | 443 | | |
429 | 444 | | |
430 | 445 | | |
| |||
435 | 450 | | |
436 | 451 | | |
437 | 452 | | |
438 | | - | |
| 453 | + | |
| 454 | + | |
439 | 455 | | |
440 | 456 | | |
441 | 457 | | |
442 | 458 | | |
443 | | - | |
| 459 | + | |
| 460 | + | |
444 | 461 | | |
445 | 462 | | |
446 | 463 | | |
| |||
0 commit comments