nodeSolidServer / nodeSolidServer/node-solid-server
Phantom Websocket Pub Notification (cross-pod notification bug)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- JavaScript
- Estrellas
- 1.8k
- Forks
- 308
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
I am currently looking into notifications from the inbox using WebSockets over at uvdsl/solid-inbox-watcher.
(It seems that https://github.com/solid/node-solid-server/issues/933 could be closed?)
However, we ran into an odd thing:
Alice (aka. uvdsl, left hand side) and Bob (aka. ik1533, right hand side) both have their own pod on the same NSS.
When watching Alice's inbox, Alice receives a update notification via wss, when Bob's inbox is updated.

The PUB message Alice receives only contains "correct" data, i.e. the endpoint she subscribed to. But that resource wasn't updated...
MessageEvent {
isTrusted: true,
data: 'pub https://uvdsl.solid.aifb.kit.edu/inbox/',
origin: 'wss://uvdsl.solid.aifb.kit.edu', lastEventId: '',
source: null, …}
isTrusted: true
bubbles: false
cancelBubble: false
cancelable: false
composed: false
currentTarget: WebSocket {url: 'wss://uvdsl.solid.aifb.kit.edu/inbox/',
readyState: 1, bufferedAmount: 0, onerror: null, onopen: ƒ, …}
data: "pub https://uvdsl.solid.aifb.kit.edu/inbox/"
defaultPrevented: false
eventPhase: 0
lastEventId: ""
origin: "wss://uvdsl.solid.aifb.kit.edu"
path: []
ports: []
returnValue: true
source: null
srcElement: WebSocket {url: 'wss://uvdsl.solid.aifb.kit.edu/inbox/', readyState: 1, bufferedAmount: 0, onerror: null, onopen: ƒ, …}
target: WebSocket {url: 'wss://uvdsl.solid.aifb.kit.edu/inbox/', readyState: 1, bufferedAmount: 0, onerror: null, onopen: ƒ, …}
timeStamp: 38368.69999999972
type: "message"
userActivation: null
[[Prototype]]: MessageEvent
Other examples can be found at the corresponding issue in my app's repo: https://github.com/uvdsl/solid-inbox-watcher/issues/6
We tested it on solidweb.org and on another NSS 5.6.16
Do you have any idea as to why this happens?
Cheers
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza reproduciendo la notificación entre pods en uvdsl/solid-inbox-watcher, especialmente el escenario descrito en su issue 6, utilizando los entornos de solidweb.org o NSS 5.6.16 indicados en el informe. Compara el endpoint de suscripción con el pod que se actualizó; se considera terminado cuando un watcher de inbox recibe una notificación únicamente cuando cambia el recurso al que está suscrito.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript
- Área
- backend
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 35/100