让 Blipit 保持最新

Odoo 和普通的 script 标签会自动保持最新。通过包管理器安装的内容会停留在你安装的版本,所以有新版本时 Blipit 会告诉你:app.blipit.io 项目上的横幅、版本重要时的一封邮件,以及开发控制台中的一行提示。每一种都会说明新版本修复了什么,以及更新的确切命令。

1会自动更新的部分

  • 来自 https://blipit.io/sdk/blipit.js 的 script 标签:始终是最新版本。
  • Odoo:模块在下次与 Blipit 同步后加载最新的浏览器 SDK。有新的 blipit_monitor 版本时,管理员会在每个 Odoo 页面顶部看到带有步骤的更新栏。
  • 从 @blipit/browser 0.3.11 起,npm 安装和指定了版本的 script 标签(https://blipit.io/sdk/0.3.11/blipit.js)会从 https://blipit.io/sdk/0.3/ 加载问题报告器、“报告问题”按钮、反馈表单和 session replay,该路径始终是最新的兼容 0.3 构建。已安装的核心会把自己的版本告诉每个部分;不支持该核心的部分会拒绝运行,改为加载确切版本,因此不会出问题。
  • 其余所有内容(打包进你应用的核心、@blipit/nextjs、@blipit/node、React Native、Python、PHP、Ruby、Go、Java、.NET、Swift、Flutter)只有在你更新包时才会改变。

2固定确切版本

要从你安装的确切版本加载每个部分,请向 init 传入 sdkChannel: "exact"。当你的安全策略要求 Subresource Integrity 时使用它:完整性哈希只适用于确切版本路径,例如 https://blipit.io/sdk/0.3.11/blipit-report.js,因为 0.3 路径会随每次发布而变化。确切版本的文件发布后永不改变;所有路径都由 blipit.io 提供。

ts
Blipit.init({
  key: "blipit_pk_...",
  sdkChannel: "exact",
});

3更新横幅

Blipit 能看到每个项目在过去 7 天里用哪个 SDK 和版本发送了事件。有更新的版本时,项目页面和项目列表会显示横幅,例如:此项目使用 @blipit/browser 0.3.7,0.3.11 已发布,并列出自你的版本以来的变化和适合你技术栈的更新命令(npm、pnpm、yarn、pip、composer 等),带“复制”按钮。点叉号只会对该版本隐藏;下一个版本发布时会再次显示。

4重要时发送邮件

标记为重要或安全修复的版本会给工作区所有者发送一封邮件,仅限过去 14 天内从受影响版本发送过事件的项目,且每个版本每个项目最多一次。普通版本只显示横幅。要停止这些邮件,请在设置中关闭“当 SDK 更新修复了重要问题时给我发邮件”,或使用邮件底部的链接。

5开发控制台中的提示

在开发环境中,有新版本时每个 SDK 会在每个会话或进程中打印一行。它从 SDK 本来就会收到的 Blipit 响应中读取最新版本,因此不会增加任何请求,也绝不会在生产环境或向你的访客显示。

  • 浏览器和 Next.js:在 localhost、127.0.0.1 和 .local 主机上、设置 debug: true 时,或 NODE_ENV 为 development 时。提示随“报告问题”设置一起获取,因此设置 feedbackWidget: false 时不会有提示。
  • Node、Python、PHP、Ruby 和 Go:当环境为 development 或开启了 debug 时。
  • React Native:在 __DEV__ 构建中。
sh
[blipit] 0.3.11 is available (you have 0.3.7) — Loads the newest compatible bug reporter automatically… — npm install @blipit/browser@latest

6更新命令

npm
npm install @blipit/browser@latest
npm install @blipit/nextjs@latest
npm install @blipit/node@latest
npm install @blipit/react-native@latest
pnpm
pnpm add @blipit/browser@latest
yarn
yarn add @blipit/browser@latest
Python
pip install -U blipit
PHP
composer update blipit/blipit
Ruby
bundle update blipit
Go
go get github.com/blipit-io/blipit-go@latest
.NET
dotnet add package Blipit
Script 标签
<script src="https://blipit.io/sdk/0.3.11/blipit.js" defer></script>

须知

  • pnpm 11 会在新版本发布一天后才安装它(minimum-release-age),所以发布当天 pnpm add 会悄悄安装上一个版本。请明天再试,或运行 pnpm add @blipit/browser@<version> --config.minimum-release-age=0,或在 pnpm-workspace.yaml 的 minimumReleaseAgeExclude 中加入 @blipit/*。
  • 对于 .NET、Java、Android、Swift 和 Flutter,以及 0.2.1 之前的 Python、PHP、Ruby、Go 和 React Native,Blipit 还看不到已安装的版本,因此这些项目不会收到横幅或邮件。更新到 0.2.1 或更高版本即可获得。

遇到问题?发邮件至 support@blipit.io。每个项目的密钥和确切的 DSN 在 app.blipit.io 的“API 密钥”下。