Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
617ede0
refactor: reduce complexity in simulation.ws.ts (Sonar: 56+ → ~18)
ttbombadil Mar 13, 2026
0e96f68
refactor: reduce complexity in use-compile-and-run.ts (Sonar: 52+ → ~22)
ttbombadil Mar 13, 2026
c66e338
refactor: reduce complexity in arduino-compiler.ts (Sonar: 48 -> ~20)
ttbombadil Mar 13, 2026
5856613
refactor: simplify registry-manager.ts with extracted metrics helpers
ttbombadil Mar 13, 2026
4aef3f7
refactor(sandbox): isolate docker lifecycle logic [Etappe A]
ttbombadil Mar 13, 2026
4b2e96b
refactor(sandbox): modularize stream and buffer handling [Etappe B]
ttbombadil Mar 13, 2026
6f11963
refactor(sandbox): extract filesystem and path operations [Etappe C]
ttbombadil Mar 13, 2026
2f64c7f
refactor(sandbox): extract docker lifecycle management into dedicated…
ttbombadil Mar 13, 2026
c69fb52
refactor(sandbox): extract I/O stream handling into dedicated module
ttbombadil Mar 13, 2026
503887b
refactor(sandbox): extract filesystem operations into dedicated module
ttbombadil Mar 13, 2026
24a41e7
refactor(sandbox): delegate docker logic, remove 235+ LOC
ttbombadil Mar 13, 2026
0119465
refactor(sandbox): delegate stream handlers, remove 100+ LOC
ttbombadil Mar 13, 2026
6a8642d
refactor(sandbox): delegate filesystem ops, reduce delegator overhead
ttbombadil Mar 13, 2026
bfbdc45
fix(sandbox): sync backpressurePaused state after stream delegation
ttbombadil Mar 13, 2026
3829dda
refactor(sandbox): slim orchestrator with delegated execution
ttbombadil Mar 13, 2026
0ff16ff
refactor(sandbox): remove redundant methods and getters
ttbombadil Mar 13, 2026
291cb69
refactor(sandbox): centralize config constants in ExecutionManager
ttbombadil Mar 13, 2026
ae2697c
refactor(compiler): migrate arduino-cli spawn to ProcessExecutor
ttbombadil Mar 13, 2026
1b62ebd
refactor(compiler): extract output parser to dedicated module
ttbombadil Mar 13, 2026
ad9077e
refactor(compiler): convert mkdtemp to async fs/promises API
ttbombadil Mar 13, 2026
b4c2488
fix(compiler): repair mkdtemp promise implementation and fix test reg…
ttbombadil Mar 13, 2026
0dbc5e7
refactor(sonar): reduce complexity and nesting in useWebSocketHandler.ts
ttbombadil Mar 13, 2026
90d7cba
refactor(sonar): reduce regex complexity in use-sketch-analysis.ts
ttbombadil Mar 13, 2026
5484cc6
fix(sandbox-runner): repair pauseStartTime reset to use executionState
ttbombadil Mar 13, 2026
f870a9f
refactor(arduino): extract stateless type definitions to arduino-type…
ttbombadil Mar 13, 2026
2cc5062
refactor(arduino-mock): successfully decoupled types and utilities in…
ttbombadil Mar 13, 2026
b62b0b4
refactor: modularize arduino-mock and fix template injection regression
ttbombadil Mar 14, 2026
9dc810c
refactor: move arduino-mock entry to server/services and fix imports
ttbombadil Mar 14, 2026
c1dd794
feat: add project analysis script for import coupling and code qualit…
ttbombadil Mar 14, 2026
b57e2b1
refactor: modularize arduino-simulator UI and reduce coupling
ttbombadil Mar 14, 2026
eb69d36
refactor: extract simulation controls and pin monitor view
ttbombadil Mar 14, 2026
d337703
fix: replace any-types with strict interfaces in websocket handler
ttbombadil Mar 14, 2026
af60879
fix: resolve all any-types in use-compile-and-run and harden compiler…
ttbombadil Mar 14, 2026
7c23871
fix: resolve all any-types in use-compile-and-run and harden compiler…
ttbombadil Mar 14, 2026
1a8a5c1
refactor: finalize mock modularization and harden server-side types
ttbombadil Mar 14, 2026
19eb3e4
refactor: remove ghost types and extract styles/layout from ArduinoSi…
ttbombadil Mar 14, 2026
ada1f33
fix: harden arduino-board types by replacing 7 any-casts with proper …
ttbombadil Mar 14, 2026
0c90951
refactor: operation absolute zero - eliminate type unsafety
ttbombadil Mar 14, 2026
835a638
refactor: operation sub-700 - extract effects and output panel
ttbombadil Mar 15, 2026
ce2beec
fix: update visual snapshots after refactoring layout changes
ttbombadil Mar 15, 2026
9b0958d
Revert "fix: update visual snapshots after refactoring layout changes"
ttbombadil Mar 15, 2026
f6318de
refactor: update visual snapshots - justified by pixel analysis
ttbombadil Mar 15, 2026
1214282
docs: complete stage 3 - achieve deep type safety and eliminate remai…
ttbombadil Mar 15, 2026
24f708f
chore: checkpoint progress before collapsing middle-man hooks
ttbombadil Mar 15, 2026
d6d0173
refactor: eliminate middle-man hooks and flatten architecture into a …
ttbombadil Mar 15, 2026
f06d33b
refactor: apply node: imports + enforce Number.* rules + extract simu…
ttbombadil Mar 16, 2026
7649273
test: type-safe mocks in sandbox-runner.test.ts and remove unsafe casts
ttbombadil Mar 16, 2026
7b9745f
test: add PartialMock sanity check to sandbox-runner.test.ts
ttbombadil Mar 16, 2026
730bf03
refactor: modularize arduino-mock monolith and harden internal types
ttbombadil Mar 16, 2026
f81ad06
refactor: decompose code-parser monolith into typed sub-parsers and r…
ttbombadil Mar 16, 2026
d4d7d98
refactor: complete Opus audit Prio A (ESLint hardening, consistent no…
ttbombadil Mar 16, 2026
b99f6b2
refactor: extract 428-line polling loop into usePinPollingEngine hook…
ttbombadil Mar 16, 2026
77f3563
refactor: extract timeout and stderr handlers from setupLocalHandlers…
ttbombadil Mar 16, 2026
2d8a467
refactor: type-hardening for parser and DOM events (Opus Audit Prio C)
ttbombadil Mar 16, 2026
77394cd
fix: complete Opus C1 type hardening and centralize PinMode type
ttbombadil Mar 16, 2026
1b56c14
refactor: enable strict readonly linting + decompose RegistryManager …
ttbombadil Mar 16, 2026
3e5cae6
refactor: readonly props + globalThis + shared SimulationStatus
ttbombadil Mar 16, 2026
b78b909
fix: restore split-view rendering in SerialMonitorView (fixes b57e2b …
ttbombadil Mar 17, 2026
ca51227
fix: restore Monaco editor + I/O registry parsing on b78b90 base
ttbombadil Mar 17, 2026
5dd6d4b
fix: restore Monaco editor height + stabilize sandbox lifecycle test …
ttbombadil Mar 17, 2026
c6b5571
fix: keep I/O registry updated after compile by rerunning parser on s…
ttbombadil Mar 17, 2026
63b8246
fix: populate I/O registry via parseStaticIORegistry in useArduinoSim…
ttbombadil Mar 17, 2026
02cd063
fix: unify output-panel refs so header height + double-click expand w…
ttbombadil Mar 17, 2026
ae17bc6
fix: restore debug-mode telemetry displays in serial monitor and boar…
ttbombadil Mar 17, 2026
a3f62e0
fix(telemetry): ensure heartbeat restarts after simulation reset + ad…
ttbombadil Mar 17, 2026
50aae6d
fix(ui): ensure default sketch shows as a tab + improve global shortcuts
ttbombadil Mar 17, 2026
f450bb2
test(e2e): add telemetry link-state heartbeat verification
ttbombadil Mar 17, 2026
64e3da8
test(server): fix RegistryManager test callback typing and remove unu…
ttbombadil Mar 17, 2026
94cbeab
chore(tests): remove unused vars to satisfy lint and keep workspace c…
ttbombadil Mar 17, 2026
d8f8ba7
test(server): fix RegistryManager test typing & PinStateBatcher usage
ttbombadil Mar 17, 2026
1bc4b33
test: stabilize flakey E2E and React tests
ttbombadil Mar 18, 2026
d21a189
test: remove redundant SandboxRunner state machine validation tests
ttbombadil Mar 18, 2026
8151eb4
fix: stabilize timing-delay tests by increasing jitter tolerance
ttbombadil Mar 18, 2026
99904bc
docs: document CI timing tolerances and refactor mock type definitions
ttbombadil Mar 18, 2026
641639d
fix: remove unused callback param to satisfy ESLint zero-warning policy
ttbombadil Mar 18, 2026
fd91009
chore: migrate .eslintignore rules into eslint.config.js and remove d…
ttbombadil Mar 18, 2026
3322d20
refactor: extract union types and fix SonarQube code smells
ttbombadil Mar 18, 2026
ae9b784
refactor: apply nullish coalescing and optional chaining patterns
ttbombadil Mar 18, 2026
7c642a6
chore(ci): upgrade peaceiris/actions-gh-pages@v3 to v4 and resolve YA…
ttbombadil Mar 18, 2026
967f9db
refactor: extract compile() helper methods to reduce cognitive comple…
ttbombadil Mar 18, 2026
2c3033e
refactor: use nullish coalescing assignment operator ??=
ttbombadil Mar 18, 2026
e16aa38
refactor: fix nested template literals, empty method, nested ternarie…
ttbombadil Mar 18, 2026
be90eaa
refactor: extract parseHardwareCompatibility helpers to reduce CC fro…
ttbombadil Mar 18, 2026
d32fd9c
refactor: replace union type literals with PinMode type alias
ttbombadil Mar 18, 2026
7f21df0
refactor: invert negated conditions in getPinModeInfo method
ttbombadil Mar 18, 2026
bb0d0a6
refactor: extract checkVariablePinUsage to reduce parseHardwareCompat…
ttbombadil Mar 18, 2026
d6e79ef
refactor: extract nested ternaries in SerialMonitorView to reduce CC …
ttbombadil Mar 18, 2026
6b6f6ac
refactor: group docker-manager handler parameters into config objects
ttbombadil Mar 18, 2026
94c4686
refactor: extract validateAndDetectConflicts from updatePinMode to re…
ttbombadil Mar 18, 2026
fffbdb1
refactor: extract _getDetectionDisplay helper to reduce onEnd CC from…
ttbombadil Mar 18, 2026
c1058f1
refactor: extract helpers from spawn method and remove unnecessary as…
ttbombadil Mar 18, 2026
d7f8ec0
refactor: extract helpers from compileWithArduinoCli to reduce CC fro…
ttbombadil Mar 18, 2026
e41d384
refactor: extract helpers from compile to reduce CC from 25 to 15
ttbombadil Mar 18, 2026
d015457
refactor: apply easy wins - typeof checks, nullish coalescing, option…
ttbombadil Mar 18, 2026
ec02f85
fix: use underscore prefix for unused args in test setup mocks
ttbombadil Mar 18, 2026
9d59acf
refactor: code quality improvements - remove redundant type aliases
ttbombadil Mar 18, 2026
9b3014c
refactor: remove void keyword and unused variables in simulator hook
ttbombadil Mar 19, 2026
d20f8d6
refactor: extract hasSuccessProperty helper to eliminate duplicate code
ttbombadil Mar 19, 2026
39b9c61
refactor: prefer globalThis over window in event dispatch
ttbombadil Mar 19, 2026
97bff96
refactor(parser): extract regex patterns to constants
ttbombadil Mar 19, 2026
5256635
refactor(parser): extract conflict detection into helpers
ttbombadil Mar 19, 2026
f853f87
refactor(parser): aggressive complexity reduction - extract main loop…
ttbombadil Mar 19, 2026
e84acd2
refactor(parser): final cc reduction - data-driven operators and loop…
ttbombadil Mar 19, 2026
436983a
refactor(ui): parser-output.tsx - reduce CC and fix SonarQube violations
ttbombadil Mar 19, 2026
ef8212c
refactor(hooks): useWebSocketHandler.ts - fix S2004 and S5843 violations
ttbombadil Mar 19, 2026
03cc284
refactor(types): extract union types to type aliases and remove unuse…
ttbombadil Mar 19, 2026
1f8c9de
refactor: Phase 8 Batch 1 vi.mocked improvements
ttbombadil Mar 19, 2026
40856c2
refactor(batch2-3a): remove debug logs, consolidate regex patterns in…
ttbombadil Mar 19, 2026
fb90e11
refactor(batch3b): arrow ternary simplification in arduino-board.tsx …
ttbombadil Mar 19, 2026
b29c9d6
refactor(batch4): extract type-safe helper functions for SandboxRunne…
ttbombadil Mar 19, 2026
496e825
refactor(batch4+5): type-safe helpers + sub-parser extraction
ttbombadil Mar 19, 2026
f9f95f6
refactor(phase9a): extract helpers, fix S3358 nested ternary in ardui…
ttbombadil Mar 19, 2026
005f055
refactor(phase9b): extract React.memo sub-components, convert SVG to …
ttbombadil Mar 19, 2026
4c7ff14
refactor(phase9c): extract useBoardColor + useDebugMode hooks, simpli…
ttbombadil Mar 19, 2026
1384570
refactor: Batch A/B/C — module-level extraction, dead code removal
ttbombadil Mar 19, 2026
02eac22
refactor: reduce cognitive complexity in AppHeader (S3776)
ttbombadil Mar 22, 2026
93cda3e
refactor: update SonarQube configuration and guidelines
ttbombadil Mar 22, 2026
2e4857f
refactor: reduce complexity in arduino-board.tsx (S3776, S6594)
ttbombadil Mar 22, 2026
254827b
refactor: reduce complexity in code-parser.ts (S3776 S7735 S6594 S7781)
ttbombadil Mar 22, 2026
4ac3c17
refactor: fix nesting depth in useWebSocketHandler.ts (S2004 S6660)
ttbombadil Mar 22, 2026
1d96cc5
refactor: reduce complexity in useSimulatorKeyboardShortcuts.ts (S3776)
ttbombadil Mar 22, 2026
67df37e
refactor: reduce complexity in usePinPollingEngine.ts (S3776 S7748 S4…
ttbombadil Mar 22, 2026
f5422bb
refactor: reduce complexity in serial-monitor.tsx (S3776 S6660)
ttbombadil Mar 22, 2026
2206a3d
refactor: reduce complexity in useSimulatorEffects.ts (S3776 S4325 S3…
ttbombadil Mar 22, 2026
81566f8
refactor: reduce complexity in unified-gatekeeper.ts (S3776 S6660)
ttbombadil Mar 22, 2026
b145e91
refactor: reduce complexity S3776/S2004/S3923/S3358/S4165/S107
ttbombadil Mar 22, 2026
08645fa
refactor: fix S3358 S7781 S6594 S2245 S4822 S6582 S1117 S3888 issues
ttbombadil Mar 22, 2026
2bdc5bb
refactor: fix remaining S2631 ReDoS regex S6672 readonly props S3257 …
ttbombadil Mar 22, 2026
e47cabf
refactor(welle-1): pascalCase rename + PWM_PINS set
ttbombadil Mar 22, 2026
10b7f6f
refactor(welle-2): extract ternaries + a11y board overlay
ttbombadil Mar 22, 2026
469fc1d
refactor(welle-3): extract helpers + remove redundant try/catch
ttbombadil Mar 22, 2026
6f05130
refactor: enhance typography handling and improve ANSI code processing
ttbombadil Mar 23, 2026
77254c0
test: force compiler panel open for visual consistency
ttbombadil Mar 23, 2026
a8e51cb
test: wait for compiler output visibility before snapshot in test 03
ttbombadil Mar 23, 2026
098a2a8
test: fix race condition and increase pixel tolerance for compiler su…
ttbombadil Mar 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 0 additions & 32 deletions .eslintignore

This file was deleted.

42 changes: 42 additions & 0 deletions .github/instructions/sonarqube_mcp.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
applyTo: "**/*"
---

These are some guidelines when using the SonarQube MCP server.

# Important Tool Guidelines

## Basic usage
- **IMPORTANT**: After you finish generating or modifying any code files at the very end of the task, you MUST call the `analyze_file_list` tool (if it exists) to analyze the files you created or modified.
- **IMPORTANT**: When starting a new task, you MUST disable automatic analysis with the `toggle_automatic_analysis` tool if it exists.
- **IMPORTANT**: When you are done generating code at the very end of the task, you MUST re-enable automatic analysis with the `toggle_automatic_analysis` tool if it exists.

## Project Keys
- When a user mentions a project key, use `search_my_sonarqube_projects` first to find the exact project key
- Don't guess project keys - always look them up

## Code Language Detection
- When analyzing code snippets, try to detect the programming language from the code syntax
- If unclear, ask the user or make an educated guess based on syntax

## Branch and Pull Request Context
- Many operations support branch-specific analysis
- If user mentions working on a feature branch, include the branch parameter

## Code Issues and Violations
- After fixing issues, do not attempt to verify them using `search_sonar_issues_in_projects`, as the server will not yet reflect the updates

# Common Troubleshooting

## Authentication Issues
- SonarQube requires USER tokens (not project tokens)
- When the error `SonarQube answered with Not authorized` occurs, verify the token type

## Project Not Found
- Use `search_my_sonarqube_projects` to find available projects
- Verify project key spelling and format

## Code Analysis Issues
- Ensure programming language is correctly specified
- Remind users that snippet analysis doesn't replace full project scans
- Provide full file content for better analysis results
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:

- name: Deploy Coverage to GitHub Pages
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./coverage/lcov-report
Expand Down
Empty file added .scannerwork/.sonar_lock
Empty file.
6 changes: 6 additions & 0 deletions .scannerwork/report-task.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
projectKey=unowebsim
serverUrl=http://localhost:9000
serverVersion=26.3.0.120487
dashboardUrl=http://localhost:9000/dashboard?id=unowebsim
ceTaskId=21016718-59f7-4a09-b356-fb7fd8d42385
ceTaskUrl=http://localhost:9000/api/ce/task?id=21016718-59f7-4a09-b356-fb7fd8d42385
50 changes: 27 additions & 23 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
{
"files.exclude": {
"vite.config.ts": false,
"vercel.json": false,
"test-vercel-build.sh": false,
"tsconfig.json": false,
"tailwind.config.ts": false,
"screenshot.png": false,
"README copy.md": false,
"postcss.config.js": false,
"package-lock.json": false,
"LICENSE": false,
"drizzle.config.ts": false,
"components.json": false,
"build.sh": false,
".vercelignore": false,
".gitlab-ci.yml": false,
"node_modules": false,
"temp": false,
"vitest.config.ts": false,
"playwright.config.ts": false,
"package.json": false,
"licenses.json": false,
"docker-compose.yml": false,
"commitlint.config.cjs": false
"vite.config.ts": true,
"vercel.json": true,
"test-vercel-build.sh": true,
"tsconfig.json": true,
"tailwind.config.ts": true,
"screenshot.png": true,
"README copy.md": true,
"postcss.config.js": true,
"package-lock.json": true,
"LICENSE": true,
"drizzle.config.ts": true,
"components.json": true,
"build.sh": true,
".vercelignore": true,
".gitlab-ci.yml": true,
"node_modules": true,
"temp": true,
"vitest.config.ts": true,
"playwright.config.ts": true,
"package.json": true,
"licenses.json": true,
"docker-compose.yml": true,
"commitlint.config.cjs": true
},
"chat.tools.terminal.autoApprove": {
"npm ls": true,
Expand Down Expand Up @@ -150,4 +150,8 @@
},
"g++": true
},
"sonarlint.connectedMode.project": {
"connectionId": "http-localhost-9000",
"projectKey": "unowebsim"
}
}
Loading
Loading