
Security News
PolinRider: North Korea-Linked Supply Chain Campaign Expands Across Open Source Ecosystems
PolinRider expands across npm, Packagist, Go modules, and Chrome extensions, using hidden loaders to target developer environments.
@d11/de-frost
Advanced tools
A powerful npm package to help you detect and analyze frozen frames in your mobile application. This package provides tools for extracting frozen frame data, recording React commit information, and visualizing the data in an interactive dashboard. Visit https://defrost.dreamsportslabs.com/ for more details
To install the package, use npm or yarn:
npm install @d11/de-frost
# or
yarn add @d11/de-frost
In order to collect accurate frame rendering data, enable the "Profile HWUI Rendering" option in Developer Options:
adb shell dumpsys gfxinfoadb shell dumpsys gfxinfo.This ensures your device captures detailed frame statistics, which will be used by the package for analysis.
adb devices
If your device is listed, you're good to go.
yarn de-frost create-buildThis command prepares the APK with the necessary code to report React commit data. It takes two parameters:
-f: The flavor of the APK (e.g., staging or prod). Default: ""-v: The variant of the APK (e.g., debug, release, etc.). Default: "debug"Usage:
yarn de-frost create-build -f <flavor> -v <variant>
This will:
ff-build in your project directory.yarn de-frost recordThis command records the frame data from the APK running on your connected device and extracts React commit information. It will dump the data as a CSV file in the data folder on your laptop.
You need to connect your mobile device to your laptop using ADB (Android Debug Bridge).
Usage:
yarn de-frost record -p <package-name>
Where:
-p: The package name of the app you want to record data from (e.g., com.example.myapp). Default value: "".yarn de-frost show-dashboardThis command opens a web dashboard where you can visualize the frame data and React commit information. You need to specify the location of the data folder where the recorded data is stored.
Usage:
yarn de-frost show-dashboard -d <data-folder-location>
Where:
-d: The directory where the frame data and React information have been dumped (the data folder). Default value: "./data".The purpose of this npm package, @d11/defrost, is to help you detect and analyze frozen frames in your mobile application. This package is divided into two main parts: extraction of frozen frame data and visualization of that data.
yarn de-frost create-build)The first step is to add code to your APK that can report React commit data, which is essential for detecting frozen frames. This is achieved by running the following command:
yarn de-frost create-build -f <flavor> -v <variant>
-f: Specifies the flavor of the APK (e.g., staging, prod, etc.).-v: Specifies the variant of the APK (e.g., debug, release).When this command is executed, it modifies the APK code to include tracking and reporting of React commit data, which will later be used for frame analysis. The modified APK will be placed in a folder named ff-build within your project directory. The APK now has the necessary hooks to track React commits as the app runs.
Why this is important: React commit data helps correlate frame rendering with the changes made in the React component tree. This allows us to identify any discrepancies or delays in rendering that might lead to frozen frames.
Once the APK is generated, install it on your mobile device. After installation, allow Files and Media permissions to ensure the app can save logs and data for analysis. After this, you need to connect the mobile device to your laptop via ADB (Android Debug Bridge). This is done to allow the laptop to interact with the mobile device and record relevant data during the app's execution.
yarn de-frost record)Now that the APK is installed and the device is connected, it's time to capture the frame rendering data and React commit information. This is done using the following command:
yarn de-frost record -p <package-name>
-p: The package name of the app you want to record data from (e.g., com.example.myapp).This command does the following:
Both the frame data and React commit information are dumped into a data folder on your laptop in CSV format. This data will be the foundation for visualizing frame performance and analyzing any issues related to frozen frames.
Why this is important: The yarn de-frost record command gives us all the raw data we need to analyze frame rendering behavior and correlate it with React component rendering. This is key to identifying and diagnosing frozen frames or UI performance issues in the app.
yarn de-frost show-dashboard)Finally, after collecting all the frame and React commit data, you need a way to visualize it in an interactive and user-friendly manner. This is achieved using the following command:
yarn de-frost show-dashboard -d <data-folder-location>
-d: The directory where the frame data and React commit information have been dumped (the data folder).Running this command will open a web dashboard that provides a visual representation of the frame data and React commit information. The dashboard allows you to easily analyze and identify any issues, such as frozen frames, by providing interactive charts, graphs, and performance metrics.
Why this is important: The dashboard serves as the final step in this process. It takes the raw data and presents it in a visual format, making it much easier to spot trends, correlations, and potential issues with frame rendering and React commits.
Let’s walk through an example of how this package can be used in practice:
Create the APK: You start by generating an APK that has React commit tracking code added:
yarn de-frost create-build -f Staging -v Release
Record Frame and React Data: Once the APK is ready, installed on your device and all permissions given, you can begin recording frame and React commit data:
yarn de-frost record -p com.example.myapp
This will start recording and will dump the data into the data folder.
Visualize the Data: Finally, you can open the web dashboard to analyze the data and identify any potential frozen frames:
yarn de-frost show-dashboard -d ./data
FAQs
To detect frozen frame in react native app
We found that @d11/de-frost demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
PolinRider expands across npm, Packagist, Go modules, and Chrome extensions, using hidden loaders to target developer environments.

Security News
Open source attacks are accelerating as AI coding agents pull in dependencies faster, with less human review.

Research
/Security News
Malicious Chrome and Firefox extensions posed as free VPNs while stealing clipboard data through later extension updates.