Skip to content

feat(clients): connect shared encrypted items and attachments - #711

Merged
mashfromband merged 11 commits into
mainfrom
feat/todo1163-client-integration
Oct 11, 2026
Merged

mashfromband merged 11 commits into
mainfrom
feat/todo1163-client-integration

Conversation

@mashfromband

@mashfromband mashfromband commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Desktop・Mobile・ブラウザ拡張で暗号化した項目と添付を使えるよう、承認済みWeb画面とRust/WASM処理を共通化して正式sessionへ接続します。通信故障では同じ利用者の下書きを保持し、施錠・背景・利用者・鍵世代の切替で古い応答と秘密を復活させません。Desktopはネイティブの失焦通知も受け取り、DOMがvisibleのままでも鍵と下書きを閉じます。

CLIには、独立して確認した公開鍵と文脈を明示入力する共有受信者の項目読取・添付取得を追加します。復号鍵の能力とHTTPクライアント・公開ルート・期待文脈を別々に保持し、復元したアカウント鍵包みから送信先を作りません。全JSONと実添付バイト、失効、既存ファイルの上書き拒否、固定要求の1回輸送を維持します。受信者の変更・鍵更新・移行・復旧は未対応として明示しています。

追加修復の検証: CLI18件成功・省略0、最終の受信者4件成功・14件をフィルターで省略、all-targets Clippyと整形成功。Rustが起動する実React認証ホストで7つの寿命・保存回帰が成功しました。モバイルの新しい共通moduleを検査ホストが解決できなかったCI故障も修復しました。追加4ファイルの独立GPT-5.5レビューは公開ルート保持のMust1を修復して最終Must/Suggestion/Nit0。遅着・背景・デスクトップ失焦を含む画面とsessionの60検査が成功・省略0、取り込んだネイティブ失焦3ファイルも元の固定差分レビューMust0と同じGit blobです。

正式Node/配布imageでの実CLI・添付保存、全workspace/doctest・全CIは最終候補の結果を確認します。前の候補の結果や、制御したReactホストの成功を最終source・実Native/MV3・原22条件の成功へ読み替えません。実WebViewのfile dialog、3クライアント正式PG往復、MV3 popup/CSP・320px、署名配布と販売条件は別途残る受入です。暗号実装・配布WASM・manifestはこの修復では変更しません。


Note

High Risk
Touches encrypted session lifecycle across clients and adds shared-recipient CLI decryption with strict trust inputs—both are security- and crypto-sensitive paths.

Overview
Desktop, mobile, and the extension now share the Web encrypted item/attachment runtime (shared/cloud): WASM assets are vendored via a common Vite plugin, CSP allows 'wasm-unsafe-eval' and workers, and each client binds a formal cloud session (desktop ephemeral login, mobile refresh-backed CloudSession, extension formal session). Desktop adds an account-scoped cloud view with focus/blur lock and explicit .pbox lock on switch; mobile routes vault items through CloudBoxPanel with compatibility gating; extension keeps encrypted boxes out of autofill and drops the plaintext password cache path. Web frontend modules become thin re-exports of the shared layer.

op encrypted mode gains --recipient --secret-stdin: read-only item list/get, read, and attachment get using caller-supplied sharedReceive trust (identities, epochs, item/attachment context)—no owner writes or server-pinned trust. Attachment output uses explicit create_new paths. CI builds op-cli and runs formal_cli_recipient against formal Node and the distribution image.

Specs and runbooks document cross-client UI boundaries, recipient CLI input, and CodeQL notes on separating decryption keys from HTTP transport.

Reviewed by Cursor Bugbot for commit fee901e. Bugbot is set up for automated code reviews on this repo. Configure here.

@vercel

vercel Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
pass-share-frontend Ready Ready Preview Oct 11, 2026 4:08pm UTC

Request Review

@mashfromband
mashfromband marked this pull request as ready for review October 11, 2026 16:42
@mashfromband
mashfromband merged commit 2f57263 into main Oct 11, 2026
57 checks passed
@cursor

cursor Bot commented Oct 11, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: 8f22458f-6f55-42db-ab14-796b2469e111)

@mashfromband
mashfromband deleted the feat/todo1163-client-integration branch October 11, 2026 16:42

This branch was previously deployed

1 inactive deployment
Preview — fee901ea Deployed Oct 11, 2026 by vercel[bot]
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