EAS fails to install pnpm dependencies for Android

Build/Submit details page URL
https://expo.dev/accounts/kingstinct/projects/lifeline-dev/builds/e398532d-5f57-467d-a456-4318844eb3ab (node 20)
https://expo.dev/accounts/kingstinct/projects/lifeline-dev/builds/28ec161c-a6b3-4415-93f3-1608e7f8daba (node 18)
Summary
I'm using pnpm in a monorepo setup. What I've tried and what works:

❌ EAS Build (Android) in cloud (tried resetting cache, as well as switching between node 18 and 20)
✅ EAS Build local (iOS and Android)
✅ EAS Build (iOS)

I'm fairly sure just being able to specify pnpm version would solve it, for example in eas.json or respecting packageManager in package.json. I know you don't officially support it yet - but just having this option would take it a long way.
Since it works on iOS I'm guessing the EAS build image is using a different pnpm version on iOS (closer to what I'm using locally - i.e. 8.6.9).
Also - it would help to be able to see which version of pnpm is used in the logs on EAS, I can't seem to see it currently.
Managed or bare?
managed
Environment
expo-env-info 1.0.5 environment info:
System:
OS: macOS 13.4.1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.3.1 - ~/.nvm/versions/node/v20.3.1/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 9.6.7 - ~/.nvm/versions/node/v20.3.1/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /Users/robertherber/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK:
API Levels: 28, 29, 31, 33, 33
Build Tools: 28.0.3, 29.0.2, 30.0.3, 31.0.0, 33.0.0, 33.0.1
System Images: android-30 | Google APIs Intel x86 Atom, android-31 | Google APIs ARM 64 v8a, android-33 | Google APIs ARM 64 v8a, android-33 | Google APIs Intel x86 Atom_64
IDEs:
Android Studio: 2022.1 AI-221.6008.13.2211.9619390
Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
npmPackages:
expo: ^49.0.3 => 49.0.3
react: 18.2.0 => 18.2.0
react-dom: 18.2.0 => 18.2.0
react-native: ~0.72.3 => 0.72.3
react-native-web: ~0.19.6 => 0.19.6
npmGlobalPackages:
eas-cli: 3.16.0
Expo Workflow: managed
Error output
There are a few suspect things in the build output for node 20 (the lockfile-incompatibility as well as the ERR_INVALID_THIS):

Install dependencies output (Node 20)
We detected that 'apps/lifeline' is a pnpm workspace

Running "pnpm install --no-frozen-lockfile" in /home/expo/workingdir/build directory

Scope: all 3 workspace projects

WARN  Ignoring not compatible lockfile at /home/expo/workingdir/build/pnpm-lock.yaml

WARN  GET https://registry.npmjs.com/@babel%2Fcore error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-proposal-export-namespace-from error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-transform-class-properties error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fcli error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fnear-operation-file-preset error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-operations error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-urql error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@graphql-eslint%2Feslint-plugin error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-actions error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-controls error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-essentials error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-links error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-actions error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-controls error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-react-native-web error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Fbuilder-webpack5 error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fcore error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-proposal-export-namespace-from error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@babel%2Fplugin-transform-class-properties error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

 WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fcli error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

 WARN  GET https://registry.npmjs.com/@graphql-codegen%2Fnear-operation-file-preset error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

 WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-operations error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@graphql-codegen%2Ftypescript-urql error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@graphql-eslint%2Feslint-plugin error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-actions error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-controls error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-essentials error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-links error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-actions error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-ondevice-controls error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Faddon-react-native-web error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Fbuilder-webpack5 error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Fmanager-webpack5 error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

ERR_PNPM_META_FETCH_FAIL  GET https://registry.npmjs.com/@babel%2Fcore: Value of "this" must be of type URLSearchParams

WARN  GET https://registry.npmjs.com/@storybook%2Freact error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@storybook%2Freact-native error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Fjest error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Flodash error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Freact error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@types%2Fvalidator error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@typescript-eslint%2Feslint-plugin error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/@typescript-eslint%2Fparser error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/babel-loader error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/babel-plugin-transform-inline-environment-variables error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/concurrently error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint-config-airbnb error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint-config-airbnb-base error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

WARN  GET https://registry.npmjs.com/eslint-config-kingstinct error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.

pnpm exited with non-zero code: 1

When using node 18 the packages are installed but fails later, probably because of the lockfile-incompatibilty which I guess is a result of using a different pnpm version:

Install dependencies output (Node 18)
We detected that 'apps/lifeline' is a pnpm workspace

Running "pnpm install --no-frozen-lockfile" in /home/expo/workingdir/build directory

Scope: all 3 workspace projects

WARN  Ignoring not compatible lockfile at /home/expo/workingdir/build/pnpm-lock.yaml

Progress: resolved 1, reused 0, downloaded 0, added 0

Progress: resolved 18, reused 0, downloaded 3, added 0

Progress: resolved 31, reused 0, downloaded 12, added 0

Progress: resolved 49, reused 0, downloaded 29, added 0

Progress: resolved 61, reused 0, downloaded 48, added 0

Progress: resolved 87, reused 0, downloaded 69, added 0

Progress: resolved 102, reused 0, downloaded 79, added 0

Progress: resolved 110, reused 0, downloaded 89, added 0

Progress: resolved 129, reused 0, downloaded 103, added 0

Progress: resolved 151, reused 0, downloaded 126, added 0

Progress: resolved 165, reused 0, downloaded 144, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 210, reused 0, downloaded 181, added 0

Progress: resolved 234, reused 0, downloaded 200, added 0

Progress: resolved 275, reused 0, downloaded 241, added 0

Progress: resolved 298, reused 0, downloaded 264, added 0

Progress: resolved 337, reused 0, downloaded 296, added 0

Progress: resolved 362, reused 0, downloaded 318, added 0

Progress: resolved 403, reused 0, downloaded 354, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 428, reused 0, downloaded 387, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 445, reused 0, downloaded 402, added 0

Progress: resolved 461, reused 0, downloaded 417, added 0

Progress: resolved 491, reused 0, downloaded 451, added 0

Progress: resolved 505, reused 0, downloaded 467, added 0

Progress: resolved 520, reused 0, downloaded 480, added 0

Progress: resolved 536, reused 0, downloaded 490, added 0

Progress: resolved 564, reused 0, downloaded 515, added 0

apps/lifeline                            |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 593, reused 0, downloaded 544, added 0

Progress: resolved 666, reused 0, downloaded 603, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 763, reused 0, downloaded 693, added 0

Progress: resolved 823, reused 0, downloaded 739, added 0

Progress: resolved 900, reused 0, downloaded 828, added 0

Progress: resolved 999, reused 0, downloaded 910, added 0

Progress: resolved 1064, reused 0, downloaded 972, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 1132, reused 0, downloaded 1036, added 0

Progress: resolved 1147, reused 0, downloaded 1062, added 0

Progress: resolved 1210, reused 0, downloaded 1104, added 0

Progress: resolved 1277, reused 0, downloaded 1171, added 0

Progress: resolved 1372, reused 0, downloaded 1258, added 0

Progress: resolved 1465, reused 0, downloaded 1353, added 0

Progress: resolved 1601, reused 0, downloaded 1480, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 1699, reused 0, downloaded 1566, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 1783, reused 0, downloaded 1649, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 1907, reused 0, downloaded 1756, added 0

Progress: resolved 2044, reused 0, downloaded 1889, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 2147, reused 0, downloaded 1980, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 2323, reused 0, downloaded 2151, added 0

packages/ui                              |  WARN  deprecated<EMAIL_ADDRESS>
Progress: resolved 2456, reused 0, downloaded 2283, added 0

Packages: +2613

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Progress: resolved 2456, reused 0, downloaded 2286, added 0

Progress: resolved 2456, reused 0, downloaded 2287, added 0

Packages are hard linked from the content-addressable store to the virtual store.

  Content-addressable store is at: /home/expo/.local/share/pnpm/store/v3

  Virtual store is at:             node_modules/.pnpm

Progress: resolved 2456, reused 0, downloaded 2307, added 18

Progress: resolved 2456, reused 0, downloaded 2307, added 19

Progress: resolved 2456, reused 0, downloaded 2341, added 158

Progress: resolved 2456, reused 0, downloaded 2362, added 247

Progress: resolved 2456, reused 0, downloaded 2390, added 306

Progress: resolved 2456, reused 0, downloaded 2435, added 438

Progress: resolved 2456, reused 0, downloaded 2436, added 481

Progress: resolved 2456, reused 0, downloaded 2438, added 768

Progress: resolved 2456, reused 0, downloaded 2438, added 769

Progress: resolved 2456, reused 0, downloaded 2439, added 1084

Progress: resolved 2456, reused 0, downloaded 2439, added 1085

Progress: resolved 2456, reused 0, downloaded 2439, added 1339

Progress: resolved 2456, reused 0, downloaded 2439, added 1340

Progress: resolved 2456, reused 0, downloaded 2439, added 1480

Progress: resolved 2456, reused 0, downloaded 2439, added 1481

Progress: resolved 2456, reused 0, downloaded 2439, added 1490

Progress: resolved 2456, reused 0, downloaded 2439, added 1491

Progress: resolved 2456, reused 0, downloaded 2439, added 1706

Progress: resolved 2456, reused 0, downloaded 2439, added 1797

Progress: resolved 2456, reused 0, downloaded 2439, added 1912

Progress: resolved 2456, reused 0, downloaded 2439, added 1988

Progress: resolved 2456, reused 0, downloaded 2439, added 1989

Progress: resolved 2456, reused 0, downloaded 2439, added 2116

Progress: resolved 2456, reused 0, downloaded 2439, added 2117

Progress: resolved 2456, reused 0, downloaded 2440, added 2387

Progress: resolved 2456, reused 0, downloaded 2440, added 2388

Progress: resolved 2456, reused 0, downloaded 2440, added 2613, done

.../node_modules/core-js-pure postinstall$ node -e "try{require('./postinstall')}catch(e){}"

.../node_modules/core-js postinstall$ node -e "try{require('./postinstall')}catch(e){}"

.../node_modules/core-js-pure postinstall: Done

.../node_modules/core-js postinstall: Done

.../node_modules/@sentry/cli install$ node ./scripts/install.js

.../node_modules/@sentry/cli install$ node ./scripts/install.js

.../node_modules/@sentry/cli install: [sentry-cli] Downloading from https://downloads.sentry-cdn.com/sentry-cli/2.17.5/sentry-cli-Linux-x86_64

.../node_modules/@sentry/cli install: [sentry-cli] Downloading from https://downloads.sentry-cdn.com/sentry-cli/2.19.4/sentry-cli-Linux-x86_64

.../node_modules/@sentry/cli install: [sentry-cli] Checksum validation passed.

.../node_modules/@sentry/cli install: [sentry-cli] Checksum validation passed.

.../node_modules/@sentry/cli install: Done

.../node_modules/@sentry/cli install: Done

. prepare$ husky install

. prepare: fatal: not a git repository (or any of the parent directories): .git

. prepare: husky - git command not found, skipping install

. prepare: Done

apps/lifeline postinstall$ if [ -n "$CI" ]; then exit 0; fi && npx expo-native-dependency-hash expo-app-update

apps/lifeline postinstall: Done

dependencies:

+ expo 49.0.3

+ husky 8.0.3

ERR_PNPM_PEER_DEP_ISSUES  Unmet peer dependencies

.

└─┬ expo

  └─┬ babel-preset-expo

    ├─┬ @babel/plugin-proposal-decorators

    │ ├── ✕ missing peer<EMAIL_ADDRESS>
    │ ├─┬ @babel/helper-create-class-features-plugin

    │ │ ├── ✕ missing peer<EMAIL_ADDRESS>
    │ │ └─┬ @babel/helper-replace-supers

    │ │   └── ✕ missing peer<EMAIL_ADDRESS>
    │ └─┬ @babel/plugin-syntax-decorators

    │   └── ✕ missing peer<EMAIL_ADDRESS>
    ├─┬ @babel/plugin-proposal-export-namespace-from

    │ ├── ✕ missing peer<EMAIL_ADDRESS>
    │ └─┬ @babel/plugin-syntax-export-namespace-from

    │   └── ✕ missing peer<EMAIL_ADDRESS>
    ├─┬ @babel/plugin-proposal-object-rest-spread

    │ ├── ✕ missing peer<EMAIL_ADDRESS>
    │ ├─┬ @babel/helper-compilation-targets

    │ │ └── ✕ missing peer<EMAIL_ADDRESS>
    │ ├─┬ @babel/plugin-syntax-object-rest-spread

    │ │ └── ✕ missing peer<EMAIL_ADDRESS>
    │ └─┬ @babel/plugin-transform-parameters

    │   └── ✕ missing peer<EMAIL_ADDRESS>
    ├─┬ @babel/plugin-transform-react-jsx

    │ ├── ✕ missing peer<EMAIL_ADDRESS>
    │ └─┬ @babel/plugin-syntax-jsx

    │   └── ✕ missing peer<EMAIL_ADDRESS>
    └─┬ @babel/preset-env

      ├── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining

      │ ├── ✕ missing peer<EMAIL_ADDRESS>
      │ └─┬ @babel/plugin-transform-optional-chaining

      │   ├── ✕ missing peer<EMAIL_ADDRESS>
      │   └─┬ @babel/plugin-syntax-optional-chaining

      │     └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-proposal-private-property-in-object

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-async-generators

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-class-properties

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-class-static-block

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-dynamic-import

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-import-assertions

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-import-attributes

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-import-meta

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-json-strings

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-logical-assignment-operators

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-nullish-coalescing-operator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-numeric-separator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-optional-catch-binding

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-private-property-in-object

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-top-level-await

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-syntax-unicode-sets-regex

      │ ├── ✕ missing peer<EMAIL_ADDRESS>
      │ └─┬ @babel/helper-create-regexp-features-plugin

      │   └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-arrow-functions

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-async-generator-functions

      │ ├── ✕ missing peer<EMAIL_ADDRESS>
      │ └─┬ @babel/helper-remap-async-to-generator

      │   └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-async-to-generator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-block-scoped-functions

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-block-scoping

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-class-properties

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-class-static-block

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-classes

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-computed-properties

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-destructuring

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-dotall-regex

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-duplicate-keys

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-dynamic-import

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-exponentiation-operator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-export-namespace-from

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-for-of

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-function-name

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-json-strings

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-literals

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-logical-assignment-operators

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-member-expression-literals

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-modules-amd

      │ ├── ✕ missing peer<EMAIL_ADDRESS>
      │ └─┬ @babel/helper-module-transforms

      │   └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-modules-commonjs

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-modules-systemjs

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-modules-umd

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-named-capturing-groups-regex

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-new-target

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-nullish-coalescing-operator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-numeric-separator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-object-rest-spread

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-object-super

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-optional-catch-binding

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-private-methods

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-private-property-in-object

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-property-literals

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-regenerator

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-reserved-words

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-shorthand-properties

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-spread

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-sticky-regex

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-template-literals

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-typeof-symbol

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-unicode-escapes

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-unicode-property-regex

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-unicode-regex

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/plugin-transform-unicode-sets-regex

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ @babel/preset-modules

      │ ├── ✕ missing peer<EMAIL_ADDRESS>
      │ └─┬ @babel/plugin-proposal-unicode-property-regex

      │   └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ babel-plugin-polyfill-corejs2

      │ ├── ✕ missing peer<EMAIL_ADDRESS>
      │ └─┬ @babel/helper-define-polyfill-provider

      │   └── ✕ missing peer<EMAIL_ADDRESS>
      ├─┬ babel-plugin-polyfill-corejs3

      │ └── ✕ missing peer<EMAIL_ADDRESS>
      └─┬ babel-plugin-polyfill-regenerator

        └── ✕ missing peer<EMAIL_ADDRESS>
Peer dependencies that should be installed:

<EMAIL_ADDRESS><8.0.0"

apps/lifeline

├─┬ @graphql-codegen/typescript-urql

│ └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ babel-loader

│ └── ✕ missing peer webpack@>=5

├─┬ @urql/storage-rn

│ └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ expo-router

│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ └─┬ expo-splash-screen

│   └─┬ @expo/prebuild-config

│     └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ react-native

│ └─┬ @react-native/codegen

│   ├── ✕ missing peer<EMAIL_ADDRESS>
│   └─┬ jscodeshift

│     └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ react-native-health-connect

│ └── ✕ missing peer @expo/config-plugins@">= 6.0.2"

└─┬ react-native-reanimated

  ├── ✕ missing peer<EMAIL_ADDRESS>
  ├── ✕ missing peer<EMAIL_ADDRESS>
  ├── ✕ missing peer<EMAIL_ADDRESS>
  ├── ✕ missing peer<EMAIL_ADDRESS>
  └── ✕ missing peer<EMAIL_ADDRESS>
Peer dependencies that should be installed:

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS><8.0.0"

  @expo/config-plugins@">= 6.0.2"

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
  webpack@>=5

packages/ui

├─┬ @graphql-codegen/cli

│ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ ├─┬ @graphql-codegen/core

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ ├─┬ @graphql-codegen/plugin-helpers

│ │ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ │ └─┬ @graphql-tools/utils

│ │ │   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │   └─┬ @graphql-typed-document-node/core

│ │ │     └── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/schema

│ │   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   └─┬ @graphql-tools/merge

│ │     └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/apollo-engine-loader

│ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/code-file-loader

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/graphql-tag-pluck

│ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/git-loader

│ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/github-loader

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/executor-http

│ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/graphql-file-loader

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/import

│ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/json-file-loader

│ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/load

│ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-tools/prisma-loader

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ ├─┬ @graphql-tools/url-loader

│ │ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ ├─┬ @graphql-tools/delegate

│ │ │ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ │ ├─┬ @graphql-tools/batch-execute

│ │ │ │ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ │ └─┬ @graphql-tools/executor

│ │ │ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ ├─┬ @graphql-tools/executor-graphql-ws

│ │ │ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ │ └─┬ graphql-ws

│ │ │ │   └── ✕ missing peer<EMAIL_ADDRESS><=16"

│ │ │ ├─┬ @graphql-tools/executor-legacy-ws

│ │ │ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ └─┬ @graphql-tools/wrap

│ │ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ graphql-request

│ │   └── ✕ missing peer graphql@"14 - 16"

│ └─┬ graphql-config

│   └── ✕ missing peer<EMAIL_ADDRESS>|| ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

├─┬ @graphql-codegen/near-operation-file-preset

│ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ ├─┬ @graphql-codegen/add

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ └─┬ @graphql-codegen/plugin-helpers

│ │   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │   └─┬ @graphql-tools/utils

│ │     └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ @graphql-codegen/plugin-helpers

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ └─┬ @graphql-tools/utils

│ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ └─┬ @graphql-codegen/visitor-plugin-common

│   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│   ├─┬ @graphql-tools/optimize

│   │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│   ├─┬ @graphql-tools/relay-operation-optimizer

│   │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│   │ └─┬ @ardatan/relay-compiler

│   │   └── ✕ missing peer graphql@"*"

│   └─┬ graphql-tag

│     └── ✕ missing peer<EMAIL_ADDRESS>|| ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

├─┬ @graphql-codegen/typescript-operations

│ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ └─┬ @graphql-codegen/typescript

│   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│   ├─┬ @graphql-codegen/schema-ast

│   │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│   └─┬ @graphql-codegen/visitor-plugin-common

│     ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│     ├─┬ @graphql-tools/optimize

│     │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│     └─┬ @graphql-tools/relay-operation-optimizer

│       └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

├─┬ @graphql-codegen/typescript-urql

│ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ @graphql-eslint/eslint-plugin

│ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ ├─┬ @graphql-tools/code-file-loader

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/graphql-tag-pluck

│ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ ├─┬ graphql-config

│ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"

│ │ ├─┬ @graphql-tools/graphql-file-loader

│ │ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ └─┬ @graphql-tools/import

│ │ │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ ├─┬ @graphql-tools/json-file-loader

│ │ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ ├─┬ @graphql-tools/load

│ │ │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │ └─┬ @graphql-tools/schema

│ │ │   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ │   └─┬ @graphql-tools/merge

│ │ │     └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │ └─┬ @graphql-tools/url-loader

│ │   ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   ├─┬ @graphql-tools/delegate

│ │   │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   │ ├─┬ @graphql-tools/batch-execute

│ │   │ │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   │ └─┬ @graphql-tools/executor

│ │   │   └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   ├─┬ @graphql-tools/executor-http

│ │   │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   ├─┬ @graphql-tools/executor-graphql-ws

│ │   │ ├── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   │ └─┬ graphql-ws

│ │   │   └── ✕ missing peer<EMAIL_ADDRESS><=16"

│ │   ├─┬ @graphql-tools/executor-legacy-ws

│ │   │ └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ │   └─┬ @graphql-tools/wrap

│ │     └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0 || ^17.0.0"

│ └─┬ graphql-depth-limit

│   └── ✕ missing peer graphql@"*"

├─┬ eslint-config-kingstinct

│ └── ✕ missing peer graphql@>=16

├─┬ @kingstinct/react

│ └─┬ urql

│   └─┬ @urql/core

│     └─┬ @0no-co/graphql.web

│       └── ✕ missing peer<EMAIL_ADDRESS>|| ^15.0.0 || ^16.0.0"

├─┬ @storybook/addon-essentials

│ ├── ✕ missing peer webpack@"*"

│ └─┬ @storybook/addon-docs

│   ├─┬ babel-loader

│   │ └── ✕ missing peer webpack@>=2

│   └─┬ @mdx-js/react

│     └── ✕ unmet peer<EMAIL_ADDRESS>|| ^17.0.0": found 18.2.0

├─┬ @storybook/react-native

│ └─┬ @storybook/core-client

│   └── ✕ missing peer webpack@"*"

├─┬ babel-loader

│ └── ✕ missing peer webpack@>=5

├─┬ @storybook/addon-ondevice-controls

│ └─┬ @emotion/native

│   └─┬ @emotion/primitives-core

│     └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ @storybook/addon-react-native-web

│ ├── ✕ missing peer @babel/preset-react@"*"

│ ├── ✕ missing peer babel-plugin-react-native-web@"*"

│ └── ✕ missing peer metro-react-native-babel-preset@"*"

├─┬ @storybook/react

│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ └─┬ react-element-to-jsx-string

│   ├── ✕ unmet peer<EMAIL_ADDRESS>|| ^15.0.1 || ^16.0.0 || ^17.0.1": found 18.2.0

│   └── ✕ unmet peer<EMAIL_ADDRESS>|| ^15.0.1 || ^16.0.0 || ^17.0.1": found 18.2.0

├─┬ react-native

│ └─┬ @react-native/codegen

│   ├── ✕ missing peer<EMAIL_ADDRESS>
│   └─┬ jscodeshift

│     └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ react-native-reanimated

│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ └── ✕ missing peer<EMAIL_ADDRESS>
└─┬ @storybook/addon-actions

  └─┬ react-inspector

    └── ✕ unmet peer<EMAIL_ADDRESS>|| ^17.0.0": found 18.2.0

Peer dependencies that should be installed:

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS><8.0.0"

  @babel/preset-react@"*"

<EMAIL_ADDRESS>
  babel-plugin-react-native-web@"*"

<EMAIL_ADDRESS>
<EMAIL_ADDRESS><17.0.0"

  metro-react-native-babel-preset@"*"

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
pnpm exited with non-zero code: 1

Reproducible demo or steps to reproduce from a blank project

Set up a fresh Expo 49 project
Switch to use pnpm (run pnpm import)
Add .npmrc with shamefully-hoist=true
Add config.resolver.unstable_enableSymlinks = true to metro.config.js
Run pnpm install
Trigger an EAS build for Android (in the cloud)

We have a similar problem, Expo 49, .npmrc shamefull-hoist=true (but no config.resolver.unstable_enableSymlinks = true)
We could built the iOS but not Android
Android build log
Running "pnpm install --no-frozen-lockfile" in /home/expo/workingdir/build directory

WARN  Ignoring not compatible lockfile at /home/expo/workingdir/build/pnpm-lock.yaml

Progress: resolved 1, reused 0, downloaded 0, added 0

Progress: resolved 10, reused 0, downloaded 9, added 0

Progress: resolved 17, reused 0, downloaded 15, added 0

Progress: resolved 25, reused 0, downloaded 23, added 0

Progress: resolved 29, reused 0, downloaded 28, added 0

Progress: resolved 30, reused 0, downloaded 28, added 0

Progress: resolved 41, reused 0, downloaded 34, added 0

Progress: resolved 47, reused 0, downloaded 43, added 0

Progress: resolved 61, reused 0, downloaded 54, added 0

Progress: resolved 62, reused 0, downloaded 56, added 0

Progress: resolved 84, reused 0, downloaded 73, added 0

Progress: resolved 88, reused 0, downloaded 81, added 0

Progress: resolved 98, reused 0, downloaded 83, added 0

Progress: resolved 109, reused 0, downloaded 95, added 0

Progress: resolved 115, reused 0, downloaded 102, added 0

Progress: resolved 121, reused 0, downloaded 119, added 0

Progress: resolved 139, reused 0, downloaded 134, added 0

Progress: resolved 165, reused 0, downloaded 156, added 0

Progress: resolved 190, reused 0, downloaded 182, added 0

Progress: resolved 212, reused 0, downloaded 205, added 0

Progress: resolved 237, reused 0, downloaded 229, added 0

Progress: resolved 249, reused 0, downloaded 237, added 0

Progress: resolved 275, reused 0, downloaded 263, added 0

Progress: resolved 291, reused 0, downloaded 276, added 0

Progress: resolved 317, reused 0, downloaded 298, added 0

WARN  deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

WARN  deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

Progress: resolved 350, reused 0, downloaded 330, added 0

Progress: resolved 362, reused 0, downloaded 345, added 0

Progress: resolved 365, reused 0, downloaded 348, added 0

Progress: resolved 390, reused 0, downloaded 369, added 0

Progress: resolved 421, reused 0, downloaded 400, added 0

Progress: resolved 424, reused 0, downloaded 400, added 0

Progress: resolved 424, reused 0, downloaded 403, added 0

Progress: resolved 428, reused 0, downloaded 407, added 0

Progress: resolved 473, reused 0, downloaded 440, added 0

Progress: resolved 515, reused 0, downloaded 487, added 0

Progress: resolved 591, reused 0, downloaded 551, added 0

Progress: resolved 655, reused 0, downloaded 618, added 0

Progress: resolved 685, reused 0, downloaded 645, added 0

Progress: resolved 687, reused 0, downloaded 652, added 0

Progress: resolved 706, reused 0, downloaded 667, added 0

Progress: resolved 718, reused 0, downloaded 681, added 0

Progress: resolved 740, reused 0, downloaded 697, added 0

WARN  deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

Progress: resolved 771, reused 0, downloaded 719, added 0

Progress: resolved 782, reused 0, downloaded 733, added 0

Progress: resolved 827, reused 0, downloaded 781, added 0

Progress: resolved 848, reused 0, downloaded 801, added 0

Progress: resolved 874, reused 0, downloaded 824, added 0

WARN  deprecated<EMAIL_ADDRESS>Please use @jridgewell/sourcemap-codec instead

Progress: resolved 912, reused 0, downloaded 857, added 0

Progress: resolved 928, reused 0, downloaded 874, added 0

Progress: resolved 944, reused 0, downloaded 889, added 0

Progress: resolved 966, reused 0, downloaded 905, added 0

Progress: resolved 998, reused 0, downloaded 938, added 0

Progress: resolved 1060, reused 0, downloaded 995, added 0

Progress: resolved 1114, reused 0, downloaded 1043, added 0

Progress: resolved 1170, reused 0, downloaded 1097, added 0

WARN  deprecated<EMAIL_ADDRESS>This functionality has been moved to @npmcli/fs

Progress: resolved 1240, reused 0, downloaded 1162, added 0

Progress: resolved 1288, reused 0, downloaded 1208, added 0

Progress: resolved 1307, reused 0, downloaded 1223, added 0

Progress: resolved 1341, reused 0, downloaded 1261, added 0

WARN  deprecated<EMAIL_ADDRESS>some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added

Progress: resolved 1369, reused 0, downloaded 1284, added 0

Progress: resolved 1469, reused 0, downloaded 1376, added 0

Progress: resolved 1521, reused 0, downloaded 1420, added 0

Progress: resolved 1584, reused 0, downloaded 1482, added 0

WARN  deprecated<EMAIL_ADDRESS>support for ECMAScript is superseded by `uglify-js` as of v3.13.0

WARN  deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-resolve#deprecated

Progress: resolved 1649, reused 0, downloaded 1554, added 0

WARN  deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated

WARN  deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-url#deprecated

WARN  deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated

Progress: resolved 1684, reused 0, downloaded 1676, added 0

Progress: resolved 1691, reused 0, downloaded 1683, added 0

ERR_PNPM_PEER_DEP_ISSUES  Unmet peer dependencies

.

├─┬ @graphql-codegen/named-operations-object

│ └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ postcss-loader

│ └── ✕ missing peer<EMAIL_ADDRESS>|| ^5.0.0"

├─┬ @shopify/flash-list

│ └── ✕ missing peer @babel/runtime@"*"

├─┬ expo-splash-screen

│ └─┬ @expo/prebuild-config

│   └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ react-native

│ └─┬ @react-native/codegen

│   ├── ✕ missing peer<EMAIL_ADDRESS>
│   └─┬ jscodeshift

│     └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ react-native-paper

│ └── ✕ missing peer react-native-vector-icons@"*"

├─┬ react-native-reanimated

│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ ├── ✕ missing peer<EMAIL_ADDRESS>
│ └── ✕ missing peer<EMAIL_ADDRESS>
├─┬ @graphql-codegen/cli

│ └─┬ @whatwg-node/fetch

│   └─┬ @whatwg-node/node-fetch

│     └── ✕ unmet peer<EMAIL_ADDRESS>found 16.18.39

├─┬ jest-expo

│ └─┬ jest-watch-typeahead

│   └── ✕ unmet peer<EMAIL_ADDRESS>|| ^27.0.0": found 29.6.1

└─┬ rn-placeholder

  ├── ✕ unmet peer<EMAIL_ADDRESS>found 18.2.0

  └── ✕ unmet peer<EMAIL_ADDRESS>found 0.72.3

Peer dependencies that should be installed:

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS><8.0.0"

  @babel/runtime@"*"

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
  react-native-vector-icons@"*"

<EMAIL_ADDRESS>|| ^5.0.0"

pnpm exited with non-zero code: 1

iOS build log
running "pnpm install --no-frozen-lockfile" in /Users/expo/workingdir/build directory

Lockfile is up to date, resolution step is skipped

Packages: +1971

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Progress: resolved 0, reused 0, downloaded 1, added 0

Packages are hard linked from the content-addressable store to the virtual store.

  Content-addressable store is at: /Users/expo/Library/pnpm/store/v3

  Virtual store is at:             node_modules/.pnpm

Progress: resolved 0, reused 0, downloaded 36, added 31

Progress: resolved 0, reused 0, downloaded 77, added 71

Progress: resolved 0, reused 0, downloaded 94, added 84

Progress: resolved 0, reused 0, downloaded 107, added 94

Progress: resolved 0, reused 0, downloaded 128, added 117

Progress: resolved 0, reused 0, downloaded 150, added 133

Progress: resolved 0, reused 0, downloaded 169, added 137

Progress: resolved 0, reused 0, downloaded 193, added 169

Progress: resolved 0, reused 0, downloaded 226, added 205

Progress: resolved 0, reused 0, downloaded 241, added 221

Progress: resolved 0, reused 0, downloaded 278, added 265

Progress: resolved 0, reused 0, downloaded 306, added 276

Progress: resolved 0, reused 0, downloaded 310, added 276

Progress: resolved 0, reused 0, downloaded 318, added 287

Progress: resolved 0, reused 0, downloaded 341, added 315

Progress: resolved 0, reused 0, downloaded 366, added 368

Progress: resolved 0, reused 0, downloaded 394, added 395

Progress: resolved 0, reused 0, downloaded 441, added 440

Progress: resolved 0, reused 0, downloaded 519, added 535

Progress: resolved 0, reused 0, downloaded 557, added 572

Progress: resolved 0, reused 0, downloaded 605, added 648

Progress: resolved 0, reused 0, downloaded 675, added 717

Progress: resolved 0, reused 0, downloaded 723, added 779

Progress: resolved 0, reused 0, downloaded 794, added 847

Progress: resolved 0, reused 0, downloaded 859, added 916

Progress: resolved 0, reused 0, downloaded 907, added 966

Progress: resolved 0, reused 0, downloaded 965, added 1034

Progress: resolved 0, reused 0, downloaded 1015, added 1089

Progress: resolved 0, reused 0, downloaded 1064, added 1138

Progress: resolved 0, reused 0, downloaded 1115, added 1211

WARN  GET http://<IP_ADDRESS>:4873/sisteransi/-/sisteransi-1.0.5.tgz error (ECONNRESET). Will retry in 10 seconds. 2 retries left.

Progress: resolved 0, reused 0, downloaded 1172, added 1279

Progress: resolved 0, reused 0, downloaded 1194, added 1304

Progress: resolved 0, reused 0, downloaded 1258, added 1371

Progress: resolved 0, reused 0, downloaded 1337, added 1469

Progress: resolved 0, reused 0, downloaded 1372, added 1505

Progress: resolved 0, reused 0, downloaded 1409, added 1543

Progress: resolved 0, reused 0, downloaded 1439, added 1578

Progress: resolved 0, reused 0, downloaded 1517, added 1663

Progress: resolved 0, reused 0, downloaded 1588, added 1731

Progress: resolved 0, reused 0, downloaded 1596, added 1745

Progress: resolved 0, reused 0, downloaded 1645, added 1807

Progress: resolved 0, reused 0, downloaded 1678, added 1855

Progress: resolved 0, reused 0, downloaded 1709, added 1920

Progress: resolved 0, reused 0, downloaded 1720, added 1950

Progress: resolved 0, reused 0, downloaded 1723, added 1959

Progress: resolved 0, reused 0, downloaded 1725, added 1964

Progress: resolved 0, reused 0, downloaded 1726, added 1964

Progress: resolved 0, reused 0, downloaded 1726, added 1965

node_modules/postinstall-postinstall postinstall$ node ./run.js

node_modules/postinstall-postinstall postinstall: Done

node_modules/react-native-paper postinstall$ patch-package

node_modules/react-native-paper postinstall: patch-package 7.0.2

node_modules/react-native-paper postinstall: Applying patches...

node_modules/react-native-paper postinstall: No patch files found

node_modules/react-native-paper postinstall: Done

Progress: resolved 0, reused 0, downloaded 1726, added 1971, done

><EMAIL_ADDRESS>postinstall /Users/expo/workingdir/build

> patch-package

patch-package 6.5.1

Applying patches...

<EMAIL_ADDRESS>✔

Done in 50.2s

Hi,
You can go to Spin up build environment phase logs to see description of a builder environment and currently installed software. In this case (for Android), the pnpm version is 7.0.0.
We can make the pnpm version more configurable by adding the option to control its version to eas.json (same as for yarn, sounds like a good idea 👍
You can currently install a different version of pnpm using our pre-install hook (just use npm install -g pnpm@version command as a hook command), so it is doable at the moment.
Could you give it a try and let me know if it fixed the issue for you?

You can go to Spin up build environment phase logs to see description of a builder environment and currently installed software. In this case (for Android), the pnpm version is 7.0.0.

For my iOS builds (which succeed) it's 8.6.5.

You can currently install a different version of pnpm using our pre-install hook (just use npm install -g pnpm@version command as a hook command), so it is doable at the moment.
Could you give it a try and let me know if it fixed the issue for you?
I did just that and it fixed it for me, thank you for the suggestion.

@szdziedzic Thanks for the pre-install suggestion, works for me 👍
An even better way to specify version it with the packageManager property in package.json (although I know it’s still experimental). It’s nice to just have to update these things in one place.

If it helps anyone, I ran into an issue where it was trying to install pnpm when running a local build, which was failing since I already have it installed via a different method. My solution was to set "eas-build-pre-install" to  "./scripts/pre-install.sh", and adding the following bash script:
/scripts/pre-install.sh
#!/bin/bash

if [[ "$EAS_BUILD_RUNNER" == "eas-build" ]]; then
    npm install -g<EMAIL_ADDRESS>fi

I also ran into this issue. An alternative solution is to use Corepack
// package.json
{
  // ...
  "packageManager"<EMAIL_ADDRESS>  "scripts": {
    "eas-build-pre-install": "corepack enable",
    // ...
  }

Would be nice if this was supported out-of-the-box without having to manually call corepack enable

is there any reason why eas is running pnpm install --no-frozen-lockfile ? i suspect this is causing issue in our android build

We can make the pnpm version more configurable by adding the option to control its version to eas.json (same as for yarn, sounds like a good idea 👍

It was done some time ago.

Would be nice if this was supported out-of-the-box without having to manually call corepack enable

Yeah, good point, we are working on it 👍

is there any reason why eas is running

Yeah, for some older SDKs, the prebuild phase could actually alter versions of some packages by running npx expo prebuild. I believe it's no longer a case so we will make it require frozen lockfile in the future.


BOSH CPI does not support HTTP Proxy

We try to use the Alicloud BOSH CPI in a setup together with a HTTP Proxy, which is support by other CPI like Openstack: https://bosh.io/jobs/openstack_cpi?source=github.com/cloudfoundry/bosh-openstack-cpi-release&version=42#p%3Denv
Based on our tests it seems that the Alicloud CPI / a bosh director with this CPI does not support setting any http proxy to connect to the Cloud API. Can you please add support for this?

Is there something happening on this one?

HI @cloudyday @thoHeinze The release 22 has supported http proxy. Please check it.

Closed by no reply


[test-validator]change bind ip <IP_ADDRESS> to <IP_ADDRESS>

Description
change bind ip <IP_ADDRESS> to <IP_ADDRESS>
Test Plan
N/A
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

This looks reasonable to me, thanks @uvd. Probably this will fix #15279. @oxade @amnn any issues with merging this?


xray for tracing kafka messages

Hello,
I am trying to figure out how can use xray to instrument services that produce/consume kafka messages and have end-to-end tracing across event-driven flows.
This seems to supported in Java as illustrated by this post - https://aws.amazon.com/blogs/opensource/tracing-performance-messaging-applications-kafka-aws-x-ray/
However, we are using golang to develop our kafka services. So I have been trying to figure out how to achieve this using the xray golang sdk. I haven't been able to figure out if my implementation is wrong or are there limitations with Xray or xray-go API.
Here is some sample code
	addr, _ := net.ResolveUDPAddr("udp", "localhost:2000")
	xrayEmitter, err = xray.NewDefaultEmitter(addr)
	if err != nil {
		app.Log.Fatal(err.Error())
	}
	err = xray.Configure(xray.Config{
		DaemonAddr:     "localhost:2000",
		ServiceVersion: "1.0.1",
		LogLevel:       "debug",
	})
	if err != nil {
		app.Log.Fatal(err.Error())
	}

func (kc KafkaConsumer) ConsumeClaim(sess sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
        //start
	ctx, seg := xray.BeginSegment(context.Background(), "service")
	defer seg.Close(nil)
	for msg := range claim.Messages() {
		// Start a subsegment
		_, subSeg := xray.BeginSubsegment(ctx, "domain-event")
		xray.Capture(ctx, "event.ConsumeClaim", func(ctx1 context.Context) (err error) {
			err = processEvent(msg)
			if err != nil {
				app.Log.Error(err)
				return err
			}
			sess.MarkMessage(msg, "")
			return
		})
		subSeg.Close(nil)
		xrayEmitter.Emit(subSeg)
	}
        seg.Close(nil)
	return nil
}

@luluzhao thanks continuing to help me with this issue.
I enabled debug in the SDK as you suggested. Instead of running in docker, I am running the xray-daemon on the mac as well as service binary on my mac. I dont think sdk is connecting to the daemon.
Below are debug logs from SDK
2019-08-28T17:35:53-05:00 [INFO] using daemon endpoints from environment variable AWS_XRAY_DAEMON_ADDRESS: <IP_ADDRESS>:2000
2019-08-28T17:35:53-05:00 [INFO] Emitter using address: <IP_ADDRESS>:2000
...
...
2019-08-28T17:36:00-05:00 [DEBUG] Beginning segment named service
2019-08-28T17:36:01-05:00 [DEBUG] Beginning subsegment named domain-event
2019-08-28T17:36:01-05:00 [DEBUG] Beginning subsegment named domain-event.ConsumeClaim
...
...
2019-08-28T17:36:03-05:00 [DEBUG] Closing subsegment named domain-event.ConsumeClaim
2019-08-28T17:36:03-05:00 [DEBUG] Closing subsegment named domain-event
....

Below are debug log from xray-daemon
 ~/D/aws-xray-daemon-macos-3.x  ./xray_mac -o -n us-east-2 -l debug            12.9m  Wed Aug 28 17:50:27 2019
2019-08-28T17:51:05-05:00 [Info] Initializing AWS X-Ray daemon 3.1.0
2019-08-28T17:51:05-05:00 [Debug] Listening on UDP <IP_ADDRESS>:2000
2019-08-28T17:51:05-05:00 [Info] Using buffer memory limit of 163 MB
2019-08-28T17:51:05-05:00 [Info] 2608 segment buffers allocated
2019-08-28T17:51:05-05:00 [Debug] Using proxy address:
2019-08-28T17:51:05-05:00 [Debug] Fetch region us-east-2 from commandline/config file
2019-08-28T17:51:05-05:00 [Info] Using region: us-east-2
2019-08-28T17:51:05-05:00 [Debug] ARN of the AWS resource running the daemon:
2019-08-28T17:51:05-05:00 [Debug] No Metadata set for telemetry records
2019-08-28T17:51:05-05:00 [Debug] Using Endpoint: https://xray.us-east-2.amazonaws.com
2019-08-28T17:51:05-05:00 [Debug] Telemetry initiated
2019-08-28T17:51:05-05:00 [Info] HTTP Proxy server using X-Ray Endpoint : https://xray.us-east-2.amazonaws.com
2019-08-28T17:51:05-05:00 [Debug] Using Endpoint: https://xray.us-east-2.amazonaws.com
2019-08-28T17:51:05-05:00 [Debug] Batch size: 50
2019-08-28T17:51:05-05:00 [Info] Starting proxy http server on <IP_ADDRESS>:2000
2019-08-28T17:52:05-05:00 [Debug] Skipped telemetry data as no segments found
2019-08-28T17:53:05-05:00 [Debug] Skipped telemetry data as no segments found

Any thoughts?

@vishalmodak Did you see the traces inside sdk logs? It will print the actual trace in json format if you enable debug log level. If you didn't see the trace, that means you sdk doesn't send the trace to daemon.

i have gone through the above comments
all i get is something of this sort

Why  is does it not show that the request is sent to kafka if am producing message to it
https://aws.amazon.com/blogs/opensource/tracing-performance-messaging-applications-kafka-aws-x-ray/ as displayed in this example. Any thoughts?


Use Promise to wait for response if it is not ready

Using Promise just like what I promise to fix #10.
Jokes aside, I've been checking this method for couple of times, and it worked great. I don't know how to write tests for this scenario, unfortunately.
Thanks for the tip on Promise, by the way! I learned something new along the way.

This is not really what I had in mind. I meant just assigning a Promise to responseText that fetches the repos, and then always await it in module.exports = (request, response). A promise is only resolved once, so it will only wait for it to resolve to first time. The next times it's cached.

Oh, I thought it would be a disanvantage as fetchRepos would need to be triggered by  first request instead right after npm start. But well I hope this one is right.

Hmm. 500 error on test. I swear it works when I npm start.


Proof of False using unchecked refinement in higher order function

The following programm allows me to prove False.
val foo : f:(unit -> Tot bool){f () = true}
          -> Tot (r:bool {r = f () /\ r = true})
let foo f = f ()

val bar : unit -> Pure bool (requires True) (ensures (fun _ -> False))
let bar () = foo (fun x -> false)

It seems that the condition { f() = true} is never verified when calling foo.

Yikes. Will fix today


Supported on MacOS?

Is this program supported on MacOS?

Yes, in fact, I use it on macOS myself! As @Qwertylex mentioned, it compiles the same, you just need the Xcode command-line tools installed (xcode-select --install).


Kotlin to javascript

Hi
What is teavm's superior to Kotlin, given that kotlin converts Java code into javascript?Kotlin to javascript

The problem with Kotlin/JS is that it does not allow to include Java libraries and mix Java and Kotlin code, while TeaVM supports this feature.


fix(rt): fix readFully when using ktor 2.0

this change fixes reading bytes content under ktor 2.0

Issue #

https://github.com/awslabs/aws-sdk-kotlin/issues/480
Description of changes

Upgraded Ktor to 2.0.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I would need some help to test that the aws kotlin s3 library built using these changes fixes https://github.com/awslabs/aws-sdk-kotlin/issues/480
CC: @aajtodd

Closing this issue for now as Jetbrains said they will fix the binary incompatibility themselves.


ASYNC220: subprocess.Popen() is not blocking

subprocess.Popen() starts a child process and immediately returns a Popen instance.
It should not be fixed.

Ruff's behavior here matches the upstream rule (not saying it's correct because of that).
I'm not familiar with asyncio or any other Python async libraries but I suspect that subprocess.Popen is disallowed because the method blocks on the system call to spawn a process. This is similar to blocking on reading a file in that the call waits for the OS to complete some operation.
Reading the Python documentation I found

popen() is a simple wrapper around subprocess.Popen. Use subprocess.Popen or subprocess.run() to control options like encodings.

I'm not familiar with asyncio or any other Python async libraries but I suspect that subprocess.Popen is disallowed because the method blocks on the system call to spawn a process. This is similar to blocking on reading a file in that the call waits for the OS to complete some operation. Could you tell me more why you think that subprocess.Popen isn't blocking and e.g os.popen is?

subprocess.Popen() behaves differently from os.popen() and subprocess.run() in that it returns a Popen instance immediately after creating a child process without blocking the current task.
It can manage child processes more flexibly, using Popen.wait () to wait for the child process to end, Popen.terminate () to stop the child process, Popen.poll () to check the child process status, etc.

Reading the Python documentation I found

popen() is a simple wrapper around subprocess.Popen. Use subprocess.Popen or subprocess.run() to control options like encodings.

Python documentation may not explicitly state that subprocess.Popen() doesn't block, its behavior was tested by me writing the demo
https://docs.python.org/3.13/library/subprocess.html#popen-objects

Per the documentation here, we recommend instead using a natively async interface (e.g. trio.run_process()).
While the initial process creation of subprocess.Popen is typically cheap, it sets up a footgun in blocking poll/wait/communicate methods and I've been bitten enough times in a large codebase that we introduced this rule.  I've also found that the Trio APIs make it considerably easier to write correct programs in general; for example defaulting to check=True + keeping .returncode synced + stdin=b"" are also pretty nice to have, along with making it easier to wait exactly until the process is done and no longer in the simple case.


Don't assume a single  for region sets

Closes #466
@kinwie if you can try :)

Sorry, a bit late to check this.
@paulfd Yes, the polyphony works fine now


Enhancement Request:  Full screen and UI

Requesting an API where we receive the full game screen, and can perform actions via "left click," "Press A", etc.
You added support for RGB pixels, but the "screeen" and "minimap" are still separated.  Also, most of the defined actions are specified with abstractions, rather than in terms of what a human would literally do.  Like "select_point()" is good, but is still an abstraction compared to "mouse.left_click(x,y)" or "keyboard.key_press("A").
These intervening abstractions represent assumptions being made by us, and indicate a lack of faith in the neural net to figure the game out on its own.

This needs support from Blizzard, so would be better requested from https://github.com/Blizzard/s2client-proto .


merge QuoInt and Rem into QuoRem.

The GDA spec says Rem should fail in the same ways as QuoInt, which means literally in the same ways. Since this means we (effectively) cannot optimize QuoInt and Rem to reduce computations, for code clarity we should just merge the two into QuoRem.

Are you saying that you want to eliminate QuoInt and Rem entirely (which would be a breaking API change), or are you saying that the implementations of QuoInt and Rem should be converted to calls to QuoRem with a discarded value?

@kentquirk Yeah, converted to calls to QuoRem with a discarded value.
Looking at #72, I'm not entirely sure this is still necessary. It's been 6 months since I created it so I'll have to reinvestigate. But yeah, no API breakage.


feat: home page responsive design and files organisation.

Updates

Closes #3
Organized the file into proper folder structure.
(Pending) Home page responsive
Updated Navbar
Added website logo
fix minor bugs and errors.

Screenshot
Before

After

Updates

feat: added mobile responsive.
feat: added JS for navbar toggle.
feat: updated the same navbar on all pages.

Screenshots


[Bitfinex] Duplicate key DOGE/USD

When invoking applySpecification() method on exchange I get this exception:
Caused by: java.lang.IllegalStateException: Duplicate key DOGE/USD (attempted merging values 0.086684 and 0.30382) 	at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:133) 	at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180) 	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) 	at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) 	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) 	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) 	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) 	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) 	at org.knowm.xchange.bitfinex.BitfinexExchange.remoteInit(BitfinexExchange.java:86) 	at org.knowm.xchange.BaseExchange.applySpecification(BaseExchange.java:113)
I debugged the issue and it seems like 2 CurrencyPairs: XDC/USD and DOGE/USD are treated as equal when putting them in the map by stream collector in this piece of code (I suspect that because these currency pairs have same values as in stacktrace - 0.086684 and 0.30382)
Map<CurrencyPair, BigDecimal> lastPrices =
          Arrays.stream(dataService.getBitfinexTickers(null))
              .map(BitfinexAdapters::adaptTicker)
              .peek(t -> System.out.println(String.format(">>>  %s >>  %s",t.getCurrencyPair(), t.getLast())))
              .collect(Collectors.toMap(t -> t.getCurrencyPair(), t -> t.getLast()))

I see that CurrencyPair has some custom equals() method so probably the issue lies there

the exchange returned 500 error code which indicates and internal error in the exchange it self
it may caused by you account specific data
please set the logging level so we can see the full exchanges response and paste it here
https://github.com/mmazi/rescu#logging


Error After deploy

Hi! I have a  Local report
App_data --> Reports --> EmptyReport.rdlc (embedded resource)
This report only has a text.
Code View:
@Html.MvcReportViewerFluent("App_Data/Reports/NoDataReport.rdlc").ProcessingMode(ProcessingMode.Local).Attributes(new { Height = 900, Width = "100%", style = "border: none; background-color:white;" })
LocalHost is working but when I deployed, the view show a IFRAME EMPTY.
WebConfig
< add key="MvcReportViewer.AspxViewer" value="~/MvcReportViewer.aspx" />
< add key="MvcReportViewer.AspxViewerJavaScript" value="~/Scripts/MvcReportViewer.js" />
< add key="MvcReportViewer.ErrorPage" value="~/MvcReportViewerErrorPage.html" />
< add key="MvcReportViewer.ShowErrorPage" value="false" />
< add key="MvcReportViewer.ReportServerUrl" value="" />
< add key="MvcReportViewer.Username" value="" />
< add key="MvcReportViewer.Password" value="" />
< add key="MvcReportViewer.EncryptParameters" value="False" />
< add key="MvcReportViewer.IsAzureSSRS" value="False" />
< add key="MvcReportViewer.LocalDataSourceProvider" value="MvcReportViewer.SessionLocalDataSourceProvider, MvcReportViewer" />

Help me please!

Did you install in your web server this http://www.microsoft.com/en-us/download/details.aspx?id=35747 ?

Please try to make simple web forms application running your local report and see if it works or not. Regarding your case:

Enable ASP.NET errors in Web.config. < add key="MvcReportViewer.ShowErrorPage" value="True" />
Verify application pool permissions on the server. May be the account cannot read the report file.
Check you Report Viewer control version installed on the server. Please review the last comment at https://github.com/ilich/MvcReportViewer/issues/63

Let me know if there is something to be fixed in the HTML Wrapper.

Perfect is works!! Thanks very much!


APEX-131: Setup Travis CI for continuous integration

first attempt at a basic travis yaml with slack notification support, work in progress

I think it will be better to start with this in the devel-3 branch where all the action is. Any further info regarding the slack integration (please add to ticket)?

Closing to target the devel-3 branch


Refactor script

Refactor script to make sure the arguments to the function runCmd are understood by the OS (first a single String for the main command, without spaces, then an array of strings for additional arguments).

Thank you!


anti-feature request: please allow no auto-indent

when i hit enter, i just want it to go to new line.

Just do this

that is how it is set


Pre generated url is not working with md5 hash - fixes #160

@rufuspollock / @Fak3 please review

@subhankarb these both look good. My one comment is on commit messages which I think could be improved (we can't do this here for this case but you could in general). Commit messages are important because:

As a PR reviewer they are the first thing you read.
When looking through code later commit messages are essential for making sense of changes made months or years earlier.

The commit messages here are either inaccurate or uninformative :wink:
e.g.
Pre generated url is not working with md5 hash - fixes #160

I think what you meant was:
[api][s]: Improve API that generates upload URLs to BitStore to use and require md5 hash of uploaded file - fixes #160

Then next commit message is misleading:
Fix tests for datapackage.json invalidate - fixes #160

Why is this misleading:

Does not fix #160 (that was previous commit). If anything this references #5
This not about fixing a test but about adding a test.

Better commit message would have been:
[api][s]: Add test to ensure we cannot generate URL to upload datapackage.json direct to BitStore (as per spec) - refs #5


small typo mistake in AT docu

4.2.3
Site 19/53
AT+CIPSTA—Sets the IP Address of the ESP32 Station
Query Command:
AT+CIPSTA?
Function: to obtain the IP address of the ESP32 SoftAP.
think must renamed
ESP32 SoftAP -> ESP32 Station
here too:
Set Command:
AT+CIPSTA=,[,,]
Function: to set the IP address of the ESP32 SoftAP.
think must renamed
ESP32 SoftAP -> ESP32 Station

best wishes
rudi ;-)

No interest - ok
there a few more mistake things in docu
but ok - Close it

Sorry for the late reply and thanks for your report.We have fixed the mistake,but have not released it on github.

Pity about the wasted time
Will use my time now more meaningfully


Add BurracoON app to showcase

Hi @Rickgbw. Thank you for the PR! We're currently in the middle of a major merge. We will revisit this PR next week. Stay tuned!


How to create different pricings for subscriptions based on user country?

I would like to sell the subscription to US customers for 100 USD and european for 100 EUR.
How is this possible?
Prefering a solution with cashier_plans.php

Something like that will work for you @mleister97
'plans' => [
        'european_plan' => [
            'amount' => [
                'value' => '100.00',
                'currency' => 'EUR',
            ],
            // Rest of the plan config
        ],
       'us_plan' => [
            'amount' => [
                'value' => '100.00',
                'currency' => 'USD',
            ],
            // Rest of the plan config
        ],
    ],


add Ain Shams University - School of Pharmacy domain

add Ain Shams University - School of Pharmacy domain

add Ain Shams University - School of Pharmacy domain

@OmarAminn27 I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host pharma.pharma.asu.edu.eg not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Tensorflow Serving graph export

After using the freeze_graph.py script, you get a single pb file, which doesn't have some required signature/tags needed for use in TFS. For that purpose we created this little script that may be helpful for others. With the output from this script you can use the saved_model_cli utility to build a TFS client for this.
This was tested on python 3.6.4. tensorflow 1.10.1
import argparse
import sys

from tensorflow.python.saved_model import builder as saved_model_builder
from tensorflow.python.saved_model import tag_constants
from tensorflow.python.saved_model.signature_def_utils_impl import predict_signature_def
from tensorflow.gfile import GFile
from tensorflow import GraphDef, Graph, import_graph_def, Session

def main(args):
    with GFile(args.frozen_model_path, "rb") as f:
        graph_def = GraphDef()
        graph_def.ParseFromString(f.read())

    with Session() as sess:
        # Then, we import the graph_def into a new Graph and returns it
        with Graph().as_default() as graph:
            import_graph_def(graph_def, name='')
            signature = predict_signature_def(
                inputs={'image_batch': graph.get_tensor_by_name('image_batch:0'),
                        'phase_train': graph.get_tensor_by_name('phase_train:0')},
                outputs={'embeddings': graph.get_tensor_by_name('embeddings:0')}
            )

            builder = saved_model_builder.SavedModelBuilder(args.output_model_dir)
            builder.add_meta_graph_and_variables(
                sess=sess,
                tags=[tag_constants.SERVING],
                signature_def_map={'serving_default': signature}
            )
            builder.save()

def parse_arguments(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument('frozen_model_path', type=str,
                        help='Frozen model path.')
    parser.add_argument('output_model_dir', type=str,
                        help='Filename for the exported graphdef protobuf (.pb)')
    return parser.parse_args(argv)

if __name__ == '__main__':
    main(parse_arguments(sys.argv[1:]))

@bmachin: Hi, Thank you for sharing this code.
I tried to export the model using this code, but I noticed that "variables" folder is empty.
Do you know how to get the  data in "variables" directory?
I tried to run the tmodel using TFS Docker container and I could not load the model successfully due to this error:
"Failed to start server. Error: Unknown: 1 servable(s) did not become available: {{{name: fe version: 123} due to error: Invalid argument: Tensor :0, specified in either feed_devices or fetch_devices was not found in the Graph}, }
Do you have any ideas on how to solve this?
Thanks!

Hi @rhosseini, you're welcome.
I think the "variables" folder is empty because the model is frozen. It's not a problem, it's just that the save method outputs it nonetheless.
I don't think I've seen that error you mention, but in case it helps, to consume the model, I typically use something like this:
docker run -p 8500:8500 -p 8501:8501 \
  --mount type=bind,source=/path/to/my_model/frozen_model.pb,target=/models/my_model/1/frozen_model.pb \
  --mount type=bind,source=/path/to/my/models.config,target=/models/models.config \
  -t tensorflow/serving --model_config_file=/models/models.config

See: https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/docker.md#passing-additional-arguments
Example of a models.config file:
model_config_list: {

  config: {
        name: "facenet",
        base_path: "/models/my_model",
        model_platform: "tensorflow"
      }
}

Note that in the config file you specify up to the model directory, without including the version directory (1 in this case), since this is assumed by TFS.
If this works, you should be able to run docker logs <your-tfs-container> and see something like this at the end:
2019-09-17 21:43:02.085036: I tensorflow_serving/model_servers/server.cc:324] Running gRPC ModelServer at <IP_ADDRESS>:9000 ...
I hope this helps.

Hi @bmachin ,
I managed to serve a model using your code. However, now I am wondering: what should I provide it as input?
I think something like this would be in the right direction:
 headers = {"content-type": "application/json"}
 data = json.dumps({"signature_name": "serving_default", "instances": [image]})
 json_response = requests.post('http://localhost:8501/v1/models/facenet:predict', data=data, headers=headers)
(image here is a numpy array)
But it obviously does not work. Could you help me out here please?

@bmachin  in your example
source=/path/to/my_model/frozen_model.pb,target=/models/my_model/1/frozen_model.pb

what is the diffrence between 'source' and 'target'. Also once the server starts how do I get result ?

When I follow your instructions and do this:
$ sudo docker run -p 8500:8500 -p 8501:8501   --mount type=bind,source=/home/serveradmin/models/facenet/20180402-114759/tensorflow_serving,target=/home/serveradmin/Documents/ajinkya/output/facenet/model_facenet/my_model/1/   --mount type=bind,source=/home/serveradmin/Documents/ajinkya/output/facenet/models.config,target=/home/serveradmin/Documents/ajinkya/output/facenet/model_facenet/models.config   -t tensorflow/serving --model_config_file=/home/serveradmin/Documents/ajinkya/output/facenet/models.config

I get the following error:
Failed to start server. Error: Not found: /home/serveradmin/Documents/ajinkya/output/facenet/models.config; No such file or directory

The error is not justified because models.cofig file is already present in this location:
$ cat /home/serveradmin/Documents/ajinkya/output/facenet/models.config
model_config_list: {

  config: {
        name: "facenet",
        base_path: "/home/serveradmin/models/facenet/20180402-114759/tensorflow_serving/saved_model.pb",
        model_platform: "tensorflow"
      }
}

That looks good I think. You can now try to run saved_model_cli to check if everything's good:
saved_model_cli show --all --dir <path_to_your_model_dir>/<model_version>
(it needs up to the version model, typically just 1 in your case)
This will you show all the info you need to write your client, which should look something like this:
def get_embeddings(images_paths, batch_size):
    channel = insecure_channel(f'{TFS_HOST}:{TFS_PORT}')  # localhost:8500 in your case
    stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)

    request = predict_pb2.PredictRequest()
    request.model_spec.name = '...'  # get this from saved_model_cli
    request.model_spec.signature_name = '...'  # get this from saved_model_cli

    # Run forward pass to calculate embeddings
    nrof_images = len(images_paths)
    nrof_batches_per_epoch = int(math.ceil(nrof_images / batch_size))
    emb_array = np.zeros((nrof_images, 128))
    for i in range(nrof_batches_per_epoch):
        start_index = i * batch_size
        end_index = min((i + 1) * batch_size, nrof_images)
        paths_batch = images_paths[start_index:end_index]
        images = load_data(paths_batch, 160)

        request.inputs['image_batch'].CopyFrom(
            tf.contrib.util.make_tensor_proto(images, shape=images.shape, dtype=tf.float32))
        request.inputs['phase_train'].CopyFrom(tf.contrib.util.make_tensor_proto(False))
        result = stub.Predict(request, 10.0)  # 10 secs timeout
        np_res = np.array(result.outputs['embeddings'].float_val).reshape([len(paths_batch), 128])
        emb_array[start_index:end_index, :] = np_res
    return emb_array

The load_data function is this one: https://github.com/davidsandberg/facenet/blob/096ed770f163957c1e56efa7feeb194773920f6e/src/facenet.py#L243
This is for gRPC, you can also hit the REST (on port 8501) endpoint if you want.
Let me know how it goes (:

Hi @bmachin, I have the same results of @ajinkya933 because I'm using his script, but my question is: How do I know of this results  belong a determined person?, because I don't see the result of person's identification. In other words the script that you use to transform the model, I saw that only give one output and I think that this output is the accuracy and it doesn't give the person ID. If I'm wrong, excuse me, I'm new in this knowledge, I need help with this model of face recognition and I don't understand ver well.

thanks, it is good.


Azure EventHubs Binding checkpointing & KEDA usage

Describe the proposal
As I can see the Azure EventHubs Binding is currently not doing any checkpointing of the messages received, is this correct?

https://github.com/Azure/azure-event-hubs-go#event-processor-host

Should this be part of the binding to make sure to not losse any messages?
In addition, KEDA only supports Azure Event Hub scaler based on checkpoints from Azure Blob Storage. It uses this information for calculating the diff and decidinign for scaling Up/down.

https://keda.sh/scalers/azure-event-hub/

This should be another reason for adding checkpointing to the Azure EventHubs Binding.

Hey @RicardoNiepel, this is already tracked here: https://github.com/dapr/components-contrib/issues/154
Looks like a good candidate for 0.5

Perfect - it should be tested afterwards if the KEDA Event Hub scaler can handle the written checkpoint file from Golang.
Inside the documentation it currently says

"scaling only Event Hub applications written in C#, Java, Python or created with Azure Function"
https://keda.sh/scalers/azure-event-hub/

If not, a custom CheckpointPersister will be needed, otherwise it doesn't make sence to use Event Hub binding in Dapr, if it is not scalable.

Perfect - it should be tested afterwards if the KEDA Event Hub scaler can handle the written checkpoint file from Golang.
Inside the documentation it currently says

"scaling only Event Hub applications written in C#, Java, Python or created with Azure Function"
https://keda.sh/scalers/azure-event-hub/

If not, a custom CheckpointPersister will be needed, otherwise it doesn't make sence to use Event Hub binding in Dapr, if it is not scalable.

KEDA is not the only way to scale event hub consumers. Also, the Prometheus KEDA scaler can be used for this.

Specifically, according to the EH scaler docs, matters are even worse: you can only scale an Azure Function with it.

I have taken a look into the source code - the language doesn't matter - it just important that the checkpoint files are in a specific format in an Azure storage account - and the EventHostProcessors from C#, Java, Python and Azure Function in general are following these.
I can test in the next weeks.
Regarding autoscaler possibilties: I was just mentioning KEDA because it's mentioned inside the Dapr documentation.

Can you check for the Event Hubs Go SDK?

This is exactly what I will do, using the Go EventProcessorHost

#253 enabled to test this.
If successful I will add an Event Hub section to Autoscaling a Dapr app with KEDA.

@RicardoNiepel - Can this issue now be closed  and can you also update the Event Hub section to Autoscaling a Dapr app with KEDA documentation?


Clean up intermediary load job tables on BQ

I wrote a wildcard query over the technologies dataset and found ~hundreds of tables with names like httparchive.technologies.beam_bq_job_LOAD_httparchivejulystreamingpipeline_LOAD_STEP_126_013fc2c379fe0768444c5cf87ef6c4c3_005eb94967ab4afa85b3ad236fcbd859. It seems like the httparchivejulystreamingpipeline Dataflow job failed while writing data into BQ and these intermediary tables were never cleaned up.

Any table prefixed with beam is an intermediary table and can safely be deleted. We can write a DML query to target and delete these. We should repeat this process for the other datasets that Dataflow writes into.

Will clean these up and add a note to the readme on how do do this.

Created a saved query at the project level to automate temp table cleanup. Just replace the dataset name before running.
https://console.cloud.google.com/bigquery?sq=226352634162:82dad1cd1374428e8d6eaa961d286559


feat: add seed peer back source traffic

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1738 (edfce1d) into main (088f4e6) will decrease coverage by 0.18%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1738      +/-   ##
==========================================
- Coverage   43.80%   43.61%   -0.19%
==========================================
  Files         128      128
  Lines       15863    15865       +2
==========================================
- Hits         6948     6919      -29
- Misses       8389     8420      +31
  Partials      526      526

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
43.61% <0.00%> (-0.19%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

scheduler/resource/seed_peer.go
18.36% <0.00%> (-0.39%)
:arrow_down:

client/daemon/peer/peertask_piecetask_poller.go
34.42% <0.00%> (-14.21%)
:arrow_down:

...ent/daemon/peer/peertask_piecetask_synchronizer.go
50.15% <0.00%> (-0.94%)
:arrow_down:


[New] jsx-handler-names: add checkLocalVariables option

@ljharb I'm recreating this as a duplicate of #2470, which I will close. I had done a dopey job of making my commits in there and figured starting over might make life easier for you. Now it has the correct commit title and everything is in a single commit.

@aub In the future, please do not open a second PR; the easiest thing is updating the existing PR in place. It would still be ideal to reopen the original one and force push this same sha there.


[feat] Make the computation output of mining Doge the crowd-computation of processing SETI images to look for habitable planets in the cosmos

Imagine if the entire world, or at least the Doge-transacting community, would contribute to processing SETI image data every time they were making a transaction.
Or this could be done during mining. A benefit is that the images are publicly available and hard to alter.
The idea is that all that computing power could actually contribute to finding extra-terrestrial life.  Or at least habitable planets outside our solar system.  Shouldn't we be doing this instead of spending wasted energy just computing random math?  Would this be hard to do?

TBH so true, if the computing power is being used doing something "useful" in a research field, and then who lends computer power is rewarded with DOGE in a way that is half and half POW and POS

Yeah I’m perfect for this. You use my computer and I’ll star away from it -
POW and pos
On Thu, May 27, 2021 at 4:39 AM Ducktor8 @.***> wrote:

TBH so true, if the computing power is being used doing something "useful"
in a research field, and then who lends computer power is rewarded with
DOGE in a way that is half and half POW and POS
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dogecoin/dogecoin/issues/2178#issuecomment-849450843,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS7OED57DFPAK7PMTQQEUYTTPYANRANCNFSM45TFASGA
.

--
Cat Mayville
President, Spot Digital Media
404-357-4503

I’m a photographer/video editor - I have massive HD’s for latter, but not
much work there lately
On Thu, May 27, 2021 at 4:41 AM Cat Mayville @.***> wrote:

Yeah I’m perfect for this. You use my computer and I’ll star away from it

POW and pos

On Thu, May 27, 2021 at 4:39 AM Ducktor8 @.***> wrote:

TBH so true, if the computing power is being used doing something
"useful" in a research field, and then who lends computer power is rewarded
with DOGE in a way that is half and half POW and POS
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dogecoin/dogecoin/issues/2178#issuecomment-849450843,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS7OED57DFPAK7PMTQQEUYTTPYANRANCNFSM45TFASGA
.

--
Cat Mayville
President, Spot Digital Media
404-357-4503
--
Cat Mayville
President, Spot Digital Media
404-357-4503

Sorry, the sonar planes love Atlanta right now - hacking/safety testing.
I could recruit some heavy traffic locations in other various parts of the city of that would help the network.  What restaurant wouldn’t want people hanging out all day, w their phones  ;/)
Thank you!
Cat Mayville, President
Spot Digital Media
404-357-4503

On May 27, 2021, at 4:43 AM, Cat Mayville @.***> wrote:

I’m a photographer/video editor - I have massive HD’s for latter, but not much work there lately

On Thu, May 27, 2021 at 4:41 AM Cat Mayville @.***> wrote:
Yeah I’m perfect for this. You use my computer and I’ll star away from it - POW and pos

On Thu, May 27, 2021 at 4:39 AM Ducktor8 @.***> wrote:
TBH so true, if the computing power is being used doing something "useful" in a research field, and then who lends computer power is rewarded with DOGE in a way that is half and half POW and POS
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

--
Cat Mayville
President, Spot Digital Media
404-357-4503

--
Cat Mayville
President, Spot Digital Media
404-357-4503

@rnicoll @patricklodder would it be wrong to just start blocking spammers?

@kitcateleven We're trying to keep this to technical, https://www.reddit.com/r/dogecoin/ might be more appropriate for a lot of this.
As to the original ticket; there are other organisations which pay out Dogecoin for constructive work: https://www.dogecoinfah.com/


dl: No longer able to download a new Go toolchain from an old Go version

As a result of https://go-review.googlesource.com/c/dl/+/540221, (https://github.com/golang/dl/commit/2a66dfb9a9cf29fab51425f5c052d40437875c70)
go get golang.org/dl/go1.19.13 run from any Go version <= 1.16 now fails with:
# golang.org/dl/internal/version
go/src/golang.org/dl/internal/version/signal_unix.go:14: signalsToIgnore redeclared in this block
	previous declaration at go/src/golang.org/dl/internal/version/signal_notunix.go:13
go/src/golang.org/dl/internal/version/version.go:151: undefined: os.WriteFile
go/src/golang.org/dl/internal/version/version.go:322: undefined: io.ReadAll

because //+build was removed and //go:build is not supported on those versions.
My CI pipeline run from an old Debian that tries to download a newer Go version now fails because of this change.
Originally posted by @delthas in https://github.com/golang/go/issues/60268#issuecomment-1838391097

as noted in the original issue, those versions are outside of our support window (2 most recent major releases)

You're right that the original issue calls out the support window. However, I think it's worth making a distinction between the golang.org/dl package which is often used to install a desired version of Go, and the other packages which are used as libraries.
If this is working as intended, please consider adding a prominent note to https://go.dev/doc/manage-install documenting the minimum version.

Perhaps the team's intent is that dl is really for installing older versions of Go, not newer ones? It does seem worth clarifying.

CC @golang/release

consider https://github.com/golang/go/issues/44329#issuecomment-1612242935 where the use of GOVERSION may obsolete the use golang.org/dl (assuming a new enough starting version)


boards: mec: mec15xxevb, mec1501modular: Update documentation

Update documention to refer to MEC152x specifications and
SPI image generator. MEC152x is the actual production SOC.
The only difference is the Boot-ROM loader SPI image layout.
Signed-off-by: Scott Worley<EMAIL_ADDRESS>

I wonder if we should keep the MEC1501 part, for those who still have the older board.

The only difference is the SPI image generator.  The MEC1501 SPI image generator is still available at https://github.com/MicrochipTech/CPGZephyrDocs/tree/master/MEC1501/SPI_image_gen
If everyone agrees to keep the old link, I can update this PR.

Added the link to the old MEC1501 SPI image generator for developers with the older boards.


refactor: Remove swc_ecma_dep_graph

Description:
See https://github.com/swc-project/swc/discussions/8289
BREAKING CHANGE: Deprecates swc_ecma_dep_graph
Related issue (if exists):
Closes https://github.com/swc-project/swc/discussions/8289

Should hopefully be good now.


fix #8 Some special symbols cannot be processed

I added an event handler to customize the width of characters to be compatible with any character used

@microsoft-github-policy-service agree

@sdwdjzhy Thanks for submitting this but I'm afraid I cannot accept it.
Wcwidth works with predefined data only that might be shared between threads, so we cannot add any mutable data to it. If something is missing or wrong, the problem should be fixed within the data itself.
I will take a look at your problem with ℃ and ℉ in the upcoming week, and see if I can find a solution.


Room lifecycle in progress flag

Context
Closes #406
CHA-723
Description
We weren't properly setting and unsetting the room operation in progress flag (we were only setting it to false when attaching). This change rectifies this.
Also included is the fix for async-mutex operation precedence - as the order was the wrong way around.
Checklist

[x] QA'd by the author.
[x] Unit tests created (if applicable).
[x] Integration tests created (if applicable).
[x] Follow coding style guidelines found here.
[x] TypeDoc updated (if applicable).
[x] (Optional) Update documentation for new features.
[x] Browser tests created (if applicable).
[x] In repo demo app updated (if applicable).

Testing Instructions (Optional)
N/A

Can we add a private method to avoid code repetition

We can in the future - though I'd prefer to keep this PR scoped to just the functionality fixes for now.

Sure, I mean, the suggestion is related to the fix. In the future, if we have more atomic operations, we don't need to worry about setting/clearing _operationInProgress flag.

Sure, thanks for the info!


Using roxygen2 to generate NAMESPACE

Not a bug, but perhaps helpful notes based on a slight variation I worked with... not worth a blog post of my own, but may be of value to someone.
I finally got my own version working with some external C code I've been wrestling with for a while now, but couldn't call the functions externally. It turns out it was because I was using roxygen2 to build NAMESPACE, so the pieces I was missing were:
#' @useDynLib pkgname
#' @importFrom Rcpp sourceCpp
"_PACKAGE"

in e.g. pkgname-package.R, and including both of
//' @export
// [[Rcpp::export]]

in the .cpp source.
I eventually found both of these here and I clearly skipped over those when I originally read the book as I had 0 knowledge of Rcpp at the time.
The advice I've seen around to use exportPattern("^[[:alpha:]]+") fails when using roxygen2 as you either can't edit NAMESPACE manually, or are stuck with just those lines (no using roxygen2 to populate).
Of course, I'm happy to be shown where I've gone wrong.

Thanks @jonocarroll   - i tweaked the package a bit to use roxygen2.


Fix docker working directory

As brought up by @hamishwillee we need to change the docker working directory. This required to rebuild the docker images and therefore also update the tags in the Jenkinsfile.

I was hoping to fix the Jenkins build today and then merge this. And after that we can rebase the other PRs and get them in as well.


Add security policy

A security policy provides guidelines for evaluating and mitigating security risks.
The idea of a security policy in software is familiar; many large open-source projects understand the need to define policies and procedures for reporting security issues. Some even have dedicated teams to handle security issues. Forges like GitHub actively promote adding a SECURITY.rst or SECURITY.md file in the code repository that explains how to report security issues.
This task aims to add the first version of a security policy for Cosmos, following @jedomagalski's recommendations.
Co-authored-by: Joshua Domagalski<EMAIL_ADDRESS>

@tatiana - I added one comment/recommended change.  Otherwise, gtg to me.


Adding in additional metrics to track for database connections

Adding in additional metrics to track for database connections

Codecov Report

Merging #210 (b1c3769) into master (3a27ee1) will decrease coverage by 0.81%.
The diff coverage is 14.28%.

:exclamation: Current head b1c3769 differs from pull request most recent head 515741f. Consider uploading reports for the commit 515741f to get more accurate results

@@            Coverage Diff             @@
##           master     #210      +/-   ##
==========================================
- Coverage   80.56%   79.74%   -0.82%
==========================================
  Files          29       28       -1
  Lines        1019      958      -61
==========================================
- Hits          821      764      -57
- Misses        136      142       +6
+ Partials       62       52      -10

Impacted Files
Coverage Δ

database/mysql.go
60.86% <14.28%> (-1.49%)
:arrow_down:

database/migrator.go
50.00% <0.00%> (-12.00%)
:arrow_down:

database/database.go
33.33% <0.00%> (-7.15%)
:arrow_down:

database/sqlite_cgo.go

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3a27ee1...515741f. Read the comment docs.


Geocoding don't geocode all rows

I've imported this table into this one and geocoding doesn't work as expected. Many rows are not geocoded in spite of having the same value. I've geocoded with "ambito" column in "Spain" country, and, for example, Baleares is geocoded in row 65 but not in row 77.

I have detected this behaviour too

Cannot reproduce anymore. Closing. :-)


Updated MAX highperf GWs

Updated refs to total number of High-performance GWs allowed per deployment.

@ScottNapolitan : Thanks for your contribution! The author, @brenduns, has been notified to review your proposed change.

#sign-off


Bump dask pinning to 2021.10.0

This is a follow up for #255 that ensures that we have the required sorting updates in Dask to sort columns with null values. Note that we will need to mirror this change for the Conda feedstock recipe.

Codecov Report

Merging #303 (bfaa508) into main (5b8f8a9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #303   +/-   ##
=======================================
  Coverage   95.89%   95.89%
=======================================
  Files          65       65
  Lines        2800     2800
  Branches      418      418
=======================================
  Hits         2685     2685
  Misses         73       73
  Partials       42       42

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5b8f8a9...bfaa508. Read the comment docs.