经过 5 周的勤奋改进和严格测试,总共包含 105 次提交,我们很激动地宣布发布 Blocklet Server v1.16.29。此次更新带来了许多增强和 bug 修复,旨在提升您在我们的下一代去中心化应用平台上的体验。
功能和改进#
Blocklet 启动流程#
我们对 Blocklet 启动流程进行了多项改进,以确保用户体验更加顺畅和可靠。
- 修复了在 DID Wallet 浏览器中应用启动流程无法工作的问题。
- 除去了发布流程中有关免费 Blocklet 使用的表述。
- 修正了网关和打包 Blocklet 的发布按钮功能。
- 确保当运行 Blocklet 钩子时,Blocklet 不会被设置为停止状态。
- 解决了从相对路径挂载的 Blocklet Store 启动应用时 Blocklet Logo 损坏的问题。
- 避免在启动时将所有者名称附加到 Blocklet 标题中,以免标题过长。
用户登录体验#
我们对用户登录体验进行了优化,让用户能够更清晰和准确地查看自己的资料信息。
- 现在用户的创建日期将公开显示在个人资料页面上,参考 https://community.arcblock.io/profile。
- 我们解决了在 Blocklet Server 切换通行证时出现的通行证找回 URL 错误问题。
- 我们支持了使用 DID Wallet 和 DID Spaces 的 DID 个人资料功能,参考 https://www.arcblock.io/blog/zh/did-wallet-5-6-released
- 此外,当用户在 DID Spaces 中连接时,用户的资料将会自动刷新。
应用管理体验#
我们新增了一些功能和修复,让应用管理更简单,提升了用户体验。
- 支持添加挂载在在相对路径上的 Blocklet Store。
- 在 Blocklet 概览页面上,可点击域名进行复制。
- 在共享空间模式下启动所有组件之前,会检查应用到期情况。
- 即使 DID Spaces 断开连接,存储页面功能也会保持一致。
- 在 Blocklet 列表页面上,表格行现在有了鼠标滑过效果。
- 解决了因用户输入时带有 DID 前缀导致通行证页面崩溃的问题。
构建者体验#
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 尊重非标准端口。
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 奖励。