adobe / adobe/aio-lib-java

`aem` Date format not compatible with ECMA Script

Abierto
#103 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
7
Forks
22
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Events produced by `aem` have the form:

```
{
"event_id": "2e38cbbe-4426-468c-b5ff-a8940e3210a6",
"event": {
"@id": "urn:oeid:aem:779885b1-f2fa-480d-b0c0-5a93619c5d29",
"@type": "xdmCreated",
"activitystreams:published": "2021-03-16T10:54:47.037+01",
"activitystreams:to": {
"@type": "xdmImsOrg",
"xdmImsOrg:id": "B28447B65D88A19F0A495C33@AdobeOrg"
},

```
...


Unfortunately, the JavaScript methods Date.parse() or new Date() cannot parse Date-Strings like that one:

`2021-03-16T10:54:47.037+01 //ERROR!!`

(even though it's proper ISO-8601) The correct format is

`2021-03-16T10:54:47.037+01:00`

With the additional minute-denominator in the timezone (yes - there are half-hour time zones on the globe ..)

What also is allowed is `2021-03-16T10:54:47.037Z`
for "Zulu-time" which is equivalent to "+00:00"

Now we should assume that 90% of the receivers are implemented in I/O runtime and thus implemented in JS. So I think it's worth the effort fixing it.

You can argue, that this can easily be done with a regex in the client code...
BUT: Most of the time I received valid events with "Z" timezone.. and my code worked perfectly well.
Until now, when I saw these "incomplete" "+01" showing up in the queue..
and my perfectly working code stopped working

BTW: "+01:00" also is perfectly ISO-8601 compatible... so it should be safe to use that format instead.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza por localizar la serialización de eventos que produce el valor `activitystreams:published` de aem; la issue proporciona ejemplos de los formatos actuales y deseados. Comprueba la marca de tiempo emitida con JavaScript `Date.parse()` o `new Date()` y considera la issue resuelta cuando la zona horaria incluya su componente de minutos o use `Z`, y el evento resultante siga siendo un ISO-8601 válido.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, javascript
Área
api, backend
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.