Skip to content

Instantly share code, notes, and snippets.

View kapral18's full-sized avatar
:copilot:
Merging with AI

Karen Grigoryan kapral18

:copilot:
Merging with AI
View GitHub Profile
@kapral18
kapral18 / nvda-a11y-testing-kibana-cursor.md
Last active April 1, 2026 23:19
NVDA Accessibility Testing for Kibana via VirtualBox + Cursor IDE (a11y-agents-kit)

NVDA Accessibility Testing for Kibana via VirtualBox + Cursor IDE

End-to-end setup for testing Kibana (running on macOS host) with NVDA screen reader inside a Windows VirtualBox VM, driven by Cursor IDE through the mcp-nvda-auditor MCP server from a11y-agents-kit.

How it works

  • guidepup (the library behind mcp-nvda-auditor) controls NVDA by connecting to a bundled NVDA Remote add-on over a TLS socket on 127.0.0.1:6837. It sends key events as JSON over this socket; the NVDA Remote add-on then injects them into the OS via user32.SendInput(). Speech output is captured via a monkey-patched speech._manager.speak inside NVDA and sent back over the same TLS channel.
  • Because SendInput targets the foreground window on the interactive desktop (Session 1), the MCP server must run in the VM's desktop session (not over SSH — SSH creates Session 0 with no desktop, an
@kapral18
kapral18 / webcam-debug-session.md
Last active March 31, 2026 14:16
Philips 34E1C5600 webcam debug session — USB-C lane allocation issue on macOS

Philips 34E1C5600 Webcam Debug Session

Date: 2026-03-31 System: MacBook Pro, Apple M3 Pro, macOS 26.4 (Tahoe, build 25E246) Monitor: Philips PHL34E1C5600 (34" UWQHD, 3440x1440@60Hz) Connection: USB-C


User

@kapral18
kapral18 / coverage_mapping.md
Last active March 22, 2026 16:12
Integration → unit test mapping for snapshot_restore repository_add

Snapshot Restore: repository_add integration → unit test mapping (table)

Generated: 2026-03-22

Goal: For the deleted client integration test file, list every individual test (it/test) and map it to where the same behavior is now covered in unit tests (one row per mapping; duplicate rows allowed when a single old test is covered by multiple new tests).

Legend:

  • “Old test” column uses the exact it/test title from the deleted integration file.
  • “Now covered by” points to a unit test (file + unit it() title). If a behavior moved layers, the mapping points to the new layer that owns the behavior (validator, component, or container).
@kapral18
kapral18 / index_management_integration_to_unit_mapping.md
Last active March 21, 2026 01:52
Index Management: integration → unit test mapping

Index Management: client integration → unit test mapping (table)

Generated: 2026-03-21

Goal: For each deleted client integration test file, list every individual test (it/test) and map it to where the same behavior is now covered in unit tests (one row per mapping; duplicate rows allowed when a single old test is covered by multiple new tests).

Legend:

  • "Old test" uses the exact describe + it/test title from the deleted integration file.
  • "Now covered by" points to one or more unit tests (file + unit it() title). If coverage is split, the same old test may appear on multiple rows.
@kapral18
kapral18 / 00-main-2co-notes.txt
Last active February 26, 2026 12:24
Enzyme to RTL Migration Wisdom
0. HOW TO USE THIS WISDOM BEAD (read this first)
This bead is optimized for “in-the-trenches” migration work.
Use it like a field manual:
- Start with the decision trees below to pick the right tool/pattern fast.
- Then jump to the referenced Pattern for the full explanation + examples.
- Prefer canonical sections: if two places mention the same idea, the canonical Pattern is the source of truth.
0.1 Decision trees (fast entry points)
@kapral18
kapral18 / sanitized_repro_payload.http
Created February 24, 2026 00:49
Sanitized reproduction payload for elastic/kibana#251173
POST _ingest/pipeline/_simulate
{
"docs": [
{
"_source": {
"@timestamp": "xQ9mP7vK2ZtR4nL1aB8cD6eF3gH0jS",
"eventData": {
"__original": "5\"wYxQ9mP7vK\"2Zt\"R4nL1aB8c\"D\"6eF3gH\"0\"jS5wYxQ9\"mP\"7vK2ZtR4n\"L1aB8cD\"6eF3gH0\"jS5wYxQ9m\"P7vK2ZtR4\"nL1aB8c\"D6eF3gH\"0jS5wYxQ9m\"P7vK2ZtR4\"nL1\"aB8cD6e\"F3g\"H0jS5wYx\"Q9m\"P7vK2Z\"tR4nL1\"aB8cD6e\"F3g\"H0jS5wYx\"Q9m\"P7vK2Zt\"R4nL1a\"B8cD6eF\"3gH0j\"S5wYxQ9\"m\"P7vK2ZtR4nL1aB8c\"D6\"eF3gH\"0jS5w\"YxQ9mP7v\"K2Z\"tR4\"n\"L1aB8\"c\"D6eF\"3gH\"0jS5wYxQ9\"mP7vK\"2ZtR4nL1a\"B8cD\"6eF3gH0jS5\"wYxQ9mP\"7vK2ZtR4nL\"1aB8cD6\"eF3g\"H0jS5\"wYxQ\"9\"mP7vK2ZtR4nL1aB8cD6eF3g\"H\"0jS5wYx\"Q9mP7v\"K2ZtR4n\"L1aB8c\"D6eF3gH\"0\"jS5wYxQ9mP7vK2Z\"t\"R4nL1aB8cD\"6eF3gH\"0jS5wYxQ9mP7v\"K2ZtR4n\"L1aB\"8\"cD6eF\"3\"gH0jS5wY\"x\"Q9mP7vK2ZtR4nL1aB8cD\"6\"eF3gH0jS5w\"Y\"xQ9mP7vK2ZtR4\"n\"L1aB8cD6e\"F3g\"H0jS5wYxQ9mP7vK2ZtR\"4nL1aB8cD\"6eF3gH0jS\"5w\"YxQ9mP7v\"K2ZtR\"4nL1aB8cD6eF3gH\"0jS\"5wY\"xQ9\"mP7vK\"2ZtR4\"nL1\"aB8c\"D6eF3\"gH0jS\"5wY\"xQ9m\"P7vK2
@kapral18
kapral18 / snapshot_restore.jest_titles.before_after.csv
Last active January 3, 2026 11:13
Snapshot & Restore: Jest test titles (before vs after RTL migration)
FILE BEFORE AFTER
x-pack/platform/plugins/private/snapshot_restore/__jest__/client_integration/home.test.ts each row should have a link to the repository each row should have a link to the repository
should detail the failure for each index should detail the failure for each index
should display a loading while fetching the repositories should display a loading while fetching the repositories
should display a message when snapshot created successfully should display a message when snapshot created successfully
should display a message when snapshot in progress should display a message when snapshot in progress
should display an empty prompt should display an empty prompt
should display an empty prompt should display an empty prompt
should display an empty prompt should display an empty prompt
should display the failed indices should display the failed indices
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { waitFor, waitForElementToBeRemoved, screen, render, act } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { waitFor, waitForElementToBeRemoved, screen, render, act } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
--log_gc (Log heap samples on garbage collection for the hp2ps tool.)
type: bool default: false
--expose_gc (expose gc extension)
type: bool default: false
--max_new_space_size (max size of the new generation (in kBytes))
type: int default: 0
--max_old_space_size (max size of the old generation (in Mbytes))
type: int default: 0
--max_executable_size (max size of executable memory (in Mbytes))
type: int default: 0