[GH-ISSUE #1569] [BUG] Websocket Max Frame Size is 16Kb #1563

Open
opened 2026-03-03 19:52:27 +03:00 by kerem · 11 comments
Owner

Originally created by @NghiaTranUIT on GitHub (Mar 6, 2023).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1569

Originally assigned to: @NghiaTranUIT on GitHub.

Description

For some reason, the Websocket message is trimmed unexpectedly. We've checked that we set the MaxFrameSize is UInt32.max, but the WS Message is cut at 16Kb.

Screenshot 2023-03-06 at 15 50 23

Steps to Reproduce

  1. Make a huge WS Message
  2. The WS Message is missing

Current Behavior

The WS Message is trimmed

Expected Behavior

  • Should show entire WS message
Originally created by @NghiaTranUIT on GitHub (Mar 6, 2023). Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1569 Originally assigned to: @NghiaTranUIT on GitHub. ## Description For some reason, the Websocket message is trimmed unexpectedly. We've checked that we set the MaxFrameSize is UInt32.max, but the WS Message is cut at 16Kb. ![Screenshot 2023-03-06 at 15 50 23](https://user-images.githubusercontent.com/5878421/223061788-995fbc3a-21dd-4195-9ba7-75e92c89c921.jpg) ## Steps to Reproduce 1. Make a huge WS Message 2. The WS Message is missing ## Current Behavior The WS Message is trimmed ## Expected Behavior - Should show entire WS message
Author
Owner

@invisible-debug commented on GitHub (Jun 27, 2024):

@NghiaTranUIT This is still critical. When is the fix planned?

<!-- gh-comment-id:2194349659 --> @invisible-debug commented on GitHub (Jun 27, 2024): @NghiaTranUIT This is still critical. When is the fix planned?
Author
Owner

@NghiaTranUIT commented on GitHub (Jun 28, 2024):

@invisible-debug I can't reproduce this bug. I tried to setup a NodeJS WS Server, and I can sent 5Mb JSON file without any problems.

Can you share with me what Backend library you're using? Python, Ruby and what the network lib is?

<!-- gh-comment-id:2195965921 --> @NghiaTranUIT commented on GitHub (Jun 28, 2024): @invisible-debug I can't reproduce this bug. I tried to setup a NodeJS WS Server, and I can sent 5Mb JSON file without any problems. Can you share with me what Backend library you're using? Python, Ruby and what the network lib is?
Author
Owner

@invisible-debug commented on GitHub (Jun 28, 2024):

@NghiaTranUIT Try to send not just JSON, but a MESSAGE packet frame with a content length of more than 19000 characters.
Here is a link to the stomp protocol:
https://stomp.github.io/stomp-specification-1.2.html#MESSAGE

<!-- gh-comment-id:2196458778 --> @invisible-debug commented on GitHub (Jun 28, 2024): @NghiaTranUIT Try to send not just JSON, but a MESSAGE packet frame with a content length of more than 19000 characters. Here is a link to the stomp protocol: https://stomp.github.io/stomp-specification-1.2.html#MESSAGE
Author
Owner

@invisible-debug commented on GitHub (Jun 28, 2024):

cutted_message
<!-- gh-comment-id:2196461945 --> @invisible-debug commented on GitHub (Jun 28, 2024): <img width="617" alt="cutted_message" src="https://github.com/ProxymanApp/Proxyman/assets/174007516/12d14f7a-db48-40e9-ab7a-c6df098e5a8d">
Author
Owner

@NghiaTranUIT commented on GitHub (Jun 28, 2024):

@invisible-debug I guess I need to set up a sample Stomp Websocket Server to test it.

Since now, I just tested with a normal Websocket from NodeJS server and it works fine.

<!-- gh-comment-id:2196922138 --> @NghiaTranUIT commented on GitHub (Jun 28, 2024): @invisible-debug I guess I need to set up a sample Stomp Websocket Server to test it. Since now, I just tested with a normal Websocket from NodeJS server and it works fine.
Author
Owner

@NghiaTranUIT commented on GitHub (Jun 28, 2024):

@invisible-debug any chance to export your Websocket and share to us at support@proxyman.io ?

<!-- gh-comment-id:2196923692 --> @NghiaTranUIT commented on GitHub (Jun 28, 2024): @invisible-debug any chance to export your Websocket and share to us at support@proxyman.io ?
Author
Owner

@invisible-debug commented on GitHub (Jun 28, 2024):

@NghiaTranUIT
Unfortunately, I cannot disclose the corporate json. But I tried to copy it from Charles, and then send it through the local mock server and Map Remote. And the bug is not reproducible :(
But there is one point that distinguishes a bug situation from a bug-free situation. Here is another screenshot where I showed it. This frame appears when the cursor hovers over the json body. Is this the reason why the json is not fully displayed?
frame_cutted_json

<!-- gh-comment-id:2197054445 --> @invisible-debug commented on GitHub (Jun 28, 2024): @NghiaTranUIT Unfortunately, I cannot disclose the corporate json. But I tried to copy it from Charles, and then send it through the local mock server and Map Remote. And the bug is not reproducible :( But there is one point that distinguishes a bug situation from a bug-free situation. Here is another screenshot where I showed it. This frame appears when the cursor hovers over the json body. Is this the reason why the json is not fully displayed? <img width="661" alt="frame_cutted_json" src="https://github.com/ProxymanApp/Proxyman/assets/174007516/fd04b0a7-9aed-45b6-b6ff-4ee2f5cac16c">
Author
Owner

@NghiaTranUIT commented on GitHub (Jun 28, 2024):

@invisible-debug thanks, it could be. I will try to disable it.

May I ask:

  • Does your client receive a full JSON websocket message?

If yes, it's definitely a bug when displaying a JSON, not a bug when sending/receiving the WS message.

<!-- gh-comment-id:2197212845 --> @NghiaTranUIT commented on GitHub (Jun 28, 2024): @invisible-debug thanks, it could be. I will try to disable it. May I ask: - Does your client receive a full JSON websocket message? If yes, it's definitely a bug when displaying a JSON, not a bug when sending/receiving the WS message.
Author
Owner

@invisible-debug commented on GitHub (Jun 28, 2024):

@NghiaTranUIT Yes, it is transmitted correctly. The problem is only in the display

<!-- gh-comment-id:2197224141 --> @invisible-debug commented on GitHub (Jun 28, 2024): @NghiaTranUIT Yes, it is transmitted correctly. The problem is only in the display
Author
Owner

@NghiaTranUIT commented on GitHub (Jun 29, 2024):

@invisible-debug here is the Beta build: https://download.proxyman.io/beta/Proxyman_5.5.0_Fix_monaco_editor_renders_a_long_line.dmg

I increase the limit to 50,000 (default is 10,000).

<!-- gh-comment-id:2198022717 --> @NghiaTranUIT commented on GitHub (Jun 29, 2024): @invisible-debug here is the Beta build: https://download.proxyman.io/beta/Proxyman_5.5.0_Fix_monaco_editor_renders_a_long_line.dmg I increase the limit to 50,000 (default is 10,000).
Author
Owner

@invisible-debug commented on GitHub (Jun 29, 2024):

@NghiaTranUIT Unfortunately, this did not solve the problem. Only now the pop-up warning is not displayed. Content-length:18709. And why do I see the brackets in red? Because there are no closing brackets in the editor?
Maybe make a build without rendering? To exclude that affects the body
frame_cutted_json_2

<!-- gh-comment-id:2198060213 --> @invisible-debug commented on GitHub (Jun 29, 2024): @NghiaTranUIT Unfortunately, this did not solve the problem. Only now the pop-up warning is not displayed. Content-length:18709. And why do I see the brackets in red? Because there are no closing brackets in the editor? Maybe make a build without rendering? To exclude that affects the body <img width="611" alt="frame_cutted_json_2" src="https://github.com/ProxymanApp/Proxyman/assets/174007516/85be6eb7-9bc9-4e8c-8370-70aa4f8bca38">
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Proxyman#1563
No description provided.