Skip to content

Conversation

@Karan-Palan
Copy link
Collaborator

@Karan-Palan Karan-Palan commented Oct 22, 2025

Screen recording/Screenshots:

https://json-schema.slack.com/files/U087E6ZE95G/F09N04UBSKG/screencast_from_2025-10-23_02-35-43.mp4

Changes made:

  1. Loading Spinners (Webview displays spinner during analysis, then smoothly transitions to results
    Works perfectly for huge schemas where CLI takes time)
  2. Clickable Linting and Metaschema warnings that navigate to error positions (updated cli to version 11.11.1)
  3. Red Squiggly lines for Metaschema errors, Yellow warnings for lint
  4. Metaschema card design is now similar to linting card design
  5. Added a configuration section in package.json to disable VS-code's built in JSON validation.
    Extension automatically disables json.validate.enable on activation
  6. Removed all unnecessary re-renders and jankiness when clicking a button, or changing files
  7. Format button just re-renders formatted state ; initially all tabs (lint, health, metaschema, format) show "?"
  8. Fixed edge cases found by testing on large schemas
  9. Updated test suite

Tests present:

  1. Extension Core (6 tests)
  • Extension presence and activation
  • Command registration
  • Diagnostic collection creation
  • Panel opening
  • JSON file handling
  1. FileUtils (22 tests)
  • File validation (7 tests): null paths, extensions, spaces
  • Lint result parsing (4 tests): valid/invalid JSON, errors
  • Metaschema result parsing (8 tests):
    • Exit codes 0, 1, 2
    • JSON extraction with prefix/suffix text
    • Empty arrays
    • Field preservation
  • Position conversion (3 tests): ranges, multi-line, boundaries
  1. DiagnosticManager (13 tests)
  • Creation and disposal
  • Lint diagnostics with warnings
  • Metaschema diagnostics with errors
  • Position filtering
  • Clearing diagnostics
  • Clickable code links
  • Optional field handling
  1. PanelManager (8 tests)
  • Lifecycle management
  • State updates
  • Message handling
  • Disposal
  1. CommandExecutor (7 tests)
  • All CLI command methods
  • Version retrieval
  • Lint, format, formatCheck, metaschema
  1. Types (3 tests)
  • DiagnosticType constants
  • Type uniqueness

@Karan-Palan Karan-Palan marked this pull request as ready for review October 22, 2025 21:49
@Karan-Palan Karan-Palan changed the title Metaschema re render feat(vscode): better metachema UI, stop re-rendering, spinner component and related tests Oct 22, 2025
@Karan-Palan Karan-Palan merged commit ca04742 into main Oct 23, 2025
8 checks passed
@Karan-Palan Karan-Palan deleted the metaschema-re-render branch October 31, 2025 13:05
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.

2 participants