nodeSolidServer / nodeSolidServer/node-solid-server
Phantom Websocket Pub Notification (cross-pod notification bug)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 1.8k
- Forks
- 308
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die pod-übergreifende Benachrichtigung in uvdsl/solid-inbox-watcher zu reproduzieren, insbesondere das in issue 6 beschriebene Szenario, unter Verwendung der gemeldeten solidweb.org- oder NSS 5.6.16-Umgebungen. Vergleiche den Subscription-Endpunkt mit dem Pod, der aktualisiert wurde; abgeschlossen ist die Aufgabe, wenn ein Inbox-Watcher nur dann eine Benachrichtigung erhält, wenn sich seine abonnierte Ressource ändert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100