Page 5 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
June 25, 2025
A chat widget or an embedded map almost always wants to contact its own domains, run its own inline scripts, and set its own cookies, exactly what a strict Content Security Policy blocks by default. Registering third party scripts correctly in csp_whitelist.xml and wrapping them in Alpine gets you both: working widgets and an intact CSP.
-
Maxim Mironjuk
-
June 25, 2025
Building dark mode support for text and surfaces with Tailwind's dark: variant is usually quick, but icons and especially complex illustrations pose their own problem. A simple CSS filter inversion turns a multi-colored illustration into an unreadable mess of colors, because inversion flips every color independently of its original meaning. Working deliberately with dark: variants at the SVG level instead keeps full control over fill, stroke and contrast in both modes.
-
Maxim Mironjuk
-
June 24, 2025
Errors in Vue applications that bring down the entire component tree are avoidable. onErrorCaptured, the global errorHandler, error.vue and NuxtErrorBoundary form a layered system that isolates errors, shows meaningful fallbacks and keeps the rest of the application alive.
-
Maxim Mironjuk
-
June 24, 2025
Magento 2 ships its own test infrastructure that differs substantially from a standard PHPUnit project. If you want to run integration tests directly from PHPStorm, see coverage reports in the IDE, and debug individual test methods with a single click, you need specific configuration, which this article covers in full.
-
Maxim Mironjuk
-
June 24, 2025
A single Claude agent eventually hits limits on complex, multi step tasks: too much context, too many role switches, too little parallelism. A multi agent workflow distributes the work across specialized agents with clear roles, their own context and limited tools, coordinated by an orchestrator that collects and merges partial results.
-
Maxim Mironjuk
-
June 24, 2025
A single process permanently consumes 100 percent CPU, but nobody knows why, there was no deploy and no configuration change. This article walks through the complete diagnostic path for mysterious CPU usage: from the first suspicion in top, through thread analysis and syscall tracing with strace, to the exact code path with perf.
-
Maxim Mironjuk
-
June 24, 2025
Nuxt DevTools is not a browser extension, it is a panel embedded directly in the dev server, making modules, component graph, server routes, assets and build times visible without switching between terminal, editor and extension. Anyone maintaining Nuxt 3 projects finds the root cause of many issues faster than through scattered log output.
-
Maxim Mironjuk
-
June 24, 2025
Anyone who drops cronjobs and worker processes into an existing Docker container without a plan will sooner or later run into PID 1 zombies, lost signals and uncontrolled restarts. Dedicated containers, supervisor and clean signal handling replace fragile setups with predictable, production ready background processes.
-
Maxim Mironjuk
-
June 24, 2025
Xdebug with Docker is not a one-click setup: host.docker.internal, port 9003, path mappings, the correct xdebug.mode, and PHPStorm server configuration all have to line up. This article systematically puts every piece into the right position, for stable breakpoints in Magento 2 and other PHP projects.
-
Maxim Mironjuk
-
June 24, 2025
A Vue product configurator for configurable Magento products must keep attributes, variants, price and availability in sync, without triggering a full page reload on every selection. With the right data structure this works with a single initial load request.
-