Commit graph

25 commits

Author SHA1 Message Date
Philip Peterson
ab30236865 Fix flatpak 2026-09-24 05:49:06 -08:00
Philip Peterson
58b407738c Bump canary version 2026-05-28 22:58:51 -07:00
Philip Peterson
5713d94db9
Switch from yarn to pnpm (#305)
Duplicate @types/react TypeScript error (package.json, pnpm-lock.yaml)
What: Added "pnpm": { "overrides": { "@types/react": "18.3.12" } } to the root package.json.

Why: @types/react-dom@18.3.1, @types/hoist-non-react-statics, and @types/styled-jsx all declare @types/react:
"" as a plain dependency. With yarn this was resolved by the resolutions field. With pnpm, resolutions is
ignored — pnpm only reads pnpm.overrides. Without the override, each of those packages resolved "" to the
latest @types/react@19.1.2 and nested it under their own node_modules/. TypeScript then saw two incompatible
definitions for the same React types simultaneously, producing the TS2344: Type 'C' does not satisfy the
constraint 'ComponentType' error in react-redux/es/types.d.ts.

The nested @types/react@19.1.2 directories were also stale artifacts from pre-override installs — pnpm's
--force flag reinstalls packages but does not scrub orphaned nested node_modules subdirectories. They were
removed manually, and the pnpm.overrides prevents them from reappearing on future installs.

Cannot find module 'execa' crash at app startup (app/package.json, app/session.ts)
What: Upgraded shell-env from 3.0.1 to 4.0.3, added execa@5.1.1 as a direct app dependency, removed
os-locale@5.0.0, replaced its one usage with Intl.DateTimeFormat().resolvedOptions().locale, and updated the
shellEnv.sync() call to the new named export shellEnvSync.

Why: This was a layered problem rooted in how electron-builder packages the app when using pnpm.

electron-builder builds the asar by walking pnpm's flat (hoisted) node_modules dependency tree. When two
packages need incompatible major versions of the same dependency, pnpm cannot hoist both — it puts the
minority version in a nested node_modules/ inside the requiring package's directory. electron-builder's pnpm
integration only scans the flat level; it emits "dependency not found on disk" for anything nested, and those
nested packages are silently excluded from the asar.

shell-env@3.0.1 needed execa@^1.0.0. The hoisted top-level was execa@4.1.0. So pnpm nested execa@1.0.0 under
node_modules/shell-env/node_modules/execa/. electron-builder missed it. At runtime, require('shell-env') →
require('execa') → crash, even on macOS where the shellEnv.sync() call is never actually reached (the import
itself triggers the error).

Upgrading shell-env to 4.0.3 alone would have just shifted the nesting from execa@1 to execa@5 (since 4.0.3
uses ^5.1.1). And os-locale@5.0.0 used ^4.0.0, which would then become the nested one instead. There is no
version of either package where both use the same execa major, so they can't both be hoisted simultaneously.

The fix makes execa@5.1.1 the explicit top-level dependency. shell-env@4.0.3 (needs ^5.1.1) is satisfied
without nesting. os-locale is removed entirely and its one call site replaced with
Intl.DateTimeFormat().resolvedOptions().locale, which returns the same locale string from a V8 built-in — no
execa chain at all.

CI frozen-lockfile failure inside electron-builder install-app-deps (app/.npmrc)
What: Added frozen-lockfile=false to app/.npmrc.

Why: target/ is the electron-builder app directory and is fully gitignored. That means target/pnpm-lock.yaml
is never committed. In CI, pnpm automatically enables frozen-lockfile=true when it detects CI=true in the
environment — this applies to every pnpm invocation in the process tree, including child processes.

The postinstall sequence is: webpack copies app/ to target/ → electron-builder install-app-deps runs pnpm
install inside target/. Because app/.npmrc contains ignore-workspace=true, pnpm treats target/ as a standalone
project rather than part of the workspace, and looks for a target/-local lockfile. On a fresh CI checkout
there is none. With frozen-lockfile=true inherited from the CI environment, pnpm refuses to generate one and
exits with ERR_PNPM_OUTDATED_LOCKFILE.

Locally this was invisible because target/pnpm-lock.yaml accumulated from previous runs and was simply reused.
Adding frozen-lockfile=false to app/.npmrc (which webpack copies to target/.npmrc) overrides the CI
environment default specifically for the target/ context, allowing pnpm to generate a fresh lockfile on each
CI run.

app/session.ts locale — removal of os-locale
Already covered under point 2, but worth noting separately: osLocale.sync() was the only call site.
Intl.DateTimeFormat().resolvedOptions().locale is a direct replacement — it returns the OS locale (e.g. en-US)
in the same format, available in all modern Node/Electron versions with no external dependencies. The
.replace(/-/, '_') transforms it to POSIX LANG format (en_US) exactly as before.
2026-05-28 16:13:19 -07:00
dependabot[bot]
ef61611f57
chore(deps-dev): bump open from 8.4.2 to 11.0.0 (#274)
* chore(deps-dev): bump open from 8.4.2 to 11.0.0

Bumps [open](https://github.com/sindresorhus/open) from 8.4.2 to 11.0.0.
- [Release notes](https://github.com/sindresorhus/open/releases)
- [Commits](https://github.com/sindresorhus/open/compare/v8.4.2...v11.0.0)

---
updated-dependencies:
- dependency-name: open
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: add better error handling to snapshot generation and improve cp-snapshot robustness

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Philip Peterson <1326208+philip-peterson@users.noreply.github.com>
2026-05-11 10:20:19 -07:00
Philip Peterson
461aee81ea
Fixes to React devtools, Mac compat (#289)
* Add troubleshooting

* fix(cli-install): lazy-require native-reg to fix TS error on non-Windows

native-reg is a Windows-only optional dependency that can't be resolved
at compile time on macOS/Linux. Move the require() inside addBinToUserPath
and add an explicit platform guard that rejects early before the Promise
is constructed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(deps): pin electron-link to quine-global v0.7.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix devtools patch

* Fix type error

* fix(snapshot): avoid npm_config_arch polluting node-gyp-build on cross-arch builds

electron-link depends on classic-level (via node-gyp-build), which reads
npm_config_arch to select its native prebuild. Setting npm_config_arch=arm64
on an x64 host caused it to dlopen the arm64 .node binary, crashing the
v8 snapshot build. Switch to a dedicated SNAPSHOT_TARGET_ARCH env var that
only mk-snapshot.js and cp-snapshot.js read, keeping npm_config_arch unset.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix type error

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 02:32:36 -07:00
Philip Peterson
d057ccc6e9
Fix Windows issues, upgrade dependencies (#253)
* Debug parallels

* Try fix cwd issue

* Try fix parallels issue

* Upgrade Node.js to 22.11.0 to fix Parallels build crash

libuv 1.46.0 (Node 20) calls uv_fatal_error when AssignProcessToJobObject
fails with ERROR_INVALID_PARAMETER inside Parallels, aborting the node-gyp
process with STATUS_BREAKPOINT (exit 2147483651). libuv 1.48.0 (Node 22)
handles this gracefully. Also resolves the stale Node 18 TODO in the ARM
Linux action.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Delete ava for simplicity

* Fix typings

* Remove dangling references

* Try to cleanup properly

* Allow parallels to skip gpu

* Update yarn.lock

* Try to disable gpu

* Fix ts error

* Fix flag

* Launch dev tools

* Open DevTools before loadURL so it captures renderer errors on blank window

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add verbose diagnostic logging to trace blank window / plugin crash

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix icons

* Fix icons again

* Add session creation logging to trace blank window after PTY rebuild

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Various versioning fixes

* Update gitignore

* Bump version correctly

* Fixes

* Remove msvs version lock

* Fix lint errors

* Fix lint errors

* Rebuild react icons

* Fixes

* Fixes

* Restore ava, formatting

* Upgrade node

* Fix yarn lockfile

* Fix ava reference

* Fixes

* Try to fix proxyquire

* Pre-build app TS declarations before unit tests

@ava/typescript calls `tsc --incremental` which doesn't build project
references, so dist/tmp/appdts/*.d.ts didn't exist when the root
tsconfig tried to use them, causing TS6305 errors. Running
`tsc -b app/tsconfig.json` first generates those declarations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Make tests pass

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 04:52:41 -07:00
Philip Peterson
40cece79ba
Updates to scripts (#180) 2025-08-30 22:52:25 -07:00
Philip Peterson
601c7aa250
[tweak] use quine global branding 2025-04-27 01:04:55 -07:00
Philip Peterson
6340e0001c
Re-enable Windows (#129) 2025-04-24 21:37:56 -07:00
Philip Peterson
119112633e
Upgrade electron and node-pty (#126)
* bump electron

* Lock yarn

* try to resolve differences

* Lock node version

* Resolve conflict

* Fix typescript errors

* More ts fixes

* Fix lint issues
2025-04-21 21:45:07 -07:00
Philip Peterson
5aed80d42a
Fix CI build (#98) 2025-04-13 11:11:20 -07:00
Philip Peterson
57c5008237
More replace zeit/vercel with quine (#88)
* More replace vercel with quine

* More updates
2024-11-29 00:57:50 -09:00
Philip Peterson
606f7392aa
Moves xterm-* dependencies to @xterm/* dependencies and performs (#5)
select upgrades:

* Bumps xterm from 5.3.0 to 5.4.0
* Bumps xterm-addon-canvas from 0.5.0 to 0.6.0
* Bumps xterm-addon-fit from 0.8.0 to 0.9.0
* Bumps xterm-addon-image from 0.5.0 to 0.7.0
* Bumps xterm-addon-ligatures from 0.7.0 to 0.8.0
* Bumps xterm-addon-search from 0.13.0 to 0.14.0
* Bumps xterm-addon-unicode11 from 0.6.0 to 0.7.0
* Bumps xterm-addon-web-links from 0.9.0 to 0.10.0
* Bumps xterm-addon-webgl from 0.16.0 to 0.17.0

Signed-off-by: Philip Peterson <philip-peterson@users.noreply.github.com>
2024-11-23 00:18:29 -09:00
Labhansh Agrawal
08d182acda Bump react to v18 2023-07-24 13:42:19 +05:30
Marvin A. Ruder
95807fa7ed
Add support for displaying images (#6987) 2023-06-16 19:36:18 +05:30
Labhansh Agrawal
1daf594e4b upgrade to xterm v5 2023-06-16 11:25:10 +05:30
Labhansh Agrawal
2bbb8775f6 update electron and electron-builder 2023-05-03 23:00:30 +05:30
Labhansh Agrawal
d98f340587 Use v8 snapshots to cache dependencies 2022-04-14 22:58:01 +05:30
Labhansh Agrawal
38d0f30734 Support notarization on macOS 2021-10-03 14:03:43 +05:30
Benjamin Staneck
1ea935988f Update yarn-standalone to v1.21.1 2019-12-23 18:12:14 +01:00
Raz Friman
6039acd7a9 Update Electron to v6 (#3785)
* 3.0.0

* 3.0.2

* Save

* Save

* Upgrade yarn lock packages

* update node-gyp and node-pty

* update travis and appveyor to node 12

* appveyor is outdated as always

* update travis to xenial

* update node-pty@0.9.0-beta26

* update yarn.lock

* update electron to 6.0.8

* move node-pty to the correct package.json

* Fix linting failure

* Update yarn lockfile to try to fix appveyor build

* Remove unnecessary changes from package.json

* Try to fix appveyor by using a newer image

* Fix linting after my last change

* update electron to 6.0.9

* install windows-build-tools on appveyor

* fix syntax

* switch back to 2017 image

* remove old resolutions field

* revert accidental version change

* update electron to 6.0.11 and electron-rebuild to 1.8.6

* downgrade yarn to 1.18

until this issue is resolved https://github.com/yarnpkg/yarn/issues/7584

* update node-gyp to 6.0.0 and generate a fresh yarn lockfile

* update react and a few other dependencies

* fix lint

* this should actually be electron-builder, I think!

* update a few dependencies

* change to electron-store

electron-config was renamed to electron-store a while ago

* update xterm to v4.1.0 and ora to 4.0.2

* move pify to app/package.json

* TODO: Revert maybe. Throw a fit on every change to maybe fix the resizing issues

* a

* fix react ref problem

* fix split view focus problem

* remove the unnecessary fit

* remove the init col and row

* fix the problem that cannot show about hyper

* update electron to 6.0.12

* fix lint

* add more todos for componentWillReceiveProps deprecation

* update babel and plugins


Co-authored-by: Juan Campa <juancampa@gmail.com>
Co-authored-by: Benjamin Staneck <staneck@gmail.com>
Co-authored-by: ivan <ivanwonder@outlook.com>
2019-10-10 21:20:26 +02:00
Benjamin Staneck
2cc4c9e1ef
Update xterm to v4 (#3830)
* update xterm to 4

* add back webGL addon

* remove ligatures xterm addon, unused atm and does not work with webGL renderer

* update node-pty

* more work on trying to get xterm4 to work

* update xterm to 4.0.2

* move where xterm addon props are assigned

* more updates

* only load webgl addon if webgl is enabled

* fix search function

* remove rendererType setting, the xterm addon does this for us

* use xcode 10.3 on circleci

* fix typo

* revert node-pty bump for now

* use stable versions of the xterm plugins

* fix focus listener

* add windowsMode prop

* move webGL check

* apply tweaks by @GitSquared

* fix resizing issue

* Revert "fix resizing issue"

This reverts commit fce3780b038d69378f63bdfbfa613f20130fad34.

* apply review suggestions

* change so all addons have separate instances for each terminal

* update yarn-standalone to 1.19

* fix resize problem of split view

by @ivanwonder

* apply review feedback

* fix lint

* add name and version to package.json

* address review feedback

* more review feedback
2019-10-06 20:51:56 +02:00
Benjamin Staneck
9df56a7fe0 Update electron to v1.7.10 and other dependencies (#2583)
* Update electron to v1.7.10

Changelog: https://github.com/electron/electron/releases/tag/v1.7.10

* Update yarn-standalone.js to v1.3.2

Changelog: https://github.com/yarnpkg/yarn/releases/tag/v1.3.2

* Update various dependencies

* update electron-builder, electron-rebuild and prettier

* Use the recommended way to install yarn on travis

See https://yarnpkg.com/lang/en/docs/install-ci/#travis-tab
2018-01-21 10:21:41 +01:00
Adam Stankiewicz
cd1b8cd064 Ship yarn with hyper (#381) 2017-08-14 09:42:28 +02:00
Benjamin Staneck
38db5095d9 Make npm run clean platform agnostic (#1901)
* Make npm run clean platform agnostic
* Use rimraf-standalone.js instead of a global install
2017-06-13 00:58:30 +02:00