Skip to content

Arduino IDE parity: event-driven board detection, serial monitor fixe… - #11

Merged
FacioErgoSum merged 1 commit into
mainfrom
development
Jul 10, 2026
Merged

FacioErgoSum merged 1 commit into
mainfrom
development

Conversation

@FacioErgoSum

Copy link
Copy Markdown
Contributor

Implements the prioritized recommendations from docs/arduino-ide-comparison.md (requires @mister-industries/shared 1.2.0 + tinyservice 1.1.0):

  • Board detection is push-based: subscribe to tinyService board-events (arduino-cli board list --watch); removed the 8s poll and 5s refresh cache; unplug/replug reconciles the selection with a toast
  • Serial monitor: connected state only after backend confirmation; port-open errors surfaced in the panel; line objects with timestamps toggle; full baud list incl. 74880; line-ending selector (raw writes); per-port persistence
  • Output tab stays up when a build fails; user tab choice respected; compiler file:line:col diagnostics rendered as Monaco markers (lib/compileErrors.ts)
  • Board settings gear: FQBN config options via board-details + 'Change board' picker for wrong USB guesses; removed the tinyCore FQBN collapse
  • Real upload progress parsed from esptool/avrdude output; esptool success markers in timeout fallback; stale-closure fixes in timeout recovery
  • tinyService port fallback (3000..3009) with sync URL handoff to renderer
  • Arduino Language Server over tinyService /lsp: dependency-free LSP client (lib/lsp/monacoLsp.ts) wiring completion/hover/signature/diagnostics into Monaco; desktop-only, degrades silently; binaries via fetch-language-server

…s, inline compile errors, board options, LSP

Implements the prioritized recommendations from docs/arduino-ide-comparison.md
(requires @mister-industries/shared 1.2.0 + tinyservice 1.1.0):

- Board detection is push-based: subscribe to tinyService board-events
  (arduino-cli board list --watch); removed the 8s poll and 5s refresh cache;
  unplug/replug reconciles the selection with a toast
- Serial monitor: connected state only after backend confirmation; port-open
  errors surfaced in the panel; line objects with timestamps toggle; full baud
  list incl. 74880; line-ending selector (raw writes); per-port persistence
- Output tab stays up when a build fails; user tab choice respected; compiler
  file:line:col diagnostics rendered as Monaco markers (lib/compileErrors.ts)
- Board settings gear: FQBN config options via board-details + 'Change board'
  picker for wrong USB guesses; removed the tinyCore FQBN collapse
- Real upload progress parsed from esptool/avrdude output; esptool success
  markers in timeout fallback; stale-closure fixes in timeout recovery
- tinyService port fallback (3000..3009) with sync URL handoff to renderer
- Arduino Language Server over tinyService /lsp: dependency-free LSP client
  (lib/lsp/monacoLsp.ts) wiring completion/hover/signature/diagnostics into
  Monaco; desktop-only, degrades silently; binaries via fetch-language-server
@FacioErgoSum
FacioErgoSum merged commit dca516c into main Jul 10, 2026
@netlify

netlify Bot commented Jul 10, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for tinystudios ready!

Name Link
🔨 Latest commit 49486be
🔍 Latest deploy log https://app.netlify.com/projects/tinystudios/deploys/6a516d544096550008827140
😎 Deploy Preview https://deploy-preview-11--tinystudios.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions

Copy link
Copy Markdown

Thanks for your interest in tinyStudio! 🙏

This project is in early alpha and is not accepting external contributions right now,
so this pull request is being closed automatically. Please feel free to fork and experiment.

Contributions will open up as the project stabilizes.

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.

1 participant