github-actions[bot] opened a new pull request, #65228:
URL: https://github.com/apache/airflow/pull/65228

   * UI: Rework Monaco editor theme to match Chakra UI palette
   
   Register custom airflow-light and airflow-dark Monaco themes derived
   from Chakra UI color tokens so that the DAG Code viewer, diff viewer,
   and JSON editors visually integrate with the rest of the app instead
   of using Monaco's default vs/vs-dark themes.
   
   The new useMonacoTheme hook rasterizes a single pixel through a 2D
   canvas and reads it back via getImageData to convert Chakra's OKLCH
   color values into the #rrggbb strings that Monaco's defineTheme
   accepts — ctx.fillStyle readback cannot be used because modern
   Chrome preserves the original OKLCH string. Themes are registered
   once via a module-level flag and then passed to every Monaco editor
   via the beforeMount callback.
   
   closes: #64253
   
   * UI: Remove unnecessary useCallback in useMonacoTheme
   
   Address review feedback: React Compiler handles memoization,
   so the useCallback wrapper around defineAirflowMonacoThemes
   is redundant. Pass the function reference directly instead.
   Also fix prettier formatting in tests.
   
   * UI: Use culori for Monaco theme color conversion
   
   Address review feedback: the canvas-based cssVarToHex was brittle
   (depended on Canvas2D rendering and browser-specific fillStyle
   behavior, and required canvas mocking in happy-dom tests). Replace
   it with culori's parse/formatHex, which handles OKLCH and other
   modern color spaces directly with no DOM rasterization.
   
   Also add afterEach(vi.restoreAllMocks()) to the tests so the
   getComputedStyle spy does not leak between runs.
   
   * UI: Fix codespell typo in useMonacoTheme comment
   
   unparseable -> unparsable.
   (cherry picked from commit bfe46f61cc005c1d2b5933562bee6b6b22e492cb)
   
   Co-authored-by: Shivam Rastogi <[email protected]>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to