
Security News
pnpm 11.10 Hardens Registry Authentication to Block Token Redirection
pnpm 11.10 hardens registry auth to block token redirection, tightens pack-app and deploy, and makes the Rust port (v12) installable.
@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 defrost 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 defrost create-build -f <flavor> -v <variant>
This will:
ff-build in your project directory.yarn defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost 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 defrost show-dashboard -d ./data
FAQs
To detect frozen frame in react native app
The npm package @d11/de-frost receives a total of 24 weekly downloads. As such, @d11/de-frost popularity was classified as not popular.
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
pnpm 11.10 hardens registry auth to block token redirection, tightens pack-app and deploy, and makes the Rust port (v12) installable.

Security News
/Research
Socket uncovered 17 malicious npm and PyPI packages typosquatting Paysafe, Skrill, and Neteller SDKs to steal developer secrets.

Security News
Node.js is debating whether AI-driven security report volume warrants moving more vulnerability reports into public workflows.