Skip to content

feat: add protocol filtering, TCP probe controls, and richer tunnel d…#19

Open
SaeedKolahi wants to merge 1 commit into
shirokhorshid:masterfrom
SaeedKolahi:master
Open

feat: add protocol filtering, TCP probe controls, and richer tunnel d…#19
SaeedKolahi wants to merge 1 commit into
shirokhorshid:masterfrom
SaeedKolahi:master

Conversation

@SaeedKolahi

@SaeedKolahi SaeedKolahi commented Apr 9, 2026

Copy link
Copy Markdown

Summary

  • Adds a configurable Protocol Filter in More Options so users can limit tunnel protocol candidates in direct/auto modes.
  • Adds TCP Reachability Probe controls (enable/disable, skip-on-fail, boost, timeout) and wires them into tunnel configuration.
  • Improves tunnel diagnostics and log UX by:
    • refining inproxy/conduit diagnostic parsing and emitted status lines,
    • adding "handshake pending" visibility,
    • adding Clear Logs and Save & Share Logs actions in the logs tab.
  • Introduces TunnelNoticeSummaryBuilder + TunnelNoticeStatusEmitter and unit tests for notice summary/status behavior.

Why

These changes provide more control over connection strategy and improve observability during connection setup, helping users diagnose slow/failing handshakes and tune behavior for restrictive networks.

Test Plan

  • Build app successfully (./gradlew assemble... as appropriate).
  • Open More Options and verify:
    • Protocol Filter is visible and selectable.
    • TCP Reachability options (switches + timeout list) persist across restart.
  • Verify tunnel behavior:
    • Direct/auto mode respects selected protocol filter.
    • No filter selected falls back to default protocol selection.
  • Verify logs tab:
    • Clear Logs removes current log list.
    • Save & Share Logs exports and opens share sheet.
    • Handshake-pending / tunnel-event lines appear during connect flow.
  • Run unit tests for:
    • TunnelNoticeSummaryBuilderTest
    • TunnelNoticeStatusEmitterTest

Notes

  • Includes corresponding string/resource and preference XML updates for new settings and UI labels.

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.

1 participant