Education-Numerique / authoring.js

Authoring environment for lxxl
Other
3 stars 4 forks source link

Application instability - Login/registration #139

Closed JBTouchard closed 11 years ago

JBTouchard commented 11 years ago

Anonymous suddenly becomes logged in the middle of a session

dmp42 commented 11 years ago

Logged with what account? The previously logged-in user? How can I reproduce? Thanks.

JBTouchard commented 11 years ago

Oui je crois (although not 100% sure), en essayant de me connecter, de me balader un peu, puis de me déconnecter et de jouer avec et (qui renvoie hélas à l'accueil), et en secouant le truc dans tous les sens, je n'ai pas réussi à reproduire. La dernière fois que ça s'est produit, c'était en retournant à l'accueil: URL : http://dev.app.sn.ackitup.net/lxxl/#/dashboard/actions

dmp42 commented 11 years ago

Je le ré-ouvre avec un label "unconfirmed", et je le mets à "future" - on pourra jeter un oeil au code pour voir ce qui se passe si la requête de "logout" est très lente, ou échoue.

JBTouchard commented 11 years ago

Ben on est quand même avec une fibre et on a des débits desc de l'ordre de : 25165.579 Kbps (3145.697 Ko/sec). C'est tout de même pas mal, non ? Toujours avec le même contexte, je suis (Claire aussi) passé sur un truc nouveau : après avoir secoué l'appli dans tous les sens pour essayer de reproduire, je ne peux plus me loguer : une fois dans la page d'accueil, le bouton register est inactif... Une autre fois on accède à la page Login, on entre login/password, mais le bouton de validation est inactif ... Strange. On a l'impression que le routing est cassé... Mais je propose de surtout se concentrer sur notation/feedback et SCORM et sur les pétouilles de la saisie des QTI. On reviendra là dessus + tard ...

dmp42 commented 11 years ago

Le problème n'est pas nécessairement ta connexion WAN. Ca peut tout à fait être le serveur lui-même qui droppe (on le verra dans les logs). Ou bien le wifi en local, bien souvent moins fiable que le lien WAN en lui-même. On verra, comme tu dis - gardons un oeil là-dessus pour plus tard.

dmp42 commented 11 years ago

Pour la partie "le bouton valider est inactif", c'est intéressant de sortir la console javascript et de récupérer le / les derniers messages d'erreur.

JBTouchard commented 11 years ago

... et juste là, je suis admin (jbt@txtnet.com), je change d'onglet dans Chrome pour aller faire un faire un tour sur GitHub, je reviens (21/03/13 14h18) et je ne suis plus logged ...

JBTouchard commented 11 years ago

... et mes boutons "se connecter" ou "s'inscrire" sont inactifs. Mais j'accède au vivier et aux activités publiées. Quand je clique "se connecter", la console dit:

STATEMANAGER: Sending event 'showAccountLogin' to state root. debug.js:46
STATEMANAGER: Entering root.account debug.js:46
STATEMANAGER: Entering root.account.login debug.js:46
STATEMANAGER: Entering root.dashboard debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f Object {} undefined debug.js:46
jey writte! null Object {} undefined debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f Object {} undefined debug.js:46
jey writte! null Object {} undefined debug.js:46

... mais il ne se passe rien. Quand je vais sur le vivier (qui fonctionne):

STATEMANAGER: Sending event 'showSandbox' to state root. debug.js:46
STATEMANAGER: Entering root.sandbox debug.js:46
**** using levels debug.js:46
did insert stuff debug.js:46
**** using levels debug.js:46
drawing piepie debug.js:46
**** using levels debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f Object {} undefined debug.js:46
jey writte! null Object {} undefined debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f Object {} undefined debug.js:46
jey writte! null Object {} undefined

Je ferme l'onglet et je rouvre un nouvel onglet (sans faire gaffe) avec : http://www.education-et-numerique.fr/#/myactivities ... et je me retrouve logged en admin, sur la page myactivities vide. Je vérifie que mon profil est bon : c'est bien moi (admin, avec mes bonnes infos), je retourne sur my activities, bonheur, elles sont là... Et c'est reparti ... comme admin sans être passé par la case "se connecter" ...

Les salamaleks de la console pendant ce boot:

 [jsBoot.debug.tick] Debug module fully loaded. Starting time measurement debug.js:46
 [jsBoot.debug.tick] Ember stack loaded debug.js:46
Time since last tick: 137.542ms debug.js:175
 [jsBoot.debug.tick] Application stack fully loaded - will bootstrap now debug.js:46
Time since last tick: 276.376ms debug.js:175
 [jsBoot.debug.tick] Templates loaded debug.js:46
Time since last tick: 159.715ms debug.js:175
 [jsBoot.debug.tick] Ember application inited debug.js:46
Time since last tick: 1.508ms debug.js:175
STATEMANAGER: Entering root debug.js:46
 [jsBoot.debug.tick] Ember application is ready! debug.js:46
Time since last tick: 174.298ms debug.js:175
 [jsBoot.debug.tick] Ending measurement! Total boot time: debug.js:46
Total time: 752.326ms debug.js:183
STATEMANAGER: Sending event 'navigateAway' to state root. debug.js:46
STATEMANAGER: Sending event 'unroutePath' to state root. debug.js:46
STATEMANAGER: Sending event 'routePath' to state root. debug.js:46
STATEMANAGER: Entering root.myActivities debug.js:46
Invalid 'X-Frame-Options' header encountered when loading 'http://api.education-et-numerique.fr/1.0/connect/gate/0.2/gate.html#http://www.education-et-numerique.fr/#/myactivities': 'Allow' is not a recognized directive. The header will be ignored. about:blank:1
Failed to load resource: the server responded with a status of 401 (Unauthorized) http://api.education-et-numerique.fr/1.0/activities/mine
 [ponyStorage] Using openDatabase adapter debug.js:46
 [ponyStorage] Using domStorage adapter 
Storage
 debug.js:46
Failed to load resource: the server responded with a status of 403 (Forbidden) http://api.education-et-numerique.fr/1.0/activities/mine
jey writte! null 
Object
 undefined debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f 
Object
 undefined debug.js:46
jey writte! null 
Object
 undefined debug.js:46
STATEMANAGER: Sending event 'showMyActivities' to state root. debug.js:46
STATEMANAGER: Sending event 'showAccountProfile' to state root. debug.js:46
STATEMANAGER: Entering root.account debug.js:46
STATEMANAGER: Entering root.account.profile debug.js:46
STATEMANAGER: Sending event 'showMyActivities' to state root. debug.js:46
STATEMANAGER: Entering root.myActivities debug.js:46
 ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐  debug.js:46
File: http://www.education-et-numerique.fr/lib/frameworks/ember/ember.debug-1.0.js debug.js:46
Number: 19526 debug.js:46
Date Thu Mar 21 2013 14:33:30 GMT+0100 (CET) debug.js:46
Location http://www.education-et-numerique.fr/#/myactivities debug.js:46
Exception: Uncaught Error: Cannot perform operations on a Metamorph that is not in the DOM. debug.js:46
 ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐  debug.js:46
Uncaught Error: Cannot perform operations on a Metamorph that is not in the DOM. ember.debug-1.0.js:19526
STATEMANAGER: Sending event 'showAccountProfile' to state root. debug.js:46
STATEMANAGER: Entering root.account debug.js:46
STATEMANAGER: Entering root.account.profile debug.js:46
STATEMANAGER: Sending event 'showMyActivities' to state root. debug.js:46
STATEMANAGER: Entering root.myActivities debug.js:46
 ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐  debug.js:46
File: http://www.education-et-numerique.fr/lib/frameworks/ember/ember.debug-1.0.js debug.js:46
Number: 19526 debug.js:46
Date Thu Mar 21 2013 14:33:45 GMT+0100 (CET) debug.js:46
Location http://www.education-et-numerique.fr/#/myactivities debug.js:46
Exception: Uncaught Error: Cannot perform operations on a Metamorph that is not in the DOM. debug.js:46
 ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐  debug.js:46
Uncaught Error: Cannot perform operations on a Metamorph that is not in the DOM. ember.debug-1.0.js:19526
STATEMANAGER: Sending event 'showMyActivities' to state root. debug.js:46
 ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐  debug.js:46
File: http://www.education-et-numerique.fr/lib/frameworks/ember/ember.debug-1.0.js debug.js:46
Number: 87 debug.js:46
Date Thu Mar 21 2013 14:33:46 GMT+0100 (CET) debug.js:46
Location http://www.education-et-numerique.fr/#/myactivities debug.js:46
Exception: Uncaught Error: Something you did caused a view to re-render after it rendered but before it was inserted into the DOM. Because this is avoidable and the cause of significant performance issues in applications, this behavior is deprecated. If you want to use the debugger to find out what caused this, you can set ENV.RAISE_ON_DEPRECATION to true. debug.js:46
 ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐   ┌∩┐(◣_◢)┌∩┐  debug.js:46
Uncaught Error: Something you did caused a view to re-render after it rendered but before it was inserted into the DOM. Because this is avoidable and the cause of significant performance issues in applications, this behavior is deprecated. If you want to use the debugger to find out what caused this, you can set ENV.RAISE_ON_DEPRECATION to true. ember.debug-1.0.js:87
jey writte! 34173cb38f07f89ddbebc2ac9128303f 
Object
 undefined debug.js:46
jey writte! null 
Object
 undefined debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f 
Object
 undefined debug.js:46
jey writte! null 
Object
 undefined debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f 
Object
 undefined debug.js:46
jey writte! null 
Object
 undefined debug.js:46
jey writte! 34173cb38f07f89ddbebc2ac9128303f 
Object
 undefined debug.js:46
jey writte! null 
Object
 undefined debug.js:46

Je ferme l'onglet et je le rouvre avec http://www.education-et-numerique.fr/ : (cache disabled) même topo: je me retrouve logged admin.

Je ferme l'onglet, je vide l'historique et je le rouvre avec http://www.education-et-numerique.fr/ ---> ça y est, je suis logged anonymous....

dmp42 commented 11 years ago

"... et juste là, je suis admin (jbt@txtnet.com), je change d'onglet dans Chrome pour aller faire un faire un tour sur GitHub, je reviens (21/03/13 14h18) et je ne suis plus logged ..."

Intéressant. Je n'ai jamais vu quoi que ce soit de similaire, et comme l'application ne fait strictement rien lorsque l'utilisateur est inactif, je m'interroge...

Veux-tu dire que: a - au retour, sans rien faire, l'application a changé d'état? (passé de loggé à non loggé) b - ou bien, au retour, et après être (par exemple) passé du vivier à une activité, l'appli est passé en anonymous?

D'autre part: "... et mes boutons "se connecter" ou "s'inscrire" sont inactifs. Mais j'accède au vivier et aux activités publiées. Quand je clique "se connecter", la console dit:"

Je ne comprends pas: le bouton "se connecter" est inactif mais tu peux cliquer dessus?

Peux-tu clarifier?

Pour finir: "Je ferme l'onglet et je rouvre un nouvel onglet (sans faire gaffe) avec : http://www.education-et-numerique.fr/#/myactivities ... et je me retrouve logged en admin, sur la page myactivities vide. Je vérifie que mon profil est bon : c'est bien moi (admin, avec mes bonnes infos), je retourne sur my activities, bonheur, elles sont là... Et c'est reparti ... comme admin sans être passé par la case "se connecter" ..."

C'est légitime que tu sois loggé (tu ne t'ai pas "déloggé" - même si l'appli semble à un moment avoir perdu ta connexion). Le fait qu'il n'y ait rien dans tes activités me suggère - encore une fois - un échec de connection réseau (serveur ou client, peu importe). On en aura le coeur net de toute façon avec la version d'intégration que je mettrai en branle (ce type de problème - eg: requête sera affichée clairement, en gros, avec les raisons de l'échec). Sinon, si tu veux faire l'effort maintenant, il est intéressant de regarder les connections réseau dans le panneau "network" du débugueur, et relever ce qui n'aboutit pas ou qui est très lent.

Merci.

dmp42 commented 11 years ago

Etant donné que cette stacktrace contient des exceptions relatives aux metamorph - et que je n'ai jamais réussi à reproduire ici - je pense que l'on peut considérer que les fameux commits ayant commentés des moustaches sont responsables de ce genre d'inconsistence (bouton désactivé, etc). -> close.