mandatoryprogrammer / mandatoryprogrammer/CursedChrome
UnhandledPromiseRejectionWarning: Error: WHERE parameter "browser_id" has invalid
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.7k
- Forks
- 249
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
I got this error UnhandledPromiseRejectionWarning: Error: WHERE parameter "browser_id" has invalid,
/CursedChrome# docker compose up cursedchrome
[+] Running 3/0
✔ Container cursedchrome-db-1 Running 0.0s
✔ Container cursedchrome-redis-1 Running 0.0s
✔ Container cursedchrome-cursedchrome-1 Created 0.0s
Attaching to cursedchrome-1
cursedchrome-1 | [December 20th 2024, 12:34:57 pm] Master 8 is running
cursedchrome-1 | [December 20th 2024, 12:34:57 pm] Initializing the database connection...
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Starting the WebSocket server...
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Starting the HTTP proxy server...
cursedchrome-1 | [AnyProxy Log][2024-12-20 12:34:58]: Http proxy started on port 8080
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] CursedChrome HTTP Proxy server is now running on port 8080.
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Starting API server...
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Worker 20 started
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Starting the WebSocket server...
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Starting the HTTP proxy server...
cursedchrome-1 | [AnyProxy Log][2024-12-20 12:34:58]: Http proxy started on port 8080
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] CursedChrome HTTP Proxy server is now running on port 8080.
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Starting API server...
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] Worker 26 started
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] CursedChrome API server is now listening on port 8118
cursedchrome-1 | [December 20th 2024, 12:34:58 pm] CursedChrome API server is now listening on port 8118
cursedchrome-1 | [December 20th 2024, 12:36:41 pm] A new browser has connected to us via WebSocket!
cursedchrome-1 | [December 20th 2024, 12:36:41 pm] Authenticating newly-connected browser...
cursedchrome-1 | (node:20) UnhandledPromiseRejectionWarning: Error: WHERE parameter "browser_id" has invalid "undefined" value
cursedchrome-1 | at PostgresQueryGenerator.whereItemQuery (/work/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2184:13)
cursedchrome-1 | at /work/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2173:25
cursedchrome-1 | at Array.forEach (<anonymous>)
cursedchrome-1 | at PostgresQueryGenerator.whereItemsQuery (/work/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2171:35)
cursedchrome-1 | at PostgresQueryGenerator.getWhereConditions (/work/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2583:19)
cursedchrome-1 | at PostgresQueryGenerator.selectQuery (/work/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1315:28)
cursedchrome-1 | at QueryInterface.select (/work/node_modules/sequelize/lib/query-interface.js:1122:27)
cursedchrome-1 | at /work/node_modules/sequelize/lib/model.js:1757:34
cursedchrome-1 | at tryCatcher (/work/node_modules/bluebird/js/release/util.js:16:23)
cursedchrome-1 | at Promise._settlePromiseFromHandler (/work/node_modules/bluebird/js/release/promise.js:547:31)
cursedchrome-1 | at Promise._settlePromise (/work/node_modules/bluebird/js/release/promise.js:604:18)
cursedchrome-1 | at Promise._settlePromise0 (/work/node_modules/bluebird/js/release/promise.js:649:10)
cursedchrome-1 | at Promise._settlePromises (/work/node_modules/bluebird/js/release/promise.js:729:18)
cursedchrome-1 | at _drainQueueStep (/work/node_modules/bluebird/js/release/async.js:93:12)
cursedchrome-1 | at _drainQueue (/work/node_modules/bluebird/js/release/async.js:86:9)
cursedchrome-1 | at Async._drainQueues (/work/node_modules/bluebird/js/release/async.js:102:5)
cursedchrome-1 | at Immediate.Async.drainQueues [as _onImmediate] (/work/node_modules/bluebird/js/release/async.js:15:14)
cursedchrome-1 | at processImmediate (internal/timers.js:456:21)
cursedchrome-1 | (node:20) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
This is my socat redirector output:
/CursedChrome# socat -v TCP4-LISTEN:8443,reuseaddr,fork TCP4:127.0.0.1:4343
2024/12/20 12:36:41.000169500 length=567 from=0 to=566
GET / HTTP/1.1\r
Host: [REDACTED]:8443\r
Connection: Upgrade\r
Pragma: no-cache\r
Cache-Control: no-cache\r
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0\r
Upgrade: websocket\r
Origin: chrome-extension://odfafepnkmbhccpbejgmiehpchacaeak\r
Sec-WebSocket-Version: 13\r
Accept-Encoding: gzip, deflate\r
Accept-Language: fr,fr-FR;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\r
Sec-WebSocket-Key: DNGJG1cQG39C0yM3rhWSeg==\r
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits\r
\r
< 2024/12/20 12:36:41.000173797 length=129 from=0 to=128
HTTP/1.1 101 Switching Protocols\r
Upgrade: websocket\r
Connection: Upgrade\r
Sec-WebSocket-Accept: kRyM2rPxf8oVAuJb6Gz/Y6xWAVA=\r
\r
< 2024/12/20 12:36:41.000176050 length=91 from=129 to=219
.Y{"id":"f0f7b909-f2e9-4ffb-849f-7cf05d6564c9","version":"1.0.0","action":"AUTH","data":{}}> 2024/12/20 12:36:44.000127130 length=95 from=567 to=661
...A...c...{...q...x...w...u...l...w...u...x...u...c...2...c...o...c...".../.......c... ...{...> 2024/12/20 12:36:47.000111069 length=95 from=662 to=756
..B.Y.9.0z.{/&.;{$.i3u.m}o.?x&.;{'.txz.n|s.:xw.h<n./{0.0q,.c<s.i0r.u<#.-w-.{$..P..u<&.-.`."c?> 2024/12/20 12:36:50.000111135 length=95 from=757 to=851
.....E...!...w...$...h...q...!...q...'...&...#...g... ...*...g...k...g...,.......\v...g...$...8.> 2024/12/20 12:36:53.000112144 length=95 from=852 to=946
...'=vg.T.>...y._.)..[%B[.1...,
_OyB.N.A\v.-. D..YT0.K.nTT.r.\aT- \rX,..T}DI.sI.L>wt8[..TxFI.>.F\va> 2024/12/20 12:36:56.000116975 length=95 from=947 to=1041
...~...\.d.D.9.G.5.O.-.I.c.J.e.S.3.G.2...6...2.N.".\.e.\r.o.\.".P...\."...i...:...N.\."...a.D.}.> 2024/12/20 12:36:56.000624806
Do you known where it come from ?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure with docker compose up cursedchrome and the WebSocket AUTH payload shown in the issue. Trace the browser-authentication entry point and the Sequelize query that uses browser_id. Done means a newly connected browser no longer produces an undefined browser_id or an unhandled promise rejection, with authentication behavior verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js, postgresql
- Domain
- api, backend, databases, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100