Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: JavaScript error 0.12.1 on desktop builds (macOS, Linux and Windows) #233

Closed
big610 opened this issue Aug 18, 2023 · 4 comments
Closed
Labels
bug Something isn't working

Comments

@big610
Copy link

big610 commented Aug 18, 2023

JavaScript error 0.12.1 macOS
App opens, functions unable to be seen.
Display:
Privacy Sexy JavaScript error
macOS 10.15.7
It would be helpful to see in Launchpad, if if you changed the App's Blue color Hex 3A65AB RGB 58 101 171 to another shade of blue or a different color, or use the Official privacy.sexy purple pink dmg coloring.
Launchpad
privacy sexy Purple Pink
And like I mentioned to you before, if you make the Windows Version, Portable, I will use & try.

@big610 big610 added the bug Something isn't working label Aug 18, 2023
@undergroundwires
Copy link
Owner

undergroundwires commented Aug 18, 2023

Thanks for the quick feedback and I'm sorry for the inconvenience and breaking the build.

I've confirmed the issue you reported. It affects not just macOS, but also Windows and Linux. The root cause can be traced back to commit a14929a in 0.12.1 due to electron/electron#21457. I'm actively working on a fix and will roll out a patch release as soon as it's ready.

Considerations & Workarounds

  • While I could delete the existing release, I'm concerned this might introduce more problems.
  • For those looking for immediate access, the web version remains functional and unaffected.
  • 📢 An important note: the auto-update feature won't work for this particular release due to the issue. Once the patch is available, a fresh installation will be needed.
About portable release

The error you're seeing is part of a broader modernization effort in our tooling. We're making progress (which you can track at #230). After this update, enabling a Windows portable version will be easy with single line of code. I've attempted to integrate the portable feature using the current tools, but encountered challenges, especially as the dependencies used for desktop builds are now unmaintained.

About the color
The icon is untouched and should be 3A65AB as can be seen here. I do not know where the purple stuff is coming from, I will look at it later after this fix.

@undergroundwires undergroundwires changed the title [BUG]: JavaScript error 0.12.1 macOS [BUG]: JavaScript error 0.12.1 on desktop builds (macOS, Linux and Windows) Aug 18, 2023
@undergroundwires
Copy link
Owner

I did a manual fix for now. If you re-install using the releases page it would work, and auto-updates would work for those who'll update after this issue happened, if anyone else got this error, please re-install the latest version using the releases page. I'm working on a real fix that will be released in next patch version a long with other improvements.

@big610
Copy link
Author

big610 commented Aug 19, 2023

I've confirmed the pink/purple image in the dmg, comes from the Electron Builder, which builds your dmg.

undergroundwires added a commit that referenced this issue Aug 20, 2023
- Add automation script for building, packaging, installing, executing
  and verifying Electron distrubtions across macOS, Ubuntu and Windows.
- Add GitHub workflow to run the script to test distributions using the
  script.
- Update README with new workflow status badge.
- Add application initialization log to desktop applications to be able
  to test against crashes before application initialization.
undergroundwires added a commit that referenced this issue Aug 22, 2023
As part of transition to Vue 3.0 and Vite (#230), this commit
facilitates the shift towards building rest of the application using
Vite. By doing so, it eliminates reliance on outdated Electron building
system that offered limited control, blocking desktop builds (#233).

Changes include:

- Introduce Vite with Vue 2.0 plugin for test execution.
- Remove `mocha`, `chai` and other related dependencies.
- Adjust test to Vitest syntax.
- Revise and update `tests.md` to document the changes.
- Add `@modyfi/vite-plugin-yaml` plugin to be able to use yaml file
  depended logic on test files, replacing previous webpack behavior.
- Fix failing tests that are revealed by Vitest due to unhandled errors
  and lack of assertments.
- Remove the test that depends on Vue CLI populating `process.env`.
undergroundwires added a commit that referenced this issue Aug 22, 2023
As part of transition to Vue 3.0 and Vite (#230), this commit
facilitates the shift towards building rest of the application using
Vite. By doing so, it eliminates reliance on outdated Electron building
system that offered limited control, blocking desktop builds (#233).

Changes include:

- Introduce Vite with Vue 2.0 plugin for test execution.
- Remove `mocha`, `chai` and other related dependencies.
- Adjust test to Vitest syntax.
- Revise and update `tests.md` to document the changes.
- Add `@modyfi/vite-plugin-yaml` plugin to be able to use yaml file
  depended logic on test files, replacing previous webpack behavior.
- Fix failing tests that are revealed by Vitest due to unhandled errors
  and lack of assertments.
- Remove the test that depends on Vue CLI populating `process.env`.
undergroundwires added a commit that referenced this issue Aug 22, 2023
As part of transition to Vue 3.0 and Vite (#230), this commit
facilitates the shift towards building rest of the application using
Vite. By doing so, it eliminates reliance on outdated Electron building
system that offered limited control, blocking desktop builds (#233).

Changes include:

- Introduce Vite with Vue 2.0 plugin for test execution.
- Remove `mocha`, `chai` and other related dependencies.
- Adjust test to Vitest syntax.
- Revise and update `tests.md` to document the changes.
- Add `@modyfi/vite-plugin-yaml` plugin to be able to use yaml file
  depended logic on test files, replacing previous webpack behavior.
- Fix failing tests that are revealed by Vitest due to unhandled errors
  and lack of assertments.
- Remove the test that depends on Vue CLI populating `process.env`.
- Use `jsdom` for unit test environment, adding it to dependency to
  `package.json` as project now depends on it and it was not specified
  even though `package-lock.json` included it.
undergroundwires added a commit that referenced this issue Aug 24, 2023
- Switch from deprecated Vue CLI plugin to `electron-vite` (see
  nklayman/vue-cli-plugin-electron-builder#1982)
- Update main/preload scripts to use `index.cjs` filenames to support
  `"type": "module"`, resolving crash issue (#233). This crash was
  related to Electron not supporting ESM (see electron/asar#249,
  electron/electron#21457).
- This commit completes migration to Vite from Vue CLI (#230).

Structure changes:

- Introduce separate folders for Electron's main and preload processes.
- Move TypeHelpers to `src/` to mark tit as accessible by the rest of
  the code.

Config changes:

- Make `vite.config.ts` reusable by Electron configuration.
- On electron-builder, use `--publish` flag instead of `-p` for clarity.

Tests:

- Add log for preload script loading verification.
- Implement runtime environment sanity checks.
- Enhance logging in `check-desktop-runtime-errors`.
@undergroundwires
Copy link
Owner

Hi, the crash is now resolved with 0.12.2. It required a few thousands of lines code added. But now these errors can be detected early and all packages can be controlled by single file so I will add the portable version in next patch for you :) Thanks for the report and you know I appreciate you having in the community.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants