[GH-ISSUE #262] Summary Tab: #1 UI and logic #262

Open
opened 2026-03-03 19:49:29 +03:00 by kerem · 2 comments
Owner

Originally created by @NghiaTranUIT on GitHub (Jul 5, 2023).
Original GitHub issue: https://github.com/ProxymanApp/proxyman-windows-linux/issues/262

Originally assigned to: @kics223w1 on GitHub.

Description

It's time to implement the Summary Tab which displays a lot of information about the request

CleanShot 2023-07-05 at 08 58 19@2x

Acceptance Criteria

  • Use Tree View React: https://mui.com/material-ui/react-tree-view/
  • Add a tab Summary: By default, it's a custom Tab (Enabled by default), it positions after the | separator. (Open the macOS app and see what it looks like)
  • All Sections are collapsed, except the Summary Section.
  • When the user expands some section -> It will persist when we select a different Request (GIF)

https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/185c3d33-7c38-4591-8e1b-6dcebdba74de

  • If we close the Proxyman app, the section is reset (Summary Section is expanded)

1. Summary Section

  • URL
  • Status
  • Response Code
  • Method
  • Content-Type: (Get from Content-Type from the Response Header)

2. Debugging Tools

If the flow is matched with any debugging tools, we should save it as a property -> Show it in the Debugging Tool section

  • Tool Name
  • Rule Name
  • Matching Rule
  • Notes
  • Open Rule

3. Timing

  • Request Start Time
  • Request End Time
  • Request Time
  • Response Start Time
  • Response End Time
  • Response Time
  • Latency (No need to implement since we don't have this data)
  • Duration
  • Duration (Exact)

4. Size

  • Request Header
  • Request Body (Just get the body length)
  • Response Header
  • Response Body (Body Length)
  • Total Size

5. Connection

  • Client Address
  • Remote Address
Other
  • No need to implement the TLS and Server Certificate Section
Originally created by @NghiaTranUIT on GitHub (Jul 5, 2023). Original GitHub issue: https://github.com/ProxymanApp/proxyman-windows-linux/issues/262 Originally assigned to: @kics223w1 on GitHub. ## Description It's time to implement the Summary Tab which displays a lot of information about the request ![CleanShot 2023-07-05 at 08 58 19@2x](https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/60734680-4977-4d2b-a96f-729c7560bf8b) ## Acceptance Criteria - Use Tree View React: https://mui.com/material-ui/react-tree-view/ - Add a tab Summary: By default, it's a custom Tab (Enabled by default), it positions after the `|` separator. (Open the macOS app and see what it looks like) - All Sections are collapsed, except the Summary Section. - When the user expands some section -> It will persist when we select a different Request (GIF) https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/185c3d33-7c38-4591-8e1b-6dcebdba74de - If we close the Proxyman app, the section is reset (Summary Section is expanded) #### 1. Summary Section - URL - Status - Response Code - Method - Content-Type: (Get from `Content-Type` from the Response Header) #### 2. Debugging Tools If the flow is matched with any debugging tools, we should save it as a property -> Show it in the Debugging Tool section - Tool Name - Rule Name - Matching Rule - Notes - Open Rule #### 3. Timing - Request Start Time - Request End Time - Request Time - Response Start Time - Response End Time - Response Time - Latency (No need to implement since we don't have this data) - Duration - Duration (Exact) #### 4. Size - Request Header - Request Body (Just get the body length) - Response Header - Response Body (Body Length) - Total Size #### 5. Connection - Client Address - Remote Address ##### Other - No need to implement the `TLS` and `Server Certificate` Section
Author
Owner

@NghiaTranUIT commented on GitHub (Jul 5, 2023):

Code requirement

  • Do not calculate the summary when the Flow is initialized. We should init the FlowMetadata in the lazy mode => When the user opens the Summary Tab -> It's time to initialize the FlowMetadata class
  • Ping @NghiaTranUIT to get the FlowMetadata in Swift file, so you can understand how it's designed
  • Some info is not missing (e.g. Client Address, Remote Address): we should add this new property to the Flow class
  • When we export the Flow to ProxymanLog or HAR, the Summar Tab should display the same data
<!-- gh-comment-id:1620925440 --> @NghiaTranUIT commented on GitHub (Jul 5, 2023): ### Code requirement - Do not calculate the summary when the Flow is initialized. We should init the FlowMetadata in the lazy mode => When the user opens the Summary Tab -> It's time to initialize the FlowMetadata class - Ping @NghiaTranUIT to get the `FlowMetadata` in Swift file, so you can understand how it's designed - Some info is not missing (e.g. Client Address, Remote Address): we should add this new property to the `Flow` class - When we export the Flow to ProxymanLog or HAR, the Summar Tab should display the same data
Author
Owner

@NghiaTranUIT commented on GitHub (Jul 5, 2023):

Filter

  • Able to filter the Row or Section
  • If we select a different flow -> The filtered Section/Row must be updated
  • Use the same shortcut: Control+F to focus and open, ESC to hide it

https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/dde3f6b4-8998-4147-b311-678d586d3794

<!-- gh-comment-id:1620926413 --> @NghiaTranUIT commented on GitHub (Jul 5, 2023): ### Filter - Able to filter the Row or Section - If we select a different flow -> The filtered Section/Row must be updated - Use the same shortcut: Control+F to focus and open, ESC to hide it https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/dde3f6b4-8998-4147-b311-678d586d3794
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-windows-linux#262
No description provided.