zrobot can not started in a zeroOS machine

according to ticket in https://support.grid.tf/thread/63
below is zrobot container log for job zrobot
In [40]: f = ncl.containers.get('zrobot')

In [41]: job = f.client.subscribe('zrobot')

In [42]: job.stream()
[Tue29 08:52] - .startup.py       :110 :j.zrobot_statup      - INFO     - detect if zdb data repository is configured
[Tue29 08:52] - .startup.py       :114 :j.zrobot_statup      - INFO     - no zdb data repository configuration found
[Tue29 08:52] - .startup.py       :153 :j.zrobot_statup      - INFO     - starting node robot: zrobot server start --mode node --admin-organization green edge cloud.austria.vienna 1 --god --template-repo https://github.com/threefoldtech/0-templates#master
Traceback (most recent call last):
  File "usr/local/bin/zrobot", line 6, in <module>
    exec(compile(open(__file__).read(), __file__, 'exec'))
  File "/opt/code/github/threefoldtech/0-robot/cmd/zrobot", line 26, in <module>
    entry_point()
  File "/opt/code/github/threefoldtech/0-robot/zerorobot/cli/server.py", line 114, in start
    robot.set_config_repo(config_repo, config_key)
  File "/opt/code/github/threefoldtech/0-robot/zerorobot/robot/robot.py", line 80, in set_config_repo
    config.config_repo = config.ConfigRepo(url=url, key=key)
  File "/opt/code/github/threefoldtech/0-robot/zerorobot/config/config_repo.py", line 21, in __init__
    self._init(url, key)
  File "/opt/code/github/threefoldtech/0-robot/zerorobot/config/config_repo.py", line 68, in _init
    j.tools.configmanager.init(silent=True, configpath=path, keypath=key)
  File "/opt/code/github/threefoldtech/jumpscale_core/Jumpscale/tools/configmanager/IConfigManager.py", line 219, in init
    j.clients.sshkey.key_get(keypath, load=True)
  File "/usr/lib/python3/dist-packages/jumpscale.py", line 1251, in sshkey
    from Jumpscale.clients.sshkey.SSHKeys import SSHKeys as SSHKeys
  File "/opt/code/github/threefoldtech/jumpscale_core/Jumpscale/clients/sshkey/SSHKeys.py", line 1, in <module>
    from .AgentSSHKeys import *
  File "/opt/code/github/threefoldtech/jumpscale_core/Jumpscale/clients/sshkey/AgentSSHKeys.py", line 1, in <module>
    from paramiko.agent import AgentSSH, cSSH2_AGENTC_REQUEST_IDENTITIES, SSH2_AGENT_IDENTITIES_ANSWER, SSHException, AgentKey, Agent
  File "/usr/local/lib/python3.5/dist-packages/paramiko/__init__.py", line 22, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/usr/local/lib/python3.5/dist-packages/paramiko/transport.py", line 90, in <module>
    from paramiko.ed25519key import Ed25519Key
  File "/usr/local/lib/python3.5/dist-packages/paramiko/ed25519key.py", line 22, in <module>
    import nacl.signing
  File "/usr/local/lib/python3.5/dist-packages/nacl/signing.py", line 17, in <module>
    import nacl.bindings
  File "/usr/local/lib/python3.5/dist-packages/nacl/bindings/__init__.py", line 17, in <module>
    from nacl.bindings.crypto_aead import (
  File "/usr/local/lib/python3.5/dist-packages/nacl/bindings/crypto_aead.py", line 18, in <module>
    from nacl._sodium import ffi, lib
ImportError: dynamic module does not define module export function (PyInit__sodium)
Out[42]: 5

In [43]: ncl.ping()
Out[43]: 'PONG Version: master @Revision: 9121e2a704f33c5aa5c912079a15689cc3b1a591'

In [44]: ncl
Out[44]: Node <<IP_ADDRESS>:6379>

In [45]: ncl.kernel_args
Out[45]:
{'intel_iommu': 'on',
 'kvm-intel.nested': '1',
 'console': 'tty1',
 'consoleblank': '0',
 'earlyprintk': 'serial,ttyS1,115200n8',
 'loglevel': '7',
 'zerotier': 'c7c8172af1f387a6',
 'organization': '"green',
 'edge': '',
 'cloud.austria.vienna': '',
 '1"': '',
 'support': '',
 'farmer_id': 'token'}

as far as I remember this is a bug we never managed to solve. Possible workaround to stop the container and let the know create a new one. If that doesn't work, you can try to reboot the full node.

issue  fixed by removing zos-0f caching files as seems there are some files are corrupted
 rm /var/cache/zerofs/*


localization prop labelDisplayedRows not working

Describe the bug
labelDisplayedRows does not seem to work anymore. I've upgraded from v0.2.51 to the latest version v6.1.11
To Reproduce

Install latest version of @material-table/core v6.1.11
Add localization prop labelDisplayedRows
No changes can be seen, it stays at default

Expected behavior
labelDisplayedRows should update the displayed rows label
Screenshots

Desktop:

OS: macOS Monterey 12.5
Browser: Google Chrome
Version: 109

Reading from the typescript declarations in index.d.ts it is being used correctly as labelDisplayedRows:
export interface Localization {
  ...
  pagination?: {
    firstTooltip?: React.ReactNode;
    firstAriaLabel?: string;
    previousTooltip?: React.ReactNode;
    previousAriaLabel?: string;
    nextTooltip?: React.ReactNode;
    nextAriaLabel?: string;
    labelDisplayedRows?: React.ReactNode;
    labelRowsPerPage?: React.ReactNode;
    lastTooltip?: React.ReactNode;
    lastAriaLabel?: string;
    labelRows?: React.ReactNode;
  };
  ...
}

Adding a custom string value does not work in v6.1.11

Mui Changed the labeling and the previous string is now used for something different. That's why we had to rename the original prop , bit we needed to keep the key for the other prop. So we need both, the new one is the one you need. Adjust the key and it should work


steam erorr nixos (install with home-manager)

[keng@nixos:~]$ steam
steam.sh[6890]: Running Steam on nixos 23.05 64-bit
steam.sh[6890]: STEAM_RUNTIME is enabled automatically
setup.sh[6968]: Steam runtime environment up-to-date!
run.sh[6980]: Warning: An unexpected error occurred while executing "/sbin/ldconfig -XNv", the exit status was 127
steam.sh[6890]: Steam client's requirements are satisfied
[2023-06-23 23:27:49] Startup - updater built Jun 21 2023 21:17:38
[2023-06-23 23:27:49] Startup - Steam Client launched with: '/home/keng/.local/share/Steam/ubuntu12_32/steam'
06/23 23:27:49 Init: Installing breakpad exception handler for appid(steam)/version(1687386907)/tid(7003)
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2023-06-23 23:27:49] Loading cached metrics from disk (/home/keng/.local/share/Steam/package/steam_client_metrics.bin)
[2023-06-23 23:27:49] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2023-06-23 23:27:49] Using the following download hosts for Public, Realm steamglobal
[2023-06-23 23:27:49] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-06-23 23:27:49] Checking for update on startup
[2023-06-23 23:27:49] Checking for available updates...
[2023-06-23 23:27:49] Downloading manifest: http://media.steampowered.com/client/steam_client_ubuntu12
[2023-06-23 23:27:49] Manifest download: send request
[2023-06-23 23:27:49] Manifest download: waiting for download to finish
[2023-06-23 23:27:49] Manifest download: finished
[2023-06-23 23:27:49] Download skipped: /client/steam_client_ubuntu12 version<PHONE_NUMBER>, installed version<PHONE_NUMBER>, existing pending version 0
[2023-06-23 23:27:49] Nothing to do
[2023-06-23 23:27:49] Verifying installation...
[2023-06-23 23:27:49] Performing checksum verification of executable files
[2023-06-23 23:27:50] Verification complete
(process:7003): GLib-GObject-CRITICAL **: 23:27:51.100: g_object_ref: assertion 'G_IS_OBJECT (object)' failed
(process:7003): GLib-GObject-CRITICAL **: 23:27:51.100: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
/nix/store/x25aqs4ygzdpnx05flibijxmwkn874z6-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: wrong ELF class: ELFCLASS64
Failed to load module: /nix/store/x25aqs4ygzdpnx05flibijxmwkn874z6-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf5e816b0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf5e7ff80
GetWin32Stats: display was not open yet, good
Loaded SDL version 3.0.0-1782-g214d5daa3
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[7021]: Runtime for steamwebhelper: defaulting to /home/keng/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[7021]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
glXChooseVisual failed
glXChooseVisual failedsrc/steamUI/Main.cpp (464) : Assertion Failed: Error: glXChooseVisual failed
src/steamUI/Main.cpp (464) : Assertion Failed: Error: glXChooseVisual failed
06/23 23:27:51 Init: Installing breakpad exception handler for appid(steam)/version(1687386907)/tid(7003)
assert_20230623232751_9.dmp[7055]: Uploading dump (out-of-process)
/tmp/dumps/assert_20230623232751_9.dmp
crash_20230623232751_10.dmp[7085]: Uploading dump (out-of-process)
/tmp/dumps/crash_20230623232751_10.dmp
/home/keng/.local/share/Steam/steam.sh: line 798:  7003 Segmentation fault      (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"
[keng@nixos:~]$ assert_20230623232751_9.dmp[7055]: Finished uploading minidump (out-of-process): success = yes
assert_20230623232751_9.dmp[7055]: response: CrashID=bp-0bc99e5c-0f69-4f9d-93b4-cb47c2230623
assert_20230623232751_9.dmp[7055]: file ''/tmp/dumps/assert_20230623232751_9.dmp'', upload yes: ''CrashID=bp-0bc99e5c-0f69-4f9d-93b4-cb47c2230623''
crash_20230623232751_10.dmp[7085]: Finished uploading minidump (out-of-process): success = yes
crash_20230623232751_10.dmp[7085]: response: CrashID=bp-71acfb00-48af-455e-9bc3-1bb692230623
crash_20230623232751_10.dmp[7085]: file ''/tmp/dumps/crash_20230623232751_10.dmp'', upload yes: ''CrashID=bp-71acfb00-48af-455e-9bc3-1bb692230623''

Same issue here, but I'm not installing with the HM module but the NixOS module.

#238101


Display Name is '.'

Hi @tgecho,
When I browse the rendered tree in React Dev Tools, the react-prosemirror component has a name '.'
I am using the ES2015 way for creating components, but I belive you could either add displayName property when calling createClass or let React to automatically figure it out for you, by exporting ProseMirror the following way:
const ProseMirror = React.createClass({...});
export default ProseMirror;

With thanks,
Laszlo

Thanks! Usually my components are single files named after the component, so I got used to babel's auto naming.

Great! Thanks a lot!


node-gyp rebuild error

Node Version: v12.15.0
Platform: Linux lpgaixmgmtlx01 3.10.0-1062.9.1.el7.ppc64le
Compiler: gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)
Module: deasync

Verbose output (from npm or node-gyp):
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/scratch/node-v12.15.0-linux-ppc64le/bin/node',
gyp verb cli   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose'
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | ppc64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - executable path is "/usr/bin/python"
gyp verb find Python - executing "/usr/bin/python" to get version
gyp verb find Python - version is "2.7.5"
gyp info find Python using Python version 2.7.5 found at "/usr/bin/python"
gyp verb get node dir no --target version specified, falling back to host node version: 12.15.0
gyp verb command install [ '12.15.0' ]
gyp verb install input version string "12.15.0"
gyp verb install installing version: 12.15.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 12.15.0
gyp verb build dir attempting to create "build" dir: /scratch/go/src/github.com/influxdata/chronograf/build
gyp verb build dir "build" dir needed to be created? /scratch/go/src/github.com/influxdata/chronograf/build
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: /scratch/go/src/github.com/influxdata/chronograf/build/config.gypi
gyp verb config.gypi checking for gypi file: /scratch/go/src/github.com/influxdata/chronograf/config.gypi
gyp verb common.gypi checking for gypi file: /scratch/go/src/github.com/influxdata/chronograf/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/scratch/go/src/github.com/influxdata/chronograf/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.cache/node-gyp/12.15.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.cache/node-gyp/12.15.0',
gyp info spawn args   '-Dnode_gyp_dir=/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/12.15.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/scratch/go/src/github.com/influxdata/chronograf',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp: binding.gyp not found (cwd: /scratch/go/src/github.com/influxdata/chronograf) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 3.10.0-1062.9.1.el7.ppc64le
gyp ERR! command "/scratch/node-v12.15.0-linux-ppc64le/bin/node" "/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose"
gyp ERR! cwd /scratch/go/src/github.com/influxdata/chronograf
gyp ERR! node -v v12.15.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

root@lpgaixmgmtlx01:/scratch/go/src/github.com/influxdata/chronograf>make
cd ui && yarn --no-progress --no-emoji
yarn install v1.22.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
error /scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync: Command failed.
Exit code: 1
Command: node ./build.js
Arguments:
Directory: /scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync
Output:
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | ppc64
gyp info find Python using Python version 2.7.5 found at "/usr/bin/python"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.cache/node-gyp/12.15.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.cache/node-gyp/12.15.0',
gyp info spawn args   '-Dnode_gyp_dir=/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/12.15.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make[1]: Entering directory '/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync/build'
....
gibberish removed
....
In file included from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/root/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:84:78:   required from here
/root/.cache/node-gyp/12.15.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/12.15.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:66:61:   required from here
/root/.cache/node-gyp/12.15.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
make[1]: *** [deasync.target.mk:111: Release/obj.target/deasync/src/deasync.o] Error 1
make[1]: Leaving directory '/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 3.10.0-1062.9.1.el7.ppc64le
gyp ERR! command "/scratch/node-v12.15.0-linux-ppc64le/bin/node" "/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync
gyp ERR! node -v v12.15.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
Build failed
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
make: *** [Makefile:91: .jsdep] Error 1

Using Python version 2.7.5 found at "/usr/bin/python"

I doubt this is the cause of your issue but Python < 2.7.9 is a security risk and Python 2 in general is EOL.  Python 3.8.1 is current.

Using Python version 2.7.5 found at "/usr/bin/python"

I doubt this is the cause of your issue but Python < 2.7.9 is a security risk and Python 2 in general is EOL. Python 3.8.1 is current.

yeah, but 2.7 is still the default on Redhat EL...

Can you post the gibberish removed? The warnings you left in the verbose output shouldn't normally cause the build to error out.

complete output
root@lpgaixmgmtlx01:/scratch/go/src/github.com/influxdata/chronograf>make
cd ui && yarn --no-progress --no-emoji
yarn install v1.22.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info<EMAIL_ADDRESS>The platform "linux" is incompatible with this module.
info<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
error /scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync: Command failed.
Exit code: 1
Command: node ./build.js
Arguments:
Directory: /scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync
Output:
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | ppc64
gyp info find Python using Python version 2.7.5 found at "/usr/bin/python"
gyp info spawn /usr/bin/python
gyp info spawn args [
gyp info spawn args   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.cache/node-gyp/12.15.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.cache/node-gyp/12.15.0',
gyp info spawn args   '-Dnode_gyp_dir=/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/root/.cache/node-gyp/12.15.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make[1]: Entering directory '/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync/build'
  CXX(target) Release/obj.target/deasync/src/deasync.o
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:221,
                 from ../src/deasync.cc:3:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:18:51: warning: ‘v8::MaybeLocal<v8::Boolean> v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
       val->To ## TYPE(isolate->GetCurrentContext())                            \
                                                   ^
../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’
 X(Boolean)
 ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:2568:59: note: declared here
                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
                                                           ^~~~~~~~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:67,
                 from ../../nan/nan.h:221,
                 from ../src/deasync.cc:3:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   return val->NAME ## Value(isolate->GetCurrentContext());                     \
                                                         ^
../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’
 X(bool, Boolean)
 ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:2606:51: note: declared here
                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                   ^~~~~~~~~~~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:222,
                 from ../src/deasync.cc:3:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                           , obj));
                                ^
In file included from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:4170:31: note: candidate: ‘static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)’
   static MaybeLocal<Function> New(
                               ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8.h:4170:31: note:   no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:1064:78: warning: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
       v8::Local<v8::String> string = from->ToString(v8::Isolate::GetCurrent());
                                                                              ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:2588:31: note: declared here
                 Local<String> ToString(Isolate* isolate) const);
                               ^~~~~~~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1855:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                                ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:3403:22: note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1861:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     New(persistentHandle)->Set(key, value);
                                          ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:3403:22: note: declared here
                 bool Set(Local<Value> key, Local<Value> value));
                      ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1867:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     New(persistentHandle)->Set(index, value);
                                            ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:3412:22: note: declared here
                 bool Set(uint32_t index, Local<Value> value));
                      ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1873:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
         New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                             ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:3457:51: note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1879:55: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(key));
                                                       ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:3457:51: note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
                                                   ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1884:57: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
     return scope.Escape(New(persistentHandle)->Get(index));
                                                         ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:3461:51: note: declared here
   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
                                                   ^~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from ../src/deasync.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2208:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/cassert:44,
                 from /root/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:54,
                 from ../src/deasync.cc:3:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
     assert(persistent().IsNearDeath());
                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2698,
                 from ../src/deasync.cc:3:
../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: Weak objects are always considered independent. Use TracedGlobal when trying to use EmbedderHeapTracer. Use a strong handle when trying to keep an object alive. [-Wdeprecated-declarations]
     persistent().MarkIndependent();
                                  ^
In file included from /root/.cache/node-gyp/12.15.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.15.0/include/node/v8.h:25,
                 from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h:567:22: note: declared here
       V8_INLINE void MarkIndependent());
                      ^~~~~~~~~~~~~~~
/root/.cache/node-gyp/12.15.0/include/node/v8config.h:311:3: note: in definition of macro ‘V8_DEPRECATED’
   declarator __attribute__((deprecated(message)))
   ^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/cassert:44,
                 from /root/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:54,
                 from ../src/deasync.cc:3:
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
     assert(wrap->handle_.IsNearDeath());
                          ^~~~~~~~~~~
In file included from ../../nan/nan.h:52,
                 from ../src/deasync.cc:3:
../src/deasync.cc: At global scope:
/root/.cache/node-gyp/12.15.0/include/node/node.h:560:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/root/.cache/node-gyp/12.15.0/include/node/node.h:594:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../src/deasync.cc:17:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(deasync, init)
 ^~~~~~~~~~~
In file included from ../src/deasync.cc:2:
/root/.cache/node-gyp/12.15.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/root/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:84:78:   required from here
/root/.cache/node-gyp/12.15.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/12.15.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:66:61:   required from here
/root/.cache/node-gyp/12.15.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
make[1]: *** [deasync.target.mk:111: Release/obj.target/deasync/src/deasync.o] Error 1
make[1]: Leaving directory '/scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 3.10.0-1062.9.1.el7.ppc64le
gyp ERR! command "/scratch/node-v12.15.0-linux-ppc64le/bin/node" "/scratch/node-v12.15.0-linux-ppc64le/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /scratch/go/src/github.com/influxdata/chronograf/ui/node_modules/deasync
gyp ERR! node -v v12.15.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
Build failed
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
make: *** [Makefile:91: .jsdep] Error 1

In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:222,
                 from ../src/deasync.cc:3:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                           , obj));
                                ^
...
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/cassert:44,
                 from /root/.cache/node-gyp/12.15.0/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:54,
                 from ../src/deasync.cc:3:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
     assert(persistent().IsNearDeath());
                         ^~~~~~~~~~~

These indicate the version of nan in use is too old to work with Node.js 12 (e.g. https://github.com/nodejs/nan/pull/842). It could be that you're on (or a dependency you are using is on) an old version of deasync as they switched from nan to N-API in<EMAIL_ADDRESS>

updated node-gyp, deasync and nan, but the error persists
root@lpgaixmgmtlx01:/scratch/go/src/github.com/influxdata/chronograf>npm explore npm -g -- npm install node-gyp@latest
npm notice created a lockfile as package-lock.json. You should commit this file.
+<EMAIL_ADDRESS>added 1 package from 1 contributor, removed 2 packages, updated 2 packages and audited 12045 packages in 3.387s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

root@lpgaixmgmtlx01:/scratch/go/src/github.com/influxdata/chronograf>npm install deasync --unsafe-perm

><EMAIL_ADDRESS>install /scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync
> node ./build.js

make: Entering directory '/scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync/build'
  CXX(target) Release/obj.target/deasync/src/deasync.o
  SOLINK_MODULE(target) Release/obj.target/deasync.node
  COPY Release/deasync.node
make: Leaving directory '/scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync/build'
Installed in `/scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync/bin/linux-ppc64-node-12/deasync.node`
npm WARN saveError ENOENT: no such file or directory, open '/scratch/go/src/github.com/influxdata/chronograf/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/scratch/go/src/github.com/influxdata/chronograf/package.json'
npm WARN chronograf No description
npm WARN chronograf No repository field.
npm WARN chronograf No README data
npm WARN chronograf No license field.

+<EMAIL_ADDRESS>added 4 packages from 47 contributors and audited 4 packages in 1.803s
found 0 vulnerabilities

root@lpgaixmgmtlx01:/scratch/go/src/github.com/influxdata/chronograf>npm install nan --unsafe-perm
npm WARN saveError ENOENT: no such file or directory, open '/scratch/go/src/github.com/influxdata/chronograf/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/scratch/go/src/github.com/influxdata/chronograf/package.json'
npm WARN chronograf No description
npm WARN chronograf No repository field.
npm WARN chronograf No README data
npm WARN chronograf No license field.

+<EMAIL_ADDRESS>added 1 package from 8 contributors and audited 9 packages in 1.076s
found 0 vulnerabilities

root@lpgaixmgmtlx01:/scratch/go/src/github.com/influxdata/chronograf>npm install deasync --unsafe-perm

><EMAIL_ADDRESS>install /scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync
> node ./build.js

make: Entering directory '/scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync/build'
  CXX(target) Release/obj.target/deasync/src/deasync.o
  SOLINK_MODULE(target) Release/obj.target/deasync.node
  COPY Release/deasync.node
make: Leaving directory '/scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync/build'
Installed in `/scratch/go/src/github.com/influxdata/chronograf/node_modules/deasync/bin/linux-ppc64-node-12/deasync.node`
npm WARN saveError ENOENT: no such file or directory, open '/scratch/go/src/github.com/influxdata/chronograf/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/scratch/go/src/github.com/influxdata/chronograf/package.json'
npm WARN chronograf No description
npm WARN chronograf No repository field.
npm WARN chronograf No README data
npm WARN chronograf No license field.

+<EMAIL_ADDRESS>added 4 packages from 47 contributors and audited 4 packages in 1.803s
found 0 vulnerabilities

This shows that the latest deasync successfully installs on your system so you'll need to track down what is requiring deasync and why it doesn't use the latest version. In any case this isn't an issue with node-gyp.

In my-case it was failing as, for some reasons on run-time gcc++ was not accessible.
So by installing the build-essentials error was resolved.
PS:
build-essential package is a reference for all the packages needed to compile a Debian packages. It generally includes the GCC/g++ compilers and libraries and some other utilities. Informational for list of build-essential packages can be found on build-essentials

this is already resolved...node version was to new
https://github.com/influxdata/chronograf/issues/5361


Traffic distribution with K8s ExternalName service is not uniform

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
K8s service
apiVersion: v1
kind: Service
metadata:
  name: test-redirect
spec:
  externalName: test.new_keyspace.svc.cluster.local
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 8000

Ingress Route
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: test
spec:
  entryPoints:
  - web
  routes:
  - kind: Rule
    match: Host(`test.com`) && PathPrefix(`/`)
    services:
    - kind: Service
      name: test-redirect
      port: 8000

What did you see instead?
Traffic distribution with Traefik

Traffic distribution with K8s service directly

What version of Traefik are you using?
2.8.4
What is your environment & configuration?
    [entryPoints]
      [entryPoints.web]
        address = ":80"
        [entryPoints.web.forwardedHeaders]
            insecure = true
        [entryPoints.web.transport]
          [entryPoints.web.transport.lifeCycle]
            requestAcceptGraceTimeout = "10s"
            graceTimeOut = "10m0s"
          [entryPoints.web.transport.respondingTimeouts]
            readTimeout = "0s"
            writeTimeout = "0s"
            idleTimeout = "10m0s"
      [entryPoints.metrics]
        address = ":8081"
        [entryPoints.metrics.transport]
          [entryPoints.metrics.transport.lifeCycle]
            requestAcceptGraceTimeout = "10s"
            graceTimeOut = "10m0s"
          [entryPoints.metrics.transport.respondingTimeouts]
            readTimeout = "0s"
            writeTimeout = "0s"
            idleTimeout = "10m0s"
    [ping]
      entryPoint = "web"
      terminatingStatusCode = 0
    [api]
      dashboard = true
      insecure=true
    [metrics]
      [metrics.prometheus]
        buckets = [0.1, 0.3, 1.2, 5.0, 7.0, 9.0, 10.0, 15.0]
        entryPoint = "metrics"
        addRoutersLabels = true

    [providers]

      # Kubernetes CRD provider
      [providers.kubernetescrd]
        ingressClass= "traefik-external"
        allowExternalNameServices = true
        allowCrossNamespace = true
        allowEmptyServices = true
      [providers.kubernetesIngress]
        ingressClass= "traefik-external"
    [log]

    [accessLog]
      format = "json"
      bufferingSize = 0
      [accessLog.fields]
        defaultMode = "keep"
        [accessLog.fields.headers]
          defaultMode = "drop"
          [accessLog.fields.headers.names]
            Accept = "keep"
            Accept-Encoding = "keep"
            Access-Control-Allow-Credentials = "keep"
            Access-Control-Allow-Origin = "keep"
            Access-Control-Request-Headers = "keep"
            Connection = "keep"
            Content-Encoding = "keep"
            Content-Length = "keep"
            Content-Type = "keep"
            Origin = "keep"
            Referer = "keep"
            User-Agent = "keep"
            X-Forwarded-For = "keep"
            X-Requested-With = "keep"
            X-Amz-Cf-Id = "keep"
            x-identifier = "keep"

Add more configuration information here.
With ExternalName service Traefik should not try to do Round Robin right ?
If applicable, please paste the log output in DEBUG level
No response

Also tried with this patch on top of 2.8.4, issue still exists when the service is of type ExternalName. With this patch distribution is much better for normal k8s services

Hello @shettyh,
Thanks for your interest in Traefik,

With ExternalName service Traefik should not try to do Round Robin right ?

When using an ExternalName service Traefik will not do any load-balancing, and will forward the request to the component with the configured DNS name. As this name is the DNS name of a Kubernetes service, the load-balancing should be done by k8s.
As we are unsure to understand fully what we are seeing, can you explain again what is the setup and the various components for each of the graphs?

Hey @kevinpollet thanks for the response.
Scenario 1: With Traefik v2.8.4 ( also with/without patch mentioned above ).

Traffic Distribution

Scenario 2: Client directly sending requests to External Name service

Traffic Distribution

Other scenarios
We have also tested similar setup as Traefik v2.8.4 with Traefik v1.7, distribution is much better ( closer to the direct k8s service distribution )
We also had the similar assumption as k8s should be responsible for the round robin, not sure why it is not the case. Any config in tarefik that can cause this ( we are using similar config for v1 and v2 ) or any other reason why this is happening ?.
Please let me know if you need more details on the issue, happy to provide

@shettyh
thanks, the situation is a bit clearer now.
Unfortunately we can only make wild guesses until we have actually reproduced the issue ourselves. We'll let you know whenever that happens.
FYI, one of these wild guesses would be that traefik is keeping connections open (with the pods), that they are being reused, and that it somehow messes up with the load-balancing. But we don't think there's anything you can tinker with to test that hypothesis atm (although do feel free to explore it of course).

@shettyh btw, have you tried actually monitoring for a long enough time?
It could very well be that this issue is only temporary, just for things to "settle", and that in the long run the difference does not actually matter at all.

After further investigation, we found out that the behavior you describe is actually expected.
When using a Kubernetes Service of type ExternalName, the internal loadbalancer created by Traefik contains only one address (the one set in the service with the externalName property). When receiving a request, Traefik creates a connection to a Pod behind this Service and reuses it as long as it stays open (and it stays open as long as it is active + more or less idling time allowed, but more on that below).
In contrast, when using a “regular” Service (i.e.: not of type ExernalName), Traefik creates an internal loadbalancer containing all addresses of Pods behind this Service (Kubernetes Endpoints), then it opens a connection with each pod and properly applies a Round Robin strategy between them.
You can set the maximum amount of time an idle connection stays opened between Traefik and the backend servers (pods) before being closed, but it may have a negative impact on performance (given that opening a connection is a somewhat costly operation):
## Static configuration
serversTransport:
  forwardingTimeouts:
    idleConnTimeout: 1s

More information: https://doc.traefik.io/traefik/routing/overview/#forwardingtimeouts
What is likely to happen in your 2nd scenario (https://github.com/traefik/traefik/issues/9339#issue-1374141125) is that the client you are using is not keeping connections open between requests (curl does that for example). A new connection is opened for each request and gets properly distributed between your pods.


Refactor the membership change after implementing the leader transfer

In the current implementation, if the leader is removed in the membership change, the remaining nodes in the cluster will elect a new leader. This requires waiting for an election timeout, during this period, the availability of the cluster will be affected.
After implementing the leader transfer, we need to refactor the logic to remove leader, the removed leader will transfer the leadership to a follower before it shutdown itself.

Closed by #567


[docs] Revise and expand Joy UI "Alert" page

Part of #33998
This PR revises and expands the Joy UI "Alert" page.
My primary concern here was to replace copy+paste text from the ARIA APG (which also needs to happen for the Material UI Alert page). I also wanted to add some clarity on usage.
Structurally, I tried to bring it closer to the standard that we settled on in the Base docs. One thing I've done differently here is in how the slot props are presented. In the Base docs, every component page lists all props (component, slots, slotProps), even when the latter two are redundant (when the component only has a root slot). In this doc I've only called out the component prop, since it's the only one you'd actually use with this component. I think this is preferable. @oliviertassinari I'm curious what you think about this.
I also expanded on the Accessibility section, adding more info that I found through ARIA APG and WCAG.

I want to tag @danilo-leal for a review but for some reason I'm not able to.

For example, we could say that Basics, https://deploy-preview-34838--material-ui.netlify.app/joy-ui/react-alert/#basics in our case, should always be a live demo.

@oliviertassinari that's a great idea!


rename not finishing

https://github.com/user-attachments/assets/32be1402-856f-414e-bea1-ed28a4925761

done i guess


feature request: there is no way to using pretrained .npz model but modified some layer

I have ask this question in stackoverflow
https://stackoverflow.com/questions/45589028/how-to-load-pretrained-chainer-npz-parameter-file-but-modify-some-layer
but I found there is no way to do this. When I do this as his proposal.
I found chainer report error:
ValueError: numpy and cupy must not be used together type(W): <class 'numpy.ndarray'>,
type(x): <class 'cupy.core.core.ndarray'>

Thank you for your question. As wrote in this reply, I guess the problem is the inconsistency between model parameters and input arrays in which they are allocated. Could you try to_gpu method?


test(amplify-e2e-tests): change delete env expect prompt

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Has the prompt wording changed pr are you just shortening it?

shortening it?

I'm just shortening it to capture the first bit of the phrase as we mainly testing the results.


Results do not scroll to the top

For example, enter data-elements enter 'a', use the arrows to move to the last record of results. Now, with open files, delete the letter 'a' and type 'b', the records should move to the top and mark the first record, but unfortunately it doesn't.

Results do not scroll to the top #112


fix closing connections

Few issues with closing pool.

Capacity is not properly set, because we closed the pool already.
There are no proper way of actually waiting for collecting all connections; so at best we can wait for x seconds and bail out.

@manuel-huez, could be good idea. But it is an API decision since its already returning an error when the pool is closed. Existing code could be already handling it. Hence I believe it is outside the scope of this PR.


Problem animating entities

Describe the bug
I need to animate entities using Filament and the animation is not working correctly. I'm not sure if there's a bug or if I'm doing this wrong.
To Reproduce
Run the app at https://github.com/victorbrndls/FilamentSampleApp
This is the animation code:
entitiesToAnimate.forEach { entity ->
	val initialTransform = FloatArray(16)
	tcm.getTransform(entity, initialTransform)

	val animationMatrix = FloatArray(16)

	val rotateY = if (forward) -1f else 1f

	animator.addUpdateListener {
		val angle = it.animatedValue as Float

		System.arraycopy(initialTransform, 0, animationMatrix, 0, 16)

		Matrix.translateM(
			animationMatrix,
			0,
			-initialTransform[12],
			-initialTransform[13],
			-initialTransform[14],
		)
		Matrix.rotateM(animationMatrix, 0, angle, 0f, rotateY, 0f)
		Matrix.translateM(
			animationMatrix,
			0,
			initialTransform[12],
			initialTransform[13],
			initialTransform[14],
		)

		tcm.setTransform(entity, animationMatrix)
	}
}

I'm moving the pieces to the center, rotating them and moving them back.
Expected behavior
It should animate correctly
Screenshots

Smartphone (please complete the following information):

Device: Redmi Note 7
OS: Android 10
Happen on any device

Additional context
Filament 1.40.5

I think the discussions forum is more appropriate here.


Warning: librdmacm.so.1: cannot open shared object file

Comment:
@rekomodo and I started noticing this message poping up when running FEniCS installed with conda:
[build-25072227-project-1052576-festim-vv-report:04098] mca_base_component_repository_open: unable to open mca_btl_openib: librdmacm.so.1: cannot open shared object file: No such file or directory (ignored)

This is our environment file.
Any idea?

This seems like a problem in opempi. There's probably an OMPI_MCA env variable to set that would fix it, or you can try explicitly selecting mpich, which has been a lot more reliable in my experience (conda install fenics mpich).

Thanks @minrk it fixed it!


Disable Logging from xcomponent

Is there an option to disable all of the console.logs in xcomponent? I can't see an option in the docs.

Hey, this option doesn't exist yet but it's definitely planned. Please see https://github.com/krakenjs/xcomponent/issues/74


Add is.vivaldi() check

Added a method to check if the browser is Vivaldi. The method takes one parameter which is optional.
The parameter is to check major version of the browser. There's also 'not' interface option too.
You can checkout Vivaldi here: https://vivaldi.com/ and the latest build's user agent string when this commit
was made here: http://user-agents.me/search?q=Vivaldi+<IP_ADDRESS>
Since this is an environment related addition, it's not possible to add tests.

Thanks for the PR @gokaygurcan
I'll pass this check for now.

Hey @arasatasaygin
Since Vivaldi hit v1.0 I guess you can consider to add this check.
Thanks in advance.


can't reach via ssh my ec2 instance - I think the cause is due to the vpc.

I had the same issue. Did you ever resolve this?

I temporarily changed the route table. Change the entry that routes to NAT gateway route to route to the internet gateway instead. Then you can access the private subnets for SSH. When you are done restore the route.

I temporarily changed the route table. Change the entry that routes to the NAT gateway route; Make it route to the internet gateway instead. Then you can access the private subnets for SSH. When you are done restore the route.

Can you post an example, please?

For me this temporary solution is working
`resource "aws_route" "nat-gw-route" {
route_table_id         = aws_route_table.private-route-table.id
nat_gateway_id         = aws_nat_gateway.nat-gw.id
gateway_id             = aws_internet_gateway.production-igw.id
destination_cidr_block = "<IP_ADDRESS>/0"
}`


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v4.4.296",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c54a60c8fbaa774f828e26df79f66229a8a0e010"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "c54a60c8fbaa774f828e26df79f66229a8a0e010",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "net: netlink: af_netlink: Prevent empty skb by adding a check on len.\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.4.296 by commit c54a60c8fbaa774f828e26df79f66229a8a0e010. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002611


Update README to point to sc-forks

SolCover doesn't live here any more...

Codecov Report

Merging #65 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #65   +/-   ##
=======================================
  Coverage   98.62%   98.62%
=======================================
  Files           6        6
  Lines         290      290
  Branches       38       38
=======================================
  Hits          286      286
  Misses          4        4

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 6442e73...48f6668. Read the comment docs.


as behavior in nested route groups

It seems like ['as' => 'foobar.'] is not inherited when route groups are nested, however namespaces and prefix values are.
When I specify ['as' => ''] on a nested rule the parent's as value is inherited.

Dupe.


One namespace on the whole project

Hi,
I did notice that the project define only one namespace (Fido2NetLib). It is a general practice, that namespaces match to folder structure. Do you mind, if I fix it?

I'm not convinced of the value of this change. To me it feels like it would decrease discoverability of classes by introducing unnecessary structure.
I'm open to hear arguments.

I never thought to do otherwise. This library is the first I see with a single namespace all over projects. (I do not count Tests & Demo)
For me it brings clarity. When I want to use a type, I know where it comes from.
A simple example is hypothetical type Fido2.Lib.DependencyInjection.FidoExtensions. When you see FidoExtensions, you can expect a static class with static methods with the this keyword. But you do not know what it extends. When you see the namespace you know that it adds to the Fido.Lib extension methods related to DependencyInjection.
An example is Microsoft standard libraries which are divided by scopes.
I do understand that since you have got used to it...

This sounds like it would introduce a lot of churn to the codebase and force a lot of downstream consumers to react to a change with no benefits. I'm unconvinced.

I recently noticed (felt) a tiny benefit. When you add a new public type to the codebase consumers of the library have 100% chance that they will got "hit" by it when they have the type of the same name in the current scope. With namespace-per-folder, you have better damage control.
Single namespace has a feeling of the "god" file - everything in a single file.
I understood your point of view. Feel free to close the issue if you want.

In principle, having namespaces match the folder structure is not a bad idea, but there are also downsides.
Any restructuring of the folder structure breaks that guideline unless you also rename the namespaces.
In my work I decide on a case by case basis, often when I move code files into a subdirectory I adjust the namespaces only if the restructuring has meaning beyond simple file organization.


Removing Links

I was wondering if there was a way of removing links without having to manually edit the csv file? My plan is to remove a link one by one and see the effect this has to the equilibrium time.
Thanks,
Marek

v0.8.4 introduces the concept of special event with affected links and capacity reduction ratios. You can now disable a set of links for traffic assignment by listing them under affected_links with reduction_ratio as 0. See In Case of Special Events for details.


load asset async to prevent freeze UI when streaming audio from internet

related issue:
https://stackoverflow.com/questions/25387213/ui-is-freezing-when-streaming-the-videos-from-an-internet-using-avplayer
https://stackoverflow.com/questions/14941461/avqueueplayer-playback-without-gap-and-freeze

Good job 👍
This should definitely be merged. I have looked into the failing tests, some of them are related to that the AudioPlayer relies on the item being loaded in sync, but that is easily fixable. Done that in a branch here.
However, this seems to add some flakiness to the tests which is unwanted. I will look more into why they fail, and if more tests need to be written in a different way when the loading is done async.

Update on this: I have tried to get the tests working on Bitrise with a lot of tweaking for this branch, but unsuccessfully. They pass just fine locally, even when using the Bitrise CLI on my local machine. I have sent an inquiry to Bitrise about the problem and await their response.

ok, thank you for taking the time and effort

@minhtc : I opened a PR that rebases this branch to master, fixes the tests and removes the line commented on by @puckey .

@minhtc : I opened a PR that rebases this branch to master, fixes the tests and removes the line commented on by @puckey .

Great, merged.


[REQUEST] Support non-absolute paths for compiler exe correctly

With a line like the following:
compiler.python36.exe=python3.6

Even when python3.6 doesn't exist on the system path, the compiler will still be created and simply fail at runtime.
It would be nice if (perhaps as an opt in?) it would be possible to have the above line treated as if $(which python3.6) was written.

if compiler doesn't exist on path, log error, disable compiler, and move on
if compiler does exist, run it to gather the version and proceed with init like normal

The offending logic is here: https://github.com/mattgodbolt/compiler-explorer/blob/69a43f7feecc898add18de670a8d9c705e03e687/lib/handlers/compile.js#L100

Seems fair enough!


Update access control layout

Update the layout of the Access Controls tab:

Table view. Impotant notes:

If there are more than 2 ports in the list, display the rest as +N (e.g., +5 like in the screenshot)
Port ranges are not supported yet - no need to implement

Add rule popup

When add description clicked:

Important notes:

When one arrow is selected in either direction, then paint it in blue. If both selected - green. See screenshots above.
Port ranges are not supported yet - no need to implement

Rule view:

With add description clicked

Port ranges are not supported yet - no need to implement

Can I ask you to do somehting additional? We need a validation for ports.
I will ask the backend guy to do the validation on the API but we need to do it in the UI as well.
Port should be in range (0;65535]
65535 inclusive but 0 is not valid

When protocol ALL is selected - disable ports. We can't control ports in this case
When protocol ALL is selected - set the arrows to Bi-directional meaning the green arrow between the source and destination


lib/customisation: fix callPackage error messages

Description of changes
Broken in 8d162ec7b8c87525af611f163e424ea9b09f7fa0.
Bad:
❯ nix-instantiate --eval --expr '(import ./. {}).callPackage ({ kaboom }: {}) {}'
error:
       … from call site

         at «string»:1:1:

            1| (import ./. {}).callPackage ({ kaboom }: {}) {}
             | ^

       … while calling 'callPackageWith'

         at /home/k900/nixpkgs/lib/customisation.nix:152:35:

          151|   */
          152|   callPackageWith = autoArgs: fn: args:
             |                                   ^
          153|     let

       … from call site

         at /home/k900/nixpkgs/lib/customisation.nix:201:15:

          200|       # Only show the error for the first missing argument
          201|       error = errorForArg missingArgs.${head (attrNames missingArgs)};
             |               ^
          202|

       … while calling 'errorForArg'

         at /home/k900/nixpkgs/lib/customisation.nix:188:21:

          187|
          188|       errorForArg = arg:
             |                     ^
          189|         let

       error: cannot coerce a Boolean to a string

Good:
❯ nix-instantiate --eval --expr '(import ./. {}).callPackage ({ kaboom }: {}) {}'
error:
       … from call site

         at «string»:1:1:

            1| (import ./. {}).callPackage ({ kaboom }: {}) {}
             | ^

       … while calling 'callPackageWith'

         at /home/k900/nixpkgs/lib/customisation.nix:153:35:

          152|   */
          153|   callPackageWith = autoArgs: fn: args:
             |                                   ^
          154|     let

       error: lib.customisation.callPackageWith: Function called without required argument "kaboom" at <unknown location>, did you mean "abook"?

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Ah yeah this should've been tested.. Thanks for the fix!


Added PHPUnit and composer fix

Hey,
I added PHPUnit 5 as a development dependency and fixed a smaller namespace issue in the composer.json.
Best, Christian

thx, also travis was added here


Expand fn signature parsing to cover a usable set of cases

I doubt I've gotten it all right the first time, so some test cases with generics and where clauses would be good.

[ ] #11: Allow omission of post param
[ ] #12: Allow omission of return type (instead of -> ())
[ ] Is it possible to tweak things to allow trait functions?

Closing this issue, as it's probably better to track cases separately now.


Add GitHub actions workflow

Pull Request Test Coverage Report for Build 363249776

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 47.345%

Totals

Change from base Build 33:
0.2%

Covered Lines:
107

Relevant Lines:
226

💛  - Coveralls


"ValueError: need more than 3 values to unpack" while processing Glyphs_Sapperlot.glyphs

I built the pipeline in the evening (PDT) on 2016-02-16.
I used Glyphs_Sapperlot.glyphs from https://github.com/DrTypo/sapperlot and decided to try using it as an input to the pipeline (my mac glyphs.app can export unhinted OTF files from Glyphs_Sapperlot.glyphs).
Note that while https://github.com/googlei18n/fontmake/issues/14 appears to be fixed we get the following error while running the pipeline:
==== building src/Glyphs_Sapperlot.glyphs ====
....
File "/usr/local/lib/python2.7/dist-packages/fontmake/font_project.py", line 144, in run_from_glyphs
<     self.run_from_ufos(ufos, is_instance=interpolate, **kwargs)
<   File "/usr/local/lib/python2.7/dist-packages/fontmake/font_project.py", line 159, in run_from_ufos
<     self.remove_overlaps(ufo)
<   File "/usr/local/lib/python2.7/dist-packages/fontmake/font_project.py", line 85, in remove_overlaps
<     manager.union(contours, glyph.getPointPen())
<   File "/usr/local/lib/python2.7/dist-packages/booleanOperations/booleanOperationManager.py", line 56, in union
<     return self._performOperation("union", contours, [], outPen)
<   File "/usr/local/lib/python2.7/dist-packages/booleanOperations/booleanOperationManager.py", line 20, in _performOperation
<     subjectInputContours = [InputContour(contour) for contour in subjectContours if contour and len(contour) > 1]
<   File "/usr/local/lib/python2.7/dist-packages/booleanOperations/flatten.py", line 71, in init
<     self.segments = _convertPointsToSegments(points)
<   File "/usr/local/lib/python2.7/dist-packages/booleanOperations/flatten.py", line 436, in _convertPointsToSegments
<     willBeReversed=willBeReversed
<   File "/usr/local/lib/python2.7/dist-packages/booleanOperations/flatten.py", line 194, in init
<     self.flat = _flattenSegment(pointsToFlatten)
<   File "/usr/local/lib/python2.7/dist-packages/booleanOperations/flatten.py", line 1157, in _flattenSegment
<     onCurve1, offCurve1, offCurve2, onCurve2 = segment
< ValueError: need more than 3 values to unpack

@typemytype does booleanOperations support quadratic segments?

BooleanOperations as a nice NotImplementedError https://github.com/typemytype/booleanOperations/blob/master/Lib/booleanOperations/flatten.py#L237
when trying to perform an operation on a qcurves
It should not be so difficult to support qcurves...
A wild guess: the input data has somehow a wrong curve type somewhere

FYI: RoboFont does support this: it converts each quadratic segment to cubic, perform an operation and, converts its back

this bug is gone; I'm not able to reproduce it.


Replace vscode dependency with  @types/vscode

@types/vscode provides a more up-to-date VS Code API that is needed for  #53
The postinstall script was removed from package.json, because it is unecessary for @types/vscode. Source: https://github.com/microsoft/vscode/issues/70175, https://github.com/microsoft/vscode-iot-workbench/issues/596
Signed-off-by: David Kwon<EMAIL_ADDRESS>

Fixing the cause for failed travis test now

Fixed


Blank Page in IIS

I have the project working on kestrel, and through IIS Express. It used to work on IIS back when I was running in asp core 2.1. However, when I upgraded everything to 2.2 including what's on the environments, I get blank pages.
The only way to circumvent this is by running self-hosting the app using kestrel and using IIS as a proxy. That's when I discovered this: https://weblog.west-wind.com/posts/2019/Mar/16/ASPNET-Core-Hosting-on-IIS-with-ASPNET-Core-22
So this basically told me the reason why it was working before, was because it was running kestrel out of the box, and was bouncing the requests back and forth using an "Out of process" mode. I'm thinking after I upgraded to 2.2, tons of things changed, with the introduction to "in process". I think this blank page problem is happening due to this being an "in process" and that I'm testing IIS running this project straight out. I've tried this on 3 different AWS machines, and they all give me the same problem. I've been fighting tooth and nail trying to get this to work for the last two days, and I've been coming up with nothing.
When I look at what's being passed across the network, everything is loaded. I compared it from the IIS environment and from IISExpress and Kestrel, and they all look exactly the same. But none of the components are rendering in IIS.
Here's what my sources look like:

For info, the SourceMap should not be present in production (publish in release mode). Is your IIS usage supposed to be for development or for production usage?
In dev, if you have this issue, it will require some investigation.

In IIS it doesn't matter if I use dev or prod, if I publish either modes that SourceMap warning always shows. This is on my dev and test server, not prod. I can tell that it's prod or dev because of what is passed across the network, prod is more compact and bundled than dev.
Is there anything you'd like me to show to aid in the investigation? I've been trying everything I can. It's stumping myself as well as my colleagues. We have a feature that we finished that we need to be deployed, but this is causing us some serious delays here.
I even took the starter template as is, and deployed to IIS and same thing kept happening. Blank page with some libraries /vue components that get loaded by never rendered.
It never mentioned that main.js or vendor.js/css is missing either, the site loads and passes them in just fine. So I'm kinda at a loss right now.

Yup, it was the chrome extensions. If I run this on incognito mode, I get no warnings or errors:
But as you can see, blank page and everything in the network shows up.

I really really think the only solution I have is to run this in kestrel and use IIS as a reverse proxy, which I think will lead to slower performance rather than use straight up IIS, but I see no other alternative at this point as IIS just doesn't seem to work in conjunction with this project.

I found the issue! It has nothing to do with kestrel or IIS in any way!
So there was development on the page where it will hide all vue components based on whether or not it received a token. This flag is set in the vue component, I never even bothered to check there. The environmental differences were just red herrings that led to a major distraction since they responded differently to how I get those tokens.


chore: add initial README file

This PR adds an early README file so others finding this package aren't entirely lost as to the "why"
This PR steals heavily from the prior discussion in the TanStack repo:
https://github.com/TanStack/form/issues/480#issuecomment-1793576645
To outline the "why" of this library in a semi-succinct way

That's looking great! Gonna get that in immediately :)


Add remaining non-wrapped functions

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
We still have a few classes that do not yet have wrapper functions. Namely datafusion.object_store and datafusion.common. Additionally in datafusion.substrait we reference LogicalPlan that is not exposed.
Also worth doing is reviewing the excellent PR https://github.com/apache/datafusion-python/pull/751 to see how it now fits in with the updated python wrappers.
Describe the solution you'd like
Add missing wrappers and validate namespace corrections
Describe alternatives you've considered
None
Additional context
This is follow on work to https://github.com/apache/datafusion-python/pull/750

Question:  Have you ever used or do you know of a tool to run queries over python / rust codebases?
It would be nice if we could generate a concrete report of what is not exposed.

No, but I did write a small script to check and this is what I see missing:
attribute,datafusion,Catalog,
attribute,datafusion,Database,
attribute,datafusion,ExecutionPlan,
attribute,datafusion,LogicalPlan,
attribute,datafusion,RecordBatch,
attribute,datafusion,RecordBatchStream,
attribute,datafusion,Table,
value,datafusion,__all__,runtime
value,datafusion,__all__,Catalog
value,datafusion,__all__,Database
value,datafusion,__all__,Table
value,datafusion,__all__,AggregateUDF
value,datafusion,__all__,LogicalPlan
value,datafusion,__all__,ExecutionPlan
value,datafusion,__all__,RecordBatch
value,datafusion,__all__,RecordBatchStream
value,datafusion,__all__,common
value,datafusion,__all__,expr
value,datafusion,__all__,functions
value,datafusion,__all__,object_store
value,datafusion,__all__,substrait
attribute,datafusion.common,DFSchema,
attribute,datafusion.common,DataType,
attribute,datafusion.common,DataTypeMap,
attribute,datafusion.common,NullTreatment,
attribute,datafusion.common,PythonType,
attribute,datafusion.common,RexType,
attribute,datafusion.common,SqlFunction,
attribute,datafusion.common,SqlSchema,
attribute,datafusion.common,SqlStatistics,
attribute,datafusion.common,SqlTable,
attribute,datafusion.common,SqlType,
attribute,datafusion.common,SqlView,
attribute,datafusion.common,__all__,
attribute,datafusion.expr,EmptyRelation,
attribute,Expr,__radd__,
attribute,Expr,__rand__,
attribute,Expr,__rmod__,
attribute,Expr,__rmul__,
attribute,Expr,__ror__,
attribute,Expr,__rsub__,
attribute,Expr,__rtruediv__,
attribute,datafusion.expr,IsNull,
attribute,datafusion.expr,Unnest,
attribute,datafusion.expr,Window,
attribute,datafusion.expr,__all__,
attribute,datafusion.functions,__all__,
attribute,datafusion,object_store,
attribute,datafusion,runtime,
attribute,datafusion,substrait,

Code to generate:
import datafusion

def missing_exports(internal_obj, wrapped_obj):
    for attr in dir(internal_obj):
        if attr not in dir(wrapped_obj):
            print(f"attribute,{wrapped_obj.__name__},{attr},")
            continue
        internal_attr = getattr(internal_obj, attr)
        wrapped_attr = getattr(wrapped_obj, attr)
        if attr in ["__self__", "__class__"]:
            continue
        if isinstance(internal_attr, list):
            for val in internal_attr:
                if val not in wrapped_attr:
                    print(f"value,{wrapped_obj.__name__},{attr},{val}")
        elif hasattr(internal_attr, '__dict__'):
            missing_exports(internal_attr, wrapped_attr)

missing_exports(datafusion._internal, datafusion)

I can work on adding these tomorrow morning and I can also add this code as a unit test.

FWIW I don't know if all of these need to be exported. It's probably worth looking through each one.


Added the ClassNotes App

Issue #232
It as a very new informative app for students . The idea is clearly mentioned in the Tier-1 for Beginner . Useful resources and and examples are provided too.

Please maintainers review the PR ,it has no conflicts and I have followed the code of conduct .


Replace end_of_html by end_of_stream

Hi, there. I faced a problem to read prolog term from input forms because the stream of HtmlObject returns the uncommon symbol end_of_html and the string was shrunk unneeded. This pull request solves this problem. Please merge it and release new minor release. Cheers.

Thanks for your contribution.


Make it more obvious when a URL is required

Some criteria require a URL, but once the placeholder text is typed in, this isn't obvious in the UI.
How can we make that clearer? Would a tooltip on the status icon be enough? ("This must be met and have a URL to be satisfied"). If not, what?

For an example, see issue #257.

Why not simply add such a text above the text fields that require such input? A tooltip is a bit obscure if you don't happen to move your mouse there.
This text field must have a URL filled in for the requirement to be satisfied (or similar)

@bagder I'd just like to say thanks for your participation here. I'm a regular user of curl and https://daniel.haxx.se/blog/2016/01/19/subject-urgent-warning/ is one the funniest things I've read this year.
We would greatly appreciate if you could open additional issues covering any issues beyond the ones you've already brought up.

Thanks for the encouraging words @dankohn! Let's not make this about me, but I like this project and I hope to contribute and do my little part.

My plan is to add (URL required) with the text. That is simple and direct.


Not working in mid-print: extruder dead

Hellows!
Thanks for the nice plugin.
Maybe it's an understanding problem of mine. I sometimes change the color of the filament during prints. I did so manually before and simply hit pause. But that caused filament to continue to ooze onto the print, which was not nice. Here comes the change filament plugin! yay! But it did not work as I expected:

In mid-print I changed the settings, and they did not seem to take. I set load speed and distance to the same as unload-speed and distance but it did not take. It loaded very slowly and only the short distance. I have a delta, so I need to pump the filament through the bowden-tube. But I fixed that by manually pushing and wanted to continue to print.
But the head did not move back from the park position. Okay, It was a clean 30mm so I moved it with the controls 3x 10mm.
Then I hit resume and while the printhead started to move, there was no extrusion. When I tried to turn the extruder manually, I noticed that the driver had shut down and I was free to turn the knob.

I guess I'm using it wrong. Can you please comment?

You have to refresh the whole page in your browser after changing settings, or the old values will still be in use
There is no code to store the old position, it only parks, it does not return automatically.
When unloading, the extruder stepper is disabled, but when loading it is run again, so it should be re-enabled automatically by the extrude command it performs then. It's possible your firmware does something unexpected here.

If your printer firmware supports it, using M600 is better to do mid-print.


Pressing d in winzoz mode errors with E388

This is a consequence of the fact that Ctrl-Wd does not exist in Vim, so it's ok, per se.
The point is that since the error happens from within winzoz mode, it is quite long and requires user interaction before the user goes on:
Error detected while processing function winzoz#goZoZ[19]..function winzoz#goZoZ:
line   10:
E388: Could not find definition
Press ENTER or type command to continue

Maybe I should try-catch the error so that I can echo a oneline error just like Ctrl-Wd does.

Actually there's Ctrl-wd command, see :help CTRL-W_CTRL-D. (I'm pretty sure the repro above was accurate, but maybe this thing has been added to Vim only recently. Can't bother verifiying.)


New maintainer for Qobuz is needed

The original maintainer lost interest in Qobuz. I tried to take over but I can't. Qobuz is not available in my country and implements very strict geographic checks.

Geolocation according to IP address - I connected via a VPN service to Paris in France
ZIP code - I managed to find a correct Paris ZIP code
Payment card country - I don't have a Frech payment card

@Romunix, if you want to take over maintainership of Qobuz, please create a new PR in tiliado/nuvola-app-qobuz:

Replace Quobuz is unsupported ... with New maintainer <name>. Issue: tiliado/nuvolaruntime#634 in CHANGELOG.md.
Update maintainer_name and maintainer_link in metadata.in.json.
Create a commit with this message:

New maintainer

Issue: tiliado/nuvolaruntime#634

Quobuz 1.2.9 (9-g3ddd68a) packages published.
Qobuz 1.3.0 will be released with Nuvola 4.18.0.
I need to update the website to include the new maintainer.

@Romunix, welcome aboard :-) You should receive an invitation to join Tiliado organization on GitHub with commit access to qobuz repository and a free license key (e-mail from support@tiliado.eu).

yes, all received :-)

https://nuvola.tiliado.eu/team/ & https://nuvola.tiliado.eu/index/ updated.


Question: Is this project being maintained anymore?

It might very well be that it's stable and doesn't need immediate fixing, which would be great but any clarity into why the latest release was almost a year ago would be appreciated!
All the best!

The package is stable and doesn't need immediate fixing. I and many others actively use it with no issues. :)
Another reason for no updates in a while: I went back to Stanford to get my masters degree so I haven't had much free time in the last 8 months. This summer, I'm hoping to work out a way to get funding for this and my other OSS work. I'd like to be able to pay one or two others to help with maintaining this and other repos / offer bounties for certain issues.
If you (or anyone reading this) would like your company to be a sponsor of standard and get your link and logo on the website homepage and readme, please get in touch (my email is [my first name]@[my first name].org). I'm also happy to do consulting/support services.

Awesome, thank you for clarifying, I really appreciate your hard work and that you took the time to respond! :) 🥇


stage2 refactoring

Discussion: #24
Direct in-memory read, separate header structures, remove temp buffer.
Tested on my RTOS-based firmware and nodemcu-firmware.

Done. Thanks for review.

thanks, i've merged it

This is an old PR. But I believe that the "// work out how much to read, up to 16 bytes at a time" comment should be updated accordingly. Tt should now be up to 4k bytes.


Handle user update events

Fixes #3397 Part of #3408
Handles the three types of user data updates possible:

full name
avatar
custom profile field

Extra care is taken not to mutate the state if not necessary.
This is done for two reasons:

currently editing values throught he web app causes two events,
one of which is not necessary (maybe should be fixed)
this is likely the largest state, doing an extra isEqual can
save copying all this data

Thanks @borisyankov !
ba4193139 flow: Add UserAvatarSource type

Ah cool, good fix!

+/** Gravatar or Upload */
+export type UserAvatarSource = 'G' | 'U';

How did you determine that this was the complete list? A pointer to API docs if they exist, or to something in a file like zerver/models.py if not, would be a good reference to add. (See examples of each of those elsewhere in this file.)

d32b0e34b flow: Describe the EventUserUpdateAction action precisely
+  ...UserUpdatePayloadName | UserUpdatePayloadAvatar | UserUpdatePayloadCustomProfileField,

Huh interesting! I don't think we've previously done a spread of a union like this. If Flow handles this well, there are some other places we can benefit from using it too.

Nit: let's pick a single order to both mention these three types in here and to define them in. That makes it a bit easier to read this line and the definitions together.

Huh, it's interesting that, according to these types:

The server always sends user_id.
It sometimes sends email -- depending on what other data is being updated.

Is that really the behavior? If so, it's worth a brief comment, to make explicit that you noticed the oddity (and reassure the reader that it wasn't an oversight.)

Relatedly: what happens when the user changes email?

Also: can a single event have several of these?

a277dabd3 Add 'updateUser' helper function
    This function takes a 'user' and an update information object
    given by us by the back-end and produces a new, updated user object.

This would make a great bit of jsdoc for the function itself. :smile:
(Though in that context it can be a bit terser: "Produce an updated User from the old one and an" etc.)

I'd be inclined to stick this inside the reducer file, and squash it with the commit that adds to the reducer -- it feels like it's pretty specific to helping the reducer with its job. In particular, the description is basically the description of a small reducer.

+    return {
+      ...oldValue,
+      avatar_url: updateData.avatar_url,
+    };

Huh, it's puzzling that this ignores the other properties, avatar_source and avatar_url_medium.
... I see, we don't even have those on User.
This is a bug somewhere waiting to happen. :-/ Some change in the future has us start using those properties, and we forget to come back to this path (which isn't a common case, so it's easy to miss) and add them here too. But if the server really isn't sending those properties in normal User objects, and yet is including them in these updates, it's a server issue. Hmm.
I think the best we can do immediately is a couple of brief (like one-line) comments warning our future selves about this discrepancy. I think one on User is probably the most important, because that's a place we'd be updating if we started using these properties.

f0491423e usersReducers: Handle 'EVENT_USER_UPDATE' server events
    Extra care is taken not to mutate the state if not necessary.

    This is done for two reasons:
     * currently editing values throught he web app causes two events,
       one of which is not necessary (maybe should be fixed)
     * this is likely the largest state, doing an extra `isEqual` can
       save copying all this data

Hmm. Definitely it'd be nice to avoid updates, but... is it actually realistic that this optimization will often have any effect? I feel like if we get an update event, it'd be odd and unusual for it to turn out that nothing changed.
If that's right, then I'd rather save the complexity of the optimization -- it isn't huge, but the optimization's value will be smaller still.

      const userIndex = state.findIndex(x => x.user_id === action.person.user_id);
      const oldUser: User = state[userIndex];

      if (userIndex === -1) {
        return state;
      }

This is kind of backward -- you're assuring the type-checker that userIndex is valid, just a line before you check for the case when it is in fact invalid.
Fortunately, it's easy to avoid this lie: just swap the order.

Thanks, all, for looking into this! Closing as replaced by #5386, as mentioned there.


[ENG-729]Schemablocks in mirage

Purpose

Add SchemaBlock as a mirage fixture and update RegistrationSchema fixture and model to use the SchemaBlocks.
Summary of Changes

Updated RegistrationSchema model to use Schemablocks.
Added SchemaBlocks fixture.
Added a testSchema that has different use cases for SchemaBlocks.
Side Effects
none

Feature Flags

QA Notes
N/A

Ticket

https://openscience.atlassian.net/browse/ENG-729
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Pull Request Test Coverage Report for Build 3230

1 of 3 (33.33%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage remained the same at 75.622%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app/adapters/schema-block.ts
0
1
0.0%

lib/registries/addon/drafts/draft/review/route.ts
1
2
50.0%

Files with Coverage Reduction
New Missed Lines
%

app/adapters/schema-block.ts
1
0.0%

lib/registries/addon/drafts/draft/review/route.ts
1
71.88%

Totals

Change from base Build 3224:
0.0%

Covered Lines:
6857

Relevant Lines:
7966

💛  - Coveralls


Exchanging a verification code for an access token no longer works

Summary
The example Heroku app with Slack no longer seems to handle Step 3 of the Slack OAuth sign in. I can confirm this same thing happens with my own app.
Steps to reproduce

Head to sample Heroku app on any browser (I've tried this on Safari, Firefox, Chrome on Mac OSX 10.13.5 High Sierra)
Click "Sign in with Slack"
Click "Authorize"
Expected: The app was installed (my app) and I was signed in successfully (sample app and my app)
Actual: The response on the Heroku app says "Internal Server Error" (both apps)

Config Info
These are the relevant pieces from my Elixir/Phoenix app to compare against the sample app:
  def project do
    [
      elixir: "~> 1.4",
    ]
  end
  defp deps do
    [
      {:phoenix, "~> 1.3.2"},
      {:phoenix_pubsub, "~> 1.0"},
      {:phoenix_ecto, "~> 3.2"},
      {:postgrex, ">= 0.0.0"},
      {:phoenix_html, "~> 2.10"},
      {:phoenix_live_reload, "~> 1.0", only: :dev},
      {:gettext, "~> 0.11"},
      {:cowboy, "~> 1.0"},
      {:oauth, github: "tim/erlang-oauth"},
      {:oauth2, "~> 0.8", override: true},
      {:ueberauth, "~> 0.4"},
      {:ueberauth_slack, "~> 0.4"},
      {:poison, "~> 3.0", override: true}
    ]
  end

Possible solution
I noticed with my app it was returning this in the logs (sensitive information redacted, also formatted because GitHub sucks at long lines):
** (KeyError) key :access_token not found in:

%OAuth2.Client{
  authorize_url: "https://slack.com/oauth/authorize",
  client_id: "XXX.YYY",
  client_secret: "THESECRET",
  headers: [],
  params: %{},
  redirect_uri: "https://myapp.herokuapp.com/auth/slack/callback",
  ref: nil,
  request_opts: [],
  site: "https://slack.com/api",
  strategy: Ueberauth.Strategy.Slack.OAuth,
  token: %OAuth2.AccessToken{
    access_token: nil,
    expires_at: nil,
    other_params: %{
      "error" => "bad_client_secret",
      "ok" => false
    },
    refresh_token: nil,
    token_type: "Bearer"
  },
  token_method: :post,
  token_url: "https://slack.com/api/oauth.access"
}

2018-06-26T03:37:24.064879+00:00 app[web.1]:(ueberauth_slack)
lib/ueberauth/strategy/slack.ex:63:
Ueberauth.Strategy.Slack.handle_callback!/1

2018-06-26T03:37:24.064881+00:00 app[web.1]:(ueberauth)
lib/ueberauth/strategy.ex:301:
Ueberauth.Strategy.run_callback/2

2018-06-26T03:37:24.064883+00:00 app[web.1]:(myapp)
lib/myapp_web/controllers/auth_controller.ex:1:
MyappWeb.AuthController.phoenix_controller_pipeline/2

Notice the error points to "error" => "bad_client_secret" - even though I can 100% confirm in my app that the Client Secret returned is indeed the same and correct Client Secret that Slack provides me. Is this the same thing you see in the ueberauth_example app logs on Heroku?

This was fixed when I pulled master, but 0.4.x doesn't recognize this properly so I bumped the version, which should resolve everything

0.5.0 merged! Gonna close this


Create Blog “2024-01-05-uhuihiu”

Automatically generated by Decap CMS

👷 Deploy Preview for marvelous-hummingbird-ba750d processing.

Name
Link

🔨 Latest commit
4827c87952036140f15371ad2c977005481acd98

🔍 Latest deploy log
https://app.netlify.com/sites/marvelous-hummingbird-ba750d/deploys/659808edb1970a00086a075a