GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — protondrive: align move crypto and revision fallback with the SDK by tdawe1 · Pull Request #4 · rclone/Proton-API-Bridge

Conversation

@tdawe1

@tdawe1 tdawe1 commented Mar 14, 2026

Copy link
Copy Markdown

Support the rclone Proton Drive backend update by aligning the bridge move/upload compatibility behavior with the current Proton Drive SDK.

The main issue here was that move-related flows no longer matched the newer SDK behavior closely enough. In practice, that meant moves could fail or leave moved folders containing files in a bad state.

This change updates the bridge to:

  • preserve the original node passphrase session key when re-encrypting moved folders, matching the current SDK behavior
  • send optional move signature fields only when the SDK would send them
  • fall back cleanly from newer volume-based compatibility helpers to the older share-based helpers when the preferred method exists but has an incompatible transitional signature
  • tolerate missing revision-verification helpers in the compatibility layer so the supported v2 path can still work without reviving deprecated API behavior

Testing:

go test ./... -run '^(TestReencryptKeyPacketPreservesSessionKey|TestSetMoveLinkSignatureAddressCompat|TestApplyMoveRequestSignaturesForSignedNode|TestApplyMoveRequestSignaturesForAnonymousNode|TestBuildVerificationTokenXorsWithEncryptedBlock|TestBuildVerificationTokenKeepsTailWhenBlockShorter|TestGetRevisionVerificationCompatPrefersVolumeRoute|TestGetRevisionVerificationCompatFallsBackToShareRoute|TestGetRevisionVerificationCompatFallsBackWhenVolumeRouteSignatureIsIncompatible|TestGetRevisionVerificationCompatHandlesInvalidSignature|TestGetRevisionVerificationCompatHandlesPanickingMethod|TestGetRevisionVerificationCompatAllowsMissingMethods|TestMoveLinkCompatPrefersVolumeRoute|TestMoveLinkCompatFallsBackToShareRoute|TestMoveLinkCompatFallsBackWhenVolumeRouteSignatureIsIncompatible|TestMoveLinkCompatHandlesInvalidSignature|TestMoveLinkCompatHandlesPanickingMethod|TestUploadBlockWithClientDelegatesSingleCall)$' -count=1

GOWORK=/tmp/proton-sdk-work/go.work \
PROTON_API_BRIDGE_APP_VERSION='[email protected]+af66c8fa' \
PROTON_API_BRIDGE_DRIVE_SDK_VERSION='[email protected]+af66c8fa' \
go test ./... -run '^(TestCreateAndMoveAndDeleteFolder|TestCreateAndMoveAndDeleteFolderWithAFile|TestCreateAndMoveAndDeleteAFileOneLevelFromRoot)$' -count=1 -v

This PR should be reviewed on top of the companion go-proton-api SDK base compatibility PR.

Companion SDK base PR: rclone/go-proton-api#5

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
tdawe1 added 3 commits March 8, 2026 00:54
@tdawe1
protondrive: align bridge upload flow with SDK behavior
87eb655
Update the bridge to match SDK-era ProtonDrive request shapes and request headers while keeping mixed-version compatibility.

This removes the duplicate outer upload retry loop, centralizes manager retry configuration, improves draft-conflict recovery, and adds focused tests for compatibility, upload delegation, and manager retry behavior.
@tdawe1
protondrive: align move crypto and revision fallback with the SDK
8bb39b1
Preserve passphrase session keys during moves and only send optional move signatures when the SDK would. Also tolerate missing revision-verification helpers so the bridge can follow the supported v2 path without reviving deprecated API behavior.
@tdawe1
protondrive: fall back across transitional helper signatures
b0b05e7
@tdawe1 tdawe1 mentioned this pull request Mar 14, 2026
protondrive: align backend with newer Proton SDK stack rclone/rclone#9260
Merged
5 tasks done
@shautvast

shautvast commented Mar 28, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

I tested this branch, together with the corresponding branch in the go-proton-api fork and it fixes the issues I had with rclone and proton drive

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

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

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@tdawe1 @shautvast
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.