Erik Pasternak
ce3e251441
Disable test to drag all blocks out and fix comment resize test
2025-06-27 15:25:46 -07:00
Erik Pasternak
3d6ac549a9
Fix procedure tests
2025-06-27 15:25:46 -07:00
Erik Pasternak
77543d3c18
Fix tests for opening categories
2025-06-27 15:25:45 -07:00
Erik Pasternak
51bfadba11
Remove .only
2025-06-27 15:25:45 -07:00
Erik Pasternak
9b18a9b75a
Work on fixing more browser tests
2025-06-27 15:25:44 -07:00
Maribeth Moffatt
8015956b16
release: Update version number to 12.2.0
2025-06-26 13:59:46 -07:00
Maribeth Moffatt
e94b3501b1
release: merge develop into rc/v12.2.0
2025-06-26 13:59:01 -07:00
Richard Knoll
0d6da6cfc4
fix: clear touch identifier on comment text area pointerdown ( #9172 )
2025-06-26 13:56:08 -07:00
Matt Hillsdon
9cc3e11856
fix: tweak redo shortcut order to match convention ( #9169 )
...
The order of the modifiers is not significant to Blockly but it's conventional
to say e.g. Cmd+Shift+Z. Following that order here means that UI like the
keyboard navigation shortcut dialog gets the correct order without having to
sort.
2025-06-26 11:41:01 -07:00
Christopher Allen
f4dbea0a65
refactor(interfaces): Make type predicates more robust ( #9150 )
...
* refactor(interfaces): Use typeof ... === 'function' to test for methods
Testing for
'name' in object
or
obj.name !== undefined
only checks for the existence of the property (and in the latter
case that the property is not set to undefined). That's fine if
the interface specifies a property of indeterminate type, but in
the usual case that the interface member is a method we can do
one better and check to make sure the property's value is
callable.
* refactor(interfaces): Always check obj is not null/undefined
Since most type predicates take an argument of type any but then
check for the existence of certain properties, explicitly check
that the argument is not null or undefined (or check implicitly
by calling another type predicate that does so first, which
necessitates adding a few casts because tsc infers the type of
the argument too narrowly).
* fix(interfaces): Add missing check to hasBubble type predicate
This appears to have inadvertently been omitted in PR #9004 .
* fix(interfaces): Fix misplaced typeof
* fix: Fix typos in JSDocs
* fix(tests): Make Mocks conform to corresponding interfaces
Introduce a new MockFocusable, and add methods to MockIcon,
MockBubbleIcon and MockComment, so that they fulfil the
IFocusableNode, IIcon, IHasBubble and ICommentIcon interfaces
respectively.
* chore(tests): Add assertions verifying mocks conform to predicates
Add (test) runtime assertions that:
- isFocusableNode(MockFocusable) returns true
- isIcon(MockIcon) returns true
- hasBubble(MockBubbleIcon) returns true
- isCommentIcon(MockCommentIcon) returns true
(The latter is currently failing because Blockly is undefined when
isCommentIcon calls the MockCommentIcon's getType method.)
* fix(tests): Don't rely on Blockly being set in Mock methods
For some reason the global Blockly binding is not visible at the
time when isCommentIcon calls MockCommentIcon's getType method,
and presumably this problem would apply to getBubbleSize too,
so directly import the required items.
* refactor(tests): Make MockCommentIcon a MockBubbleIcon
This slightly simplifies it and makes it less likely to accidentally
stop conforming to IHasBubble.
* fix(interfaces): Fix incorrect check in isSelectable
Fix an error which caused ISelectable instances to fail
isSelectable() checks, one of the results of which is that
Blockly.common.getSelected() would generally return null.
Whoops!
2025-06-25 12:49:37 +01:00
Maribeth Moffatt
eaf5eea98e
feat: make comment editor separately focusable from comment itself ( #9154 )
...
* feat: make comment editor separately focusable from comment itself
* feat: improve design and add styling
* chore: fix lint
* fix: add event listeners to focus parent comment
* fix: export CommentEditor
* fix: export CommentEditor
* fix: extract comment identifier to constant
2025-06-24 12:40:23 -07:00
dependabot[bot]
5427c3df33
chore(deps): bump mocha from 11.3.0 to 11.7.0 ( #9159 )
...
Bumps [mocha](https://github.com/mochajs/mocha ) from 11.3.0 to 11.7.0.
- [Release notes](https://github.com/mochajs/mocha/releases )
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mochajs/mocha/compare/v11.3.0...v11.7.0 )
---
updated-dependencies:
- dependency-name: mocha
dependency-version: 11.7.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 12:03:23 -07:00
Ben Henning
af4a4b4100
feat: Run keyboard plugin tests in CI ( #9135 )
...
## The basics
- [x] I [validated my changes](https://developers.google.com/blockly/guides/contribute/core#making_and_verifying_a_change )
## The details
### Resolves
N/A (no tracking issue)
### Proposed Changes
Introduces a GitHub actions CI workflow to run the webdriver IO tests from https://github.com/google/blockly-keyboard-experimentation as part of core Blockly's CI.
### Reason for Changes
Since development on the plugin is going to continue for many months yet, this ensures that behavioral changes in core Blockly don't inadvertently break the plugin.
Note that this shouldn't be made a blocking workflow since there may be cases where it's necessary to break the plugin before a change to the plugin itself can be introduced to then fix it (as this has happened many times in the past). However, the CI check is forced signal to both author and reviewer as to whether their change affects the plugin without having to manually check the test suite.
### Test Coverage
N/A -- Verifying that the CI workflow runs is sufficient.
### Documentation
No documentation changes are needed here.
### Additional Information
Nothing.
2025-06-23 11:50:02 -07:00
RoboErikG
4977b4bc9b
Merge pull request #9158 from google/dependabot/npm_and_yarn/develop/prettier-3.6.0
...
chore(deps): bump prettier from 3.3.3 to 3.6.0
2025-06-23 10:03:53 -07:00
RoboErikG
ba90efe80d
Merge pull request #9160 from google/dependabot/npm_and_yarn/develop/globals-16.2.0
...
chore(deps): bump globals from 16.1.0 to 16.2.0
2025-06-23 09:28:33 -07:00
Aaron Dodson
28d6ff7da5
chore: Update messages for keyboard-experiment. ( #9152 )
...
* chore: Remove unused messages.
* fix: Remove unneeded message placeholders.
* feat: Add additional messages used in the keyboard experiment.
* chore: Update messages.
2025-06-23 09:14:39 -07:00
dependabot[bot]
21216e85d3
chore(deps): bump prettier from 3.3.3 to 3.6.0
...
Bumps [prettier](https://github.com/prettier/prettier ) from 3.3.3 to 3.6.0.
- [Release notes](https://github.com/prettier/prettier/releases )
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prettier/prettier/compare/3.3.3...3.6.0 )
---
updated-dependencies:
- dependency-name: prettier
dependency-version: 3.6.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-23 16:11:39 +00:00
dependabot[bot]
253ea15ab4
chore(deps): bump eslint-plugin-prettier from 5.4.0 to 5.5.0 ( #9157 )
...
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier ) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases )
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.4.0...v5.5.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
dependency-version: 5.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 09:10:52 -07:00
Aaron Dodson
1e5b4e9f42
feat: Add support for keyboard navigation into mutator workspaces. ( #9151 )
...
* feat: Add support for keyboard navigation into mutators.
* fix: Prevent mutator bubbles from jumping wildly during keyboard nav.
2025-06-23 09:09:56 -07:00
dependabot[bot]
acdb27ee67
chore(deps): bump globals from 16.1.0 to 16.2.0
...
Bumps [globals](https://github.com/sindresorhus/globals ) from 16.1.0 to 16.2.0.
- [Release notes](https://github.com/sindresorhus/globals/releases )
- [Commits](https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0 )
---
updated-dependencies:
- dependency-name: globals
dependency-version: 16.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-23 11:25:33 +00:00
dependabot[bot]
97ffea73be
chore(deps): bump @hyperjump/browser from 1.1.6 to 1.3.1 ( #9148 )
...
Bumps [@hyperjump/browser](https://github.com/hyperjump-io/browser ) from 1.1.6 to 1.3.1.
- [Commits](https://github.com/hyperjump-io/browser/compare/v1.1.6...v1.3.1 )
---
updated-dependencies:
- dependency-name: "@hyperjump/browser"
dependency-version: 1.3.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-18 12:29:03 -07:00
Maribeth Moffatt
cf3fcccec1
fix: caret position when editing block comments ( #9153 )
2025-06-18 11:15:41 -07:00
Aaron Dodson
afe53c5194
fix: Dispatch keyboard events with the workspace they occurred on. ( #9137 )
...
* fix: Dispatch keyboard events with the workspace they occurred on.
* chore: Add comment warding off would-be refactorers.
2025-06-16 15:45:01 -07:00
RoboErikG
7df501d7af
fix: Add isCopyable to the ICopyable interface and use it for cut/copy preconditions
...
Merge pull request #9134 from RoboErikG/is-copyable
2025-06-16 12:47:53 -07:00
Erik Pasternak
2bae8eb377
Update isCopyable comment
2025-06-16 12:38:46 -07:00
RoboErikG
f117bbad22
Simplify check for existence of isCopyable
...
Co-authored-by: Christopher Allen <cpcallen+github@gmail.com >
2025-06-16 12:35:10 -07:00
dependabot[bot]
3e09a70ef4
chore(deps): bump @hyperjump/json-schema from 1.11.0 to 1.15.1 ( #9147 )
...
Bumps [@hyperjump/json-schema](https://github.com/hyperjump-io/json-schema ) from 1.11.0 to 1.15.1.
- [Commits](https://github.com/hyperjump-io/json-schema/compare/v1.11.0...v1.15.1 )
---
updated-dependencies:
- dependency-name: "@hyperjump/json-schema"
dependency-version: 1.15.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-16 17:36:27 +01:00
Aaron Dodson
93a9b6bf2e
fix: Fix navigation for blocks with multiple statement inputs. ( #9143 )
...
* fix: Fix navigation for blocks with multiple statement inputs.
* chore: Add tests to prevent regressions.
2025-06-13 15:08:58 -07:00
Erik Pasternak
a88836227c
Add tests for workspace comments
2025-06-13 13:07:53 -07:00
Aaron Dodson
fd5a7f4a18
refactor: Make the cursor use the focus manager for tracking the current node. ( #9142 )
2025-06-13 12:05:00 -07:00
Erik Pasternak
32bb84ec8f
Allow copying from readonly workspace and add cut tests
...
Also cleans up logic a bit
2025-06-13 11:57:03 -07:00
Erik Pasternak
f1b44db6f4
Add missing bang
2025-06-10 13:52:14 -07:00
Erik Pasternak
428e4475bf
Simplify cut/copy logic
2025-06-10 13:32:36 -07:00
Erik Pasternak
1d4e531ebe
Don't allow things in a flyout to be deleted or moved.
2025-06-10 11:24:42 -07:00
Erik Pasternak
e1441d5308
Remove isCuttable api
2025-06-10 11:12:04 -07:00
Erik Pasternak
46078369c2
Fix build errors
2025-06-09 15:33:45 -07:00
Erik Pasternak
9685498d21
Add isCopyable and isCuttable as optional methods on ICopyable
2025-06-09 15:13:43 -07:00
RoboErikG
02f89d6f96
Merge pull request #9132 from google/dependabot/npm_and_yarn/develop/eslint-plugin-jsdoc-50.7.1
...
chore(deps): bump eslint-plugin-jsdoc from 50.6.9 to 50.7.1
2025-06-09 10:06:50 -07:00
dependabot[bot]
10085693e5
chore(deps): bump eslint-plugin-jsdoc from 50.6.9 to 50.7.1
...
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc ) from 50.6.9 to 50.7.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases )
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc )
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v50.6.9...v50.7.1 )
---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
dependency-version: 50.7.1
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-09 09:48:50 +00:00
RoboErikG
74dbed2769
Merge pull request #9127 from google/dependabot/npm_and_yarn/npm_and_yarn-762e3aa393
...
chore(deps-dev): bump tar-fs from 3.0.8 to 3.0.9 in the npm_and_yarn group across 1 directory
2025-06-06 10:52:43 -07:00
dependabot[bot]
2f7ece86ff
chore(deps-dev): bump tar-fs
...
Bumps the npm_and_yarn group with 1 update in the / directory: [tar-fs](https://github.com/mafintosh/tar-fs ).
Updates `tar-fs` from 3.0.8 to 3.0.9
- [Commits](https://github.com/mafintosh/tar-fs/compare/v3.0.8...v3.0.9 )
---
updated-dependencies:
- dependency-name: tar-fs
dependency-version: 3.0.9
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-03 06:46:53 +00:00
dependabot[bot]
b5dbe6acfb
chore(deps): bump @blockly/dev-tools from 9.0.0 to 9.0.1 ( #9124 )
...
Bumps [@blockly/dev-tools](https://github.com/google/blockly-samples/tree/HEAD/plugins/dev-tools ) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/google/blockly-samples/releases )
- [Changelog](https://github.com/google/blockly-samples/blob/master/plugins/dev-tools/CHANGELOG.md )
- [Commits](https://github.com/google/blockly-samples/commits/@blockly/dev-tools@9.0.1/plugins/dev-tools )
---
updated-dependencies:
- dependency-name: "@blockly/dev-tools"
dependency-version: 9.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-02 09:59:42 -07:00
RoboErikG
0f6454b41d
release: Blockly v12.1.0 merge master into develop
...
Merge pull request #9120 from RoboErikG/develop
2025-05-30 14:15:03 -07:00
Maribeth Moffatt
60fc20acef
release: Blockly v12.1.0
...
Merge pull request #9119 from google/rc/v12.1.0
2025-05-30 13:37:36 -07:00
Maribeth Moffatt
2ea750f30a
release: update version number to 12.1.0
blockly-v12.1.0
2025-05-30 13:30:29 -07:00
Maribeth Moffatt
0d5cc017cd
release: merge develop into v12.1.0
...
Merge pull request #9118 from maribethb/rc/v12.1.0
2025-05-30 13:29:10 -07:00
Maribeth Moffatt
2ffd3cbb1d
release: merge branch develop into rc/v12.1.0
2025-05-30 13:18:48 -07:00
Aaron Dodson
cb0824736b
fix: Fix bug that caused the focus manager to attempt to focus unfocusable elements. ( #9117 )
2025-05-30 13:09:52 -07:00
Maribeth Moffatt
d1b17d1f90
fix: context menus on flyout ( #9116 )
2025-05-30 11:00:56 -07:00
RoboErikG
fdffd6558b
fix: Make cut/copy/paste work consistently and as expected ( #9107 )
...
* Work on cut/copy/paste preconditions
* Cleanup and fixes to cut/copy/paste
* Fix tests
* Remove editable check from isCopyable and isCuttable
2025-05-30 10:49:30 -07:00