Posted on

dejavu

A lightweight framework for tracking and asserting against Jetpack Compose recompositions.

https://dejavu.mmckenna.me

https://github.com/himattm/dejavu

Dejavu is a test-only library that turns recomposition behavior into assertions. Tag your composables with standard Modifier.testTag(), write expectations against recomposition counts, and get structured diagnostics when something changes — whether from a teammate, a library upgrade, an AI agent rewriting your UI code, or a refactor that silently destabilizes a lambda.

  • Zero production code changes — just Modifier.testTag()
  • One-line test setup — createRecompositionTrackingRule()
  • Rich diagnostics — source location, recomposition timeline, parameter diffs, causality analysis
  • Per-instance tracking — multiple instances of the same composable get independent counters

Posted on

Compose hot reload

https://github.com/JetBrains/compose-hot-reload/releases/tag/v1.2.0-alpha01

This release introduces a brand-new Model Context Protocol (MCP) server that enables AI agents to interact with a running Compose application in real time.

В выпуске v1.2.0-alpha01 представлен новый сервер Model Context Protocol (MCP), который позволяет агентам ИИ взаимодействовать с запущенным приложением Compose в режиме реального времени. Сервер предоставляет различные инструменты, например:

  • status — получение текущего статуса приложения; 1
  • take_screenshot — создание снимка экрана; 2
  • get_semantic_tree — просмотр дерева компонентов пользовательского интерфейса; 3
  • click и long_click — щелчок и длительное нажатие на элемент интерфейса; 4
  • type_text — замена содержимого текстового поля; 5
  • scroll и scroll_to_index — прокрутка внутри прокручиваемого компонента. 6

Сервер подключается к уровню оркестрации горячей перезагрузки и запускается с помощью задачи hotMcpServer Gradle. JetBrains Runtime 25 теперь используется как версия JBR по умолчанию для горячей перезагрузки. Также внесены изменения в инструменты разработчика и Gradle.