Skip to content

Development - #866

Merged
Thiemann96 merged 88 commits into
mainfrom
development
Sep 25, 2026
Merged

Thiemann96 merged 88 commits into
mainfrom
development

Conversation

@PaulaScharf

Copy link
Copy Markdown
Member

No description provided.

Thiemann96 and others added 17 commits July 13, 2026 14:47
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 14.2.0 to 15.0.0.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](markdown-it/markdown-it@14.2.0...15.0.0)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-version: 15.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
… updates

Bumps the minor-and-patch group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@testing-library/user-event](https://github.com/testing-library/user-event) | `14.6.3` | `14.6.5` |
| [@uiw/react-md-editor](https://github.com/uiwjs/react-md-editor) | `4.1.1` | `4.1.2` |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.13` | `3.4.14` |
| [esptool-js](https://github.com/espressif/esptool-js) | `0.6.0` | `0.6.1` |
| [cypress](https://github.com/cypress-io/cypress) | `15.20.0` | `15.21.0` |



Updates `@testing-library/user-event` from 14.6.3 to 14.6.5
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](testing-library/user-event@v14.6.3...v14.6.5)

Updates `@uiw/react-md-editor` from 4.1.1 to 4.1.2
- [Release notes](https://github.com/uiwjs/react-md-editor/releases)
- [Commits](uiwjs/react-md-editor@v4.1.1...v4.1.2)

Updates `dompurify` from 3.4.13 to 3.4.14
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.4.13...3.4.14)

Updates `esptool-js` from 0.6.0 to 0.6.1
- [Release notes](https://github.com/espressif/esptool-js/releases)
- [Changelog](https://github.com/espressif/esptool-js/blob/main/CHANGELOG.md)
- [Commits](espressif/esptool-js@v0.6.0...v0.6.1)

Updates `cypress` from 15.20.0 to 15.21.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v15.20.0...v15.21.0)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-version: 14.6.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: "@uiw/react-md-editor"
  dependency-version: 4.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: dompurify
  dependency-version: 3.4.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: esptool-js
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: cypress
  dependency-version: 15.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…ment/minor-and-patch-2e7c63151a

build(deps): bump the minor-and-patch group across 1 directory with 5 updates
…ment/markdown-it-15.0.0

build(deps): bump markdown-it from 14.2.0 to 15.0.0
Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.5 to 3.1.7.
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](fastify/fast-uri@v3.1.5...v3.1.7)

---
updated-dependencies:
- dependency-name: fast-uri
  dependency-version: 3.1.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases)
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node)

---
updated-dependencies:
- dependency-name: "@humanfs/node"
  dependency-version: 0.16.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.28.2 to 4.28.9.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](browserslist/browserslist@4.28.2...4.28.9)

---
updated-dependencies:
- dependency-name: browserslist
  dependency-version: 4.28.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

cypress-run: Run #1453

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 62 1 0 0 0 0 2m 3s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: expected 302 to equal 200 at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:69:52) at getRet (http://localhost:3000/__cypress/runner/cypress_runner.js:121394:20) at tryCatcher (http://localhost:3000/__cypress/runner/cypress_runner.js:1780:23) at Promise.attempt.Promise.try (http://localhost:3000/__cypress/runner/cypress_runner.js:4288:29) at Context.thenFn (http://localhost:3000/__cypress/runner/cypress_runner.js:121405:66) at Context.then (http://localhost:3000/__cypress/runner/cypress_runner.js:121656:21)

Github Test Reporter by CTRF 💚

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

cypress-run: Run #1457

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 62 1 0 0 0 0 1m 55s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: expected 302 to equal 200 at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:69:52) at getRet (http://localhost:3000/__cypress/runner/cypress_runner.js:121394:20) at tryCatcher (http://localhost:3000/__cypress/runner/cypress_runner.js:1780:23) at Promise.attempt.Promise.try (http://localhost:3000/__cypress/runner/cypress_runner.js:4288:29) at Context.thenFn (http://localhost:3000/__cypress/runner/cypress_runner.js:121405:66) at Context.then (http://localhost:3000/__cypress/runner/cypress_runner.js:121656:21)

Github Test Reporter by CTRF 💚

…e-browser-mapping-2.11.22

build(deps): bump baseline-browser-mapping from 2.10.33 to 2.11.22
…ment/cypress-16.1.0

build(deps-dev): bump cypress from 15.21.0 to 16.1.0
…ment/vite-8.3.0

build(deps-dev): bump vite from 7.3.5 to 8.3.0
@github-actions

Copy link
Copy Markdown

cypress-run: Run #1540

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 58 5 0 0 0 0 2m 17s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: Timed out retrying after 5000ms: Expected to find element: `[role="dialog"]`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:78:49)
❌ End-to-End Tutorial Flow 4. creates a new tutorial via UI AssertionError: Timed out retrying after 4000ms: Expected to find element: `#tutorial-title`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:64:7)
❌ End-to-End Tutorial Flow 5. views the created tutorial AssertionError: Timed out retrying after 4000ms: Expected to find content: 'Test123' but never did. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:91:30)
❌ End-to-End Tutorial Flow 6. edits the tutorial title and saves AssertionError: Timed out retrying after 4000ms: Expected to find element: `#edit`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:104:7)
❌ End-to-End Tutorial Flow 7. deletes the test tutorial AssertionError: Timed out retrying after 4000ms: Expected to find element: `#delete`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:140:7)

Github Test Reporter by CTRF 💚

@github-actions

Copy link
Copy Markdown

cypress-run: Run #1543

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 58 5 0 0 0 0 2m 13s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: Timed out retrying after 5000ms: Expected to find element: `[role="dialog"]`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:78:49)
❌ End-to-End Tutorial Flow 4. creates a new tutorial via UI AssertionError: Timed out retrying after 4000ms: Expected to find element: `#tutorial-title`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:64:7)
❌ End-to-End Tutorial Flow 5. views the created tutorial AssertionError: Timed out retrying after 4000ms: Expected to find content: 'Test123' but never did. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:91:30)
❌ End-to-End Tutorial Flow 6. edits the tutorial title and saves AssertionError: Timed out retrying after 4000ms: Expected to find element: `#edit`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:104:7)
❌ End-to-End Tutorial Flow 7. deletes the test tutorial AssertionError: Timed out retrying after 4000ms: Expected to find element: `#delete`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:140:7)

Github Test Reporter by CTRF 💚

Thiemann96 and others added 3 commits September 23, 2026 15:31
# Conflicts:
#	package-lock.json
#	yarn.lock

Co-authored-by: Thiemann96 <18304210+Thiemann96@users.noreply.github.com>
bump versions, use legacy create store
@github-actions

Copy link
Copy Markdown

cypress-run: Run #1547

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 58 5 0 0 0 0 2m 12s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: Timed out retrying after 5000ms: Expected to find element: `[role="dialog"]`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:78:49)
❌ End-to-End Tutorial Flow 4. creates a new tutorial via UI AssertionError: Timed out retrying after 4000ms: Expected to find element: `#tutorial-title`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:64:7)
❌ End-to-End Tutorial Flow 5. views the created tutorial AssertionError: Timed out retrying after 4000ms: Expected to find content: 'Test123' but never did. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:91:30)
❌ End-to-End Tutorial Flow 6. edits the tutorial title and saves AssertionError: Timed out retrying after 4000ms: Expected to find element: `#edit`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:104:7)
❌ End-to-End Tutorial Flow 7. deletes the test tutorial AssertionError: Timed out retrying after 4000ms: Expected to find element: `#delete`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/tutorial-flow.cy.js:140:7)

Github Test Reporter by CTRF 💚

@github-actions

Copy link
Copy Markdown

cypress-run: Run #1549

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 62 1 0 0 0 0 1m 57s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: Timed out retrying after 5000ms: Expected to find element: `[role="dialog"]`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:78:49)

Github Test Reporter by CTRF 💚

@github-actions

Copy link
Copy Markdown

cypress-run: Run #1551

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 62 1 0 0 0 0 1m 57s

❌ Some tests failed!

Name Failure Message
❌ Embedded Blockly Page Tests [Embedded] opens share dialog and generates short link AssertionError: Timed out retrying after 5000ms: Expected to find element: `[role="dialog"]`, but never found it. at Context.eval (webpack://blockly-react/./cypress/e2e/embedded.cy.js:78:49)

Github Test Reporter by CTRF 💚

@github-actions

Copy link
Copy Markdown

cypress-run: Run #1553

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
63 62 1 0 0 0 0 1m 56s

❌ Some tests failed!


Name Failure Message
❌ Code Editor Page Tests [CodeEditor] compiles code Error: The following error originated from your application code, not from Cypress. It was caused by an unhandled promise rejection.

> An unknown error has occurred: [object Object]

When Cypress detects uncaught errors originating from your application it will automatically fail the current test.

This behavior is configurable, and you can choose to turn this off by listening to the `uncaught:exception` event.

https://on.cypress.io/uncaught-exception-from-application
at makeErrFromObj (http://localhost:3000/__cypress/runner/cypress_runner.js:75739:10)
at errorFromProjectRejectionEvent (http://localhost:3000/__cypress/runner/cypress_runner.js:76064:10)
at Object.errorFromUncaughtEvent (http://localhost:3000/__cypress/runner/cypress_runner.js:76069:65)
at <unknown> (http://localhost:3000/__cypress/runner/cypress_runner.js:146434:66)

Github Test Reporter by CTRF 💚

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Unresolved critical compatibility and build issues, along with moderate correctness issues, remain.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 4 High severity

Open (4)
What changed in this PR

This pull request updates dependencies and improves tutorial, Blockly, theming, training, and export behavior.

Changes:

  • Adds tutorial URL/history handling, answer persistence, and completion gating.
  • Updates Blockly media paths, toolbox behavior, and SD-card blocks.
  • Improves dark-mode styling and model-training workflows.
File Summary
yarn.lock Locks upgraded dependencies.
vite.config.tutorial.js Configures tutorial build media paths.
vite.config.js Adds module aliases and Blockly media configuration.
src/​widgets/​TutorialClassification/​styles.css Adds dark-mode tutorial styles.
src/​widgets/​TutorialClassification/​index.jsx Adds widget locale, theme, and mounting behavior.
src/​store.js Updates Redux and thunk setup.
src/​helpers/​tutorialUrl.js Adds tutorial URL parsing and normalization.
src/​helpers/​shareUrlBuilder.js Updates the short-link endpoint.
src/​helpers/​blocklyPreviewUtils.js Uses configurable Blockly media paths.
src/​components/​Workspace/​ToolbarItems/​CompilationDialog/​CompilationDialog.jsx Adds default compilation props.
src/​components/​Tutorial/​Viewer/​helpers/​tutorialStorageUtils.js Adds answer persistence helpers.
src/​components/​Tutorial/​Viewer/​components/​TutorialLayout.jsx Passes navigation completion state.
src/​components/​Tutorial/​Viewer/​components/​FloatingNavigation.jsx Disables navigation for incomplete tasks.
src/​components/​Tutorial/​Viewer/​Cards/​TaskCard.jsx Tracks task completion.
src/​components/​Tutorial/​Viewer/​Cards/​SolutionCheck.jsx Persists Blockly solution status.
src/​components/​Tutorial/​Viewer/​Cards/​Sidebar.jsx Locks incomplete tutorial steps.
src/​components/​Tutorial/​Viewer/​Cards/​QuestionCard.jsx Persists question answers and status.
src/​components/​Tutorial/​Viewer/​Cards/​HardwareCard.jsx Adjusts custom hardware rendering.
src/​components/​Tutorial/​Overview/​TutorialItemSummary.jsx Applies theme-aware colors.
src/​components/​Pages/​TeachableSensebox/​utils/​trainingDataExport.js Ignores metadata files.
src/​components/​Pages/​TeachableSensebox/​utils/​ConvertDeployBase.jsx Preserves labels and updates filenames.
src/​components/​Pages/​TeachableSensebox/​utils/​conversionService.js Generates class-based model filenames.
src/​components/​Pages/​TeachableSensebox/​tutorial/​TutorialViewerPanel.jsx Adds responsive layout and navigation feedback.
src/​components/​Pages/​TeachableSensebox/​tutorial/​TutorialClassificationWidget.jsx Adds URL-synchronized tutorial selection.
src/​components/​Pages/​TeachableSensebox/​tutorial/​OverviewPage.jsx Handles partial tutorial-load failures.
src/​components/​Pages/​TeachableSensebox/​spell/​SpellModelTrainer.jsx Adds unload protection and theme updates.
src/​components/​Pages/​TeachableSensebox/​orientation/​OrientationNNVisualizer.jsx Applies theme-aware chart colors.
src/​components/​Pages/​TeachableSensebox/​orientation/​OrientationModelTrainer.jsx Adds unload protection and theme updates.
src/​components/​Pages/​TeachableSensebox/​orientation/​OrientationDecisionTreeVisualizer.jsx Adds dark-mode visualization colors.
src/​components/​Pages/​TeachableSensebox/​image/​TrainingResultsSection.jsx Applies theme-aware backgrounds.
src/​components/​Pages/​TeachableSensebox/​image/​TrainingMetricsChart.jsx Applies theme-aware chart colors.
src/​components/​Pages/​TeachableSensebox/​image/​ModelTrainer.jsx Adds unload protection and theme updates.
src/​components/​Pages/​TeachableSensebox/​image/​hooks/​useModelTraining.js Updates the base model source.
src/​components/​Pages/​TeachableSensebox/​image/​ExpandedClassDialog.jsx Applies theme-aware backgrounds.
src/​components/​Gallery/​BlocklyPreviewGenerator.jsx Uses configurable Blockly media paths.
src/​components/​Blockly/​toolbox/​ToolboxEye.jsx Updates toolbox entries.
src/​components/​Blockly/​toolbox/​ToolboxEsp.jsx Updates SD and LoRa toolbox entries.
src/​components/​Blockly/​toolbox/​Toolbox.jsx Reopens the AI toolbox after model changes.
src/​components/​Blockly/​toolbox/​toolbox_styles.css Improves Blockly contrast and modal styling.
src/​components/​Blockly/​toolbox/​HorizontalToolbox.jsx Reopens the AI toolbox after model changes.
src/​components/​Blockly/​generator/​arduino/​sensebox-sd.js Consolidates SD-card generation.
src/​components/​Blockly/​blocks/​sensebox-sensors.js Fixes a sensor label typo.
src/​components/​Blockly/​blocks/​sensebox-sd.js Consolidates SD-card block definitions.
src/​components/​Blockly/​BlocklyWindow.jsx Adds resize handling and configurable media.
src/​components/​Blockly/​BlocklyComponent.jsx Uses configurable Blockly media paths.
src/​components/​Blockly/​AiModelUpload.jsx Removes the obsolete upload component.
package.json Updates runtime and development dependencies.
cypress/​e2e/​embedded.cy.js Updates formatting and short-link tests.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/components/Blockly/blocks/sensebox-sd.js
<Block type="sensebox_lora_cayenne_humidity" />
<Block type="sensebox_lora_cayenne_pressure" />
<Block type="sensebox_lora_cayenne_luminosity" />
<Block type="sensebox_lora_cayenne_sensor" />
Comment thread src/widgets/TutorialClassification/index.jsx Outdated
Comment thread vite.config.js
@Thiemann96
Thiemann96 merged commit 2cc135d into main Sep 25, 2026
6 checks passed
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.

4 participants