[bug] failed to bundle project: failed to decode certificate
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 111k
- Forks
- 4k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 44
Description
Describe the bug
https://github.com/mediar-ai/screenpipe
getting
failed to bundle project: failed to decode certificate
when running bun tauri build
bun tauri dev works
i tried to remove updater config, turn off signing, or such, without success
considering this is very likely a problem on my side but i did not find any similar issue neither on github or discord so if you have any idea how i could fix/investigate this?
our updater and apple signing works well in production so i doubt it is broken certificates?
maybe some dependency i need to update or anything?
other people with same computer than me don't have this issue for the same project
Reproduction
I don't know
Expected behavior
No response
Full tauri info output
(env) (base) louisbeaumont@mac:~/Documents/screen-pipe/screenpipe-app-tauri$ bun tauri info
$ echo 'Warning: did you run bun scripts/pre_build.js and ALL other instructions carefully listed in https://docs.screenpi.pe/docs/getting-started ?' && tauri info
Warning: did you run bun scripts/pre_build.js and ALL other instructions carefully listed in https://docs.screenpi.pe/docs/getting-started ?
WARNING: Only one package manager should be used, but found npm and pnpm and bun.
Please remove unused package manager lock files, will use npm for now!
[✔] Environment
- OS: Mac OS 15.1.0 arm64 (X64)
✔ Xcode Command Line Tools: installed
✔ rustc: 1.81.0 (eeb90cda1 2024-09-04)
✔ cargo: 1.81.0 (2dbb1af80 2024-08-20)
✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
✔ Rust toolchain: stable-aarch64-apple-darwin (default)
- node: 20.9.0
- pnpm: 8.7.4
- yarn: 1.22.19
- npm: 10.1.0
- bun: 1.1.21
[-] Packages
- tauri 🦀: 2.0.0
- tauri-build 🦀: 2.0.0
- wry 🦀: 0.44.1
- tao 🦀: 0.30.2
- tauri-cli 🦀: 1.6.2
- @tauri-apps/api : 2.0.1 (outdated, latest: 2.1.0)
- @tauri-apps/cli : 2.0.0 (outdated, latest: 2.1.0)
[-] Plugins
- tauri-plugin-store 🦀: 2.0.0
- @tauri-apps/plugin-store : 2.0.0 (outdated, latest: 2.1.0)
- tauri-plugin-single-instance 🦀: 2.0.0
- @tauri-apps/plugin-single-instance : not installed!
- tauri-plugin-autostart 🦀: 2.0.0
- @tauri-apps/plugin-autostart : not installed!
- tauri-plugin-fs 🦀: 2.0.0
- @tauri-apps/plugin-fs : 2.0.0 (outdated, latest: 2.0.2)
- tauri-plugin-dialog 🦀: 2.0.0
- @tauri-apps/plugin-dialog : 2.0.0 (outdated, latest: 2.0.1)
- tauri-plugin-cli 🦀: 2.0.0
- @tauri-apps/plugin-cli : 2.0.0
- tauri-plugin-notification 🦀: 2.0.0
- @tauri-apps/plugin-notification : 2.0.0
- tauri-plugin-shell 🦀: 2.0.0
- @tauri-apps/plugin-shell : 2.0.0 (outdated, latest: 2.0.1)
- tauri-plugin-process 🦀: 2.0.0
- @tauri-apps/plugin-process : 2.0.0
- tauri-plugin-global-shortcut 🦀: 2.0.0
- @tauri-apps/plugin-global-shortcut : 2.0.0
- tauri-plugin-updater 🦀: 2.0.1
- @tauri-apps/plugin-updater : 2.0.0
- tauri-plugin-os 🦀: 2.0.0
- @tauri-apps/plugin-os : 2.0.0
[-] App
- build-type: bundle
- CSP: frame-src https://www.youtube.com http://localhost:*; img-src 'self' asset: http://asset.localhost blob: data: https://*.githubusercontent.com https://*.github.com https://github.com https://*.s3.amazonaws.com; font-src https://fonts.gstatic.com tauri://localhost http://tauri.localhost; default-src 'self' customprotocol: asset:; connect-src ipc: http://ipc.localhost https://youtube.com https://api.openai.com http://localhost:3030 https://web.crabnebula.cloud https://api.github.com https://eu.i.posthog.com https://github.com https://*.githubusercontent.com https://*.github.com http://*:11434 http://*:9000 https://ai-proxy.i-f9f.workers.dev *; style-src 'unsafe-inline' 'self' https://fonts.googleapis.com tauri://localhost http://tauri.localhost http://localhost:* data: *; media-src 'self' mediadevices: asset: http://asset.localhost file: blob: tauri://localhost file: blob: https://youtube.com https://github.com https://youtu.be
- frontendDist: ../out
- devUrl: http://localhost:3000/
- framework: React (Next.js)
- bundler: Webpack
(env) (base) louisbeaumont@mac:~/Documents/screen-pipe/screenpipe-app-tauri$
Stack trace
(env) (base) louisbeaumont@mac:~/Documents/screen-pipe/screenpipe-app-tauri$ bun tauri build -v
$ echo 'Warning: did you run bun scripts/pre_build.js and ALL other instructions carefully listed in https://docs.screenpi.pe/docs/getting-started ?' && tauri build -v
Warning: did you run bun scripts/pre_build.js and ALL other instructions carefully listed in https://docs.screenpi.pe/docs/getting-started ?
Running [tauri_cli::helpers] beforeBuildCommand `bun run build`
Debug [tauri_cli::helpers] Setting environment for hook {"TAURI_ENV_PLATFORM_VERSION": "15.1.0", "TAURI_ENV_FAMILY": "unix", "TAURI_ENV_ARCH": "aarch64", "TAURI_ENV_PLATFORM": "darwin", "TAURI_ENV_TARGET_TRIPLE": "aarch64-apple-darwin"}
Running [tauri_cli] Command `sh -c bun run build`
$ bun scripts/pre_build.js
cwd /Users/louisbeaumont/Documents/screen-pipe/screenpipe-app-tauri/src-tauri
Setting up screenpipe bin for arm64...
Copied most recent arm64 screenpipe binary from ../../target/release/screenpipe
Updated dylib paths for arm64 in dev mode
screenpipe for arm64 set up successfully.
Setting up screenpipe bin for x86_64...
No suitable x86_64 screenpipe binary found
screenpipe for x86_64 set up successfully.
FFMPEG already exists
Moved and renamed ffmpeg binary for externalBin
Commands to build 🔨:
bun install
bun tauri build
bun is already installed.
checking bun binary for tauri...
bun binary already exists for tauri.
ollama sidecar already exists. skipping installation.
$ next build
▲ Next.js 14.2.4
- Environments: .env
Creating an optimized production build ...
✓ Compiled successfully
./app/timeline/page.tsx
180:38 Warning: The ref value 'retryTimeoutRef.current' will likely have changed by the time this effect cleanup function runs. If this ref points to a node rendered by React, copy 'retryTimeoutRef.current' to a variable inside the effect, and use that variable in the cleanup function. react-hooks/exhaustive-deps
326:13 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/meeting-history.tsx
168:6 Warning: React Hook useEffect has a missing dependency: 'loadMeetings'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
./components/onboarding/api-setup.tsx
281:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/dev-configuration.tsx
88:6 Warning: React Hook useEffect has a missing dependency: 'devInstructionsData'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
93:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/dev-or-non-dev.tsx
109:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/explain-instructions.tsx
27:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/introduction.tsx
18:7 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/personalize.tsx
84:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/pipes.tsx
22:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/status.tsx
154:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/onboarding/usecases-selection.tsx
97:9 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/pipe-store.tsx
102:6 Warning: React Hook useEffect has a missing dependency: 'fetchInstalledPipes'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
563:21 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/recording-settings.tsx
201:6 Warning: React Hook useEffect has missing dependencies: 'localSettings' and 'setLocalSettings'. Either include them or remove the dependency array. If 'setLocalSettings' changes too often, find the parent component that defines it and wrap that definition in useCallback. react-hooks/exhaustive-deps
./components/search-chat.tsx
395:6 Warning: React Hook useEffect has a missing dependency: 'handleFilterDuplicates'. Either include it or remove the dependency array. react-hooks/exhaustive-deps
859:31 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
866:31 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/timeline/timeline-dock-section.tsx
193:17 Warning: Using `<img>` could result in slower LCP and higher bandwidth. Consider using `<Image />` from `next/image` to automatically optimize images. This may incur additional usage or cost from your provider. See: https://nextjs.org/docs/messages/no-img-element @next/next/no-img-element
./components/video.tsx
81:6 Warning: React Hook useEffect has missing dependencies: 'getMimeType' and 'mediaSrc'. Either include them or remove the dependency array. react-hooks/exhaustive-deps
./lib/hooks/use-pipes.tsx
308:6 Warning: React Hook useEffect has missing dependencies: 'loading' and 'pipes'. Either include them or remove the dependency array. You can also do a functional update 'setPipes(p => ...)' if you only need 'pipes' in the 'setPipes' call. react-hooks/exhaustive-deps
info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
✓ Linting and checking validity of types
✓ Collecting page data
✓ Generating static pages (6/6)
✓ Collecting build traces
✓ Finalizing page optimization
Route (app) Size First Load JS
┌ ○ / 158 kB 706 kB
├ ○ /_not-found 142 B 87.5 kB
└ ○ /timeline 9.4 kB 521 kB
+ First Load JS shared by all 87.4 kB
├ chunks/145-58c11cb1cc61485d.js 31.8 kB
├ chunks/5f51b337-170ce1bbdb264049.js 53.7 kB
└ other shared chunks (total) 1.97 kB
○ (Static) prerendered as static content
Running [tauri_cli] Command `cargo build --bins --features tauri/custom-protocol,tauri/native-tls --release`
Compiling screenpipe-app v0.10.0 (/Users/louisbeaumont/Documents/screen-pipe/screenpipe-app-tauri/src-tauri)
Finished `release` profile [optimized] target(s) in 28.26s
Built [tauri_cli::build] application at: /Users/louisbeaumont/Documents/screen-pipe/screenpipe-app-tauri/src-tauri/target/release/screenpipe-app
Bundling [tauri_bundler::bundle::macos::app] screenpipe.app (/Users/louisbeaumont/Documents/screen-pipe/screenpipe-app-tauri/src-tauri/target/release/bundle/macos/screenpipe.app)
Running [tauri_macos_sign] Command `base64 --decode -i /var/folders/hq/swhzs3js29z7mb5b7ycnjcnm0000gn/T/.tmpx2Oz9R/src -o /var/folders/hq/swhzs3js29z7mb5b7ycnjcnm0000gn/T/.tmpSuFtHm/cert.p12`
base64: /var/folders/hq/swhzs3js29z7mb5b7ycnjcnm0000gn/T/.tmpx2Oz9R/src: (null): error decoding base64 input stream
failed to bundle project: failed to decode certificate
Error [tauri_cli_node] failed to bundle project: failed to decode certificate
error: script "tauri" exited with code 1
(env) (base) louisbeaumont@mac:~/Documents/screen-pipe/screenpipe-app-tauri$
Additional context
macos m3 max 15.1 36gb
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing bun tauri build -v on the reported macOS setup and review the scripts/pre_build.js output through the certificate-decoding failure. Compare the successful bun tauri dev path with bundling, and consider the issue done when the project bundles successfully with the existing updater and signing configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bun, macos, next.js, react, rust, webpack
- Domain
- build-system, desktop, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100