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.

Posted on

Как работает антибот в мобильном приложении Wildberries

https://habr.com/ru/companies/rwb/articles/1032556

  • Wildberries инвестирует в антибот для борьбы с ботами и парсерами, которые генерируют до 60% трафика и несут финансовые и репутационные потери.
  • Команда Antibot в Wildberries создала антибот и собственный парсер для атак на себя.
  • Антибот использует мобильное API для получения и продления антибот-токенов.
  • Для оценки рисков используются данные о поведении, ML-признаки и результаты челленджей.
  • В будущем планируется внедрение SSL Pinning, интеграции с продуктами и защищенный клиентский рантайм для предотвращения обхода защиты.
  • Антибот в мобильном приложении – многоуровневая система, ключевое решение принимает сервер.
  • Платформенная аттестация повышает доверие к устройству и сессии.
  • ML-модель и отзыв токенов помогают выявлять автоматизацию в динамике и отслеживать весь жизненный цикл пользователя.