[Refactor] Complete GetX Migration — Remove All Remaining `setState` and `GetBuilder` Usage
Personne n'a encore pris cette issue.
- #616 par @inderjeet20 — fermée sans fusion
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par les fichiers nommés dans l’issue : tags_widget.dart, date_picker_input.dart, profile_view.dart, manage_task_server_page_body.dart, add_task_bottom_sheet_new.dart et tasks_builder.dart. Exécutez grep -r "setState" lib/app/ et examinez les modèles GetX existants dans HomeController et DetailRouteController. Le travail est considéré comme terminé lorsque les appels natifs de gestion d’état listés, les appels orphelins à update() et l’utilisation privée de _refreshTasks() ont été supprimés sans laisser de correspondances actives.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Several files in the codebase still use Flutter's native setState / StatefulBuilder for local UI state, and one instance of GetBuilder remains in the app. These are inconsistent with the project's GetX-first architecture already established in HomeController, DetailRouteController, etc.
Problem
| File | Issue |
|---|---|
tags_widget.dart |
TagsRoute is a StatefulWidget with 3 setState calls — no corresponding GetX controller exists |
date_picker_input.dart |
3 setState calls managing currentIndex and _selectedDates list |
profile_view.dart |
StatefulBuilder wrapping dialog content with 2 setState calls for selectedMode |
manage_task_server_page_body.dart |
1 setState inside modal + 1 GetBuilder<ManageTaskServerController> |
add_task_bottom_sheet_new.dart |
4 orphaned homeController.update() calls — NOPs since no GetBuilder listens |
tasks_builder.dart |
Calls private storageWidget._refreshTasks() — brittle and bypasses the public API |
Expected Behavior
All UI state should be managed via .obs reactive variables and Obx widgets, consistent with the existing GetX architecture. No setState, StatefulBuilder, or orphaned update() calls should remain in the app code.
Steps to Reproduce
Run grep -r "setState" lib/app/ — returns active hits in the files above.
Labels
refactor getx state-management good first issue
- Langage dominant
- Dart
- Étoiles
- 245
- Forks
- 183
- Merge moyen
- 16 h 19 min
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CCExtractor/taskwarrior-flutter
-
Fix misaligned text "Select the directory" in settings tilePeut-être à nouveau libre @alabeddev l’a pris il y a 216 jours, et aucune pull request n’est ouverte. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
CCExtractor/taskwarrior-flutter#639 · 2 commentaires ·
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Drawer should close automatically when navigating to a new screenPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Sensitive Credentials Stored in Plain Text Files Without EncryptionPeut-être à nouveau libre @sahu-virendra-1908 l’a pris il y a 213 jours, et aucune pull request n’est ouverte. Ouvertebug
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
CCExtractor/taskwarrior-flutter#645 · 1 commentaire ·
-
Data Inconsistency When Editing Task (Missing Transaction)Peut-être à nouveau libre @aryanorastar l’a pris il y a 74 jours, et aucune pull request n’est ouverte. Ouvertebug
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
CCExtractor/taskwarrior-flutter#643 · 1 commentaire ·
Toutes les issues de CCExtractor/taskwarrior-flutter
Issues similaires
-
needs::triage
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
linagora/twake-on-matrix#3518 ·
Les mainteneurs répondent en général sous 3 jours
-
Push workflow fails: oversized artifacts cannot be pushed to `app` branchPeut-être pris @marcnause l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
fossasia/magic-epaper-app#724 ·
Les mainteneurs répondent en général sous 1 jour
-
bug: nakładanie się animacji paneli (120 ms) przy przełączaniu między Odkrywaj a UstawieniamiOuvertepriority: high scope: frontend type: bug
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
GonsiorHack/czyPrzejade#15 ·
-
a: accessibility has reproducible steps p: cupertino_ui package team-design
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
fix: jaspr serve keyboard shortcuts (r/R/l/d/q) don't work on WindowsPeut-être pris @lewinpauli l’a pris aujourd’hui. Ouvertebug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
Les mainteneurs répondent en général sous 3 jours