跳到主要內容

Blocklet Server v1.16.29:建構者支援大幅升級

wangshijun
BlockletBlocklet ServerComputeProduct Release

歷經 5 週的持續改善與嚴謹測試,累積 105 筆提交,我們很高興宣布 Blocklet Server v1.16.29 正式發布。這次更新帶來大量功能強化與錯誤修正,致力於提升您在我們次世代去中心化應用平台上的體驗。

功能與改進

Blocklet 啟動流程

我們針對 Blocklet 啟動流程進行多項改善,帶來更流暢、更穩定的使用體驗。

  • 啟動流程現在能在 DID Wallet 瀏覽器中正常運作。
  • 移除啟動流程中與免費 Blocklet 使用相關的文字說明。
  • 修正 Gateway 與 Pack 類型 Blocklet 啟動按鈕的功能問題。
  • 確保執行 Blocklet Hook 時不會將 Blocklet 誤設為停止狀態。
  • 修正從掛載於相對路徑的商店啟動時,Blocklet 標誌顯示異常的問題。
  • 啟動時若擁有者名稱過長,避免其被附加到 Blocklet 標題後方。

使用者登入體驗

我們改善了使用者登入體驗,讓個人資料頁面的資訊更清楚、更準確。

image.png

應用管理體驗

我們新增多項功能並修正錯誤,以簡化應用管理流程並提升易用性。

  • 新增支援加入掛載於相對路徑的 Blocklet Store。
  • 在 Blocklet 概覽頁面啟用網域一鍵複製功能。
  • 確保在無伺服器(serverless)模式下,啟動必要元件前會先檢查是否已過期。
  • 即使 DID Spaces 中斷連線,儲存空間頁面功能仍維持正常運作。
  • 為 Blocklet 清單頁面的每一列加入滑鼠懸停效果。
  • 修正因使用者輸入 DID 前綴而導致 Passport 頁面當機的問題。

image.png

建構者體驗

Blocklet Schema

我們強化了 Blocklet Schema,為開發者提供更多自訂選項。

  • 新增支援在 blocklet.yml 中自訂 Blocklet Hook/Migration 腳本的逾時設定。

Blocklet CLI

我們大幅改進了 Blocklet CLI 的功能與易用性。

  • 新增支援 Blocklet 測試子指令:initstartdeletereset,詳情請參閱 https://www.npmjs.com/package/@blocklet/testlab
  • 新增 blocklet server rescue 指令,用於恢復無伺服器模式下的 Blocklet。
  • 讓伺服器啟動時的 Blocklet 環境更新變為可選項目,加快啟動速度。
  • 支援在 blocklet add 時透過 DID 加入 Blocklet。
  • 確保靜態 Blocklet 在 blocklet init 時 main 欄位為目錄。
  • 修正 CLI 輸出表格時因中日韓(CJK)字元造成的寬度問題。
  • 解決執行 blocklet dev 時引擎元件安裝失敗的問題。
  • 修正執行 blocklet dev 時的日誌串流問題。
  • 確保執行 blocklet config 時能正確套用 profile 參數。
  • 在無 GUI 環境執行 blocklet connect 時,印出 DID Connect 連結。
  • 支援在 blocklet connect 中使用掛載於相對路徑的 Blocklet Store。
  • 修正因 blocklet.md 內含中日韓(CJK)字元而導致 blocklet bundle 失敗的問題。
  • 確保執行 blocklet dev 時能正確套用非標準連接埠設定。

Blocklet Service

我們新增功能並修正問題,強化 Blocklet Service 的穩定性與能力。

  • 預設為所有使用者啟用推播通知。
  • 支援更新使用者設定時以簽章進行身份驗證。
  • 在聯合登入(federated login)情境中邀請使用者時,支援選擇應用。
  • 支援 OpenAPI 與 OpenComponent 協定,方便開發可互通的 Blocklet。
  • 修正 Blocklet 位於 CDN 後方時客戶端 IP 取得錯誤的問題。
  • 針對不存在的靜態資源請求回傳 400 狀態碼,避免非預期的快取問題。

Blocklet Studio

我們強化了 Blocklet Studio,簡化開發與部署流程。

  • 支援在建立 Blocklet 時加入/移除 Blocklet Store。
  • 從 Studio 上傳至 Blocklet Store 時,正確設定 Blocklet 來源。
  • 支援上傳解析至同一 Blocklet Store 的相依 Blocklet。
  • 支援在無伺服器與多租戶模式下使用獨立的商店清單。
  • 允許訪客在多租戶模式下建立 Blocklet。
  • 改善已連接 Blocklet Store 的開發者資訊顯示。
  • 支援與已連接的 Blocklet Store 中斷連線與重新連線。
  • 確保透過上傳建立 Blocklet 的功能隨時可用。
  • 建立版本後,啟用自動上傳至已連接商店的功能。
  • 實作建立版本時相依 Blocklet 的智慧選取。
  • 連線成功後自動關閉 Blocklet Store 頁面。
  • 上傳新版本至 Blocklet Store 時,於 Toast 通知中顯示商店網址。
  • 建立新版本時,避免下載舊版本。
  • 商店重新連線後,於頁面重新整理時保留 Blocklet 資料。
  • 確保透過上傳建立版本時,上傳的檔案為 ZIP 格式。
  • 透過上傳建立版本時,使用正式環境商店的靜態伺服器。
  • 修正無法發布至掛載於相對路徑之 Blocklet Store 的問題。
  • 使用 Blocklet Studio 時,確保能正確套用非標準連接埠設定。

image.png

Docker 支援

我們強化了 Docker 支援,讓 Blocklet 開發與部署更加輕鬆。

  • 發布專屬的 Blocklet 開發用 Docker 映像檔,詳情請參閱文件
  • Blocklet Server 現在可為每個 Beta 版及正式版釋出發布 Docker 映像檔。

相依套件管理

我們改進了相依套件管理,確保在不同平台上運作更順暢。

  • 更新 blocklet/uploader,修正 Windows 平台上的 ZIP 驗證問題。

安全性與穩定性

我們針對 Blocklet Server 的安全性與穩定性進行多項更新。

  • 檢查更新時,忽略無法使用的 Blocklet Store。
  • 支援在 Google Cloud Platform 上取得 IP 位址。
  • 啟用 SQLite WAL 模式,提升資料庫讀寫效能。
  • 預設將 Blocklet Service 的最大叢集規模設為 1,加快啟動速度。
  • 修正自動檢查更新時發生的錯誤。
  • 改用 window.open 開啟連結,改善導覽體驗。
  • 確保在有多顆磁碟的情況下,磁碟用量警示仍能正常運作。
  • 防止安裝完成後 Blocklet 狀態被設為停止。
  • 修正預設路由引擎中,含查詢參數網址的規則比對問題。
  • 解決開啟 Blocklet 掛載點時發生過多重新導向的問題。
  • 確保從輸入建立的 Blocklet 能正確初始化。
  • 儲存 BLOCKLET_APP_URL 前先驗證網址格式。
  • 改善驗證 VC Presentation 時的錯誤處理,方便除錯。
  • 避免取消或還原不存在的工作時發生錯誤。
  • 確保建立稽核日誌時不會拋出錯誤。
  • 針對隔離模式切換提供更完善的操作提示。
  • 防止引擎驅動的 Blocklet 進行狀態同步。
  • 改善直接存取靜態伺服器時的錯誤訊息。

重大變更

自 Blocklet Server v1.16.28 起有一項重大變更。若您要從舊版本升級,請依照以下步驟操作:

  • 安裝最新版本:npm install -g @blocklet/cli
  • 停止伺服器:blocklet server stop -f
  • 啟動伺服器:blocklet server start。若此步驟出現錯誤,再次嘗試啟動通常可以解決。

社群焦點:您的意見,我們的行動

在這個單元中,我們要分享由使用者意見所啟發的最新更新與錯誤修正。從細微調整到重大變更,每一項更新都是為了提升您的體驗、滿足您的需求所踏出的一步。感謝您一直以來的支持與參與。

協助我們持續進步

若您在使用過程中有任何需求、建議或問題,歡迎前往 ArcBlock 社群 提供意見回饋,我們將竭盡全力為您提供協助。此外,若您的意見回饋獲選為我們的 Bug Bounty 計畫 一員,您將可獲得 ABT 獎勵。

ArcBlock Community

本頁涉及

產品

  • Blocklet Server superseded

    把 blocklet 作為子行程託管的伺服器。這項工作在 ARC 裡繼續;子行程託管這個模型不再往下走。

術語

  • Blocklet

    Blocklet 是 ARC 的可部署單元。它把應用宣告的內容、設定和執行需求放在一起,讓開發者面對的是一個清楚的應用單位,而不是散落在不同位置的部署線索。