Skip to content

Make the history item truncation limit configurable - #112

Open
redteam10it wants to merge 1 commit into
PortSwigger:mainfrom
redteam10it:feat/configurable-history-truncation
Open

Make the history item truncation limit configurable#112
redteam10it wants to merge 1 commit into
PortSwigger:mainfrom
redteam10it:feat/configurable-history-truncation

Conversation

@redteam10it

Copy link
Copy Markdown

Summary

The recorded-traffic tools (proxy/WebSocket history and Organizer) cap each item at a hard-coded 5000 characters of serialized JSON. Since the request is serialized before the response, an item with a large request (e.g. a big cookie header) can use up the whole budget and the response gets dropped entirely, which is usually the part you want.

  • Add a persisted historyItemMaxChars setting (default 5000, so current behaviour is unchanged). A value of 0 or less disables truncation.
  • truncateIfNeeded reads the limit from config instead of a literal.
  • Expose the setting in the MCP tab under Advanced Options. Unlike host/port it takes effect immediately: no reinstall, and it stays editable while the server is running.

Closes #100.

Test plan

  • ./gradlew test passes
  • New tests: items are truncated to the configured limit; a limit of 0 disables truncation

Recorded-traffic tools (proxy/WebSocket history, Organizer) cap each item at a
hard-coded 5000 characters of serialized JSON. Because the request is serialized
before the response, items with large requests can consume the whole budget and
drop the response entirely, which is usually the most useful part. This
addresses PortSwigger#100.

- Add a persisted historyItemMaxChars setting (default 5000, preserving current
  behaviour). A value of 0 or less disables truncation.
- truncateIfNeeded now takes the limit from config instead of a literal.
- Expose the setting in the MCP tab's Advanced Options. Unlike host/port it is a
  live setting: it does not require a reinstall and stays editable while the
  server is running.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

History/Organizer tools truncate each item at 5000 characters (response often lost)

1 participant