audit-ui-thread-safety

द्वारा flutter

Prevent UI freezes and ensure a responsive user experience by validating threading rules and migrating blocking calls off the Event Dispatch Thread (EDT).

npx skills add https://github.com/flutter/flutter-intellij --skill audit-ui-thread-safety

Skill: UI Thread Safety & Responsiveness

You are tasked with preventing UI freezes and ensuring a responsive user experience by validating threading rules.

Objective

Prevent UI freezes and ensure a responsive user experience by validating threading rules.

Workflow Instructions

1. Baseline

  • Run ./gradlew test and ./gradlew verifyPlugin to ensure the project is in a good state before refactoring.

2. Audit EDT Usage

  • Search for usages of runInEdt, invokeLater, and invokeAndWait.

3. Identify Blocking Calls

  • Ensure no I/O operations (file access, network calls) or heavy computations occur within these UI blocks.

4. Migrate to Background

  • Refactor heavy tasks to run on background threads using Task.Backgroundable or ReadAction.nonBlocking.

5. Check Modality

  • Verify that modal dialogs do not block the UI thread unnecessarily.

6. Verify

  • Run ./gradlew testClasses to ensure safe refactoring.
  • Run ./gradlew test and ./gradlew verifyPlugin to ensure no regressions.
  • Run the plugin in a sandbox (./gradlew runIde) and perform key actions while monitoring for UI freezes.
  • Suggest manual test steps: Check the code changes made and write test steps for a user to execute that will trigger the code paths that have changed. If needed, add logging statements to verify that the code paths have successfully run.

7. Report & Review

  • Summarize the threading fixes.
  • Test Location: Explicitly state where in the IDE the user should go to test the changed functionality (e.g., "Go to Preferences > Languages & Frameworks > Flutter").
  • Action: Ask the user to review the changes closely to ensure no deadlocks or UI freezes are introduced.
  • Do not commit or push.
  • Provide a suggested Git commit message (e.g., "Fix UI freeze: Move heavy computation to background task").

flutter की और Skills

adding-release-notes
flutter
उपयोगकर्ता-सामना करने वाले परिवर्तन विवरणों को DevTools रिलीज़ नोट्स में जोड़ता है। NEXT_RELEASE_NOTES.md फ़ाइल में सुधार, सुधार या नई सुविधाओं का दस्तावेज़ीकरण करते समय उपयोग करें।
official
dart-modern-features
flutter
आधुनिकीकरण के लिए उम्मीदवार खोजने हेतु:
official
api-review
flutter
निर्दिष्ट कोड की विहित API डिज़ाइन दिशानिर्देशों के अनुसार समीक्षा करता है। इस कौशल का उपयोग तब करें जब उपयोगकर्ता API समीक्षा के लिए पूछे या API डिज़ाइन के अनुसार कोड की जाँच करने के लिए…
official
code-documentation
flutter
Guide for writing effective code documentation, including docstrings, JSDoc, dartdoc, and implementation comments. Use this skill when writing new code, adding…
official
dart-add-unit-test
flutter
Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains…
official
dart-build-cli-app
flutter
Entrypoint structure, exit codes, cross-platform scripts. Use when building command line utilities, scripts, or applications.
official
dart-collect-coverage
flutter
कवरेज पैकेज का उपयोग करके कवरेज एकत्र करें और एक LCOV रिपोर्ट बनाएं
official
dart-fix-runtime-errors
flutter
Uses get_runtime_errors and lsp to fetch an active stack trace, locate the failing line, apply a fix, and verify resolution via hot_reload.
official