Used to check for browser translation.
用于检测浏览器翻译。
ブラウザの翻訳を検出する

Blocklet Server v1.16.29:更好的构建者支持

wangshijun
2024年8月2日 · edited
B
Blogs
cover

经过 5 周的勤奋改进和严格测试,总共包含 105 次提交,我们很激动地宣布发布 Blocklet Server v1.16.29。此次更新带来了许多增强和 bug 修复,旨在提升您在我们的下一代去中心化应用平台上的体验。

功能和改进#

Blocklet 启动流程#

我们对 Blocklet 启动流程进行了多项改进,以确保用户体验更加顺畅和可靠。

  • 修复了在 DID Wallet 浏览器中应用启动流程无法工作的问题。
  • 除去了发布流程中有关免费 Blocklet 使用的表述。
  • 修正了网关和打包 Blocklet 的发布按钮功能。
  • 确保当运行 Blocklet 钩子时,Blocklet 不会被设置为停止状态。
  • 解决了从相对路径挂载的 Blocklet Store 启动应用时 Blocklet Logo 损坏的问题。
  • 避免在启动时将所有者名称附加到 Blocklet 标题中,以免标题过长。

用户登录体验#

我们对用户登录体验进行了优化,让用户能够更清晰和准确地查看自己的资料信息。

image.png

应用管理体验#

我们新增了一些功能和修复,让应用管理更简单,提升了用户体验。

  • 支持添加挂载在在相对路径上的 Blocklet Store。
  • 在 Blocklet 概览页面上,可点击域名进行复制。
  • 在共享空间模式下启动所有组件之前,会检查应用到期情况。
  • 即使 DID Spaces 断开连接,存储页面功能也会保持一致。
  • 在 Blocklet 列表页面上,表格行现在有了鼠标滑过效果。
  • 解决了因用户输入时带有 DID 前缀导致通行证页面崩溃的问题。

image.png

构建者体验#

Blocklet Schema#

为开发人员提供了更多的自定义选项。

  • 现在可以在 blocklet.yml 中调整 Blocklet 钩子/迁移脚本的超时时间。

Blocklet CLI#

对 blocklet 命令行界面进行了重大改进,提升了功能性和易用性。

  • 新增了对 blocklet 测试子命令的支持:init、start、delete 和 reset,对应的封装 https://www.npmjs.com/package/@blocklet/testlab。
  • 引入了 blocklet server rescue 功能,以便在共享模式下恢复 blocklets。
  • 为了加快启动速度,在 blocklet server 启动时将 blocklet 环境更新变为可选项。
  • 支持在 blocklet add 中使用 DID 添加 blocklet。
  • 确保 static 类型的 blocklet 在 blocklet init 中的 main 字段为目录。
  • 解决了在命令行界面打印表格时由中日韩字符引起的宽度问题。
  • 修复了在运行 blocklet dev 时引擎组件安装失败的问题。
  • 解决了运行 blocklet dev 时日志传输问题。
  • 确保在运行 blocklet config 时尊重 profile 参数。
  • 在没有图形界面的环境下运行 blocklet connect 时,显示 DID 连接 URL 方便复制。
  • 支持在 blocklet connect 中挂载相对路径上的 blocklet store。
  • 解决了 blocklet.md 中的中日韩字符导致 blocklet bundle 失败的问题。
  • 确保在运行 blocklet dev 时输出的 URL 尊重非标准端口。

Blocklet Service#

新功能和修复提高了 blocklet 服务的稳健性和功能性。

  • 默认情况下启用了所有用户的推送通知。
  • 在更新用户设置时支持使用签名进行身份验证。
  • 在联合登录环境中邀请用户时增加了选择应用程序的支持。
  • 支持使用 OpenAPI 和 OpenComponent 协议开发可互操作的 blocklets。
  • 在 Blocklet 运行在 CDN 之后时能正确获取客户端 IP。
  • 当请求不存在的静态资源时返回 400 状态以避免意外的缓存问题。

Blocklet Studio#

Blocklet Studio 的很多改进都是为了优化应用创建、上传、发布流程。

  • 支持创建 blocklet 时添加/移除 blocklet store。
  • 支持在 studio 中上传到 blocklet store 时设置恰当的 blocklet 来源。
  • 支持上传时解析依赖的 blocklets 到同一 blocklet store。
  • 支持在无服务器和多租户模式下隔离的 blocklet store 列表。
  • 允许访客在多租户模式下创建 blocklet。
  • 改善了连接 blocklet store 的开发者信息展示。
  • 支持断开和重新连接已连接的 blocklet store。
  • 确保通过上传方式在 studio 中始终可以创建 blocklet。
  • 创建版本后自动上传到连接的 store。
  • 在创建发布时智能选择依赖的 blocklet。
  • 成功连接后自动关闭 blocklet store 页面。
  • 在上传新发布到 blocklet store 时,在 toast 通知中显示商店的 URL。
  • 创建新版本时确保不会下载旧版本。
  • 页面重新加载后重新连接存储时保留 blocklet 数据。
  • 在从上传创建发布时确保上传的文件为 ZIP 格式。
  • 从上传创建发布时使用生产存储的静态服务器。
  • 修复发布应用到挂载在相对路径上的 blocklet store 的问题。
  • 从 Blocklet Studio 复制的安装 URL 尊重非标准端口。

image.png

Docker 支持#

我们已对 Docker 支持进行了升级,以便更方便地开发和部署 Blocklet。

  • 构建出专门用于 Blocklet 开发的 Docker 镜像,文档
  • 每个测试版和正式版都会构建和发布对应的 Docker 镜像。

安全与可靠性#

我们一直致力于通过多项更新来增强 Blocklet Server 的安全性和可靠性。

  • 在检查更新时忽略不可用的 Blocklet Store。
  • 支持在 Google 云平台上获取 IP 地址。
  • 启用 SQLite WAL 模式以提升数据库读写性能。
  • 默认将 Blocklet 服务的最大集群大小设定为 1,以加快启动速度。
  • 通过使用 window.open 改善导航链接的方式。
  • 确保存在多个磁盘时磁盘余量警报正常工作。
  • 防止安装后将 Blocklet 状态设置为停止。
  • 修复默认路由引擎中针对带有查询参数的 URL 的规则匹配。
  • 修复默认路由引擎打开 Blocklet 挂载点时过多重定向的问题。
  • 确保创建 Blocklet 时设置正确的初始化状态。
  • 在保存 BLOCKLET_APP_URL 之前验证 URL 的有效性。
  • 改进验证 VC 展示时的错误处理以方便调试。
  • 确保创建审计日志时不会抛错。
  • 为隔离模式提供更好的提示。
  • 当直接访问静态服务器时改进错误消息提示。

破坏性变更#

自从 Blocklet Server v1.16.28 版本起,有一个重大变化,如果您正在从之前的版本升级,请按照以下步骤操作:

  • 安装最新版本:npm install -g @blocklet/cli
  • 停止服务器:blocklet server stop -f
  • 启动服务器:blocklet server start。如果在此步骤中遇到错误,请尝试重新启动可能有所帮助。

您的反馈在行动中#

在本节中,我们将重点介绍用户反馈驱动的优化,从微小的调整到重大变化,每次更新都是为了提升您的体验和满足您的需求。 感谢您持续的支持和参与。

帮助我们改进#

如果您在使用过程中有任何需求、建议或问题,您可以访问 ArcBlock 社区 提供反馈。我们将尽力帮助您。此外,如果您的反馈被选中进行我们的 漏洞赏金计划,您将获得 ABT 奖励。



2.0.175