Skip to content

feat: add ProtonVPN extension - #373 - #374

Open
skifli wants to merge 4 commits into
vicinaehq:mainfrom
skifli:main
Open

feat: add ProtonVPN extension - #373#374
skifli wants to merge 4 commits into
vicinaehq:mainfrom
skifli:main

Conversation

@skifli

@skifli skifli commented Aug 31, 2026

Copy link
Copy Markdown

ProtonVPN Extension

Adds a ProtonVPN extension that wraps the protonvpn CLI.

Page: Connect to Server Page: VPN Settings Page: VPN Status
image image image

Commands

  • VPN Status - View connection status with server details in a split view. Quick connect/disconnect actions.
  • Connect to Server - Browse countries and cities, quick connect, specialty servers, etc.
  • VPN Settings - Toggle various ProtonVPN settings in Vicinae.

Features

  • Dependency check - shows install instructions if protonvpn CLI is not found.
  • Auth check - prompts to sign in if not authenticated.
  • Split view on status page with connection details.
  • Free plan support (paid features are greyed out with "Requires paid plan").

Testing

Tested locally on NixOS with protonvpn CLI installed.

Notes

  • Settings that require a paid plan are shown but open the ProtonVPN pricing page if on free (and have a lock symbol).
  • I only have a free plan so I haven't been able to test all the Pro feature toggles but they should work / if they do not its a small change to fix then.

@clankus-aurelius

clankus-aurelius commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Thanks for contributing an extension to Vicinae! 👋

Before publication, this pull request receives two reviews:

  1. An automated review for extension guidelines, safety, error handling, and likely correctness issues.
  2. A final review from a Vicinae maintainer.

Ready for human review. The automated reviewer approved the latest commit and a maintainer has been notified.

No blocking findings remain on the latest commit.

The automated reviewer examines only the current commit. New commits invalidate its previous decision and start another review.

@clankus-aurelius clankus-aurelius added the ai-reviewing Automated extension review is running label Aug 31, 2026

@clankus-aurelius clankus-aurelius left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The extension introduces two misleading failure paths and an unrelated workspace dependency upgrade.


Automated review found 1 publication-blocking issue.

This is an AI-generated first pass and may be mistaken. If a finding is unclear or incorrect, reply in the relevant thread and mention @aurelleb.

Comment thread extensions/protonvpn/src/status.tsx
Comment thread extensions/protonvpn/src/lib/protonvpn.ts
Comment thread package.json Outdated
@clankus-aurelius clankus-aurelius added ai-changes-requested Automated review found blocking issues and removed ai-reviewing Automated extension review is running labels Aug 31, 2026
@clankus-aurelius clankus-aurelius added ai-reviewing Automated extension review is running and removed ai-changes-requested Automated review found blocking issues labels Aug 31, 2026

@clankus-aurelius clankus-aurelius left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

All previously reported issues are resolved, and the follow-up changes introduce no new actionable problems.


Automated extension review passed. A maintainer review is still required.

This is an AI-generated first pass and may be mistaken. If a finding is unclear or incorrect, reply in the relevant thread and mention @aurelleb.

@clankus-aurelius clankus-aurelius added human-reviewable Automated review passed; ready for maintainer review and removed ai-reviewing Automated extension review is running labels Aug 31, 2026
@clankus-aurelius

Copy link
Copy Markdown
Collaborator

@aurelleb automated review passed for daa6087; this extension is ready for your review.

@skifli

skifli commented Aug 31, 2026

Copy link
Copy Markdown
Author

Oh also of note is the fact that I tried to in-build the login flow to Vicinae's UI - because I know that telling the user to go run a command in their own terminal to sign-in is a bit long. However, from a bit of testing, I believe the Proton VPN CLI reads directly from /dev/tty which means we cannot use piping etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-reviewable Automated review passed; ready for maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants