Skip to content

Conversation

@kcoopermiller
Copy link
Member

@kcoopermiller kcoopermiller commented Dec 20, 2025

Note

Adds a new tunneling capability and integrates it into the CLI.

  • Introduces packages/prime-tunnel SDK with Tunnel, TunnelClient, Config, models, and exceptions
  • Implements frpc binary management (binary.py) with platform-aware download, extraction, and versioning
  • Adds async HTTP client with retries and timeouts for tunnel lifecycle (create/get/list/delete)
  • Provides Tunnel orchestration: writes frpc config, launches subprocess, waits for connection, cleans up
  • Includes basic tests and packaging metadata (LICENSE, README, pyproject)
  • Integrates CLI: new prime tunnel commands (start, list, status, stop) and wires into main app; updates dependencies and workspace manifest

Written by Cursor Bugbot for commit 3ba86e0. This will update automatically on new commits. Configure here.

@kcoopermiller kcoopermiller marked this pull request as draft December 20, 2025 00:46
@kcoopermiller kcoopermiller marked this pull request as ready for review January 1, 2026 18:15
JannikSt
JannikSt previously approved these changes Jan 7, 2026
cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

cursor[bot]

This comment was marked as outdated.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

except (BlockingIOError, IOError):
pass
finally:
fcntl.fcntl(fd, fcntl.F_SETFL, fl)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stderr not drained during connection wait causing potential timeout

Medium Severity

During _wait_for_connection(), only stdout is read while waiting for the "start proxy success" message. The stderr pipe is never read until the process exits. If frpc outputs substantial data to stderr during startup (warnings, debug logs), the pipe buffer could fill up, causing frpc to block before writing the success message to stdout, resulting in a false timeout.

Fix in Cursor Fix in Web

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.

3 participants