打包affine的tauri应用

林一二2023年02月14日 10:31
  1. Failed to load resource: Origin tauri://localhost is not allowed by Access-Control-Allow-Origin. Status code: 200parse-html.js:228 https://cdn.affine.pro/694fdbab78e0da3ed7922eba7d506dcf12f57308e1904dd694f53eb2.jpg
    1. 只有一个不大相关的 https://github.com/tauri-apps/tauri/issues/2327 说是已修
    2. 也有可能需要我们服务端配 CORS
  2. window.CLIENT_APP undefined ,说明 preload 没加载成功√
    1. 有一个 export{};导致加载失败,tauri的preload里不支持这语法
  3. 快捷键不生效
  4. 需要打包windows版
    1. 参考 ChatGPT desktop 配置 action
    2. 部分 tauri api 在 windows 上没有,需要条件禁用
    3. windows 上无法提交代码,报错 cygpath not found
    4. windows 上 zx 脚本无法执行,报错 node not found
  5. 自动升级
  6. 在ci里在tauri上跑端到端测试
  7. mac需要开发者账号
  8. 有些affine前端上的bug,需要在客户端上运行测试√
    1. 在合了最新master后这些都不是问题了
      1. 新页面无法创建文本内容
      2. 无界模式有问题
  9. 最新Octobase让userid变成string,目前在每次刷新后先用默认email xxx@xx.xx 来取 user id
  10. BlockSuite更新了blob provider 的写法,适配后目前会报错说 blob 取不到,Failed to read blob file /t5GGutpCXHqh53U8jt1ozHAKhcf2DaQZGSGLzwp6mUU=
    1. 排查发现创建新工作区时加载的是 DuplexProvider ,而平时用的是 TauriProvider,而且平时可以正常黏贴图片
    2. 原来创建时用的是默认的,创建后才会 warpWorkspace 用上我写的 Provider,所以要在创建时,就及时用上我的那个
    3. 不过bloblisi 读取还没在 Octobase 写
  11. 打包后一直白屏,而且什么错也不报
    1. 多处断点,发现 loadWorkspace 都没调用
    2. 发现是 next/routerrouter.asPath 在开发模式是 /,在构建后变成了 /index.html,这就是为什么构建后和开发模式行为不一样
    3. 其它用到 router.asPath 的地方可能也会有风险
  12. 跑测试报 ReferenceError: window is not defined,来自 @tauri-apps/api
    1. await import 延迟导入也不行
    2. globalSetup 不生效
    3. 在 config 文件里直接 global.window = undefined 可生效,但会影响其它 blocksuite 包里的检测
    4. 给 tauri 提了 pr,并先用 pnpm patch 解决

Undefined widget 'supertag-form'