Skip to content

feat: add proton-pass plugin#4

Merged
ItsLemmy merged 2 commits into
noctalia-dev:mainfrom
LucasOe:proton-pass
Jul 15, 2026
Merged

feat: add proton-pass plugin#4
ItsLemmy merged 2 commits into
noctalia-dev:mainfrom
LucasOe:proton-pass

Conversation

@LucasOe

@LucasOe LucasOe commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Plugin

  • Id: lucasoe/proton-pass
  • New plugin
  • Update to an existing plugin (version bumped in plugin.toml)

What it does

Adds integration for the Proton Pass CLI to the launcher. Allows browsing Vaults and their content. Passwords can be copied to the clipboard. TOTP codes are shown as a notification if they exist.

External dependencies

Testing

  • Tested on Niri
  • Tested on Hyprland
  • Tested on Sway
  • Tested on another compositor:
  • Noctalia version tested against: v5.0.0

Screenshots / Videos

2026-07-13_21-38-46.mp4

Checklist

  • The directory name matches the part of id after the / in plugin.toml exactly.
  • It ships plugin.toml, README.md, thumbnail.webp, and translations/en.json.
  • version follows semver and is bumped in this PR; min_noctalia is the version I tested against.
  • I only added or edited translations/en.json (no machine-translated locales).
  • I did not edit catalog.toml; CI generates it.
  • This PR touches exactly one plugin directory.

Code review attestation

Plugins run as trusted, unsandboxed Luau in the user's session. Confirm:

  • The code is readable and not obfuscated, minified, or generated.
  • It does not download and execute remote code.
  • Every network call, filesystem write, and spawned process is something the description above accounts for.
  • I have the right to publish this code under the license declared in plugin.toml.

Copilot AI review requested due to automatic review settings July 13, 2026 19:44
@LucasOe LucasOe changed the title feat: add setting for the zed editor feat: add proton-pass plugin Jul 13, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a new Noctalia Launcher plugin (proton-pass) that integrates with the Proton Pass CLI to browse vaults/items and copy passwords (optionally showing TOTP notifications). It also adds a Zed editor configuration file, which is currently inconsistent with the PR description/checklist.

Changes:

  • Add new proton-pass launcher provider that shells out to pass-cli to list vaults/items and copy secrets.
  • Add initial plugin metadata (plugin.toml) and user-facing documentation (README.md).
  • Add .zed/settings.json for Luau LSP configuration (but it currently references a missing definition file).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 6 comments.

File Description
proton-pass/README.md Documents the new Proton Pass launcher plugin features and requirements.
proton-pass/plugin.toml Declares plugin metadata, dependencies, and launcher provider entrypoint.
proton-pass/launcher.luau Implements vault/item browsing and activation behavior via Proton Pass CLI calls.
.zed/settings.json Adds Zed Luau LSP settings (currently misaligned with repo contents and PR checklist).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread proton-pass/plugin.toml
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/plugin.toml
@LucasOe LucasOe force-pushed the proton-pass branch 2 times, most recently from a9625d6 to 2f5578a Compare July 13, 2026 20:16
@LucasOe LucasOe requested a review from Copilot July 13, 2026 22:59

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.

Comment thread proton-pass/plugin.toml
Comment thread proton-pass/launcher.luau
Comment thread proton-pass/launcher.luau
-- Entry points ----------------------------------------------------------------

function onQuery(query: string)
local vault, rest = query:match("^(%S+)%s+(.*)$")
Comment thread proton-pass/launcher.luau Outdated
local id: { type: string, id: string } = noctalia.json.decode(_id)

if id.type == "vault" then
launcher.setQuery(`{PREFIX} {id.id} `)
@LucasOe

LucasOe commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

Since /pass <vault name> <item name> uses a space as a delimiter, I'm not exactly sure how to handle vaults with spaces in their name. In a future version I can maybe add support for quoting names; for now this PR is good to go from my side.

@spiros132 spiros132 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Some feedback about the PR! :D

Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau Outdated
Comment thread proton-pass/launcher.luau

-- Try to fetch TOTP and notify
getItemTotpAsync(item, function(totp)
noctalia.notify(`{item.title} TOTP`, totp)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This one as well.

@LucasOe LucasOe Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't think "TOTP" needs to be translated, that's just the technical term for this kind of code.

Comment thread proton-pass/plugin.toml Outdated

@spiros132 spiros132 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks great, thank you for the PR! @ItsLemmy

@LucasOe LucasOe force-pushed the proton-pass branch 4 times, most recently from 90444fe to 8bbc141 Compare July 15, 2026 02:44
@ItsLemmy

Copy link
Copy Markdown
Contributor

Thanks for the quick turn around due to the recent changes!

@ItsLemmy ItsLemmy merged commit f5a72b7 into noctalia-dev:main Jul 15, 2026
1 check passed
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.

4 participants