audit-ui-thread-safety

द्वारा flutter

UI फ्रीज़ को रोकें और थ्रेडिंग नियमों को मान्य करके तथा ब्लॉकिंग कॉल्स को 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

dart-modern-features
flutter
आधुनिकीकरण के लिए उम्मीदवार खोजने हेतु:
flutter-fix-layout-issues
flutter
फ्लटर लेआउट त्रुटियों (ओवरफ्लो, असीमित बाधाओं) को डार्ट और फ्लटर MCP टूल्स का उपयोग करके ठीक करता है। "RenderFlex overflowed", "Vertical…" को संबोधित करते समय उपयोग करें।
adding-release-notes
flutter
उपयोगकर्ता-सामना करने वाले परिवर्तन विवरणों को DevTools रिलीज़ नोट्स में जोड़ता है। NEXT_RELEASE_NOTES.md फ़ाइल में सुधार, सुधार या नई सुविधाओं का दस्तावेज़ीकरण करते समय उपयोग करें।
reviewing-devtools-prs
flutter
DevTools रिपॉजिटरी-विशिष्ट PR समीक्षा वर्कफ़्लो जो DevTools शैली दिशानिर्देशों और सामान्य समीक्षा पैटर्न को लागू करता है। इसमें पुल रिक्वेस्ट की समीक्षा करते समय उपयोग करें…
dart-use-primary-constructors
flutter
उपयोगकर्ताओं को Dart में वाक्यविन्यास और अर्थ की दृष्टि से सही प्राथमिक कंस्ट्रक्टर लिखने में मदद करें, और नए कंस्ट्रक्टर सिंटैक्स, खाली-बॉडी सेमीकोलन सिंटैक्स का उपयोग/माइग्रेट करें,…
code-documentation
flutter
प्रभावी कोड दस्तावेज़ीकरण लिखने के लिए मार्गदर्शिका, जिसमें docstrings, JSDoc, dartdoc, और implementation comments शामिल हैं। नया कोड लिखते समय, जोड़ते समय इस skill का उपयोग करें…
api-review
flutter
निर्दिष्ट कोड की विहित API डिज़ाइन दिशानिर्देशों के अनुसार समीक्षा करता है। इस कौशल का उपयोग तब करें जब उपयोगकर्ता API समीक्षा के लिए पूछे या API डिज़ाइन के अनुसार कोड की जाँच करने के लिए…
flutter-accessibility
flutter
Flutter ऐप्स में WCAG 2 और EN 301 549 पहुँच मानकों और अनुकूली लेआउट को लागू करता है। मोबाइल, वेब और डेस्कटॉप प्लेटफ़ॉर्म पर सिमैंटिक एनोटेशन, टैप टार्गेट आकार (न्यूनतम 48x48 dp), और टेक्स्ट कंट्रास्ट अनुपात (छोटे टेक्स्ट के लिए 4.5:1, बड़े टेक्स्ट के लिए 3:1) को अनिवार्य करता है। वेब सिमैंटिक्स इनिशियलाइज़ेशन, इंटरैक्टिव विजेट रैपिंग, स्क्रीन आकार-आधारित ले