Giter Site home page Giter Site logo

misw4103-final's People

Contributors

lauralejandra28 avatar svhurtado avatar tpambor avatar vivianaoj avatar

Watchers

 avatar  avatar

misw4103-final's Issues

Permite incluir en la página inicial un enlace a un recurso que no existe (y sale error 404)

Describe the bug
Al realizar la configuración del diseño del sitio (Setting - Design) es posible cambiar uno de los enlaces que aparecen allí por una ruta que no existe. La aplicación permite grabar y luego, al visualizar el sitio y seleccionar el enlace efectivamente aparece el error 404.

To Reproduce

  1. Ingresar a la aplicación con un usuario administrador.
  2. Seleccionar la opción "Design" que aparece en la parte izquierda, debajo de Settings.
  3. En la ventana que aparece cambiar una de las rutas que están allí, alterando la parte final. Por ejemplo, si decía: "/author/ghost/", cambiar por "/author/NOghost" (ver pantallazo)
  4. Presionar el botón "Save" que aparece en la parte superior derecha.
  5. Seleccionar la opción "View site" que aparece en el menú de la izquierda (parte superior) para previsualizar el sitio web.
  6. En la página que aparece seleccionar el enlace que se cambió (AUTHOR en este caso).
  7. Aparece error 404.

Expected behavior
Al cambiar una ruta que sea parte del mismo sitio web se debería validar que el recurso exista. En caso de que no exista debe mostrar un mensaje de error y no permitir el cambio.

Evidencias
image

Video

PE024.mp4

Enviroment (please complete the following information):
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Additional context
El video con la prueba se puede observar aquí (solo para usuarios con correo uniandes.edu.co): Video Editar Diseño - mal Enlace

No muestra mensaje de error claro al escribir un slug muy grande en tag

Comportamiento esperado

Cuando en un tag se escribe el slug con texto muy largo y se intenta grabar, debería mostrar un mensaje de error que explicara claramente el error.

Comportamiento actual

Al crear un nuevo tag, escribir en el campo de Slug un texto muy largo e intentar grabar, aparece el campo slug en rojo y el botón de "Save" cambia a "Retry" (en rojo), pero no muestra un mensaje que explique el error con claridad y por lo tanto no es fácil deducir lo que sucede.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Tags".
  3. Seleccionar el botón "New Tag".
  4. Escribir en el campo Name el valor: "Largo".
  5. Escribir en el campo Slug un texto de más de 191 caracteres, por ejemplo: "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  6. Presionar "Save".
  7. Se observa como el campo queda en rojo y cambia el botón de "Save" a "Retry", pero no se muestra mensaje de error (ver imagen en evidencias).

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

La prueba (usando Scenarios Outline en tag-slug) termina con error porque no encuentra el mensaje de error esperado.

Versión en desarrollo tiene nuevo fondo de perfil por defecto

Comportamiento esperado

Que los elementos básicos de un perfil tuvieran pocos cambios visuales en la versión 4.44.0 con respecto a la versión 3.41.1.

Comportamiento actual

Cuando se selecciona un perfil de un miembro (staff) para editarlo, se tiene un cambio visual entre las dos versiones del 10,64 %. Este porcentaje es principalmente porque cambió la imagen que se usaba por defecto para el fondo del perfil. Aunque este no es un error grave, se recomienda revisar los colores usados en la nueva imagen de fondo, pues es importante que no se genere confusión en el usuario por margas o logos que puedan tener esos colores.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección editar-perfil, esc14, 07_StaffList_editProfile.

Evidencias

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

Al editar un post permite adicionar texto en los tags y luego no aparece lo escrito

Describe the bug
Cuando se edita un post, en la sección de settings, aparece un campo para seleccionar los tags. Además de seleccionar los existentes también permite escribir un texto como si fuera un tag nuevo. El texto es visible mientras se edita el post, pero luego cuanto se regresa a la lista de post y se consulta su información detallada se observa que el texto ingresado como nuevo tag ha desaparecido.

To Reproduce

  1. Ingresar a la aplicación con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Post".
  3. Hacer clic el Post "Publishing options" (o cualquier otro) para que muestre la ventana de edición.
  4. Seleccionar, en la parte superior derecha, el ícono de settings para mostrar los detalles.
  5. En el campo "tags" escribir algo diferente a los tags del listado. Por ejemplo: "XYZ". NO se debe seleccionar la opción "add" que aparece.
  6. Se puede ocultar/mostrar la parte de settings y observar que sigue apareciendo el texto.
  7. Seleccionar, en la parte superior izquierda, el enlace a "Posts".
  8. Hacer clic el Post "Publishing options" (o el que se hubiera editado) para que muestre la ventana de edición.
  9. Seleccionar, en la parte superior derecha, el ícono de settings para mostrar los detalles.
  10. Observar que ya no aparece lo escrito en tags.

Expected behavior
No debería permitir escribir en el campo de tags, solo debería permitir seleccionar los tags existentes. También es posible que debe ingresar, pero que muestre un mensaje advirtiendo que no se grabará a menos que se adicione.

Evidencias
image

Video

PE030.mp4

Enviroment (please complete the following information):

  • Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
  • S.O.: Windows 10 Pro 21H2 (64 bits)
  • Navegador: Google Chrome Versión 111.0.5563.147

Additional context
El video con la prueba se puede observar aquí (solo para usuarios con correo uniandes.edu.co): Video Editar Post - normal

No muestra error cuando el título de un post es muy largo

Comportamiento esperado

Cuando se escribe un título de un post muy largo debería mostrar un mensaje de error para que se pueda hacer la corrección correspondiente .

Comportamiento actual

Al crear un post con un título muy largo (de más de 250 caracteres) y luego tratar de regresar a la lista de post pregunta si desea grabar o salir, pero no muestra ningún error. El usuario no sabría qué hacer, porque no hay una opción para grabar (save) y si deja la página pierde lo que hubiera escrito.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Posts".
  3. Seleccionar el botón "New post".
  4. Escribir, en el título (Post Title) un texto largo, de más de 250 caracteres, por ejemplo: "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".
  5. Hacer clic en el enlace "Posts" que aparece en la parte superior izquierda.
  6. Se observa como aparece una ventana preguntando si desea grabar o salir (como se ve en la imagen de evidencias), pero no muestra ningún mensaje de error.

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

La prueba (usando Scenarios Outline en post-name) termina con error porque no encuentra el mensaje de error esperado.

Al crear una página con muchos caracteres, la aplicación deja de funcionar

Comportamiento esperado

Al crear una página en ghost, se debe ingresar el titulo y el contenido. Se espera que se pueda introducir un texto grande sin congelar la aplicación.

Comportamiento actual

Cuando se ingresa a paginas y se intenta crear una página, no hay una validación en el texto del contenido, lo cual al ingresar mas de 56.000 palabras, la aplicación deja de funcionar.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la seccion "Pages"
  4. Seleccionar nueva página.
  5. Ingresar el titulo y el contenido con más de 50.000 palabras.

Evidencias

PE012.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Windows 10 Pro
Browser: Chrome

Información adicional

Error al crear sitio con usuario admin con nombre largo

Comportamiento esperado

Durante la creación de un sitio, cuando se introduce un nombre completo con más de 191 caracteres, debe aparecer un error indicando que la longitud máxima es de 191 caracteres. Si, sin embargo, se pulsa el botón "Last step: Invite staff users", se debería mostrar un error como "Please fill out the form to setup your blog.", que se muestra para otros tipos de datos inválidos.

Comportamiento actual

Durante la creación de un sitio, cuando se introduce un nombre completo con más de 191 caracteres, no se muestra un error. Al pulsar el botón "Last step: Invite staff users" se muestra un error Value in [users.name] exceeds maximum length of 191 characters. users.name que no es fácilmente comprensible por el usuario.

Pasos a reproducir

  1. Instalar ghost
  2. Navegar a /ghost para crear un sitio
  3. Pulsar el botón "Create your account"
  4. Digitar título del sitio, nombre completo con más que 191 caracteres, email, y password
  5. Seleccionar "Last step: Invite staff users"

Evidencias

PE016.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Log:

[2023-03-31 20:33:05] ERROR "POST /ghost/api/v3/admin/authentication/setup/" 422 206ms

Value in [users.name] exceeds maximum length of 191 characters.

"users.name"

Error ID:
    3db031f0-d003-11ed-92db-69a7604d035b

----------------------------------------

ValidationError: Value in [users.name] exceeds maximum length of 191 characters.
    at new ValidationError (/var/lib/ghost/versions/3.41.1/node_modules/@tryghost/errors/node_modules/ghost-ignition/lib/errors/index.js:141:23)
    at each (/var/lib/ghost/versions/3.41.1/core/server/data/validation/index.js:237:43)
    at arrayEach (/var/lib/ghost/versions/3.41.1/node_modules/lodash/lodash.js:516:11)
    at Function.forEach (/var/lib/ghost/versions/3.41.1/node_modules/lodash/lodash.js:9368:14)
    at Object.validateSchema (/var/lib/ghost/versions/3.41.1/core/server/data/validation/index.js:181:7)
    at Child.onValidate (/var/lib/ghost/versions/3.41.1/core/server/models/base/index.js:282:27)
    at Child.onUpdating (/var/lib/ghost/versions/3.41.1/core/server/models/base/index.js:424:37)
    at /var/lib/ghost/versions/3.41.1/node_modules/bookshelf/lib/base/events.js:101:64
    at tryCatcher (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/util.js:16:23)
    at Object.gotValue (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/reduce.js:166:18)
    at Object.gotAccum (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/reduce.js:155:25)
    at Object.tryCatcher (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:729:18)

Chrome Developer Console:

Error: POST http://127.0.0.1:2368/ghost/api/v3/admin/authentication/setup/ 422 (Unprocessable Entity)

Error al crear un post con URL larga

Comportamiento esperado

Cuando se selecciona la opción crear nuevo post, el sistema debe validar el tamaño permitido de la url antes de guardar, ademas debe notificar al usaurio la longitud máxima de un URL.

Comportamiento actual

Cuando se selecciona la opción crear nuevo post, el sistema no valida el tamaño permitido de la url antes de guardar, lo que provoca al ingresar una URL muy larga que se muestre un mensaje de error Ember AJAX Request GET /ghost/api/v3/admin/slugs/post/abcdefghijklmnopqrstuvwx[...]ijklmnop/ returned a 431 Payload (Empty Content-Type) "Request Header Fields Too Large" e impide que el post se guarde correctamente.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la sección de post
  4. Seleccionar crear nuevo post
  5. Seleccionar configuración (Icono de engranaje)
  6. En "Post URL" digitar un URL con 10.000 caracteres

Evidencias

PE014.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Chrome Developer Console:

Error: GET http://127.0.0.1:2368/ghost/api/v3/admin/slugs/post/abcdefgd...defghijklmnop/ 431 (Request Header Fields Too Large)

Editar el nombre luego de tener un error por sobrepasar la cantidad de caracteres

Describe the bug
Al agregar un titulo largo a la etiqueta aparece un error advirtiendo que no puede ser mayor a 191 caracteres, por lo que se decide modificarlo y no permite ser guardado nuevamente.

To Reproduce

  1. Página principal
  2. En el menú izquierdo se selecciona "Tags"
  3. En la parte superior derecha se encuentra el botón verde "New Tag"
  4. Se debe llenar de forma obligatoria el espacio de "Name" y como opcional se puede poner un color, imágen y descripción.
  5. Al momento de agregar un nombre que sobrepase los 191 caracteres no se permitirá guardar la etiqueta
  6. Se procede a cambiar por un nombre más corto, no se actualiza el vinculo y el botón "Retry" no permite guardar la edición, impidiendo la correcta creación de la etiqueta Imágen 1

Expected behavior
Al momento de cambiar poner un nombre mayor al numero de caracteres aceptados, se debe permitir la correcta edicion y publicación de la etiqueta

Evidencias
Imágen 1
image

Video

PE019.mp4

Enviroment (please complete the following information):

  • Device: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz, 12,0 GB RA
  • OS: Windows 10 Pro
  • Browser Google Chrome
  • Version 111.0.5563.147

Additional context
Add any other context about the problem here.

Al editar un post no es clara la forma de grabar los cambios realizados

Describe the bug
A diferencia de cuando se crea un post, que se graba automáticamente, cuando se edita un post no sucede lo mismo y es necesario guardar los cambios (esto se informa mediante un mensaje de error al intentar regresar a la lista de post). Sin embargo, no hay un botón de guardar o actualizar, si no que se debe ingresar por el enlace "Update" y luego sí aparece el botón, lo cual no es tan intuitivo.

To Reproduce

  1. Ingresar a la aplicación con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Post".
  3. Hacer clic el Post "Publishing options" (o cualquier otro) para que muestre la ventana de edición.
  4. Cambiar el texto del Post (ver primer pantallazo adjunto).
  5. Seleccionar, en la parte superior izquierda, el enlace a "Posts".
  6. Aparece la ventana con el error (ver segundo pantallazo adjunto).

Expected behavior
Debería tener alguno de dos comportamientos: O guardar los cambios automáticamente, o incluir un botón de guardar o de actualizar que sea más visible (no como está actualmente, dentro de la opción actualizar, que parecería ser para algo diferente). También puede ser que en la ventana de error que aparece se presente una opción para grabar los cambios, no solo para descartarlos o continuar editando - que son las opciones actuales.

Evidencias

  • Imágen 1 image
  • Imágen 2 image

Video

PE030.mp4

Enviroment (please complete the following information):
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Additional context
El video con la prueba se puede observar aquí (solo para usuarios con correo uniandes.edu.co): Video Editar Post - normal

No se puede guardar el tag después de haber introducido una descripción larga

Comportamiento esperado

Si se crea una nuevo tag con una descripción de más de 500 caracteres, aparece un error al guardarla. Si después se acorta la descripción para que tenga menos de 500 caracteres, se espera que el tag se pueda guardar correctamente.

Comportamiento actual

Si se crea una nuevo tag con una descripción de más de 500 caracteres, aparece un error al guardarla. Si después se acorta la descripción para que tenga menos de 500 caracteres, al guardar persiste el error y no se puede guardar el tag.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la sección de tags
  4. Seleccionar "New tag"
  5. Ingresar nombre y una descripción con más de 500 caracteres
  6. Guardar
  7. El sistema muestra un mensaje de alerta
  8. Ingresa una descripción con menos de 500 caracteres
  9. Seleccionar "Retry"

Evidencias

PE018.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

No se observan mensajes de error en el servidor ni en Chrome Developer Console

Error al crear página con texto muy largo

Comportamiento esperado

Se esperar poder crear una página con un texto muy largo sin error o al menos con un error comprensible por el usuario.

Comportamiento actual

Al introducir un texto muy largo, aparece un banner rojo con el mensaje de error "request entity too large". Además, el texto no se guarda como borrador y no hay ninguna indicación de que la página no se ha guardado exitosamente.

Pasos a reproducir

  1. Ingresar al módulo administrativo
  2. Seleccionar la opción "Pages" en el menú
  3. Seleccionar "New page"
  4. Ingresar un titulo
  5. Ingresar un texto muy largo. Se puede encontrar un ejemplo que reproduce el error en
    PaginaLarga.txt

Evidencias

PE013.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Log:

[2023-03-31 11:21:51] ERROR "PUT /ghost/api/v3/admin/pages/6426c246f74e420001d8c926/" 413 36ms

request entity too large

Error ID:
    3ba48a70-cfb6-11ed-9a0d-a16a3c769ec7

----------------------------------------

InternalServerError: request entity too large
    at new GhostError (/var/lib/ghost/versions/3.41.1/node_modules/@tryghost/errors/lib/errors.js:10:26)
    at _private.prepareError (/var/lib/ghost/versions/3.41.1/core/server/web/shared/middlewares/error-handler.js:53:19)
    at Layer.handle_error (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/layer.js:71:5)
    at trim_prefix (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:315:13)
    at /var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:335:12)
    at next (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:275:10)
    at Layer.handle_error (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/layer.js:67:12)
    at trim_prefix (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:315:13)
    at /var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:335:12)
    at next (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:275:10)
    at Layer.handle_error (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/layer.js:67:12)
    at trim_prefix (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:315:13)
    at /var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:335:12)

PayloadTooLargeError: request entity too large
    at readStream (/var/lib/ghost/versions/3.41.1/node_modules/raw-body/index.js:155:17)
    at getRawBody (/var/lib/ghost/versions/3.41.1/node_modules/raw-body/index.js:108:12)
    at read (/var/lib/ghost/versions/3.41.1/node_modules/body-parser/lib/read.js:77:3)
    at jsonParser (/var/lib/ghost/versions/3.41.1/node_modules/body-parser/lib/types/json.js:135:5)
    at Layer.handle [as handle_request] (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:317:13)
    at /var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:335:12)
    at next (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:275:10)
    at expressNoop (/var/lib/ghost/versions/3.41.1/core/shared/sentry.js:34:9)
    at Layer.handle [as handle_request] (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:317:13)
    at /var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:335:12)
    at next (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/router/index.js:275:10)
    at expressInit (/var/lib/ghost/versions/3.41.1/node_modules/express/lib/middleware/init.js:40:5)

Chrome Developer Console:

Error: PUT http://127.0.0.1:2368/ghost/api/v3/admin/pages/6426c246f74e420001d8c926/ 413 (Payload Too Large)

Permite crear Tags con nombre repetido

Comportamiento esperado

Cuando se crea un nuevo tag debería validar si el nombre ya está creado, para no permitir repetidos. Se debería mostrar un mensaje de error cuando esto ocurra.

Comportamiento actual

Permite crear tags con nombres repetidos. Internamente crea un "slug" diferente, pero para el usuario no es clara la diferencia entre los dos tags, por lo que no es conveniente permitir esto.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Tags".
  3. Seleccionar el botón "New Tag".
  4. Escribir en el campo Name el valor: "Etiqueta 1".
  5. Presionar "Save".
  6. De nuevo: En las opciones del menú del lado izquierdo, seleccionar "Tags".
  7. Seleccionar el botón "New Tag".
  8. Escribir en el campo Name el valor: "Etiqueta 1".
  9. Presionar "Save".
  10. De nuevo: En las opciones del menú del lado izquierdo, seleccionar "Tags".
  11. Se observa como en la lista aparecen dos tags con el mismo nombre (ver imagen en las evidencias).

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

La prueba (usando Scenarios Outline en tag-name) termina con error porque no encuentra el mensaje de error esperado.

Error inesperado con caracteres especiales en Facebook Profile

Comportamiento esperado

Si se ingresan caracteres especiales en el Facebook Profile (al editar un perfil), debe salir un mensaje informativo al usuario, pero no un error mayor de la aplicación.

Comportamiento actual

Cuando se edita un perfil de una persona (staff) y en el campo de Facebook Profile se escriben caracteres especiales aparece un mensaje de error de la aplicación que dice: "object null is not iterable". Este mensaje no es apropiado para los usuarios y no debería mostrarse, sino uno más explicativo.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  3. Seleccionar uno de los perfiles que aparecen.
  4. En el formulario con los datos cambiar el "Facebook Profile" por caracteres especiales: "?=/*".
  5. Presionar el botón "Save".
  6. Se observa un mensaje de error en la parte superior (no al lado del campo, como debería ser), como se ilustra en la imagen de las evidencias.

Evidencias

image

Contexto (Ambiente de ejecución)

App version: X.XX.X
OS: Windows XX, Mac XX, Ubuntu XX
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Información adicional

La prueba (usando Scenarios Outline en profile-facebook) termina con error porque no encuentra el mensaje de error esperado.

Versión en desarrollo con diferencias en el aspecto del sign-in

Comportamiento esperado

Que la forma de ingresar o hacer sign in en Ghost tuviera pocos cambios visuales en la versión 4.44.0 con respecto a la versión 3.41.1.

Comportamiento actual

La página para hacer el ingreso (sign in) tiene un porcentaje de cambio de solo del 1,67 %, pero esto se debe a que gran parte de esta página está en blanco y solo cambia el título y el color del botón. A pesar de ser un porcentaje bajo, se considera importante porque cambia el aspecto al pasar del color azul del botón a un color rosado. Esto puede confundir a los usuarios, para quienes los colores se asocian a la imagen de la marca.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección create-post, esc02, 00_SignIn_open.

Evidencias

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

Facilidad de uso para agregar un hipervínculo

Describe the bug
Al momento de agregar un hipervinculo sin oprimir la tecla enter este no se guarda, dificultando la edición al usuario

To Reproduce
Steps to reproduce the behavior:

  1. Página principal
  2. En el menú izquierdo se selecciona "Pages"
  3. Se selecciona la página que se desea editar
  4. Se debe subrayar la o las palabras que se desean agregar los hipervinculos (Imágen 1)
  5. Se selecciona el simbolo de cadena para adjuntar la URL (Imágen 2)
  6. Al no oprimir enter no se guarda el hipervinculo (Imágen 3)

Expected behavior
Se espera que automaticamente se guarde el hipervinculo facilitando la edición al usuario

Evidencias
Imágen 1
image

Imágen 2
image

Imágen 3
image

Video
Haga clic en la siguiente URL para ver el vídeo en mejor calidad.
https://github.com/tpambor/MISW4103-Final/wiki/PE032

Enviroment (please complete the following information):

  • Device: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz, 12,0 GB RAM
  • OS: Windows 10 Pro
  • Browser Google Chrome
  • Version 111.0.5563.147

Additional context
Add any other context about the problem here.

Versión en desarrollo tiene pie de página diferente en un post

Comportamiento esperado

Que la forma de visualizar un post en el sitio web (elaborado con Ghost) tuviera pocos cambios visuales en la versión 4.44.0 con respecto a la versión 3.41.1.

Comportamiento actual

Cuando se navega a la página de un post (usando el "slug") se encuentra una diferencia visual entre las dos versiones del 18,0 %. Este cambio se debe principalmente a que se adicionan nuevos elementos en el pie de página (footer). Esto limita un poco el espacio del post o hace que los usuarios del sitio web tengan que hacer más scroll, lo cual no es recomendable.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección create-post, esc04, 19_Navigation_visitPage.

Evidencias

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

No se puede descartar cambios realizados en Code injection

Comportamiento esperado

Se espera que sea posible seleccionar otra opción como "General" o "Design" después de haber realizado cambios en la cabecera del sitio sin guardar. El sistema debería mostrar un mensaje de advertencia de que hay cambios pendientes.

Comportamiento actual

Cuando se selecciona la opción code injection y se realizan cambios en el código de la cabecera, el sistema no más permite abrir otra opción como "General" sin guardar.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la sección de code injection
  4. Realizar cambios en el código de la cabecera
  5. Intentar seleccionar otra opción como "General"

Evidencias

PE011.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Chrome Developer Console:

Uncaught TypeError: Cannot read properties of undefined (reading 'isRunning')
    at e.toggleLeaveSettingsModal (ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:1185:88)
    at e.send (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:2174:122)
    at e.willTransition (ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:1760:68)
    at e.A (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:2070:388)
    at s.triggerEvent (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:2004:311)
    at s.notifyExistingHandlers (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:4289:6)
    at s.getTransitionByIntent (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:4256:342)
    at s.transitionByIntent (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:4244:413)
    at s.doTransition (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:4260:13)
    at s.transitionTo (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:4290:296)

Permite publicar un Post sin título

Comportamiento esperado

Cuando se crea un nuevo post debería validar que se escriba un título y en caso de no tenerlo, mostrar un mensaje de error.

Comportamiento actual

Permite publicar un posts sin título, y lo deja con un título por defecto: "(Untitled)", lo cual no es recomendable.

Pasos a reproducir

  • Ingresar a la aplicación (Ghost) con un usuario administrador.
  • En las opciones del menú del lado izquierdo, seleccionar "Posts".
  • Seleccionar el botón "New post".
  • Escribir, en donde dice "Begin writing your post...", un texto. Por ejemplo: "Este es un post sin nombre".
  • Hacer clic en el enlace "Posts" que aparece en la parte superior izquierda.
  • seleccionar publicar

Evidencias

2023-05-21-20-14-22.mp4

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Permite crear Post con fecha pasada muy remota

Comportamiento esperado

Cuando se crea un post y se edita la fecha de publicación debe validar que no sea una fecha de un pasado muy remoto (lo cual es irreal). Se debe validar un rango, por ejemplo solo 10 años antes del actual.

Comportamiento actual

Permite cambiar la fecha de publicación de un post a una fecha del pasado, incluso a fechas que no son reales para este tipo de publicaciones, por ejemplo, una de mil años antes.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Posts".
  3. Seleccionar el botón "New post".
  4. Escribir un título para el post, por ejemplo: "Post del pasado lejano"
  5. Seleccionar el botón de settings (la rueda dentada que aparece en la parte superior derecha).
  6. Borrar la fecha que aparece en "Publish date" y en su lugar escribir una fecha de hace más de mil años, por ejemplo: "1022-04-25"
  7. Hacer clic en otra área, por ejemplo, en excerpt.
  8. Se observa como no hay ningún error y el Post queda se guarda (ver imagen en evidencias).

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

La prueba (usando Scenarios Outline en post-date) termina con error porque no encuentra el mensaje de error esperado.

Permite cambiar la página de ayuda con un puerto incorrecto (emoji)

Comportamiento esperado

Cuando se modifique la URL de la página de ayuda del sitio web debería validar si el puerto ingresado es válido o no, por ejemplo, en caso de tener un emoji, y mostrar un error en caso de que así sea.

Comportamiento actual

Al modificar la URL de la página de ayuda del sitio web (por Design - Navigation), se puede ingresar una URL con un puerto que es un emoji, lo cual no es correcto, y no muestra ningún mensaje de error y permite guardar esa URL.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Design".
  3. Escribir en la URL de página "Help" una dirección con un puerto que sea emoji, por ejemplo: "http://sitioEmoji.com:❤️/"
  4. Presionar el botón "Save" en la parte superior derecha.
  5. Se observa como no muestra ningún mensaje de error y permite guardar esa URL (ver imagen en evidencias).

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

La prueba (usando Scenarios Outline en design-helpPage) termina con error porque no encuentra el mensaje de error esperado.

Versión en desarrollo con alerta al publicar un post

Comportamiento esperado

Que la forma de publicar un post en Ghost tuviera pocos cambios visuales en la versión 4.44.0 con respecto a la versión 3.41.1.

Comportamiento actual

Después de seleccionar la opción de publicar un post, hay un cambio visual entre las dos versiones 65,48 %, lo cual se considera un cambio muy grande. Este cambio se debe a que en la nueva versión se publica una ventana de alerta explicando que el post será publicado (y el fondo se desvanece). Como esto no sucedía antes, los usuarios pueden confundirse pensando que es una advertencia o error y posiblemente deseen cancelar la acción.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección create-post, esc03, 11_CreateEditPost_publishConfirm.

Evidencias

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

No muestra error con url de Twitter erróneo al editar perfil

Comportamiento esperado

Cuando se edita un perfil (staff) y se escribe un url de Twitter que no comienza con "https://twitter.com/" debería mostrar un mensaje de error y no dejar grabar.

Comportamiento actual

Al editar un perfil (staff), se escribe un url de Twitter que no comienza con " https://twitter.com/" y se presiona el botón "Save", deja grabar el perfil y no muestra mensaje de error (parece que el botón Save oculta el error). Sin embargo, si se cambia de página y posteriormente se vuelve a ingresar se observa que no cambió el url (queda con el que estaba antes del cambio), lo cual genera confusión.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  3. Seleccionar uno de los perfiles que aparecen.
  4. En el formulario con los datos cambiar el "Twitter Profile" por un url aleatorio.
  5. Sin hacer clic en ninguna otra parte, presionar el botón "Save".
  6. Alcanza a mostrar algún mensaje, pero este desaparece rápidamente y prevalece la operación de guardar. Aparece como si el perfil estuviera guardado (ver imagen 1 en las evidencias).
  7. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  8. Volver a seleccionar el mismo perfil.
  9. Se observa que el "Twitter Profile" no cambió, aunque daba la impresión de que así era (ver imagen 2 de evidencias).

Evidencias

Imagen 1 - Perfil guardado con url aleatoria.
image

Imagen 2 - Perfil tiene la url anterior.
image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Se usó la librería faker para generar el url aleatorio: faker.internet.url();
La prueba (edit-Profile-6) termina con error, porque está esperando que muestre el mensaje de error.

La creación de una integración personalizada con una descripción grande falla sin mostrar un error

Comportamiento esperado

Cuando se selecciona la opción "Add custom integration", el sistema debe validar el tamaño permitido de la descripción antes de guardar que no exeda 2000 caracteres, mostrando un mensaje de alerta.

Comportamiento actual

Cuando se selecciona la opción "Add custom integration", el sistema no valida la longitud máxima de la descripción de 2000 caracteres. Guardar la integración falla sin que se muestre un error.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la sección de integraciones
  4. Seleccionar "Add custom integration"
  5. Digitar nombre y una descripción larga de más de 2000 caracteres
  6. Seleccionar "Save"

Evidencias

PE001.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Log:

[2023-04-01 14:13:09] ERROR "PUT /ghost/api/v3/admin/integrations/64283be77547e60001c84983/?include=api_keys%2Cwebhooks" 422 38ms

Value in [integrations.description] exceeds maximum length of 2000 characters.

"integrations.description"

Error ID:
    545d1960-d097-11ed-9ceb-83d11e9f9559

----------------------------------------

ValidationError: Value in [integrations.description] exceeds maximum length of 2000 characters.
    at new ValidationError (/var/lib/ghost/versions/3.41.1/node_modules/@tryghost/errors/node_modules/ghost-ignition/lib/errors/index.js:141:23)
    at each (/var/lib/ghost/versions/3.41.1/core/server/data/validation/index.js:237:43)
    at arrayEach (/var/lib/ghost/versions/3.41.1/node_modules/lodash/lodash.js:516:11)
    at Function.forEach (/var/lib/ghost/versions/3.41.1/node_modules/lodash/lodash.js:9368:14)
    at Object.validateSchema (/var/lib/ghost/versions/3.41.1/core/server/data/validation/index.js:181:7)
    at Child.onValidate (/var/lib/ghost/versions/3.41.1/core/server/models/base/index.js:282:27)
    at Child.onUpdating (/var/lib/ghost/versions/3.41.1/core/server/models/base/index.js:424:37)
    at /var/lib/ghost/versions/3.41.1/node_modules/bookshelf/lib/base/events.js:101:64
    at tryCatcher (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/util.js:16:23)
    at Object.gotValue (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/reduce.js:166:18)
    at Object.gotAccum (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/reduce.js:155:25)
    at Object.tryCatcher (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:547:31)
    at Promise._settlePromise (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:604:18)
    at Promise._settlePromise0 (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:649:10)
    at Promise._settlePromises (/var/lib/ghost/versions/3.41.1/node_modules/bluebird/js/release/promise.js:729:18)

Chrome Developer Console:

Error: PUT http://127.0.0.1:2368/ghost/api/v3/admin/integrations/64283be77547e60001c84983/?include=api_keys%2Cwebhooks 422 (Unprocessable Entity)
Error: Uncaught Error: Request was rejected because it was invalid
    at e._createCorrectError (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:9129:38)
    at e.handleResponse (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:9126:205)
    at e.handleResponse (ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:1925:78)
    at e.n [as handleResponse] (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:2370:9)
    at e.<anonymous> (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:9115:70)
    at l (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:622:118)
    at Object.fireWith [as rejectWith] (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:623:698)
    at A (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:906:468)
    at XMLHttpRequest.<anonymous> (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:917:206)

Permite usar JavaScript para el enlace a la página de ayuda

Comportamiento esperado

Cuando se modifique la URL de la página de ayuda del sitio web, no se debería permitir una expresión JavaScript como destino del enlace. Si se introduce una expresión JavaScript, debe mostrar un error.

Comportamiento actual

Al modificar la URL de la página de ayuda del sitio web (por Design - Navigation), se puede ingresar una expresión JavaScript como destino del enlace, lo cual no es correcto, y puede afectar la seguridad de la página y del usuario. Tampoco muestra ningún mensaje de error y permite guardar la expresión JavaScript.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Design".
  3. Escribir en la URL de página "Help" una expresión JavaScript, por ejemplo: javascript:alert('JavscriptPeligroso')
  4. Presionar el botón "Save" en la parte superior derecha.
  5. Se observa como no muestra ningún mensaje de error y permite guardar (ver imagen en evidencias).

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 16.20.0
Dispositivo: 8x 64-bit ARM Cortex-A78 + 6GB RAM
S.O.: Debian 11.7
Navegador: Chromium 113.0.5672.126

Información adicional

La prueba (usando Scenarios Outline en design-helpPage) termina con error porque no encuentra el mensaje de error esperado.

No muestra error cuando se digita el actual password y el confirmación password

Comportamiento esperado

Cuando se escribe la contraseña actual y la contraseña de confirmacion, debería mostrar un mensaje de error que indique que debe llenar la nueva contraseña.

Comportamiento actual

Al editar el perfil se tiene la opción de cambiar contraseña luego de llenar la contraseña actual y la confirmación del password y se da la opción en cambiar contraseña, no muestra ningún error en el cual indique que falta llenar el campo "Nuevo password". El usuario no sabría qué hacer.

Pasos a reproducir

  • Ingresar a la aplicación (Ghost) con un usuario administrador.
  • En las opciones del menú del lado izquierdo, seleccionar "staff".
  • Seleccionar el "staff a editar".
  • Escribir datos de la contraseña actual y la confirmación de la contraseña.
  • Hacer clic en el "cambiar contraseña".
  • Se observa que no muestra ningún mensaje de error.

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Datos adicionales a los que se tenga acceso respecto al defecto. Por ejemplo, trazas de error, defecto similares ya reportados, posible solución, posible implementación de la solución, links a recursos externos que brinden más información: stackoverflow, gitter, etc.

Permite crear Post sin título

Comportamiento esperado

Cuando se crea un nuevo post debería validar que se escriba un título y en caso de no tenerlo, mostrar un mensaje de error.

Comportamiento actual

Permite crear posts sin título, y lo deja con un título por defecto: "(Untitled)", lo cual no es recomendable porque no ayuda a identificar el post y puede publicarse así, lo que no sería adecuado para un sitio web.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Posts".
  3. Seleccionar el botón "New post".
  4. Escribir, en donde dice "Begin writing your post...", un texto. Por ejemplo: "Este es un post sin nombre".
  5. Hacer clic en el enlace "Posts" que aparece en la parte superior izquierda.
  6. Se observa como en la lista de post aparece el post creado con el título "(Untitled)" -como se ve en la imagen de evidencias- y nunca avisó al usuario que faltaba escribir el título.

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

La prueba (usando Scenarios Outline en post-name) termina con error porque no encuentra el mensaje de error esperado.}

Versión en desarrollo con diferencias en el último paso de crear sitio web

Comportamiento esperado

Que la forma de crear un nuevo sitio web en Ghost tuviera pocos cambios visuales en la versión 4.44.0 (en adelante denominada versión 4) con respecto a la versión 3.41.1 (en adelante denominada versión 3)

Comportamiento actual

En el último paso de la creación del sitio web hay una diferencia del 32.68 % en las dos versiones, la cual se considera alta. En la versión 3 se invitaba a adicionar colaboradores, mientras que en la versión 4 hay una previsualización del sitio y varias opciones como escribir post, personalizar, importar miembros o explorar. Esto puede hacer que los usuarios piensen que algún paso falta (o sobra) en su proceso.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección create-post, esc01, 06_CreateSite_nextStep.

Evidencias

238159288-1f9a55f8-b3df-4a1c-b42b-50aab8d64fb1

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

Crear post sin texto

Describe the bug
Al crear un post sin texto, el programa permite guardar el post y publicarlo.

To Reproduce

  1. Página principal
  2. En el menú izquierdo se selecciona "Posts"
  3. En la parte superior izquierda se selecciona el botón verde "New post"
  4. En la opción de titulo en caso de no poner el deseado el programa automáticamente pone "(Untitled)" dejando en blanco el cuerpo del post
  5. Se selecciona la opción "Publish" desplegando el menú y de nuevo se selecciona "publish" (Imágen 1) permitiendo guardar y publicar el post

Expected behavior
No deberia dejar guardarlo ni publicarlo y presentar al usuario un mensaje de error.

Evidencias
Imágen 1
image

Video

PE020.mp4

Enviroment (please complete the following information):

  • Device: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz, 12,0 GB RAM
  • OS: Windows 10 Pro
  • Browser Google Chrome
  • Version 111.0.5563.147

Additional context
Add any other context about the problem here.

Versión en desarrollo con diferencias en el aspecto del dashboard

Comportamiento esperado

Que el dashboard de administración en Ghost tuviera pocos cambios visuales en la versión 4.44.0 (en adelante denominada versión 4) con respecto a la versión 3.41.1 (en adelante denominada versión 3)

Comportamiento actual

El dashboard de administración en Ghost tiene un porcentaje de cambio del 26,89 %, el cual se considera importante. Este cambio obedece principalmente a que en la versión 3 se mostraba una previsualización del sitio en el lado derecho, mientras que ahora se muestran diferentes opciones para administrar el sitio web. Al comienzo esto puede ser confuso para los usuarios, quienes pueden pensar que esas opciones son lo que tiene su sitio.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección create-post, esc02, 04_SignIn_success.

Evidencias

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

Versión en desarrollo maneja diferente la configuración (settings)

Comportamiento esperado

Que los elementos de la configuración (settings) estuvieran distribuidos de manera similar en la versión 4.44.0 con respecto a la versión 3.41.1.

Comportamiento actual

La sección de settings cambió, y ahora muestra una página con opciones, en lugar de los opciones del menú (en el lado izquierdo) que se tenían previamente. Se tiene un cambio visual entre las dos versiones del 24,94 %. Aunque la nueva propuesta puede ser interesante, se deben tratar de conservar también las opciones de menú para que los usuarios las encuentren fácilmente.

Pasos a reproducir

Se deben ejecutar los pasos explicados en el ReadMe de este repositorio, sección "Instrucciones para generar el reporte HTML", y luego, en el reporte, abrir la sección editar-perfil, esc1, 05_Navigation_showSettings.

Evidencias

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versiones 3.41.1 y 4.44.0
Herramientas usadas para las pruebas:
Cypress versión 12.11.0
ResembleJS commit 17ed085
Node JS versión 16.20.0
Google Chrome versión 113.0.5672.93

Información adicional

Ninguna

No muestra error con url de Facebook erróneo al editar perfil

Comportamiento esperado

Cuando se edita un perfil (staff) y se escribe un url de Facebook que no comienza con "https://www.facebook.com/" debería mostrar un mensaje de error y no dejar grabar.

Comportamiento actual

Al editar un perfil (staff), se escribe un url de Facebook que no comienza con " https://www.facebook.com/" y se presiona el botón "Save", deja grabar el perfil y no muestra mensaje de error (parece que el botón Save oculta el error). Sin embargo, si se cambia de página y posteriormente se vuelve a ingresar se observa que no cambió el url (queda con el que estaba antes del cambio), lo cual genera confusión.

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  3. Seleccionar uno de los perfiles que aparecen.
  4. En el formulario con los datos cambiar el "Facebook Profile" por un url aleatorio.
  5. Sin hacer clic en ninguna otra parte, presionar el botón "Save".
  6. Alcanza a mostrar algún mensaje, pero este desaparece rápidamente y prevalece la operación de guardar. Aparece como si el perfil estuviera guardado (ver imagen 1 en las evidencias).
  7. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  8. Volver a seleccionar el mismo perfil.
  9. Se observa que el "Facebook Profile" no cambió, aunque daba la impresión de que así era (ver imagen 2 de evidencias).

Evidencias

Imagen 1 - Perfil guardado con url aleatoria.
image

Imagen 2 - Perfil tiene la url anterior.
image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Se usó la librería faker para generar el url aleatorio; faker.internet.url();
La prueba (edit-Profile-5) termina con error, porque está esperando que muestre el mensaje de error.

Validación máximos password

Comportamiento esperado

Cuando se ingresa a staff para cambiar el password el sistema debe controlar los minimos y maximos para cambiar la contraseña

Comportamiento actual

el sistema permite agregar una contraseña de 1000 caracteres

Pasos a reproducir

  1. Ingresar a la aplicación (Ghost) con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  3. Seleccionar uno de los perfiles que aparecen.
  4. En el formulario con los datos cambiar contraseña con datos faker 1000 caracteres.
  5. Sin hacer clic en ninguna otra parte, presionar el botón "cambiar".
  6. Se observa que cambia la contraseña

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Se usó la librería faker para generar el password aleatorio;faker.internet.password(1200);
La prueba (edit-perfil-faker) termina esperando que muestre el mensaje de error.

Permite crear una página sin texto

Describe the bug
Cuando se crea una página y se deja sin texto permite guardarla e incluso publicarla.

To Reproduce

  1. Ingresar a la aplicación con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Pages".
  3. Hacer clic en el botón "New Page"
  4. En la ventana que aparece escribir un título, donde dice "Page Title", por ejemplo: "Nueva Página". Se espera a que guarde la información.
  5. Opcional: Se puede borrar el título escrito, y en este caso la aplicación coloca uno por defecto: "(Untitled)".
  6. Se selecciona en la parte superior derecha el enlace "Publish" y luego el botón "Publish".
  7. Se selecciona en la parte superior izquierda el enlace "Pages" y se observa como la página aparece en el listado, con estado "Published", a pesar de no tener contenido.

Expected behavior
Cuando se intente publicar la página creada no debería permitirlo si no tiene texto. Se debería mostrar un mensaje de error al usuario.

Evidencias
image

Video

PE023.mp4

Enviroment (please complete the following information):
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Additional context
El video con la prueba se puede observar aquí (solo para usuarios con correo uniandes.edu.co): Video Crear Página - Sin datos

Staff users el sistema envia la invitación pero no refresca la lista

Comportamiento esperado

Cuando se selecciona la opción de invitar personas, el sistema abre una ventana emergente en la cual el usuario debe ingresar el email y el role y seleccionar la opción de enviar la invitación ahora. El sistema envia la invitación y debe refresca la lista de usuarios invitados, sin necesidad de refrescar la pagina.

Comportamiento actual

Cuando se selecciona la opción de invitar personas, el sistema abre una ventana emergente en la cual el usuario debe ingresar el email y el role y seleccionar la opción de enviar la invitación ahora. El sistema envia la invitación pero no refresca la lista de usuarios invitados.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Seleccionar "Staff"
  4. Seleccionar "Invite people"
  5. Ingresar el correo y seleccionar el role
  6. Seleccionar la opción "Send invitation now"

Evidencias

PE035.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Windows 10 Pro
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

Información adicional

Elemento de la página sin dimensiones definidas

Comportamiento esperado

Para mejorar el rendimiento de las páginas se deben especificar las dimensiones de imágenes, videos y otros elementos similares.

Comportamiento actual

Uno de los elementos de la página http://localhost:2368/ghost/#/site no tiene las dimensiones definidas. Este error fue identificado en el navegador Chrome.

Pasos a reproducir

El error fue encontrado al ejecutar una herramienta Ripper, así que no es fácil reproducir exactamente el error, pero se incluye la información dada por la herramienta en las evidencias. Los pasos para ejecutar la herramienta fueron:
1- Descargar y descomprimir la herramienta RIPuppetCoursera, de: https://github.com/TheSoftwareDesignLab/RIPuppetCoursera
2- Ejecutar, en la carpeta creada, el comando: npm install
3- Cambiar el archivo de configuración "config.json" para cambiar el url (http://localhost:2368/ghost/), cambiar "inputValues" a true y colocar los valores para "ember8" (que es el correo) y "ember10" que es el password.
4- Ejecutar, en la carpeta, el comando: node index.js

Evidencias

El error encontrado es:
image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
RIPuppetCoursera, commit 9fc6bfd
Node JS versión 12.22.1

Información adicional

Ninguna

Permite borrar un tag con un enlace en el sitio web (por lo que aparece error 404)

Describe the bug
Cuando hay un tag que tiene asociada una página web (para mostrar todos los post asociados) y se borra ese tag, la aplicación lo permite y al buscar la página aparece el error 404.

To Reproduce
Primero es necesario crear la página web asociada al Tag (o seleccionar un tag que ya tenga página web asociada). Para esto:

  1. Se ingresa a la aplicación como usuario administrador.
  2. Se selecciona en el lado derecho, la opción del menú "Design", que está en la parte de Settings.
  3. Se cambia la ubicación de la página llamada "Tag" para que incluya el tag que se desea mostrar. Por ejemplo: "http://localhost:2368/tag/avanzado/". El tag "avanzado" debe estar creado previamente. Ver el primer pantallazo.
  4. Se presiona el botón Save.

Con la página creada, ahora se procede a borrar el tag:

  1. Se selecciona, en el lado derecho, la opción del menú "Tags".
  2. Se selecciona el Tag "avanzado" (o el equivale que se desee borrar).
  3. Se presiona el botón "Delete tag" que aparece en la parte inferior.
  4. En la ventana de advertencia que aparece se presiona de nuevo "Delete tag".
  5. Se observa que el tag ya no aparece en el listado.
  6. Se selecciona la opción "View Site" del menú del lado izquierdo.
  7. Se selecciona el enlace "TAG" que aparece en la parte superior de la página mostrada.
  8. Sale error 404 (ver segundo pantallazo).

Expected behavior
Si el tag tiene enlaces en el sitio web no debería permitir borrarlo. Al intentar borrar debería mostrar un mensaje indicando que tiene enlaces activos.

Evidencias

  • Primer pantallazo:
    image

  • Segundo plantallazo:
    image

  • Video

PE002.mp4

Enviroment (please complete the following information):
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Additional context
El video con la prueba se puede observar aquí (solo para usuarios con correo uniandes.edu.co): Video Borrar Tag - con relaciones

Adjuntar enlace como Embed en la edición de página no lo permite

Describe the bug
Al momento de agregar un enlace embebido debe aparecer como imágen y aparece como error.

To Reproduce

  1. Página principal
  2. En el menú izquierdo se selecciona "Pages"
  3. Se selecciona la página que se desea editar
  4. Se busca el botón + y se selecciona "Other..." para agregar una URL embed (Imágen 1)
  5. Al agregar la URL aparece el error (Imágen 2)

Expected behavior
Se debe visualizar el contenido de la URL (Imágen 3)

Evidencias
Imágen 1
image

Imágen 2
image

Imágen 3
image

Video

PE033.mp4

Enviroment (please complete the following information):

  • Device: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz, 12,0 GB RAM
  • OS: Windows 10 Pro
  • Browser Google Chrome
  • Version 111.0.5563.147

Additional context
Add any other context about the problem here.

Agregar navegación con URL invalida

Comportamiento esperado

Cuando se esta ingresando una url de navegación en el "Design" debería validar que se escriba la url correctamente y mostrar un mensaje de error.

Comportamiento actual

Permite agregar url invalidad, lo cual no es recomendable.

Pasos para reproducir

  • Ingresar a la aplicación (Ghost) con un usuario administrador.
  • En las opciones del menú del lado izquierdo, seleccionar "Design".
  • Seleccionar "NAVIGATION".
  • Escribir label el nombre y la url incorrecta
  • Hacer clic en el enlace "+" al finalizar el campo

Evidencias

image

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Ninguna

Error al ver la página de ayuda en el sitio

Comportamiento esperado

Al dar click sobre el link "Help", el sitio debe redirigir a la pagina de ayuda.

Comportamiento actual

Al dar click sobre el link "Help", el sitio muestra un mensaje de "ghost.org refused to connect.".

Pasos a reproducir

  1. Ingresar a la cuenta ghost.
  2. Ir a la opción "View site"
  3. En el menu superior seleccionar la opción "Help"

Evidencias

PE039.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Windows 10 Pro
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

Información adicional

Chrome Developer Console:

Refused to display 'https://ghost.org/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

No reconoce la vista mínima en navegador Safari

Comportamiento esperado

Se espera que la configuración de vista mínima funcione en diferentes navegadores.

Comportamiento actual

Se obtiene un error de que el navegador no reconoce el parámetro "minimal-ui" en la página inicial de la aplicación: http://localhost:2368/ghost/

Pasos a reproducir

El error fue encontrado al ejecutar una herramienta Ripper, así que no es fácil reproducir exactamente el error, pero se incluye la información dada por la herramienta en las evidencias. Los pasos para ejecutar la herramienta fueron:
1- Descargar y descomprimir la herramienta RIPuppetCoursera, de: https://github.com/TheSoftwareDesignLab/RIPuppetCoursera
2- Ejecutar, en la carpeta creada, el comando: npm install
3- Cambiar el archivo de configuración "config.json" para cambiar el url (http://localhost:2368/ghost/).
4- Ejecutar, en la carpeta, el comando: node index.js

Evidencias

Visitó solo la página de login:
image

El error identificado es:
image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
RIPuppetCoursera, commit 9fc6bfd
Node JS versión 12.22.1

Información adicional

Ninguna

Excepción no manejada al regresar desde la página de edición

Comportamiento esperado

Navegar de regreso desde la página de edición sin que se genere una excepción no manejada.

Comportamiento actual

Al generar eventos aleatorios con un monkey se genera una excepción no manejada al navegar de regreso desde la página de edición.

Pasos a reproducir

  1. Start Ghost server on port 2368
  2. Go to http://127.0.0.1:2368/ghost/
  3. Create a user with email [email protected] and password 0123456789!
  4. Install dependencies with npm install
  5. Run tests with smart-monkey with docker run --rm -it -v $PWD:/e2e -w /e2e --add-host host.docker.internal:host-gateway cypress/included:4.11.0 -C smart-monkey-config.json and seed 2212.

Evidencias

smart-monkey.js.mp4

Contexto (Ambiente de ejecución)

Dispositivo: Intel Xeon (Skylake) 16C, 64GB RAM
S.O.: Ubuntu 18.04
Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas: https://github.com/tpambor/MISW4103-Ghost/tree/main/pruebas-exploratorias/herramientas/monkey-cypress
Cypress package version: 4.11.0
Browser: Chrome 80

Información adicional

Error:

Cannot read property 'undefined' of undefined

When Cypress detects uncaught errors originating from your application it will automatically fail the current test.

This behavior is configurable, and you can choose to turn this off by listening to the `uncaught:exception` event.

https://on.cypress.io/uncaught-exception-from-application
      at e._showErrorAlert (http://host.docker.internal:2368/ghost/assets/ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:1107:158)
      at e.savePost (task) (http://host.docker.internal:2368/ghost/assets/ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:1078:6)
      at Generator.throw (<anonymous>)
      at e._resumeGenerator (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:9555:29)
      at e._handleResolvedContinueValue (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:9563:6)
      at e._proceed (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:9556:1277)
      at invoke (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:3900:139)
      at h.flush (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:3892:74)
      at p.flush (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:3903:292)
      at F._end (http://host.docker.internal:2368/ghost/assets/vendor.min-1ea21c7abed44258b1662cf1b103c007.js:3954:9)

Monkey log:

Action: click anchor event
Details: INVALID. There are no input elements in the current page

Key press event
Details: INVALID. No element is in focus

Key press event
Details: INVALID. No element is in focus

Random click event
Details: A with id: ember105

Key press event
Details: INVALID. No element is in focus

Special key press event
Details: No element is in focus. Pressed the {ctrl}{downarrow} combination of special keys on the page body

Action: click anchor event
Details: Link to http://host.docker.internal:2368/ghost/#/staff/ is hidden

Key press event
Details: INVALID. No element is in focus

Scroll event (pg down) event
Details: Page limit reached! Successfully scrolled down from y=0 to y=0

Special key press event
Details: No element is in focus. Pressed the {alt}{home} combination of special keys on the page body

Selector focus (hover) event
Details: Position: (379, 291). INVALID, element has no attribute onmouseover

Selector focus (hover) event
Details: Position: (300, 73). INVALID, element has no attribute onmouseover

Random click event
Details: DOM element with path: #ember132 > DIV:nth-child(1)

Key press event
Details: INVALID. No element is in focus

Selector focus (hover) event
Details: Position: (964, 452). INVALID, element has no attribute onmouseover

Key press event
Details: INVALID. No element is in focus

Key press event
Details: INVALID. No element is in focus

Random click event
Details: DOM element with path: #ember132 > DIV:nth-child(1)

Special key press event
Details: No element is in focus. Pressed the {ctrl}{del} combination of special keys on the page body

Special key press event
Details: No element is in focus. Pressed the {alt}{pageup} combination of special keys on the page body

Page navigation (Reload) event
Details: Successfully reloaded the page

Special key press event
Details: No element is in focus. Pressed the {alt}{home} combination of special keys on the page body

Selector focus (hover) event
Details: Position: (497, 533). INVALID, element has no attribute onmouseover

Scroll event (pg down) event
Details: Page limit reached! Successfully scrolled down from y=0 to y=0

Action: click anchor event
Details: Input is hidden

Selector focus (hover) event
Details: Position: (184, 559). INVALID, element has no attribute onmouseover

Random double click event
Details: DOM element with path: #ember30 > DIV:nth-child(1) > DIV:nth-child(1) > H2:nth-child(1)

Random double click event
Details: DOM element with path: #ember28 > DIV:nth-child(1)

Special key press event
Details: No element is in focus. Pressed the {shift}{selectall} combination of special keys on the page body

Page navigation (back) event
Details: Navigated 1 page back

Special key press event
Details: No element is in focus. Pressed the {alt}{pagedown} combination of special keys on the page body

Special key press event
Details: No element is in focus. Pressed the {meta}{downarrow} combination of special keys on the page body

Viewport change event
Details: Changed the viewport to macbook-15 with portrait orientation

Selector focus (hover) event
Details: Position: (60, 4). INVALID, element has no attribute onmouseover

Page navigation (Reload) event
Details: Successfully reloaded the page

Page navigation (Reload) event
Details: Successfully reloaded the page

Viewport change event
Details: Changed the viewport to iphone-6 with portrait orientation

Scroll event (horizontal fw) event
Details: Page limit reached! Successfully scrolled to the right from x=0 to x=0

Key press event
Details: INVALID. No element is in focus

Key press event
Details: INVALID. No element is in focus

Page navigation (back) event
Details: Navigated 1 page back

Key press event
Details: INVALID. No element is in focus

Page navigation (back) event
Details: Navigated 1 page back

Key press event
Details: INVALID. No element is in focus

Action: click anchor event
Details: Link to http://host.docker.internal:2368/ghost/#/settings/general/ is hidden

Selector focus (hover) event
Details: Position: (508, 568). INVALID, no selectable element

Action: click anchor event
Details: INVALID. There are no input elements in the current page

Special key press event
Details: No element is in focus. Pressed the {shift}{downarrow} combination of special keys on the page body

Scroll event (horizontal bk) event
Details: INVALID. Not able to scroll to the left anymore

Random double click event
Details: IFRAME with id: site-frame

Page navigation (back) event
Details: Navigated 1 page back

Scroll event (horizontal fw) event
Details: Page limit reached! Successfully scrolled to the right from x=0 to x=0

Random double click event
Details: Position: (394, 386). INVALID, no selectable element

Random double click event
Details: IFRAME with id: site-frame

Action: click anchor event
Details: INVALID. There are no input elements in the current page

Page navigation (Reload) event
Details: Successfully reloaded the page

Random double click event
Details: Position: (938, 502). INVALID, no selectable element

Page navigation (back) event
Details: Navigated 1 page back

Key press event
Details: INVALID. No element is in focus

Action: click anchor event
Details: Link to http://host.docker.internal:2368/ghost/#/posts/?type=scheduled is hidden

Selector focus (hover) event
Details: Position: (386, 120). INVALID, no selectable element

Page navigation (Reload) event
Details: Successfully reloaded the page

Selector focus (hover) event
Details: Position: (644, 267). INVALID, no selectable element

Page navigation (back) event
Details: Navigated 1 page back

Special key press event
Details: No element is in focus. Pressed the {shift}{{} combination of special keys on the page body

Selector focus (hover) event
Details: Position: (849, 411). INVALID, no selectable element

Action: click anchor event
Details: Clicked link to: http://host.docker.internal:2368/ghost/#/posts/

Action: click anchor event
Details: INVALID. There are no input elements in the current page

Viewport change event
Details: Changed the viewport to ipad-mini with portrait orientation

Page navigation (Reload) event
Details: Successfully reloaded the page

Page navigation (Reload) event
Details: Successfully reloaded the page

Action: click anchor event
Details: INVALID. There are no input elements in the current page

Scroll event (horizontal bk) event
Details: INVALID. Not able to scroll to the left anymore

Key press event
Details: INVALID. No element is in focus

Random click event
Details: DOM element with path: #ember97 > P:nth-child(2)

Viewport change event
Details: Changed the viewport to iphone-3 with portrait orientation

Selector focus (hover) event
Details: Position: (149, 355). INVALID, element has no attribute onmouseover

Key press event
Details: INVALID. No element is in focus

Selector focus (hover) event
Details: Position: (396, 591). INVALID, no selectable element

Key press event
Details: INVALID. No element is in focus

Key press event
Details: INVALID. No element is in focus

Viewport change event
Details: Changed the viewport to macbook-13 with portrait orientation

Viewport change event
Details: Changed the viewport to macbook-11 with portrait orientation

Special key press event
Details: No element is in focus. Pressed the {shift}{esc} combination of special keys on the page body

Key press event
Details: INVALID. No element is in focus

Scroll event (pg down) event
Details: Page limit reached! Successfully scrolled down from y=0 to y=0

Scroll event (pg down) event
Details: Page limit reached! Successfully scrolled down from y=0 to y=0

Key press event
Details: INVALID. No element is in focus

Viewport change event
Details: Changed the viewport to iphone-xr with portrait orientation

Scroll event (horizontal bk) event
Details: INVALID. Not able to scroll to the left anymore

Key press event
Details: INVALID. No element is in focus

Key press event
Details: INVALID. No element is in focus

Action: click anchor event
Details: Cleared input

Special key press event
Details: No element is in focus. Pressed the {alt}{esc} combination of special keys on the page body

Action: click anchor event
Details: Link to https://ghost.org/help/using-the-editor/ is hidden

Scroll event (horizontal bk) event
Details: INVALID. Not able to scroll to the left anymore

Page navigation (back) event
Details: Navigated 1 page back

Excepción no manejada (teclas aleatorias en menú perfil)

Comportamiento esperado

Al hacer clic en sitios u opciones no esperados deben controlarse las excepciones y no lanzarlas al navegador.

Comportamiento actual

Al ejecutar pruebas aleatorias con monkey-cypress se identificó un error lanzado por la aplicación, de una excepción no manejada. El problema parece presentarse en el menú del perfil.

Pasos a reproducir

Por ser una ejecución aleatoria ("monkey testing") no es posible decir los pasos exactos, pero se adjuntan los pantallazos de la herramienta como evidencias, y el resultado de la ejecución como información adicional.
Los pasos para ejecutar la herramienta fueron:
1- Instalar cypress, con el comando npm install -g cypress
2- Descargar y descomprimir monkey-cypress de https://github.com/TheSoftwareDesignLab/monkey-cypress
3- En el directorio donde quedó ejecutar el comando: npm install
4- Ejecutar cypress open
5- Seleccionar Open Project y buscar la carpeta creada. Esto hace que migre a Cypress 12 (aceptar los cambios).
6- Crear, en la carpeta, el directorio results con un archivo llamado monkey-execution.html.
7- Ir al archivo monkey.cy.js que quedó en \cypress\e2e\monkey y cambiar los datos de baseUrl y appName.
8- Seleccionar en cypress.io el archivo monkey.cy.js para realizar la ejecución.

Evidencias

image

image

Contexto (Ambiente de ejecución)

Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
monkey-cypress, commit e60dda8.
Cypress package version: 12.10.0
Node JS versión 12.22.1

Información adicional

Execution of monkey in http://localhost:2368/ghost/
Date of execution: 3/3/2023 at 20:57:32
Seed:8503392739524607

Browser event (source: network): Failed to load resource: the server responded with a status of 403 (Forbidden)
Key press event

Details: INVALID. No element is in focus
Key press event

Details: INVALID. No element is in focus
Special key press event

Details: No element is in focus. Pressed the {ctrl}{esc} combination of special keys on the page body
Selector focus (hover) event

Details: Position: (621, 71). INVALID, element has no attribute onmouseover
Page navigation (Reload) event

Details: Successfully reloaded the page
Special key press event

Details: No element is in focus. Pressed the {ctrl}{del} combination of special keys on the page body
Key press event

Details: INVALID. No element is in focus
Selector focus (hover) event

Details: Position: (303, 433). INVALID, element has no attribute onmouseover
Page navigation (forward) event

Details: Attempted to navigate 1 page forward
Special key press event

Details: No element is in focus. Pressed the {alt}{del} combination of special keys on the page body
Page navigation (forward) event

Details: Attempted to navigate 1 page forward
Selector focus (hover) event

Details: Position: (529, 658). INVALID, element has no attribute onmouseover
Key press event

Details: INVALID. No element is in focus

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: IFRAME with id: site-frame
Special key press event

Details: No element is in focus. Pressed the {shift}{leftarrow} combination of special keys on the page body
Page navigation (Reload) event

Details: Successfully reloaded the page
Key press event

Details: INVALID. No element is in focus
Page navigation (back) event

Details: Navigated 1 page back
Special key press event

Details: No element is in focus. Pressed the {shift}{backspace} combination of special keys on the page body
Key press event

Details: INVALID. No element is in focus
Key press event

Details: INVALID. No element is in focus

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: A with id: ember19
Key press event

Details: INVALID. No element is in focus
Key press event

Details: INVALID. No element is in focus
Selector focus (hover) event

Details: Position: (333, 494). INVALID, element has no attribute onmouseover
Selector focus (hover) event

Details: Position: (184, 299). INVALID, element has no attribute onmouseover
Special key press event

Details: No element is in focus. Pressed the {shift}{selectall} combination of special keys on the page body
Key press event

Details: INVALID. No element is in focus
Selector focus (hover) event

Details: Position: (110, 305). INVALID, element has no attribute onmouseover

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: DOM element with path: #ember26 > DIV:nth-child(1)
Special key press event

Details: No element is in focus. Pressed the {shift}{del} combination of special keys on the page body
Special key press event

Details: No element is in focus. Pressed the {meta}{rightarrow} combination of special keys on the page body

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > DIV:nth-child(1) > HEADER:nth-child(1)
Special key press event

Details: No element is in focus. Pressed the {meta}{backspace} combination of special keys on the page body
Random click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > DIV:nth-child(1) > SECTION:nth-child(2) > DIV:nth-child(2) > DIV:nth-child(1) > DIV:nth-child(1) > DIV:nth-child(2)
Special key press event

Details: No element is in focus. Pressed the {meta}{{} combination of special keys on the page body

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > DIV:nth-child(1) > SECTION:nth-child(2) > DIV:nth-child(2) > DIV:nth-child(2) > DIV:nth-child(1) > DIV:nth-child(2)

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > DIV:nth-child(1) > HEADER:nth-child(1)
Special key press event

Details: No element is in focus. Pressed the {meta}{end} combination of special keys on the page body
Special key press event

Details: No element is in focus. Pressed the {shift}{selectall} combination of special keys on the page body

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: A with id: ember42
Key press event

Details: INVALID. No element is in focus
Special key press event

Details: No element is in focus. Pressed the {ctrl}{home} combination of special keys on the page body

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > SECTION:nth-child(2) > OL:nth-child(1) > LI:nth-child(1)
Key press event

Details: INVALID. No element is in focus
Random click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > SECTION:nth-child(2) > OL:nth-child(1) > LI:nth-child(1)
Selector focus (hover) event

Details: Position: (920, 629). INVALID, element has no attribute onmouseover
Key press event

Details: INVALID. No element is in focus
Selector focus (hover) event

Details: Position: (964, 222). INVALID, element has no attribute onmouseover
Selector focus (hover) event

Details: Position: (899, 430). INVALID, element has no attribute onmouseover

Console log event. Trace: undefined

Console log event. Trace: undefined
Random double click event

Details: DOM element with path: #ember5 > DIV:nth-child(3) > MAIN:nth-child(2) > SECTION:nth-child(1) > SECTION:nth-child(2) > OL:nth-child(1) > LI:nth-child(1) > DIV:nth-child(1)
Special key press event

Details: No element is in focus. Pressed the {meta}{end} combination of special keys on the page body
Selector focus (hover) event

Details: Position: (289, 122). INVALID, element has no attribute onmouseover
Special key press event

Details: No element is in focus. Pressed the {alt}{end} combination of special keys on the page body
Special key press event

Details: No element is in focus. Pressed the {shift}{del} combination of special keys on the page body

No permite crear un correo con emojis

Comportamiento esperado

Debería permitir crear un correo (email) con emojis en el perfil de una persona (staff), dado que es algo que ha empezado a tener mayor aceptación entre los usuarios.

Comportamiento actual

Cuando se edita un perfil de una persona (staff) y en el campo de Email se escribe aguno con emojis sale un error diciendo: "Please supply a valid email address", pero debería aceptarlo.

Pasos a reproducir

  1. Ingresar a la aplicación con un usuario administrador.
  2. En las opciones del menú del lado izquierdo, seleccionar "Staff".
  3. Seleccionar el usuario "Ghost".
  4. En el formulario con los datos cambiar el "Email" por uno con emojis: 🙂@😎.kz
  5. Presionar el botón "Save".
  6. Se observa un mensaje de error: Please supply a valid email address (ver imagen en evidencias).

Evidencias

image

Contexto (Ambiente de ejecución)

App version: X.XX.X
OS: Windows XX, Mac XX, Ubuntu XX
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Información adicional

La prueba (usando Scenarios Outline en profile-email) termina con error porque no encuentra el mensaje de error esperado.

Cambiar contraseña password incorrecto

Comportamiento esperado

El usuario tiene una sección de "My Account" donde puede cambiar el password, si el usuario ingresa un password incorrecto, el sistema le muestra el mensaje "Tu contraseña es incorrecta. Tu contraseña es incorrecta.", cuando se corrige y se vuelve a intentar la cambia correctamente, se debe mostrar el mensaje de que se cambio correctamente y ocultar el mensaje de error.

Comportamiento actual

El usuario tiene una sección de "My Account" donde puede cambiar el password, si el usuario ingresa un password incorrecto, el sistema le muestra el mensaje "Tu contraseña es incorrecta. Tu contraseña es incorrecta.", cuando se corrige y se vuelve a intentar la cambia correctamente, pero no oculta el mensaje de error.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la seccion "Your profile"
  4. Ingresar contraseña actual incorrectamente y una nueva contraseña
  5. Hacer clic en el botón "Change Password" para guardar
  6. Ingresar contraseña actual correcta y la nueva contraseña
  7. Hacer clic en el botón "Retry" para guardar

Evidencias

PE028.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Windows 10 Pro
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

Información adicional

Agregar navegación con label duplicado

Comportamiento esperado

Cuando se esta ingresando una url y un label en el "Design" debería validar que se escriba el label y la url que se esta creando no este duplicados y mostrar un mensaje de error.

Comportamiento actual

Permite agregar label y url duplicados, lo cual no es recomendable ya que deberia ser único.

Pasos para reproducir

  • Ingresar a la aplicación (Ghost) con un usuario administrador.
  • En las opciones del menú del lado izquierdo, seleccionar "Design".
  • Seleccionar "NAVIGATION".
  • Escribir label el nombre y la url correcta, volver a crear otro label duplicado
  • Hacer clic en el enlace "+" al finalizar el campo

Evidencias

Screen.recording.2023-05-22.03.19.31.webm

Contexto (Ambiente de ejecución)

Herramienta probada: Ghost versión 3.41.1
Herramientas usadas para las pruebas:
Kraken commit c62bfe7
Node JS versión 12.22.1
Dispositivo: portátil HP Intel Core i5-7200U CPU @ 2.50GHz 2.71 GHz, 12 GB de RAM
S.O.: Windows 10 Pro 21H2 (64 bits)
Navegador: Google Chrome Versión 111.0.5563.147

Información adicional

Ninguna

En la ventana Help ocurre un error de carga de página

Describe the bug
Al realizar un recorrido por toda la página de ghost, en la ventana help no ocurre una visualización del contenido, sino un error de carga

To Reproduce

  1. Página principal
  2. Recorrido por cada ventana de la página como "Home" Tag" "Author" y "Help"
  3. En la ventana "Help" ocurre un error de carga de página (Imágen 1)

Expected behavior
Que al igual que las otras ventanas, en la ventana "Help" se pueda observar la información detallada

Evidencias
Imágen 1
image

Enviroment (please complete the following information):

  • Device: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz 2.59 GHz, 12,0 GB RAM
  • OS: Windows 10 Pro
  • Browser Google Chrome
  • Version 111.0.5563.147

Additional context
Add any other context about the problem here.

No se puede entrar a un sitio protegido por contraseña

Comportamiento esperado

Cuando el sitio se configura como privado, el usuario debería poder acceder a los contenidos bajo la opción "View site" tras introducir la contraseña previamente configurada.

Comportamiento actual

Después de introducir la contraseña previamente configurada, la página de inicio de sesión se muestra de nuevo bajo la opción "View site" sin un mensaje de éxito ni de error. Con el resultado de que el acceso a los contenidos del sitio no es posible.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Seleccionar "General"
  4. Ir a la sección "Advanced settings" y activar "Make this site private"
  5. Ingresar una contraseña
  6. Seleccionar "Save settings"
  7. Hacer clic en "View site"
  8. Digitar contraseña previamente configurada
  9. Seleccionar "Enter now"
  10. El sistema no permite ingresar y se muestra de nuevo la página de inicio de sesión

Evidencias

PE037.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Chrome Developer Console:

This attempt to set a cookie via a Set-Cookie header was blocked because it had the "SameSite=None" attribute but did not have the "Secure" attribute, which is required in order to use "SameSite=None" 

Editar página no hay una validación en la cantidad de texto del contenido

Comportamiento esperado

Al editar una página en ghost, se debe ingresar el titulo y el contenido. Se espera que se pueda introducir un texto grande sin congelar la aplicación.

Comportamiento actual

Cuando se ingresa a paginas y se intenta editar una página, no hay una validación en el texto del contenido, lo cual al ingresar mas de 56.000 palabras, la aplicación deja de funcionar.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Ir a la seccion "Pages"
  4. Seleccionar la página a editar.
  5. Ingresar contenido con más de 50.000 palabras.

Evidencias

PE026.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Windows 10 Pro
Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

Información adicional

Error al añadir perfil de facebook con nombre de usuario que contiene caracteres prohibidos

Comportamiento esperado

El sistema verifica que la URL al perfil de facebook cumple las normas de Facebook.

Los nombres de usuario solo pueden incluir caracteres alfanuméricos (A-Z, 0-9) y puntos ("."). No pueden incluir términos genéricos ni extensiones (.com, .net).
https://www.facebook.com/help/105399436216001?locale=es_LA&cms_id=105399436216001

Si la URL no cumple las normas de Facebook, se muestra un error y se rechaza guardar la configuración.

Comportamiento actual

Si se introduce una URL a un perfil de facebook con caracteres no permitidos en la sección de "Social accounts" de "General", no se muestra un error. Cuanda se guarda, aparece un error object null is not iterable (cannot read property Symbol(Symbol.iterator)) que no es comprensible para un usuario.

Pasos a reproducir

  1. Ingresar al sistema
  2. Hacer login
  3. Seleccionar "General"
  4. En la sección de "Social accounts" ingresa una URL al perfil de Facebook con caracteres invalidas, https://www.facebook.com/Ägidius
  5. Seleccionar "Save settings"

Evidencias

PE008.mp4

Contexto (Ambiente de ejecución)

App version: 3.41.1
OS: Debian 11.6 (bullseye)
Browser: Chrome 111 (Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36)

Información adicional

Chrome Developer Console:

Uncaught TypeError: object null is not iterable (cannot read property Symbol(Symbol.iterator))
    at e.serialize (ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:2238:76)
    at e.serializeAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8336:29)
    at vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8335:77
    at vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8103:146
    at Map.forEach (<anonymous>)
    at e.eachAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8103:127)
    at e.eachAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8076:660)
    at B.eachAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8438:153)
    at e.serialize (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8335:49)
    at e.serialize (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8367:157)

Uncaught (in promise) TypeError: object null is not iterable (cannot read property Symbol(Symbol.iterator))
    at e.serialize (ghost.min-fb570ba5e71dd5f77195b123fa6e1c8d.js:2238:76)
    at e.serializeAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8336:29)
    at vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8335:77
    at vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8103:146
    at Map.forEach (<anonymous>)
    at e.eachAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8103:127)
    at e.eachAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8076:660)
    at B.eachAttribute (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8438:153)
    at e.serialize (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8335:49)
    at e.serialize (vendor.min-1ea21c7abed44258b1662cf1b103c007.js:8367:157)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.