scratchfoundation / scratchfoundation/scratch-blocks

Scrolling shouldn't drop a duplicated block

Open
#1,854 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted needs-triage
Dominant language
JavaScript
Stars
2.8k
Forks
1.6k
Avg merge
4h 51m
Merged PRs (30d)
12

Description

Expected Behavior

Sometimes once you've duplicated a block, you need to scroll a pretty far distance before you get to where you want to place it. (This is especially frequent if you use Scratch on a small screen or are zoomed in to make the blocks bigger.) Duplicating a block attaches the block to the cursor, so that it follows your mouse even though you aren't dragging. This block should stay attached to your cursor until you click the place where you want to drop it.

Actual Behavior

If you scroll (via scrollwheel) while a block is attached to your cursor, that block will get "dropped", being placed onto the workspace wherever your mouse was when you started dragging. This is impractical because it means you have to click and drag your block back up to get it where you want it.

Steps to Reproduce

Duplicate a block so that it is attached to your cursor, then scroll the workspace via the scrollwheel (or a trackpad, etc).

Operating System and Browser

Firefox 65.0b7, Linux (Debian).

Contributor guide

Open the contributing guide

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

Reproduce the issue in the Scratch Blocks workspace by duplicating a block and scrolling with the mouse or trackpad. Trace the workspace scroll and block-drop handling; done means the duplicated block stays attached while scrolling and is placed only after clicking.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.