Closed ifgarces closed 1 year ago
intenta hacerlo en una vista incognito cuando te conectes como alumno
Si lo intenté, tampoco. He navegado commits pasados y el tema está desde hace rato, desde 3 PRs o más viendo a ojo.
On Sat, Jul 1, 2023, 14:08 MatiasRiveraC @.***> wrote:
intenta hacerlo en una vista incognito cuando te conectes como alumno
— Reply to this email directly, view it on GitHub https://github.com/EthicApp-Development/ethicapp-main/issues/151#issuecomment-1616027880, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRXFVB6CLULAGBBFWROPD3XOBRTNANCNFSM6AAAAAAZ25FCDY . You are receiving this because you authored the thread.Message ID: @.***>
puedes mostrar los network responses (navegador) que realiza el cliente al intentar entrar a al sesión?
No sé cómo hacer eso, podrías intentarlo tu haciendo pull de la rama overhaul-2122 porfa?
On Sat, Jul 1, 2023, 15:12 MatiasRiveraC @.***> wrote:
puedes mostrar los network responses (navegador) que realiza el cliente al intentar entrar a al sesión?
— Reply to this email directly, view it on GitHub https://github.com/EthicApp-Development/ethicapp-main/issues/151#issuecomment-1616055450, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRXFVFM2WSNWEIGHLBSJVTXOBZCRANCNFSM6AAAAAAZ25FCDY . You are receiving this because you authored the thread.Message ID: @.***>
No sé cómo hacer eso
No estoy en mi casa actualmente, has F12 y ve la sección de network, limpiala, intenta ingresar a una sesión y envía una imagen con los requests.
No se qué pasó pero al borrar a mano las cookies (ethicapp/sessions/*
) me
funcionó. Muchas gracias Matías, voy a registrarlo como issue y todo bien
👍👍
--
Ignacio F. Garcés Estudiante de Ingeniería Civil en Computación Universidad de los Andes
On Sat, Jul 1, 2023 at 3:40 PM MatiasRiveraC @.***> wrote:
No sé cómo hacer eso
No estoy en mi casa actualmente, has F12 y ve la sección de network, limpiala, intenta ingresar a una sesión y envía una imagen con los requests.
— Reply to this email directly, view it on GitHub https://github.com/EthicApp-Development/ethicapp-main/issues/151#issuecomment-1616064351, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRXFVFFBLLK6RIWUSQITD3XOB4MDANCNFSM6AAAAAAZ25FCDY . You are receiving this because you authored the thread.Message ID: @.***>
Ah, perdón, no. Estaba en un commit antiguo donde eso sí funcionó. Ahora mismo en overhaul-2122), hacer eso no soluciona el problema… Tampoco hacer eso de limpiar “network” en el menú de desarrolaldor del navegador. El problema también ocurre en Firefox.
¿Podría alguno confirmarme que también les ocurre este problema, en ejecución local?
Las siguientes réplicas que sean a través de la issue https://github.com/EthicApp-Development/ethicapp-main/pull/143 por favor.
--
Ignacio F. Garcés Estudiante de Ingeniería Civil en Computación Universidad de los Andes
On Sat, Jul 1, 2023 at 4:28 PM IGNACIO FELIPE GARCÉS SANTANDER < @.***> wrote:
No se qué pasó pero al borrar a mano las cookies (
ethicapp/sessions/*
) me funcionó. Muchas gracias Matías, voy a registrarlo como issue y todo bien 👍👍--
Ignacio F. Garcés Estudiante de Ingeniería Civil en Computación Universidad de los Andes
On Sat, Jul 1, 2023 at 3:40 PM MatiasRiveraC @.***> wrote:
No sé cómo hacer eso
No estoy en mi casa actualmente, has F12 y ve la sección de network, limpiala, intenta ingresar a una sesión y envía una imagen con los requests.
— Reply to this email directly, view it on GitHub https://github.com/EthicApp-Development/ethicapp-main/issues/151#issuecomment-1616064351, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALRXFVFFBLLK6RIWUSQITD3XOB4MDANCNFSM6AAAAAAZ25FCDY . You are receiving this because you authored the thread.Message ID: @.***>
En la ultima rama en la cual trabajé, probé y funciona bien. Así que puede haber un error que después de todos los cambios que hicieron.
Claro @MatiasRiveraC, a eso me refiero, es un error de la rama overhaul-2122
, no de tu rama antigua. Ojalá @javiersoto99 y @jigracia puedan revisar y puedan dar su opinión de cuál puede ser el problema, ya que ellos trabajaron después de tus cambios.
Actualmente me encuentro fuera de mi casa hasta mañana. Tan pronto pueda ingresaré a ver el origen del problema
Ayer al revisar en la rama issue-136-enhancement con @ifgarces lo probamos y sin problemas funcionales (además del bug que se tiene ingresar el código 2 veces), mas tarde igual revisaré si existe otra causa.
Se observó que, en mi caso al menos, todo este tiempo teniendo la rama overhaul-2122
actualizada (e.g. commit 210b9a70c1024763d28cdc1b192306df6095a515), solo ocurre este problema en la ejecución de desarrollo. Si se ejecuta localmente en el modo de producción según se indica en INSTALL.md
, este problema no existe.
Por tanto, muy probablemente esto se deba a la issue #150, pues al haber puertos hardcodeados, la aplicación se expone en puertos distintos según sea desarrollo (5050
) y producción (8080
) y en desarrolllo algunos callbacks fallarían.
Al menos, la issue ya no es crítica de resolver para la ejecución de la app.
Actualización: @jigracia mencionó que, ahora, el problema también ocurre en Producción. Esto ocurre porque, como se explica en la reciente issue #154, dicha imagen se encontraba desfasada con respecto al código fuente de Desarrollo (al menos un par de PRs atrasada), por lo que ejecutaba una versión de la app que no tenía el bug.
Por tanto, como hoy @jigracia actualizó la imagen, esta issue vuelve a tener prioridad máxima: afecta tanto a Desarrollo como Producción.
Puede ser que tenga relación con #161, y que haya un problema abriendo websocket en la interfaz del alumno. A través de websocket llegan los mensajes que causan que la interfaz del alumno transicione de una fase a otra.
Tenemos que verificar si se trata de un problema de configuración en ambiente de staging (nginx?), o si también ocurre en ambiente de desarrollo. Para esto, tenemos que revisar el código en donde se abre conexión por websocket con backend, y ver, por ejemplo, si hacemos algo con las URLs (#124).
Cierto @claudio-alvarez, aunque como ves en el video adjunto a este issue, el frontend no presenta un error de websocket, sino que sólo se queja de que no fue capaz de cargar (aparentemente) unas 3 librerías de frontend. Pero sí, estoy bastante seguro de que es un bug con la conexión entre el back y front, algún callback que falla. Respecto a las varias issues que ahora has estado creando, no he experimentado (casi) nada similar en ejecución local tanto en modo Desarrollo como Producción, más bien parecen tener relación con la configuración del servidor de stating.
Yo hice un clean clone hoy en la tarde y estoy experimentando problemas de poder ingresar a una actividad como alumno tanto en modo desarrollo como en modo producción. Así que esto debe ser mas allá del servidor de stagin sino que debe ser algún cambio (o serie de cambios) en los últimos PRs que rompieron las llamadas.
@jigracia sí, por eso estaba funcionando antes en Producción, pues funcionaba con código un poco antiguo. Hay que identificar el commit a partir del cual este problema se originó, como te comenté en Discord, espero que puedas ayudarme a eso. Creo que con esto, se solucionará la mayor parte de los issues que hoy reportó @claudio-alvarez.
Creo haber encontrado una posible causa de por que no se inicia la vista del usuario, o mejor dicho porque resulta en una redireccion instantanea a hacia la misma pagian donde se ingresa el codigo.
Al ver la linea que renderisa la vista, esta es bifurcada por un If que checkea ids de sessiones.
Se puede ver que el "req.session.ses" da nulo, haciendo que el if corra la linea de redireccion.
Incluso si se fuerza un req.session.ses hardcodeado deja pasar a la siguiente vista a lo cual vuelve a presentar una erro debido a la falta de req.session.ses
Esta lógica esta fuera de mi área de trabajo para estos últimos hitos así que necesitaría ayuda para rectificar la lógica.
Implemente una solucion semi parche para poder pasar a la vista del usuario:
Ahora el "get-ses-info" dentro de "/ethics-ctrl.js" llama a la base de datos "rest-pg" la cual devuelve un error por , nuevamente, falta de parámetros de sesión.
Aquí investigare bien como se hace el manejo de sesión y porque este valor parce no ser asignado a nivel de aplicación.
Lo otro. Al parecer el primer commit donde la vista del alumno empezo a presentar problemas es el siguiente:
Merge pull request https://github.com/EthicApp-Development/ethicapp-main/pull/147 from EthicApp-Development/issue-52-1-new-feature
Hice un merge desde el ultimo commit que no presentaba el bug:
[Docker] Removed unnecessary comments (https://github.com/EthicApp-Development/ethicapp-main/issues/55[)](https://github.com/EthicApp-Development/ethicapp-main/commit/10dc11fd410506b4cfcfcaf5c1a37dab9f07fb1c)
Hacia el siguiente commit, este presentando el bug:
Merge pull request https://github.com/EthicApp-Development/ethicapp-main/pull/147 from EthicApp-Development/issue-52-1-new-feature
Github menciona pocos cambios hechos pero al momento de hacer merge github señala varios archvios cambiados.
@ifgarces este merge fue hecho por ti. Tu sabes porque se me presentaron cambios en estos archvios?
Al deshacer los cambios de estos 3 archivos logre entrar a la actividad del usaurio.
Aun la vista esta rota en término de estilo, pero creo que eso indica que estos cambios originaron los problemas.
El problema lo seguimos teniendo en 9166e7d319c3b0f64460e7409c695731ccc6ba1f, actualmente operativo en staging alpha.ethicapp.info. Es bastante urgente resolver este bug.,
Al deshacer los cambios de estos 3 archivos logre entrar a la actividad del usaurio.
Aun la vista esta rota en término de estilo, pero creo que eso indica que estos cambios originaron los problemas.
Haciendo una investigación por mi lado, veo que efectivamente, hay un problema con que la variable req.session.uid no queda seteada y ello deriva en una redirección a la misma página.
Estoy de acuerdo con que habría que revisar la historia de cambios de los tres archivos en donde lograste aislar el problema.
A juzgar por los cambios, es @vicentegana10 quien realizó cambios al middleware de passport y estuvo trabajando en autenticación de usuarios. Veremos con Vicente cómo solucionar este problema.
Encontramos con @claudio-alvarez que hay un error de programación recurrente que consiste en que la sesión no esta siendo guardada en el backend inmediatamente después de que esta es actualizada, pudiendo ocurrir que la redirección ejecute antes que la sesión se actualice en el sistema de archivos.
Ejemplo:
Antes:
router.get("/to-diff", (req, res) => {
if (req.session.uid) {
req.session.ses = req.query.sesid;
res.redirect("ethics");
}
else
res.redirect(".");
});
Después:
router.get("/to-diff", (req, res) => {
if (req.session.uid) {
req.session.ses = req.query.sesid;
req.session.save((err) => { // Es necesario guardar la sesión _antes_ de hacer la redirección
if (err) { res.redirect(".");}
else { res.redirect("ethics");}
});
}
else { res.redirect(".");}
});
Realizando esta modificación el problema deja de ocurrir.
El lugar en donde encontramos la solución es el siguiente:
https://stackoverflow.com/questions/68161730/session-is-not-being-saved-in-express-session
Será necesario revisar todo el código de backend, pues este defecto parece estar bastante extendido. Por favor @vicentegana10, haz un PR de esto.
El issue en questión fue arreglado, los problemas secundarios encontrados serán trabajados en los issues correspondientes.
Descripción del error/bug
Al ejecutar localmente el sistema (docker-compose de desarrollo), en la vista de estudiante, al ingresar el código de una actividad arbitraria en curso, no ocurre nada, se devuelve a la pantalla principal del estudiante, en lugar de navegar hacia la actividad (a la fase correspondiente para responder las preguntas).
https://github.com/EthicApp-Development/ethicapp-main/assets/48460500/55115d3d-f833-42c9-9ea2-4b1f47734b47
Detalles
¿Cuándo ocurrió?
Ocurrió con anterioridad en algunos PRs. Se observó ahora al hacer el merge del PR #143. Sin embargo, el error no parece corresponder a ese PR, por lo que se realizó el merge.
¿En qué dispositivo fue?
PC, Linux Mint
¿En qué explorador web ocurrió?
Opera 100.0.4815.20
¿Cómo reproducir el error?
Lanzar ambiente con
docker-compose
de desarrollo. Autenticarse como profesor, lanzar una actividad, copiar el código, autenticarse como alumno, e intentar ingresar a la actividad mediante ese código.Detalles adicionales
Como se muestra en el video, el log del backend al ingresar el código e intentar unirse a la actividad, es el siguiente: