Error 422 - about.json no existe al intentar ejecutar watch

Hola,

Espero que alguien pueda ayudarme aquí.

Como contexto, he recogido el foro actual de una agencia anterior y no he trabajado en Discourse antes de esta semana.

Necesito hacer una modificación en el tema (para corregir el aviso id:discourse.component-template-resolving).

He seguido la guía para configurar la CLI. He logrado conectarme a la API y descargar los archivos del tema.

Sin embargo, cuando intento ejecutar discourse_theme watch ., obtengo el siguiente error:

✘ Error 422 para https://forum.mywebsite.co.uk/admin/themes/import.json: Error de importación: about.json no existe o es inválido. ¿Está seguro de que este es un Tema de Discourse?

He comprobado lo siguiente:

  • Estoy operando desde la carpeta correcta.
  • about.json tiene el nombre y formato correctos
    • También tengo autores y los números de versión allí
    • La codificación es correcta
  • Todos los directorios existen

Pensé que podría ser el permiso de la API, pero si estoy conectado y los ámbitos en admin/api/keys/settings son correctos y están presentes, entonces seguramente no puede ser así.

Básicamente, estoy atascado. ¿Alguien puede indicarme la dirección correcta?

3 Me gusta

Recuerdo algo similar que todavía era un problema de la API: ¿puedes comprobar la configuración de tu clave de API? Debe estar configurada como global y asignada a un usuario específico, no a todos los usuarios.

3 Me gusta

Hola Charlie,

Gracias por la respuesta. La clave de API que estaba usando ya estaba configurada como global y para un usuario específico.

Sin embargo, he creado 2 nuevas contra algunos moderadores/administradores (por si acaso no le gustaba el usuario administrador actual) y estoy teniendo los mismos resultados de nuevo.

Gracias :slight_smile:

1 me gusta

Lo siento, solo para actualizar esto, también he creado un tema completamente nuevo discourse_theme new <dir> y de nuevo falla cuando ejecuto el comando watch, así que eso descarta que haya un problema con el tema (como mencionaste antes).

1 me gusta

Lamentablemente, ese es el límite de mi conocimiento sobre la configuración de “cómo ejecutar” :sweat_smile:

Estoy seguro de que una persona más conocedora podrá ayudarte pronto.

Principalmente he visto ese error al intentar ejecutar el comando en un plugin (lo cual no funcionará), pero dices que es un tema, o con quizás errores de formato en el .json, pero ya lo has comprobado… :thinking:

2 Me gusta

La ubicación puede variar, pero ¿has echado un vistazo a tu archivo ~/.discourse_theme?

Me he encontrado con un problema anteriormente en el que mi emulador de terminal utilizaba el “modo de pegado entre corchetes”.

Puedes ver la diferencia a continuación (estas no son claves reales, las he truncado para compartirlas)… si ves algo como la primera entrada con caracteres de escape, eso es incorrecto y no funcionará.

image

Hola Kris:

Gracias por tu respuesta, ¡no había pensado en eso!

Revisé mi archivo discourse_theme y, aunque la clave API se formó correctamente, el archivo en sí parece un poco mal formado, en comparación con otros ejemplos que he visto (incluido el tuyo).

Cabe señalar que estoy en macOS y este fue el resultado de cat ~/discourse_theme en iTerm.

"/Users/firstname.lastname/_dev/_dru/site-discourse-forum/src":
  url: https://forum.site.co.uk
  theme_id: 2
api_keys:
  ! '':
  https://forum.site.co.uk: [API_KEY]
"/Users/firstname.lastname/_dev/_dru/site-discourse-forum":
  url: https://forum.site.co.uk

Procederé a limpiar esto, ya que potencialmente podría ser una razón.

EDITAR: No. Eliminé el ! ‘ ‘: y la segunda entrada. Lo mismo. :cara_derritiéndose:

1 me gusta