mirror of
https://github.com/ProxymanApp/Proxyman.git
synced 2026-04-25 16:15:55 +03:00
[GH-ISSUE #1828] Image preview in multpart/form-data breaks the app #1820
Labels
No labels
Discussion
Feature request
In Progress...
Plugins
Waiting response
Windows
Windows
bug
duplicate
enhancement
feature
good first issue
iOS
macOS 10.11
question
wontfix
✅ Done
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Proxyman#1820
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @petersamokhin on GitHub (Oct 25, 2023).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1828
Originally assigned to: @NghiaTranUIT on GitHub.
Description
When you upload a multipart request where one part is an image, ProxyMan tries to preview it (great feature btw!).
However, if the image part is not a valid image (or even if valid but maybe not supported by the preview tool you use), the app becomes unresponsive. Only "Force Quit Application" helps
Steps to Reproduce
Current Behavior
Explained above, screenshot here:
Expected Behavior
Preview can be omitted, or an error text shown — but not the app frozen.
For me, it is enough to "export" the "part" as a file, no need for preview at all
Environment
Actually, happens for a few versions already + different macOS versions (on Sonoma too). Managed to file an issue only now :)
@NghiaTranUIT commented on GitHub (Oct 26, 2023):
May I ask how big the Image is? I assume it's big so Proxyman takes a lot of time to process on the main thread -> causes the app hangs 🤔
It'd be nice if you export the Request/Response (Right-click -> Export -> ProxymanLog) and share it with us at support@proxyman.io ?
@petersamokhin commented on GitHub (Oct 26, 2023):
@NghiaTranUIT unfortunately I can't share the request 🙂 but the image is small, e.g. latest one I tested is 199 KB. Also, the app never unfreezes, waiting doesn't help
@NghiaTranUIT commented on GitHub (Oct 26, 2023):
@petersamokhin is it 100% reproducible?
May I ask what the Request/Response Body size? (You can get this data from the Request or Response column or from the Content-Length).
Multiparts works fine on my end, including images (< 1mb) and some JSON text.
@petersamokhin commented on GitHub (Oct 26, 2023):
@NghiaTranUIT yep, 100% reproducible every single time for me 😅
Content-Length: 199877 (most of the size is the mutlipart part). If I click on "multipart" tab instead of "raw", the app will be stuck forever

The next request with video (which works fine btw) is bigger. Export works with no problems, even for much bigger files (up to 100 mb at least)
Content-Length: 757946
The images I upload are JPEG but theoretically may be "worse" than regular images (maybe no EXIF and worse quality), still good for Finder "Preview" and QuickLook though. My assumption to investigate would be to check any steps that interact with the image itself, parse it or try to display, and put try/catch + resource/time limitations ther
@NghiaTranUIT commented on GitHub (Oct 27, 2023):
@petersamokhin can you try this Beta and let me know the result 👍 https://download.proxyman.io/beta/Proxyman_4.13.0_Improve_performance_Multiparts.dmg
Change log
@petersamokhin commented on GitHub (Oct 27, 2023):
@NghiaTranUIT checked just now — no difference. Once I click on the "Multipart" tab in the request preview, the whole app freezes forever. So, the "Multipart" tab needs to be optimized, not "Raw" :)
@NghiaTranUIT commented on GitHub (Oct 27, 2023):
May I ask: what macbook model are you using? 🤔
@petersamokhin commented on GitHub (Oct 27, 2023):
@NghiaTranUIT Apple M1 Pro 32GB, 16-inch, 2021
@NghiaTranUIT commented on GitHub (Oct 28, 2023):
@petersamokhin I'm not sure why but I can't reproduce the freeze issue on Multipart Tab 😿 . Can you try again on this Beta build: https://proxyman.s3.us-east-2.amazonaws.com/beta/Proxyman_4.13.0_Prevent_rendering_Multiparts_twice.dmg
Video
https://github.com/ProxymanApp/Proxyman/assets/5878421/974e62a5-8951-4612-8ae5-faa3c12e9231