TypeScript 编辑器需要一种方法来确定它们是否正在与官方TS服务器进行通信,

btxsgosb  于 9个月前  发布在  TypeScript
关注(0)|答案(2)|浏览(111)

否则,它们会无意识地将服务器上的事件转发到我们的官方遥测系统,这将在我们的数据中产生令人困惑的噪声(例如,与我们的来源不匹配的堆栈或不存在的Assert)。
最安全的方法是对官方tsserver.js进行加密哈希,并让编辑器仅报告与匹配文件相对应的遥测。这可能对于例如夜间构建来说是不切实际的。编辑:@minestarks指出,签名文件将是更明智的方法来实现这一点——无需大型包含列表。
一个中间方法是从收件箱实现中仅报告遥测(即,如果tsserver来自npm或nuget,则不报告)。我们可能会丢失大量数据。
或者,我们的发布过程可以以某种方式修改tsserver.js,以便编辑器可以检测到。分叉必须是故意恶意的,才能复制更改(而不是现在,他们必须明确抑制事件才能成为好公民)。

hk8txs48

hk8txs481#

FYI @minestarks@mjbvz

3df52oht

3df52oht2#

遥测Maven的指导是,没有办法统一防止第三方向我们的服务器发送未经请求的遥测数据,因此我们在官方构建中设置为true的标志应该足够了(即不需要处理签名/哈希)。

相关问题