From 6aa9640c2baffa6ab10aec32149e45f26ce508a5 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 28 May 2024 23:15:13 +0800 Subject: [PATCH 01/10] :art: Support Windows arm64 https://github.com/siyuan-note/siyuan/issues/11565 --- app/electron-builder-arm64.yml | 75 ++++++++++++++++++++++++++++++++++ app/package.json | 1 + scripts/win-build.bat | 17 +++++++- 3 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 app/electron-builder-arm64.yml diff --git a/app/electron-builder-arm64.yml b/app/electron-builder-arm64.yml new file mode 100644 index 000000000..a8c706ced --- /dev/null +++ b/app/electron-builder-arm64.yml @@ -0,0 +1,75 @@ +productName: "SiYuan" +appId: "org.b3log.siyuan" +asar: false +compression: "normal" +copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." +artifactName: "siyuan-${version}-${os}-arm64.${ext}" +extraMetadata: + main: "electron/main.js" +directories: + output: "build" +files: + - "electron" +extraFiles: + - from: "../LICENSE" + to: "LICENSE" +win: + icon: "src/assets/icon.ico" + extraResources: + - from: "kernel-arm64" + to: "kernel" + requestedExecutionLevel: "asInvoker" + # certificateSubjectName: "Yunnan Liandi Technology Co., Ltd." + signingHashAlgorithms: [ 'sha256' ] + #rfc3161TimeStampServer: "http://sha256timestamp.ws.symantec.com/sha256/timestamp" + #rfc3161TimeStampServer: "http://time.certum.pl" + rfc3161TimeStampServer: "http://timestamp.entrust.net/TSS/RFC3161sha2TS" + target: + - target: "nsis" + arch: "arm64" +nsis: + oneClick: false + perMachine: false + allowToChangeInstallationDirectory: true + allowElevation: true + deleteAppDataOnUninstall: true + createDesktopShortcut: true + createStartMenuShortcut: true + shortcutName: "SiYuan" + license: "../LICENSE" + include: "nsis/installer.nsh" + warningsAsErrors: false + installerSidebar: "nsis/installerSidebar.bmp" + uninstallerSidebar: "nsis/uninstallerSidebar.bmp" + +extraResources: + - from: "changelogs" + to: "changelogs" + - from: "stage" + to: "stage" + - from: "guide" + to: "guide" + filter: "!**/{.DS_Store,.git,.gitignore,.idea}" + - from: "appearance/boot" + to: "appearance/boot" + filter: "!**/{.DS_Store}" + - from: "appearance/icons" + to: "appearance/icons" + filter: "!**/{.DS_Store}" + - from: "appearance/langs" + to: "appearance/langs" + filter: "!**/{.DS_Store}" + - from: "appearance/emojis" + to: "appearance/emojis" + filter: "!**/{.DS_Store}" + - from: "appearance/themes/midnight" + to: "appearance/themes/midnight" + filter: "!**/{.DS_Store,custom.css}" + - from: "appearance/themes/daylight" + to: "appearance/themes/daylight" + filter: "!**/{.DS_Store,custom.css}" + - from: "src/assets/fonts" + to: "appearance/fonts" + filter: "!**/{.DS_Store}" + - from: "pandoc/pandoc-windows-amd64.zip" + to: "pandoc.zip" \ No newline at end of file diff --git a/app/package.json b/app/package.json index 7a2ed9e5a..07df386c7 100644 --- a/app/package.json +++ b/app/package.json @@ -19,6 +19,7 @@ "start": "NODE_ENV=development electron ./electron/main.js", "dist-appx": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --config electron-appx-builder.yml", "dist": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --config electron-builder.yml --publish=never", + "dist-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --config electron-builder-arm64.yml --publish=never", "dist-darwin": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --mac --config electron-builder-darwin.yml --publish=never", "dist-darwin-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --mac --config electron-builder-darwin-arm64.yml --publish=never", "dist-linux": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --linux --config electron-builder-linux.yml --publish=never" diff --git a/scripts/win-build.bat b/scripts/win-build.bat index da942c6fd..00ec75e3d 100644 --- a/scripts/win-build.bat +++ b/scripts/win-build.bat @@ -13,6 +13,7 @@ cd .. echo 'Cleaning Builds' del /S /Q /F app\build 1>nul del /S /Q /F app\kernel 1>nul +del /S /Q /F app\kernel-arm64 1>nul echo 'Building Kernel' @REM the C compiler "gcc" is necessary https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ @@ -22,17 +23,24 @@ set GOPROXY=https://goproxy.io set CGO_ENABLED=1 cd kernel -@REM you can use `go generate` instead (nead add something in main.go) +@REM you can use `go mod tidy` to update kernel dependency before build +@REM you can use `go generate` instead (need add something in main.go) goversioninfo -platform-specific=true -icon=resource/icon.ico -manifest=resource/goversioninfo.exe.manifest set GOOS=windows set GOARCH=amd64 -@REM you can use `go mod tidy` to update kernel dependency before build go build --tags fts5 -v -o "../app/kernel/SiYuan-Kernel.exe" -ldflags "-s -w -H=windowsgui" . if errorlevel 1 ( exit /b %errorlevel% ) +set GOARCH=arm64 +@REM if you want to build arm64, you need to install aarch64-w64-mingw32-gcc +set CC="D:/Program Files/llvm-mingw-20240518-ucrt-x86_64/bin/aarch64-w64-mingw32-gcc.exe" +go build --tags fts5 -v -o "../app/kernel-arm64/SiYuan-Kernel-arm64.exe" -ldflags "-s -w -H=windowsgui" . +if errorlevel 1 ( + exit /b %errorlevel% +) cd .. echo 'Building Electron App' @@ -41,6 +49,11 @@ call pnpm run dist if errorlevel 1 ( exit /b %errorlevel% ) +echo 'Building Electron App arm64' +call pnpm run dist-arm64 +if errorlevel 1 ( + exit /b %errorlevel% +) cd .. echo 'Building Appx' From 5cf02f67d91050562a7e30d5e7e94dea365e7695 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 28 May 2024 23:40:32 +0800 Subject: [PATCH 02/10] :art: Support Linux arm64 https://github.com/siyuan-note/siyuan/issues/11566 --- app/electron-builder-linux-arm64.yml | 59 ++++++++++++++++++++++++++++ app/package.json | 3 +- scripts/linux-build.sh | 5 +++ 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 app/electron-builder-linux-arm64.yml diff --git a/app/electron-builder-linux-arm64.yml b/app/electron-builder-linux-arm64.yml new file mode 100644 index 000000000..32319674f --- /dev/null +++ b/app/electron-builder-linux-arm64.yml @@ -0,0 +1,59 @@ +productName: "SiYuan" +appId: "org.b3log.siyuan" +asar: false +compression: "normal" +copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." +artifactName: "siyuan-${version}-${os}-arm64.${ext}" +extraMetadata: + main: "electron/main.js" +directories: + output: "build" +files: + - "electron" +extraFiles: + - from: "../LICENSE" + to: "LICENSE" + +linux: + icon: "src/assets/icon.png" + category: "Utility" + extraResources: + - from: "kernel-linux-arm64" + to: "kernel" + target: + - target: "tar.gz" + arch: "arm64" + - target: "AppImage" + arch: "arm64" + +extraResources: + - from: "changelogs" + to: "changelogs" + - from: "stage" + to: "stage" + - from: "guide" + to: "guide" + filter: "!**/{.DS_Store,.git,.gitignore,.idea}" + - from: "appearance/boot" + to: "appearance/boot" + filter: "!**/{.DS_Store}" + - from: "appearance/icons" + to: "appearance/icons" + filter: "!**/{.DS_Store}" + - from: "appearance/langs" + to: "appearance/langs" + filter: "!**/{.DS_Store}" + - from: "appearance/emojis" + to: "appearance/emojis" + filter: "!**/{.DS_Store}" + - from: "appearance/themes/midnight" + to: "appearance/themes/midnight" + filter: "!**/{.DS_Store,custom.css}" + - from: "appearance/themes/daylight" + to: "appearance/themes/daylight" + filter: "!**/{.DS_Store,custom.css}" + - from: "src/assets/fonts" + to: "appearance/fonts" + filter: "!**/{.DS_Store}" + - from: "pandoc/pandoc-linux-amd64.zip" + to: "pandoc.zip" \ No newline at end of file diff --git a/app/package.json b/app/package.json index 07df386c7..39671af48 100644 --- a/app/package.json +++ b/app/package.json @@ -22,7 +22,8 @@ "dist-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --config electron-builder-arm64.yml --publish=never", "dist-darwin": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --mac --config electron-builder-darwin.yml --publish=never", "dist-darwin-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --mac --config electron-builder-darwin-arm64.yml --publish=never", - "dist-linux": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --linux --config electron-builder-linux.yml --publish=never" + "dist-linux": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --linux --config electron-builder-linux.yml --publish=never", + "dist-linux-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --linux --config electron-builder-linux.yml --publish=never" }, "keywords": [ "markdown", diff --git a/scripts/linux-build.sh b/scripts/linux-build.sh index 307208ba2..52c457264 100755 --- a/scripts/linux-build.sh +++ b/scripts/linux-build.sh @@ -8,6 +8,7 @@ cd .. echo 'Cleaning Builds' rm -rf app/build rm -rf app/kernel-linux +rm -rf app/kernel-linux-arm64 echo 'Building Kernel' @@ -20,6 +21,10 @@ export CGO_ENABLED=1 export GOOS=linux export GOARCH=amd64 go build --tags fts5 -v -o "../app/kernel-linux/SiYuan-Kernel" -ldflags "-s -w" . + +export GOARCH=arm64 +export CC=~/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc +go build --tags fts5 -v -o "../app/kernel-linux/SiYuan-Kernel-arm64" -ldflags "-s -w" . cd .. echo 'Building Electron App' From 6f50032795ab8bd1c2fcfb27e7c0388856e5cb78 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 28 May 2024 23:53:01 +0800 Subject: [PATCH 03/10] :art: Support Linux arm64 https://github.com/siyuan-note/siyuan/issues/11566 --- scripts/linux-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/linux-build.sh b/scripts/linux-build.sh index 52c457264..2e8df5a6f 100755 --- a/scripts/linux-build.sh +++ b/scripts/linux-build.sh @@ -24,7 +24,7 @@ go build --tags fts5 -v -o "../app/kernel-linux/SiYuan-Kernel" -ldflags "-s -w" export GOARCH=arm64 export CC=~/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc -go build --tags fts5 -v -o "../app/kernel-linux/SiYuan-Kernel-arm64" -ldflags "-s -w" . +go build --tags fts5 -v -o "../app/kernel-linux-arm64/SiYuan-Kernel-arm64" -ldflags "-s -w" . cd .. echo 'Building Electron App' From 5ec27681f97eef3baae3666ada9203db09f957df Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 28 May 2024 23:56:04 +0800 Subject: [PATCH 04/10] :art: Update build scripts --- scripts/darwin-build.sh | 2 ++ scripts/linux-build.sh | 2 ++ scripts/win-build.bat | 2 ++ 3 files changed, 6 insertions(+) diff --git a/scripts/darwin-build.sh b/scripts/darwin-build.sh index d6dea75a9..8fe5bc1f1 100755 --- a/scripts/darwin-build.sh +++ b/scripts/darwin-build.sh @@ -18,10 +18,12 @@ export GO111MODULE=on export GOPROXY=https://goproxy.io export CGO_ENABLED=1 +echo 'Building Kernel amd64' export GOOS=darwin export GOARCH=amd64 go build --tags fts5 -v -o "../app/kernel-darwin/SiYuan-Kernel" -ldflags "-s -w" . +echo 'Building Kernel arm64' export GOOS=darwin export GOARCH=arm64 go build --tags fts5 -v -o "../app/kernel-darwin-arm64/SiYuan-Kernel" -ldflags "-s -w" . diff --git a/scripts/linux-build.sh b/scripts/linux-build.sh index 2e8df5a6f..c89f414ff 100755 --- a/scripts/linux-build.sh +++ b/scripts/linux-build.sh @@ -18,10 +18,12 @@ export GO111MODULE=on export GOPROXY=https://goproxy.io export CGO_ENABLED=1 +echo 'Building Kernel amd64' export GOOS=linux export GOARCH=amd64 go build --tags fts5 -v -o "../app/kernel-linux/SiYuan-Kernel" -ldflags "-s -w" . +echo 'Building Kernel arm64' export GOARCH=arm64 export CC=~/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc go build --tags fts5 -v -o "../app/kernel-linux-arm64/SiYuan-Kernel-arm64" -ldflags "-s -w" . diff --git a/scripts/win-build.bat b/scripts/win-build.bat index 00ec75e3d..521aaa8f9 100644 --- a/scripts/win-build.bat +++ b/scripts/win-build.bat @@ -27,6 +27,7 @@ cd kernel @REM you can use `go generate` instead (need add something in main.go) goversioninfo -platform-specific=true -icon=resource/icon.ico -manifest=resource/goversioninfo.exe.manifest +echo 'Building Kernel amd64' set GOOS=windows set GOARCH=amd64 go build --tags fts5 -v -o "../app/kernel/SiYuan-Kernel.exe" -ldflags "-s -w -H=windowsgui" . @@ -34,6 +35,7 @@ if errorlevel 1 ( exit /b %errorlevel% ) +echo 'Building Kernel arm64' set GOARCH=arm64 @REM if you want to build arm64, you need to install aarch64-w64-mingw32-gcc set CC="D:/Program Files/llvm-mingw-20240518-ucrt-x86_64/bin/aarch64-w64-mingw32-gcc.exe" From 9a03f03ff96d1f9ea7a3f1ed79d266b78830fee2 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 May 2024 00:09:41 +0800 Subject: [PATCH 05/10] :art: Support Linux arm64 https://github.com/siyuan-note/siyuan/issues/11566 --- scripts/linux-build.sh | 4 +++- scripts/win-build.bat | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/linux-build.sh b/scripts/linux-build.sh index c89f414ff..5f19e4fae 100755 --- a/scripts/linux-build.sh +++ b/scripts/linux-build.sh @@ -29,7 +29,9 @@ export CC=~/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc go build --tags fts5 -v -o "../app/kernel-linux-arm64/SiYuan-Kernel-arm64" -ldflags "-s -w" . cd .. -echo 'Building Electron App' +echo 'Building Electron App amd64' cd app pnpm run dist-linux +echo 'Building Electron App arm64' +pnpm run dist-linux-arm64 cd .. diff --git a/scripts/win-build.bat b/scripts/win-build.bat index 521aaa8f9..d28284d17 100644 --- a/scripts/win-build.bat +++ b/scripts/win-build.bat @@ -45,7 +45,7 @@ if errorlevel 1 ( ) cd .. -echo 'Building Electron App' +echo 'Building Electron App amd64' cd app call pnpm run dist if errorlevel 1 ( From b90ef067150415e39e7fc5eae3123246d3b04550 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 May 2024 09:03:32 +0800 Subject: [PATCH 06/10] :art: Support Linux arm64 https://github.com/siyuan-note/siyuan/issues/11566 --- app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/package.json b/app/package.json index 39671af48..9f7d615aa 100644 --- a/app/package.json +++ b/app/package.json @@ -23,7 +23,7 @@ "dist-darwin": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --mac --config electron-builder-darwin.yml --publish=never", "dist-darwin-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --mac --config electron-builder-darwin-arm64.yml --publish=never", "dist-linux": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --linux --config electron-builder-linux.yml --publish=never", - "dist-linux-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --linux --config electron-builder-linux.yml --publish=never" + "dist-linux-arm64": "ELECTRON_MIRROR=https://cnpmjs.org/mirrors/electron/ electron-builder --arm64 --linux --config electron-builder-linux-arm64.yml --publish=never" }, "keywords": [ "markdown", From 25d0f28622daa39fa6fcb46b9573fd5fe794bf02 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 May 2024 09:20:53 +0800 Subject: [PATCH 07/10] :art: Support arm64 arch https://github.com/siyuan-note/siyuan/issues/11566 https://github.com/siyuan-note/siyuan/issues/11565 --- scripts/linux-build.sh | 2 +- scripts/win-build.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/linux-build.sh b/scripts/linux-build.sh index 5f19e4fae..91b832559 100755 --- a/scripts/linux-build.sh +++ b/scripts/linux-build.sh @@ -26,7 +26,7 @@ go build --tags fts5 -v -o "../app/kernel-linux/SiYuan-Kernel" -ldflags "-s -w" echo 'Building Kernel arm64' export GOARCH=arm64 export CC=~/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc -go build --tags fts5 -v -o "../app/kernel-linux-arm64/SiYuan-Kernel-arm64" -ldflags "-s -w" . +go build --tags fts5 -v -o "../app/kernel-linux-arm64/SiYuan-Kernel" -ldflags "-s -w" . cd .. echo 'Building Electron App amd64' diff --git a/scripts/win-build.bat b/scripts/win-build.bat index d28284d17..e12148e5c 100644 --- a/scripts/win-build.bat +++ b/scripts/win-build.bat @@ -39,7 +39,7 @@ echo 'Building Kernel arm64' set GOARCH=arm64 @REM if you want to build arm64, you need to install aarch64-w64-mingw32-gcc set CC="D:/Program Files/llvm-mingw-20240518-ucrt-x86_64/bin/aarch64-w64-mingw32-gcc.exe" -go build --tags fts5 -v -o "../app/kernel-arm64/SiYuan-Kernel-arm64.exe" -ldflags "-s -w -H=windowsgui" . +go build --tags fts5 -v -o "../app/kernel-arm64/SiYuan-Kernel.exe" -ldflags "-s -w -H=windowsgui" . if errorlevel 1 ( exit /b %errorlevel% ) From 58829f6b27fc893d1ead01c0f08b8cce7e9e2915 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 May 2024 09:29:31 +0800 Subject: [PATCH 08/10] :art: Change packing compression from "normal" to "store" --- app/electron-builder-arm64.yml | 2 +- app/electron-builder-darwin-arm64.yml | 2 +- app/electron-builder-darwin.yml | 2 +- app/electron-builder-linux-arm64.yml | 2 +- app/electron-builder-linux.yml | 2 +- app/electron-builder.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/electron-builder-arm64.yml b/app/electron-builder-arm64.yml index a8c706ced..65e6d28aa 100644 --- a/app/electron-builder-arm64.yml +++ b/app/electron-builder-arm64.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "normal" +compression: "store" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}-arm64.${ext}" extraMetadata: diff --git a/app/electron-builder-darwin-arm64.yml b/app/electron-builder-darwin-arm64.yml index 86c8064b4..776e9a658 100644 --- a/app/electron-builder-darwin-arm64.yml +++ b/app/electron-builder-darwin-arm64.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "normal" +compression: "store" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}-arm64.${ext}" extraMetadata: diff --git a/app/electron-builder-darwin.yml b/app/electron-builder-darwin.yml index 7085567a6..0cf1d7d7b 100644 --- a/app/electron-builder-darwin.yml +++ b/app/electron-builder-darwin.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "normal" +compression: "store" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}.${ext}" extraMetadata: diff --git a/app/electron-builder-linux-arm64.yml b/app/electron-builder-linux-arm64.yml index 32319674f..3a16a14be 100644 --- a/app/electron-builder-linux-arm64.yml +++ b/app/electron-builder-linux-arm64.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "normal" +compression: "store" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}-arm64.${ext}" extraMetadata: diff --git a/app/electron-builder-linux.yml b/app/electron-builder-linux.yml index 342bb7605..e7bc7378c 100644 --- a/app/electron-builder-linux.yml +++ b/app/electron-builder-linux.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "normal" +compression: "store" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}.${ext}" extraMetadata: diff --git a/app/electron-builder.yml b/app/electron-builder.yml index 76fcfad4b..6722b2531 100644 --- a/app/electron-builder.yml +++ b/app/electron-builder.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "normal" +compression: "store" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}.${ext}" extraMetadata: From a31cf35836a81803d13979c3905d7a9c48265347 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 May 2024 09:56:38 +0800 Subject: [PATCH 09/10] :art: Change packing compression from "store" to "normal" on darwin --- app/electron-builder-darwin-arm64.yml | 2 +- app/electron-builder-darwin.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/electron-builder-darwin-arm64.yml b/app/electron-builder-darwin-arm64.yml index 776e9a658..86c8064b4 100644 --- a/app/electron-builder-darwin-arm64.yml +++ b/app/electron-builder-darwin-arm64.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "store" +compression: "normal" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}-arm64.${ext}" extraMetadata: diff --git a/app/electron-builder-darwin.yml b/app/electron-builder-darwin.yml index 0cf1d7d7b..7085567a6 100644 --- a/app/electron-builder-darwin.yml +++ b/app/electron-builder-darwin.yml @@ -1,7 +1,7 @@ productName: "SiYuan" appId: "org.b3log.siyuan" asar: false -compression: "store" +compression: "normal" copyright: "© 2024 Yunnan Liandi Technology Co., Ltd." artifactName: "siyuan-${version}-${os}.${ext}" extraMetadata: From d9a19bb3dc1940b691b29174f4c63cd35d00490e Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Wed, 29 May 2024 10:20:37 +0800 Subject: [PATCH 10/10] :art: https://github.com/siyuan-note/siyuan/issues/11542 --- kernel/api/block.go | 6 +++++- kernel/model/block.go | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/kernel/api/block.go b/kernel/api/block.go index addafe6cd..e6e2a62a4 100644 --- a/kernel/api/block.go +++ b/kernel/api/block.go @@ -233,7 +233,11 @@ func checkBlockFold(c *gin.Context) { } id := arg["id"].(string) - ret.Data = model.IsBlockFolded(id) + isFolded, isRoot := model.IsBlockFolded(id) + ret.Data = map[string]interface{}{ + "isFolded": isFolded, + "isRoot": isRoot, + } } func checkBlockExist(c *gin.Context) { diff --git a/kernel/model/block.go b/kernel/model/block.go index 4f551bda4..defd002ad 100644 --- a/kernel/model/block.go +++ b/kernel/model/block.go @@ -268,20 +268,31 @@ func GetBlockSiblingID(id string) (parent, previous, next string) { return } -func IsBlockFolded(id string) bool { +func IsBlockFolded(id string) (isFolded, isRoot bool) { + tree, _ := LoadTreeByBlockID(id) + if nil == tree { + return + } + + if tree.Root.ID == id { + isRoot = true + } + for i := 0; i < 32; i++ { b, _ := getBlock(id, nil) if nil == b { - return false + return } if "1" == b.IAL["fold"] { - return true + isFolded = true + return } id = b.ParentID + } - return false + return } func RecentUpdatedBlocks() (ret []*Block) {