nodeSolidServer / nodeSolidServer/node-solid-server
Phantom Websocket Pub Notification (cross-pod notification bug)
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.8k
- 派生
- 308
- PR 合并指标
- 30 天内没有已合并 PR
描述
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
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先使用报告中的 solidweb.org 或 NSS 5.6.16 环境,复现 uvdsl/solid-inbox-watcher 中的跨 pod 通知,尤其是其 issue 6 中描述的场景。将订阅端点与已更新的 pod 进行比较;完成的标准是,只有在其订阅的资源发生变化时,inbox watcher 才会收到通知。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- backend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 35/100