microsoft / microsoft/AzureStorageExplorer

Blob paste and clone always fail on emulator connections

Open
#9,178 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

:copilot: copilot :gear: blobs :gear: data transfer :gear: emulator :gear: sas
Dominant language
No language data
Stars
452
Forks
92
Avg merge
15h 20m
Merged PRs (30d)
3

Description

Problem

Blob paste and clone fail 100% of the time on emulator connections. The SAS builder requests the optional t (tag) permission, but emulator SAS is pinned to service version 2018-03-28, which predates that permission. The result is a client-side RangeError -- Azurite is never contacted.

Container-level paste is already gated for emulator connections, but blob-level paste is not, so the UI offers an action that cannot succeed.

Evidence

  • PasteBlobs.ts:228 -- requests optional t, branching on connection type rather than on whether the target is the emulator
  • blob-extension/src/index.ts:520-522 -- pins emulatorApiVersion (defined line 118) to 2018-03-28
  • blob-extension/src/index.ts:650-657 -- the existing container-level gate, canPasteBlobContainerToBlobContainersNode, which has no blob-level equivalent

Suggested fix

Either omit the t permission when the target is the emulator, or extend the existing gate to blob-level paste so the action is not offered.

Found while automating the blob paste E2E cases.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with PasteBlobs.ts:228 and compare its emulator handling with blob-extension/src/index.ts:650-657, using emulatorApiVersion at line 118 as context. Run the blob paste E2E cases mentioned in the issue. Done means blob paste and clone no longer fail on emulator connections and the UI does not offer an action that cannot succeed.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, typescript
Domain
cloud, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.