Commit Graph

303 Commits (e0f97d460bbcbe23dd95d048cfdd89bfee33eaa7)

Author SHA1 Message Date
Sipho Mokoena e0f97d460b feat: update devcontainer setup and add new submodule for qemu 2026-03-27 04:18:50 +00:00
Sipho Mokoena c0720f0743 refactor: make devcontainer configuration portable and user-agnostic
Improve devcontainer robustness by eliminating hardcoded paths and user assumptions:

devcontainer.json changes:
- Replace hardcoded /workspaces/velxio paths with ${containerWorkspaceFolder} variable
- Ensures compatibility with GitHub Codespaces and other workspace path variations
- Update all volume mount targets and PATH environment variable to use dynamic paths

post-create.sh improvements:
- Dynamically detect workspace root from script location instead of assuming /workspaces/velxio
- Use $(whoami) to get current user instead of hardcoding 'vscode' user
- Replace absolute paths with relative paths for all operations
- Makes script work correctly in any devcontainer environment (VS Code, Codespaces, Gitpod)

post-start.sh improvements:
- Apply same dynamic workspace root detection pattern
- Use current user instead of hardcoded 'vscode' for chown operations
- Ensures ownership fixes work regardless of container user configuration

These changes enable the devcontainer to work seamlessly across different hosting environments without requiring manual configuration adjustments.
2026-03-27 04:43:29 +02:00
Sipho Mokoena c1b9244341 feat: add VS Code devcontainer configuration with optimized setup
- Add .devcontainer/devcontainer.json with Python 3.12 + Node 20 base image
  - Added remoteUser: vscode to avoid running as root
  - Configured named volumes for node_modules (frontend + 3 wokwi-libs) to improve I/O performance on non-Linux hosts
  - Added volume for arduino-cli cache at /home/vscode/.arduino15
  - Added remoteEnv PATH to include node_modules/.bin and venv/bin
  - Configured port forwarding for 5173 (Vite) and 8001 (FastAPI)

- Add .devcontainer/post-create.sh for initial container setup
  - Fix ownership of node_modules volumes with chown vscode:vscode
  - Install arduino-cli with sudo to /usr/local/bin
  - Install Arduino cores (arduino:avr, rp2040:rp2040) with duplicate guards
  - Set up Python venv with base deps (wheel, setuptools) before requirements.txt
  - Install npm deps with HUSKY=0 to disable git hooks in container environment
  - Build wokwi-libs (avr8js, rp2040js, wokwi-elements) in parallel
  - All installs run in parallel background jobs with wait for optimal performance

- Add .devcontainer/post-start.sh for incremental updates on container restart
  - Lightweight sync of Python and npm dependencies
  - Runs on every container start for drift detection

- Add wokwi-boards submodule for ESP32/Pico board SVG assets
  - Code imports board.svg files from wokwi-libs/wokwi-boards/boards/
  - Submodule was referenced but not initialized, causing Vite import errors

- Configure Vite to bind to 0.0.0.0:5173 for devcontainer port forwarding
  - Default 127.0.0.1 binding is not accessible from outside container
  - Explicit host/port config enables VS Code port forwarding to work
2026-03-27 01:59:48 +00:00
David Montero Crespo 91e9c2d5f6
Merge pull request #73 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
Copilot/add google analytics key events tracking
2026-03-25 03:07:11 -03:00
David Montero Crespo f127ef6cbe Enhance analytics tracking across the application
- Added tracking for simulation events: start, stop, and reset.
- Implemented tracking for library manager interactions, including library installations.
- Enhanced project management tracking with save and create project events.
- Integrated tracking for user authentication events: sign-up and login.
- Added tracking for CTA clicks on landing and SEO pages.
- Updated analytics utility functions to support new tracking events.
- Improved GitHub and Discord link tracking in the app header.
- Refactored existing components to utilize new tracking functions for better user engagement insights.
2026-03-25 03:06:38 -03:00
David Montero Crespo 084ad5cfb9 fix: remove redundant console log in handleLoadExample function 2026-03-25 03:05:38 -03:00
David Montero Crespo 2782282d26
Merge pull request #37 from davidmonterocrespo24/copilot/add-google-analytics-key-events-tracking
Add GA4 key events tracking for core user actions
2026-03-25 02:19:41 -03:00
David Montero Crespo 5d741bfb5e Merge branch 'website' into copilot/add-google-analytics-key-events-tracking
# Conflicts:
#	frontend/src/components/layout/AppHeader.tsx
#	frontend/src/pages/ExamplesPage.tsx
#	frontend/src/pages/LandingPage.tsx
2026-03-25 02:18:52 -03:00
David Montero Crespo 003482b708
Merge pull request #72 from davidmonterocrespo24/website
Website
2026-03-25 00:09:15 -03:00
David Montero Crespo 005f50262f feat: enhance build scripts and add SEO prerendering; improve touch interactions for wire creation 2026-03-25 00:08:46 -03:00
David Montero Crespo effd1ee765 feat: update entrypoint.sh to ensure ESP32 core version is 2.0.17; mark subproject commits as dirty 2026-03-24 20:39:56 -03:00
David Montero Crespo 9b911202fc
Merge pull request #71 from davidmonterocrespo24/website
feat: initialize arduino-cli config and install missing cores; mark s…
2026-03-24 18:33:47 -03:00
David Montero Crespo c7eeab5891 feat: initialize arduino-cli config and install missing cores; mark subproject commits as dirty 2026-03-24 18:33:21 -03:00
David Montero Crespo 5cac073757
Merge pull request #70 from davidmonterocrespo24/website
Website
2026-03-24 18:21:12 -03:00
David Montero Crespo 8f0c23c857 feat: optimize Dockerfile by deferring arduino-cli core installations to entrypoint.sh for a smaller image size 2026-03-24 18:20:38 -03:00
David Montero Crespo d12a2ad7e4 feat: enhance ExamplesPage to auto-install required libraries; update example projects with library dependencies 2026-03-24 18:19:43 -03:00
David Montero Crespo bf092acd34
Merge pull request #69 from davidmonterocrespo24/website
feat: update entrypoint.sh to install arduino-cli base cores; mark su…
2026-03-24 18:06:56 -03:00
David Montero Crespo dbf6bd986f feat: update entrypoint.sh to install arduino-cli base cores; mark subproject commits as dirty 2026-03-24 18:06:19 -03:00
David Montero Crespo 01b792b02a
Merge pull request #68 from davidmonterocrespo24/website
feat: simplify Dockerfile by removing redundant cp command; mark subp…
2026-03-24 17:59:43 -03:00
David Montero Crespo f4e4f863a9 feat: simplify Dockerfile by removing redundant cp command; mark subproject commits as dirty 2026-03-24 17:59:04 -03:00
David Montero Crespo c1da5c8989
Merge pull request #67 from davidmonterocrespo24/website
feat: update docker-compose to include arduino-libs volume; mark subp…
2026-03-24 17:31:36 -03:00
David Montero Crespo 8ed0438abf feat: update docker-compose to include arduino-libs volume; mark subproject commits as dirty 2026-03-24 17:30:56 -03:00
David Montero Crespo 894f385df4
Merge pull request #66 from davidmonterocrespo24/website
feat: add libfdt1 dependency in Dockerfile; mark subproject commits a…
2026-03-24 17:29:26 -03:00
David Montero Crespo 528287db95 feat: add libfdt1 dependency in Dockerfile; mark subproject commits as dirty 2026-03-24 17:28:56 -03:00
David Montero Crespo 483e181873
Merge pull request #65 from davidmonterocrespo24/website
feat: add WebSocket support for ESP32 simulation in nginx configurati…
2026-03-24 17:03:30 -03:00
David Montero Crespo dc335c666e feat: add WebSocket support for ESP32 simulation in nginx configuration; clean up example code by removing unused WDT functions 2026-03-24 17:02:23 -03:00
David Montero Crespo 2fcaeca5c7
Merge pull request #64 from davidmonterocrespo24/website
Website
2026-03-24 16:52:22 -03:00
David Montero Crespo 9d45484fce feat: enhance EditorToolbar with always-visible Libraries button and missing library hint; remove overflow collapse logic 2026-03-24 16:52:01 -03:00
David Montero Crespo 09118fcdef feat: update .gitignore to include marketing directory; modify example texts to reflect Velxio branding; mark subproject commits as dirty 2026-03-24 16:47:19 -03:00
David Montero Crespo 0290b24a47 feat: remove unnecessary logging and diagnostic dumps in ESP32 worker; update WS2812 event handling in simulator store 2026-03-24 14:38:08 -03:00
David Montero Crespo 5e32e238fc
Merge pull request #63 from davidmonterocrespo24/website
feat: implement eager scan for LEDC GPIO mapping and add tests for ra…
2026-03-24 13:55:28 -03:00
David Montero Crespo 01f75cf313 feat: implement eager scan for LEDC GPIO mapping and add tests for race condition fix 2026-03-24 13:54:44 -03:00
David Montero Crespo 44dc7ef289
Add visitor badge and various shields to README 2026-03-24 02:15:11 -03:00
David Montero Crespo 4357c67a8c
Merge pull request #62 from davidmonterocrespo24/website
Refactor code structure for improved readability and maintainability
2026-03-23 23:24:39 -03:00
David Montero Crespo cf54fa90a3 Refactor code structure for improved readability and maintainability 2026-03-23 23:24:14 -03:00
David Montero Crespo 1f12290a78
Merge pull request #61 from davidmonterocrespo24/website
feat: update sitemap generation script to use Node.js and mark subpro…
2026-03-23 19:04:53 -03:00
David Montero Crespo b95230f53e feat: update sitemap generation script to use Node.js and mark subprojects as dirty 2026-03-23 19:04:23 -03:00
David Montero Crespo 93beb66987
Merge pull request #60 from davidmonterocrespo24/website
feat: add multi-board support section to Velxio 2.0 landing page and …
2026-03-23 19:01:48 -03:00
David Montero Crespo 1c1775c327 feat: add multi-board support section to Velxio 2.0 landing page and update sitemap generation script 2026-03-23 19:01:11 -03:00
David Montero Crespo 6f76aaa224
Merge pull request #59 from davidmonterocrespo24/website
Website
2026-03-23 18:56:49 -03:00
David Montero Crespo 3e77c1a546 feat: add open-source library showcase to Velxio 2.0 landing page and mark subprojects as dirty 2026-03-23 18:56:00 -03:00
David Montero Crespo 5fdeb7fc64 feat: update Velxio 2.0 landing page descriptions for clarity and SEO optimization; mark subprojects as dirty 2026-03-23 18:54:02 -03:00
David Montero Crespo b4365ec877 feat: implement sitemap generation and search engine pinging in build process 2026-03-23 18:52:35 -03:00
David Montero Crespo 4d93c7cba3
Merge pull request #58 from davidmonterocrespo24/website
Website
2026-03-23 18:47:45 -03:00
David Montero Crespo 61b08e7cf2 feat: add Velxio 2.0 release landing page with new features, boards showcase, and community CTAs 2026-03-23 18:47:12 -03:00
David Montero Crespo fb8d437d58 Add SEO landing pages for ESP32-S3, ESP32, Raspberry Pi Pico, and Raspberry Pi 3 simulators
- Created Esp32S3SimulatorPage.tsx with SEO content and FAQ section.
- Created Esp32SimulatorPage.tsx with SEO content and FAQ section.
- Created RaspberryPiPicoSimulatorPage.tsx with SEO content and FAQ section.
- Created RaspberryPiSimulatorPage.tsx with SEO content and FAQ section.
- Each page includes structured data for better search engine visibility.
2026-03-23 18:30:42 -03:00
David Montero Crespo fab2c8d604
Merge pull request #57 from davidmonterocrespo24/website
feat: update SEO handling across various pages, enhance mobile tab na…
2026-03-23 17:22:51 -03:00
David Montero Crespo a183818721 feat: update SEO handling across various pages, enhance mobile tab navigation, and improve .gitignore for sensitive files 2026-03-23 17:15:29 -03:00
David Montero Crespo 1493a9acfb
Merge pull request #56 from davidmonterocrespo24/website
feat: add FAQ schema to landing page and update subproject statuses t…
2026-03-23 15:13:00 -03:00
David Montero Crespo 1c22902c88 feat: add FAQ schema to landing page and update subproject statuses to dirty 2026-03-23 15:12:33 -03:00