dahoud
|
37db88672b
|
feat: BLoC tests complets + sécurité production + freerasp 7.5.1 migration
## Tests BLoC (Task P2.4 Mobile)
- 25 nouveaux fichiers *_bloc_test.dart + mocks générés (build_runner)
- Features couvertes : authentication, admin_users, adhesions, backup,
communication/messaging, contributions, dashboard, finance (approval/budget),
events, explore/network, feed, logs_monitoring, notifications, onboarding,
organizations (switcher/types/CRUD), profile, reports, settings, solidarity
- ~380 tests, > 80% coverage BLoCs
## Sécurité Production (Task P2.2)
- lib/core/security/app_integrity_service.dart (freerasp 7.5.1)
- Migration API breaking changes freerasp 7.5.1 :
- onRootDetected → onPrivilegedAccess
- onDebuggerDetected → onDebug
- onSignatureDetected → onAppIntegrity
- onHookDetected → onHooks
- onEmulatorDetected → onSimulator
- onUntrustedInstallationSourceDetected → onUnofficialStore
- onDeviceBindingDetected → onDeviceBinding
- onObfuscationIssuesDetected → onObfuscationIssues
- Talsec.start() split → start() + attachListener()
- const AndroidConfig/IOSConfig → final (constructors call ConfigVerifier)
- supportedAlternativeStores → supportedStores
## Pubspec
- bloc_test: ^9.1.7 → ^10.0.0 (compat flutter_bloc ^9.0.0)
- freerasp 7.5.1
## Config
- android/app/build.gradle : ajustements release
- lib/core/config/environment.dart : URLs API actualisées
- lib/main.dart + app_router : intégrations sécurité/BLoC
## Cleanup
- Suppression docs intermédiaires (TACHES_*.md, TASK_*_COMPLETION_REPORT.md,
TESTS_UNITAIRES_PROGRESS.md)
- .g.dart régénérés (json_serializable)
- .mocks.dart régénérés (mockito)
## Résultat
- 142 fichiers, +27 596 insertions
- Toutes les tâches P2 mobile complétées
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-04-21 12:42:35 +00:00 |
|
dahoud
|
120434aba0
|
feat(features): refontes adhesions/admin/auth/backup/contributions/dashboard/epargne/events
- adhesions : bloc complet avec events/states/model, dialogs paiement/rejet
- admin : users bloc, user management list/detail pages
- authentication : bloc + keycloak auth service + webview
- backup : bloc complet, repository, models
- contributions : bloc + widgets + export
- dashboard : widgets connectés (activities, events, notifications, search)
+ charts + monitoring + shortcuts
- epargne : repository, transactions, dialogs
- events : bloc complet, pages (detail, connected, wrapper), models
|
2026-04-15 20:26:48 +00:00 |
|
dahoud
|
55f84da49a
|
feat(ui): RefreshIndicator + AlwaysScrollable + dark mode sur 14 pages
RefreshIndicator ajouté (dispatche les events BLoC appropriés) :
- adhesion_detail, adhesions_page, demande_aide_detail, demandes_aide_page
- event_detail, organization_detail, org_selector, org_types
- user_management_detail, reports (TabBarView), logs (Dashboard tab)
- profile (onglet Perso), backup (3 onglets), notifications
Fixes associés :
- AlwaysScrollableScrollPhysics sur tous les scroll widgets
(permet pull-to-refresh même si contenu < écran)
- Empty states des listes : wrappés dans SingleChildScrollView pour refresh
- Dark mode adaptatif sur textes/surfaces/borders hardcodés
- backup_page : bouton retour ajouté dans le header gradient
- org_types : chevron/star/border adaptatifs
- reports : couleurs placeholders graphique + chevrons
|
2026-04-15 20:13:50 +00:00 |
|
dahoud
|
70cbd1c873
|
fix(mobile): URL changement mdp corrigée + v3.0 — multi-org, AppAuth, sécurité prod
Auth:
- profile_repository.dart: /api/auth/change-password → /api/membres/auth/change-password
Multi-org (Phase 3):
- OrgSelectorPage, OrgSwitcherBloc, OrgSwitcherEntry
- org_context_service.dart: headers X-Active-Organisation-Id + X-Active-Role
Navigation:
- MorePage: navigation conditionnelle par typeOrganisation
- Suppression adaptive_navigation (remplacé par main_navigation_layout)
Auth AppAuth:
- keycloak_webview_auth_service: fixes AppAuth Android
- AuthBloc: gestion REAUTH_REQUIS + premierLoginComplet
Onboarding:
- Nouveaux états: payment_method_page, onboarding_shared_widgets
- SouscriptionStatusModel mis à jour StatutValidationSouscription
Android:
- build.gradle: ProGuard/R8, network_security_config
- Gradle wrapper mis à jour
|
2026-04-07 20:56:03 +00:00 |
|
dahoud
|
5383df6dcb
|
refactoring
|
2026-03-31 09:14:47 +00:00 |
|
dahoud
|
11f9135f90
|
Refactoring - Version stable
|
2026-03-28 14:22:16 +00:00 |
|
dahoud
|
2639850861
|
feat(mobile): implémentation feedback + correction URLs inscriptions
Connecte le frontend mobile aux nouveaux endpoints backend événements.
## Repository Interface (evenement_repository.dart)
- ✅ Ajout submitFeedback(evenementId, note, commentaire)
- ✅ Ajout getFeedbacks(evenementId) → retourne feedbacks + stats
## Repository Impl (evenement_repository_impl.dart)
- ✅ Correction inscrireEvenement : /inscrire → /inscriptions (POST)
- ✅ Correction desinscrireEvenement : /desinscrire → /inscriptions (DELETE)
- ✅ Implémentation submitFeedback : POST /api/evenements/{id}/feedback
- ✅ Implémentation getFeedbacks : GET /api/evenements/{id}/feedbacks
- Gestion erreurs 400 (déjà soumis, pas participant, etc.)
## Use Case (submit_event_feedback.dart)
- ✅ Remplacement UnimplementedError par appel repository
- ✅ Validation note 1-5
- ✅ Transmission note + commentaire optionnel
## Fonctionnalités débloquées
- Inscription/désinscription événements ✅ (URLs corrigées)
- Soumission feedback post-événement ✅
- Consultation feedbacks + note moyenne ✅
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-03-16 20:15:35 +00:00 |
|
dahoud
|
d094d6db9c
|
Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts).
Signed-off-by: lions dev Team
|
2026-03-15 16:30:08 +00:00 |
|