Skip to main content

audit-ui-thread-safety

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

ソース情報

リポジトリ
flutter/flutter-intellij
ソースの最終更新活動
2026年7月10日 17:53
検出された SKILL.md の言語
英語
スター
2,018
フォーク
361

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
audit-ui-thread-safety
description
Prevent UI freezes and ensure a responsive user experience by validating threading rules and migrating blocking calls off the Event Dispatch Thread (EDT).
# 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").
GitHubで見る