assemblee-virtuelle / archipelago

Fostering interconnections between communities by creating synergies between their platforms
Apache License 2.0
14 stars 6 forks source link

[patch] (v2.0.0) Wrong display of TabbedForm component #179

Closed mguihal closed 2 months ago

mguihal commented 3 months ago

Hello, Durant mes phases de tests et recettes de la v2, je suis tombé sur un bug embêtant lors de l'édition d'une ressource avec un formulaire tabulaire. En fait en cliquant sur "Editer", le formulaire d'édition ne s'affiche pas la première fois, il faut ensuite cliquer sur un des onglets pour qu'il s'affiche.

Je vous joins une vidéo pour visualiser.

https://github.com/assemblee-virtuelle/archipelago/assets/9048062/6abf93f9-9b02-41f0-a892-f170db426939

Ce qu'on peut voir c'est que l'url change entre le clic sur le bouton "Editer", et le clic sur un des onglets, sur le décodage de l'url. Celle-ci passe de http://localhost:5173/Organization/http%3A%2F%2Flocalhost%3A3000%2Forganizations%2Ftest à http://localhost:5173/Organization/http:%2F%2Flocalhost:3000%2Forganizations%2Ftest (noter le non-échappement du caractère :. Malgré plusieurs heures passées dessus, je n'ai pas réussi à comprendre exactement la source du problème. Ca semble lié à la façon dont la lib react-router-dom décode les urls, mais je n'ai pas réussi à trouver de changement précis entre les versions sur master et sur la branche v2...

EDIT : J'ai trouvé le problème initial ici : https://github.com/remix-run/react-router/issues/11052. React-router a fait un breaking-change dans une version mineure. C'est sensé être revert sur les dernières versions mais visiblement il y a encore quelques soucis...

Dans tous les cas, ce bug renforce le fait qu'il va falloir s'atteler à la réécriture des urls pour ne plus avoir des url complètes dedans, comme mentionnés auparavant ici : https://github.com/assemblee-virtuelle/archipelago/issues/146, https://github.com/assemblee-virtuelle/semapps/issues/636 ou https://github.com/assemblee-virtuelle/semapps/issues/1222

Ma proposition de résolution est de désactiver le routing des formulaires à onglets. Le changement est que l'url ne changera pas quand on changera d'onglet, et qu'il n'y aura plus de /2 ou /3 ajoutés dans l'url. Pour moi c'est presque bénéfique car le /2 ou /3 n'apportait pas grand chose, une future évolution sera plutôt, pour les formulaire qui auront toujours besoin d'onglets, de créer des routes plus compréhensives, du style /members par exemple.

simonLouvet commented 3 months ago

Si je comprends bien @mguihal , cette PR implémente la non-gestion de la navigation par onglet depuis l'url. Est-ce que ça résout également le problème du premier chargement non fonctionnel de la page par navigation