TaskServer 3 (CCSync v3) Bugs and Improvements
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia leggendo origin.dart, complete.dart, manage_task_champion_creds_controller.dart, task.dart, profiles_list.dart e profile_view.dart per mappare ogni modifica richiesta. Aggiungi o aggiorna gli unit test per TaskForC.fromJson, la gestione delle eccezioni di completeTask e la configurazione del timeout. Il lavoro è completato quando tutti e cinque i criteri di accettazione sono soddisfatti e i test di regressione elencati coprono le modifiche.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Several issues were identified in the TaskServer 3 (CCSync v3) integration of the Flutter application.
These include bugs affecting reliability, missing parsing functionality, and UI improvements to make configuration clearer.
This issue proposes fixes and enhancements to improve stability, error handling, and usability.
Problems Identified
1. Hardcoded Origin URL
File: origin.dart
Problem
The origin parameter is currently hardcoded to:
http://localhost:8080
This prevents the application from connecting to remote or user-configured backend servers.
Proposed Solution
Replace the hardcoded value with a dynamic function:
Future getOrigin()
This function retrieves the backend URL from:
CredentialsStorage.getApiUrl()
2. Invalid ScaffoldMessenger Context
File: complete.dart
Problem
The code attempts to call:
ScaffoldMessenger.of(context as BuildContext)
This may cause runtime crashes when the BuildContext is invalid or disposed.
Proposed Solution
Remove the unsafe UI call and instead:
- Throw exceptions for non-200 HTTP responses
- Allow the caller to handle UI feedback.
3. Excessive Timeout Duration
File: manage_task_champion_creds_controller.dart
Problem
The HTTP timeout is set to:
Duration(seconds: 10000)
(~166 minutes)
This prevents the application from failing quickly when the server is unreachable.
Proposed Solution
Reduce the timeout to:
Duration(seconds: 10)
This improves responsiveness when the TaskServer is unavailable.
4. Missing Annotation Parsing
File: task.dart
Problem
The TaskForC model initializes annotations as an empty list:
annotations = []
This ignores annotation data returned by the server.
Proposed Solution
Update the fromJson method to parse annotations dynamically using:
Annotation.fromJson
5. Mode Selector Visibility
Files
profiles_list.dartprofile_view.dart
Problem
The TW2 / TW3 / TW3C mode selector is buried inside the profile view and lacks visibility.
Users cannot easily determine the currently active mode.
Proposed Solution
Add a getModeLabel callback to display the currently selected mode as a subtitle in the Change Mode option.
Acceptance Criteria
- Origin URL is dynamically retrieved
- ScaffoldMessenger crash is removed
- Timeout duration is reduced
- Task annotations are parsed correctly
- Current mode is visible in the profile UI
Tests
Unit tests should verify:
- Annotation parsing in
TaskForC.fromJson - Exception handling in
completeTask - Timeout configuration regression
- Lingua principale
- Dart
- Stelle
- 244
- Fork
- 179
- Merge medio
- 20m
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CCExtractor/taskwarrior-flutter
-
Fix misaligned text "Select the directory" in settings tileForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
CCExtractor/taskwarrior-flutter#639 · 2 commenti ·
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Drawer should close automatically when navigating to a new screenForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Replica add-task silently drops due and wait dates (DateTime.toString is not RFC3339)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
CCExtractor/taskwarrior-flutter#662 · 2 commenti ·
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
CCExtractor/taskwarrior-flutter#645 · 1 commento ·
Tutte le issue di CCExtractor/taskwarrior-flutter
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
linagora/twake-on-matrix#3435 ·
I maintainer di solito rispondono entro 3 giorni
-
右下角的图标问题Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
[Domain Activation] Show a user-friendly error when sending is blocked pending domain activationAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
linagora/tmail-flutter#4953 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
genkit-ai/genkit-dart#587 ·
I maintainer di solito rispondono entro 1 giorno