cannot connect to the GPM

Hi, I'm trying grav on my server. Apparently everything works fine but when I navigate in the admin repeatedly receive the message: cannot connect to the GPM. What does it mean? Am I missing something in the setup or configuration?

Check if you have openssl php extension enabled, that is required
// Djamil Legato // From iPhone //

On Dec 5, 2015, at 18:24, Juan David Cardona<EMAIL_ADDRESS>wrote:
Hi, I'm trying grav on my server. Apparently everything works fine but when I navigate in the admin repeatedly receive the message: cannot connect to the GPM. What does it mean? Am I missing something in the setup or configuration?
—
Reply to this email directly or view it on GitHub.

I'm receive the same symptoms.  According to /admin/info, I have OpenSSL support enabled with library version "OpenSSL 1.0.1f 6 Jan 2014".  I started with the Notepad skeleton.

Do you get the same error from the command line gpm command as the admin? Do you have any firewall in place?  is your bin/gpm file set with executable permissions?

From ls -l, my permissions are:
-rwxrwxr-x 1 root www-data    1691 Dec  7 19:17 gpm

The command line gpm command works fine.  Running bin/gpm list does not give the message.  I don't believe I have a firewall in place.  I do have UFW firewall running with the following configuration:
To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
1622/tcp                   ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
1622/tcp (v6)              ALLOW       Anywhere (v6)

Can you try bin/gpm index command [not list] and see if you get the plugins/themes listed without errors?

bin/gpm index runs without any warnings/errors.  Successfully lists plugins and themes then provides some messages on how to install.

Thanks, just making sure it's isolated to admin.
It's kind of strange because Admin shares the same methods that are used by bin/gpm.
Can you confirm you are running the same PHP on both web and cli ?

Running php -v from the command line as root gives:
PHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:34:46)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

On the Configuration/Info page, the first heading is "PHP Version 5.5.9-1ubuntu4.14."  I agree it's pretty weird.  Are there any Admin interface actions that won't work if it really isn't able to access gpm?

The error "cannot connect to the GPM" is specific to accessing the GPM::$grav object that has all the data regarding Grav's updates. However there is no distinction between Admin and CLI, they both instantiate the same GPM class.
If you go in Plugins and Add [/admin/plugins/install, do you get the whole list of plugins available for installation?
Also perhaps you can try editing the file getgrav/grav/blob/develop/system/src/Grav/Common/GPM/GPM.php#L46 and throw a proper error (ie, var_dump($e); die;), in case it's failing there.

So, if I try to add a plugin (or theme), I get ErrorException (E_ERROR): Call to a member function filter() on a non-object.  It's happening in plugins/admin/classes/admin.php lin 455:
    {
        $gpm = $this->gpm();

        if (!$gpm) {
            return;
        }

        return $local ? $gpm->getInstalledPlugins() : $gpm->getRepositoryPlugins()->filter(function (
            $package,
            $slug

Does that provide any insight, or should I try modifying GPM.php?

That error is not related, it's calling a method that is in Grav and hasn't been released yet, we need to get that out asap.
The fact that you can list the plugins for installation means you are accessing GPM, it is only failing to get the updates for Grav itself and not the Themes or Plugins.
Yes please, edit the GPM.php file and try throwing an error, there must be something in there that your server doesn't like.

Sorry the hand-holding.  In that exception catch block, if I try var_dump($e), I only get a white page back. I tried turning on errors with ini_set('display_errors', 1); error_reporting(E_ALL); but that doesn't seem to have any effect.  Is there somewhere in Grav that's hiding all PHP errors?

I tried moving to the core+admin release, and I no longer receive the message.  It seems to be something to do with the Notepad skeleton.

That's pretty odd. I tried downloading the current notepad skeleton and tested GPM.  All worked fine.  I'll close this for now, please reopen if the issue reoccurs.

Hello. I am receiving the same error message. I did a clean install on VPS. Then checked out my GIT repo and started receiving this message.

PHP has all curl and openssl installed? http://learn.getgrav.org/basics/requirements#php-requirements

Hi, I've got the same issue (cannot connect to GPM, exception on the filter() function when trying to add plugins) with latest Grav + Admin package (downloaded today). Windows 7 with XAMPP V3.2.2 installed

@cravussin the PHP requirements are matched?

Yes PHP 5.6.15

I mean curl, openssl, zip support http://learn.getgrav.org/basics/requirements#php-requirements

Yes all requirements are met. Actually, OpenSSL was missing at first, I activated it in php.ini then restarted the apache server.

Are plugins installed fine with the command-line utility? The problem is just in the admin, or also from there?

I'm not under Cygwin so I cannot use the CLI. Is there another way to install a plugin?

You can still download a plugin from http://getgrav.org/downloads/plugins, unzip and move the folder under user/plugins, e.g. user/plugins/form/

I suspect I might been having permission issues, reinstalling from scratch right now

Okay, so reinstalling XAMPP + Grav using only user permissions changed nothing, still the same issue.
I managed to install the instagram plugin manually.

I had a similar issue. Setting the permissions right and adding the folder grav folder in ubuntu to www-data solved it for me.

I've installed XAMP as a user so everyhing in htdocs is writable.Strange issue really, it seems it's comming from the Admin plugin

You should try installing GitBash, then trying the command line tools:
> /path/to/php.exe bin/gpm index

From the root of your Grav install.  I doubt its GPM itself, or Grav Admin as many people have no problems.  99% sure it's a config/setup issue on your end.

I'll try again on my Mac later today and let you know.
Envoyé depuis mon iPhone

Le 23 déc. 2015 à 16:33, Andy Miller<EMAIL_ADDRESS>a écrit :
You should try installing GitBash, then trying the command line tools:

/path/to/php.exe bin/gpm index
From the root of your Grav install. I doubt its GPM itself, or Grav Admin as many people have no problems. 99% sure it's a config/setup issue on your end.

—
Reply to this email directly or view it on GitHub.

So it works flawlessly on my mac with MAMP 3.5. So it must be a Windows XAMPP vanilla configuration issue I suppose.

Most likely it's a missing PHP module (openssl, curl) or could be permissions, but that is less likely on windows.

I'll try with MAMP for Windiws today

Same issue with MAMP 3.5 for windows. There must be a problem between the win32 ports of apache / php and the Admin plugin.

Works fine on:

Windows 10 Pro (latest public build)
XAMPP v3.2.2 (PHP v5.6.15, default settings)
Grav Core v1.0.6 + Admin plugin (downloaded from the site)

I had the same issue on my CentOS server and the cause was that SELinux was enabled and it blocked the execution of gpm. On Cent you can disable SELinux with sudo setenforce Permissive. After that, i didn't get that error anymore. If someone is interested in reading about SELinux, go here

I had the same issue on my CentOS server and the cause was that SELinux was enabled and it blocked the execution of gpm. On Cent you can disable SELinux with sudo setenforce Permissive. After that, i didn't get that error anymore. If someone is interested in reading about SELinux, go here

We've added more informative errors that should help you with this going forward.

I'm getting this error, too. Fresh Ubuntu 14.04 install, fresh install of Grav and the admin plugin. OpenSSL is enabled, curl is enabled, and permissions are configured. Any guidance on where to look for the source of the problem would be appreciated.

Is it possible you are behind a proxy?

The other thing to check is that curl and openssl are actually enabled in PHP for the CLI version:
$ php -i | grep curl
$ php -i | grep openssl

I'm assuming your resting bin/gpm from the command line.  Best to try there first.  Also what exactly si the error you are getting?

I think you put the finger on the cause of my issue. I was having this problem at work where my station is behind a proxy.
Is there a way to configure gym to go through a ntlmv2 authenticated proxy?
Envoyé depuis mon iPhone

Le 10 janv. 2016 à 06:44, Andy Miller<EMAIL_ADDRESS>a écrit :
Is it possible you are behind a proxy?
—
Reply to this email directly or view it on GitHub.

@rhukster Solved it. It ended up being an ownership issue after all with the www-data user in Ubuntu server. I had run the permissions configuration script on the Troubleshooting page, but I still needed to perform a chown -R... after installing some plugins manually. Thanks again for your help!

No problem @Gorcenski , glad you got it sroted.
@cravussin check this comment out about how to set up some environment variables so Curl can use Proxy: https://github.com/getgrav/grav/issues/359#issuecomment-148369451

@rhukster cool thanks for the tip!

I'm using xampp in mac to have a local test, The admin page pops up a bubble when:
turn on the openssl : internal sever error
turn off the openssl : Cannot connect to GPM
//php -i | grep openssl
Configure Command =>  '/Library/Caches/com.apple.xbs/Binaries/apache_mod_php/apache_mod_php-101~18/Objects/php/configure'  '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--sysconfdir=/private/etc' '--with-libdir=lib' '--enable-cli' '--with-iconv=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.Internal.sdk/usr' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/Library/Server/Web/Config/php' '--with-libxml-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.Internal.sdk/usr' '--with-openssl=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.Internal.sdk/usr/local
openssl

You certainly do need openssl turned on.
if you get an internal server error, then there's probably something missing in your openssl setup.  The best way to find out what, is to look at your web server logs.
Quick question, is there a particular reason you are using xampp on a mac?  The usual suspects are MAMP or the built-in Apache with homebrew.  I've outlined detailed steps on using homebrew on a mac:  https://getgrav.org/blog/mac-os-x-apache-setup-multiple-php-versions
I strongly recommend this approach if you are tech-savvy, else MAMP is a solid and reliable way and 'just works'.

Helo, after upgrading apache and using mod_ruid, the plugin and theme menu throw an error "Cannot connect to the GPM", I echo in Response.php and got error SSL peer certificate or SSH remote key was not OK, When I added this  CURLOPT_SSL_VERIFYHOST         => false,
CURLOPT_SSL_VERIFYPEER         => false,
there were no more error. But I think this is not a good solution, because when I upgrade, those line will be overwritten. What should I do?

I think your ssl library is out of date. Our cert is perfectly valid.
Cheers!
--
Andy Miller
http://trilbymedia.com
On Aug 26, 2016, 21:33 -0600, arieedzig<EMAIL_ADDRESS>wrote:

Helo, after upgrading apache and using mod_ruid, the plugin and theme menu throw an error "Cannot connect to the GPM", I echo in Response.php and got error SSL peer certificate or SSH remote key was not OK, When I added this CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
there were no more error. But I think this is not a good solution, because when I upgrade, those line will be overwritten. What should I do?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/getgrav/grav/issues/505#issuecomment-242893085), or mute the thread (https://github.com/notifications/unsubscribe-auth/ABCNGazHvMVKsNkPi9Vtwuz0iOogOxp-ks5qj7AegaJpZM4GvkUZ).

@arieedzig I have actually updated our Cert with one from LetsEncrypt, let me know if your issue remains??

Hi rhukster, still the same error.

You got the error only after you updated apache?

Yes, before update, it was working.

can you disable this mod_ruid?  I know it's a suPHP alternative, but seems to be sort of old and unsupported?

I activated mod_ruid to increase the security, so it will not possible for me to disable it.

Hey,
for future reference: On my local dev machine I had the same issue with the openssl php extension being installed but still not being able to access gpm. The reason was there was no cert file configured to compare the gpm certificate against. I had to add something like
openssl.cafile=/opt/local/share/curl/curl-ca-bundle.crt
to my php.ini to make it work (I installed openssl & curl via MacPorts).

Hey @jodumont ,
Apparently that file was installed with the curl-ca-bundle package. (When you have MacPorts installed, do port install curl-ca-bundle...)


NPE on Notification

TiGooshModule.java
Line 81:
if (!notification.isEmpty()) {
notification is initialized with an empty string but then gets a null data value on line 74.
Could you simply add a null check?

This bug is still happening on release 3.0.0


Is there support for RTL languages?

I could not find a simple way to RTL the display:

Sidebar to the right
Reverse order for table columns
etc...

Hello @Mulli ,
Thank you for your interest in our product.
Yes, you can add RTL by following these steps:

Add in public/index.html file this line <link rel="stylesheet" href="//cdn.rawgit.com/morteza/bootstrap-rtl/v3.3.4/dist/css/bootstrap-rtl.min.css"> inside the <head>...</head> tags.
Replace <body> with <body class="rtl-active"> inside the public/index.html file.
Download this file
lbdp_rtl.scss.zip
Unzip the file.
Add the unzipped file in src/assets/sass/lbd/ folder.
Add this line @import "lbd/lbdp_rtl"; at the end of the src/assets/sass/light-bootstrap-dashboard.scss file.

Thanks.
I was able to RTL it myself but not as clean as suggested.
Will give it a try soon.
Do you see a way to trigger RTL using a config flag?


Illegal hardware instruction (core dumped)

Possible install-time or require-time problem

[x] I have read and understood all of the documentation relating to installation.
[x] I have searched for known bugs relating to this problem in my choice of package manager.

Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

[x] I am using Node.js with a version that satisfies ^18.17.0 || ^20.3.0 || >=21.0.0
[ ] I am using Deno
[ ] I am using Bun

Are you using a supported package manager and installing optional dependencies?

[ ] I am using npm >= 10.1.0 with --include=optional
[ ] I am using yarn >= 3.2.0
[x] I am using pnpm >= 7.1.0 with --no-optional=false
[ ] I am using Deno
[ ] I am using Bun

What is the complete error message, including the full stack trace?
$ node -e "require('sharp')"

[1]    194174 illegal hardware instruction (core dumped)  node -e "require('sharp')"

What is the complete output of running npm install --verbose --foreground-scripts sharp in an empty directory?

npm verb cli /root/.nvm/versions/node/v20.12.0/bin/node /root/.nvm/versions/node/v20.12.0/bin/npm
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm verb title npm install sharp
npm verb argv "install" "--loglevel" "verbose" "--foreground-scripts" "sharp"
npm verb logfile logs-max:10 dir:/root/.npm/_logs/2024-09-21T17_31_12_646Z-
npm verb logfile /root/.npm/_logs/2024-09-21T17_31_12_646Z-debug-0.log
npm http fetch GET 200 https://registry.npmjs.org/sharp 481ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-darwin-arm64 150ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-darwin-x64 148ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-darwin-arm64 194ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-darwin-x64 174ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-arm 152ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-arm64 140ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linux-s390x 193ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linuxmusl-arm64 213ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-libvips-linuxmusl-x64 117ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-arm 200ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-arm64 159ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linux-s390x 172ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linuxmusl-arm64 189ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-linuxmusl-x64 583ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-wasm32 202ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-win32-ia32 139ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@img%2fsharp-win32-x64 187ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/@emnapi%2fruntime 150ms (cache revalidated)
npm http fetch GET 200 https://registry.npmjs.org/tslib 95ms (cache revalidated)
npm verb reify failed optional dependency /root/node_modules/@img/sharp-win32-x64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-win32-ia32
npm verb reify failed optional dependency /root/node_modules/@img/sharp-wasm32
npm verb reify failed optional dependency /root/node_modules/@emnapi/runtime
npm verb reify failed optional dependency /root/node_modules/tslib
npm verb reify failed optional dependency /root/node_modules/@img/sharp-linuxmusl-x64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-linuxmusl-arm64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-linux-s390x
npm verb reify failed optional dependency /root/node_modules/@img/sharp-linux-arm64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-linux-arm
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-linuxmusl-x64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-linuxmusl-arm64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-linux-s390x
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-linux-arm64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-linux-arm
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-darwin-x64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-libvips-darwin-arm64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-darwin-x64
npm verb reify failed optional dependency /root/node_modules/@img/sharp-darwin-arm64
up to date in 6s
3 packages are looking for funding
run npm fund for details
npm verb exit 0
npm info ok

What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
system:    OS: Linux 6.10 Fedora Linux 39 (Cloud Edition)
CPU: (2) x64 AMD G-T56N Processor
Memory: 2.21 GB / 3.30 GB
Container: Yes
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.12.0 - ~/.nvm/versions/node/v20.12.0/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v20.12.0/bin/yarn
npm: 10.5.0 - ~/.nvm/versions/node/v20.12.0/bin/npm
pnpm: 8.15.5 - ~/.nvm/versions/node/v20.12.0/bin/pnpm

$ cat /proc/cpuinfo

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 20
model           : 2
model name      : AMD G-T56N Processor
stepping        : 0
microcode       : 0x5000101
cpu MHz         : 1646.337
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt hw_pstate vmmcall arat npt lbrv svm_lock nrip_save pausefilter
bugs            : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 3292.64
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 20
model           : 2
model name      : AMD G-T56N Processor
stepping        : 0
microcode       : 0x5000101
cpu MHz         : 1655.916
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt hw_pstate vmmcall arat npt lbrv svm_lock nrip_save pausefilter
bugs            : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 3292.64
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

Please see https://github.com/lovell/sharp/issues/2723

I built libvips from source
$ pkg-config --modversion vips-cpp
8.15.3

and added
 “config": {
    “libvips": “8.15.3”
 }

to package.json
and still node -e “require(‘sharp’)” returns the same error.

Please see https://sharp.pixelplumbing.com/install#building-from-source and ensure all additional dependencies are made available at install time. Use the npm install --foreground-scripts flag to force npm to display all decisions being taken.

$ npm install --foreground-scripts
(##################) ⠦ reify:@img/sharp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
><EMAIL_ADDRESS>install
> node install/check

sharp: Detected globally-installed libvips v8.15.3nux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
sharp: Attempting to build from source via node-gyp
sharp: Found node-addon-api 8.1.0
sharp: Found node-gyp 10.2.0:@img/sharp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
sharp: See https://sharp.pixelplumbing.com/install#building-from-source
gyp info it worked if it ends with okrp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp info chdir src
gyp info find Python using Python version 3.12.6 found at "/usr/bin/python3"node_modules/node-gyp Completed in 3770ms
(##################) ⠦ reify:@img/sharp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/root/sharp/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 '/root/sharp/node_modules/sharp/src/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/sharp/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/root/.cache/node-gyp/20.12.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/20.12.0',
gyp info spawn args '-Dnode_gyp_dir=/root/sharp/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/root/.cache/node-gyp/20.12.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/root/sharp/node_modules/sharp/src',
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 ]
<string>:114: SyntaxWarning: invalid escape sequence '\/': timing reifyNode:node_modules/node-gyp Completed in 3770ms
gyp info spawn make) ⠦ reify:@img/sharp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/root/sharp/node_modules/sharp/src/build'
  CC(target) Release/obj.target/nothing/../../node-addon-api/nothing.o
rm -f Release/obj.target/../../node-addon-api/nothing.a Release/obj.target/../../node-addon-api/nothing.a.ar-file-list; mkdir -p `dirname Release/obj.target/../../node-addon-api/nothing.a`
ar crs Release/obj.target/../../node-addon-api/nothing.a @Release/obj.target/../../node-addon-api/nothing.a.ar-file-list
  COPY Release/nothing.aeify:@img/sharp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
  TOUCH Release/obj.target/libvips-cpp.stamp
  CXX(target) Release/obj.target/sharp-linux-x64/common.o: timing reifyNode:node_modules/node-gyp Completed in 3770ms
  CXX(target) Release/obj.target/sharp-linux-x64/metadata.otiming reifyNode:node_modules/node-gyp Completed in 3770ms
  CXX(target) Release/obj.target/sharp-linux-x64/stats.o4: timing reifyNode:node_modules/node-gyp Completed in 3770ms
  CXX(target) Release/obj.target/sharp-linux-x64/operations.oming reifyNode:node_modules/node-gyp Completed in 3770ms
  CXX(target) Release/obj.target/sharp-linux-x64/pipeline.otiming reifyNode:node_modules/node-gyp Completed in 3770ms
  CXX(target) Release/obj.target/sharp-linux-x64/utilities.oiming reifyNode:node_modules/node-gyp Completed in 3770ms
  CXX(target) Release/obj.target/sharp-linux-x64/sharp.o4: timing reifyNode:node_modules/node-gyp Completed in 3770ms
  SOLINK_MODULE(target) Release/obj.target/sharp-linux-x64.nodeng reifyNode:node_modules/node-gyp Completed in 3770ms
  COPY Release/sharp-linux-x64.nodeharp-libvips-linux-x64: timing reifyNode:node_modules/node-gyp Completed in 3770ms
  TOUCH Release/obj.target/copy-dll.stamp
make: Leaving directory '/root/sharp/node_modules/sharp/src/build'reifyNode:node_modules/node-gyp Completed in 3770ms
gyp info ok

added 110 packages, and audited 111 packages in 2m

17 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

$ node  -e "require('sharp')"
[1]    263242 illegal hardware instruction (core dumped)  node -e "require('sharp')"

The displayed code is different this time.

What's the output of ldd node_modules/sharp/src/build/Release/sharp-linux-x64.node?

        linux-vdso.so.1 (0x00007f75b0563000)
        libvips-cpp.so.42 => not found
        libvips.so.42 => not found
        libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f75b0330000)
        libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f75b02d0000)
        libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f75b0186000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f75afe00000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f75b00a3000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f75b007e000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f75afc1e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f75b0565000)
        libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f75b0077000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f75b005d000)
        libmount.so.1 => /lib64/libmount.so.1 (0x00007f75afbcd000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f75afba0000)
        libffi.so.8 => /lib64/libffi.so.8 (0x00007f75afb90000)
        libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f75afaf5000)
        libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f75afab9000)

I think the missing files are:
/usr/local/lib64/libvips.so.42.17.3
/usr/local/lib64/libvips-cpp.so.42.17.3

or in the directory where I previously installed sharp
<EMAIL_ADDRESS><EMAIL_ADDRESS>

So, I copied these files:
/usr/local/lib64/libvips.so.42.17.3
/usr/local/lib64/libvips-cpp.so.42.17.3

into /lib64/ keeping their original names. Nothing has changed.
Then I tried renaming them by deleting the version in the filename? E.g. libvips.so.42.17.3 -> libvips.so.42. This worked. So
$ vips --version
vips-8.15.3

and
$ node -e “require(‘sharp’)”

work without any problems. So I consider the problem solved.

I also discovered one thing - pnpm very much dislikes to build sharp from the source. Despite installing node-addon-api node-gyp pnpm does not build sharp, it just installs the pre-built versions. This can be fixed by using pnpm rebuild. If I find another solution in the pnpm documentation, I will let you know about it, and I will try to improve the documentation about the installation from the source.

Rather than manually copy files around, when building libvips with Meson, its --prefix flag can be used to set the installation directory, e.g. you might want to try meson configure --prefix /usr/lib64.

Installing symlink pointing to libvips.so.42.17.3 to /usr/lib64/lib64/libvips.so.42
Installing symlink pointing to libvips.so.42 to /usr/lib64/lib64/libvips.so
Installing symlink pointing to libvips-cpp.so.42.17.3 to /usr/lib64/lib64/libvips-cpp.so.42
Installing symlink pointing to libvips-cpp.so.42 to /usr/lib64/lib64/libvips-cpp.so

It doesn't look very good

Sorry, I meant --prefix /usr

0.32.6 works with E5310, but not 0.33.x


x/website: golang.org missing go-import metadata

What is the URL of the page with the issue?
all packages under  "golang.org/x/..."
What is your user agent?

using dep ensure
Screenshot

What did you do?

curl -L -s golang.org/x/crypto | grep -i go-import
also when using dep ensure
What did you expect to see?
$curl -L -s golang.org/x/crypto | grep -i go-import
<meta name="go-import" content="golang.org/x/crypto git https://go.googlesource.com/crypto">

What did you see instead?
missing go-import metadata

Duplicate of #47905


Add output interval for MoveToFort

Output box is being spammed by MoveToFort. Suggestion that a configuration setting could change this regularity, by either time or distance.

Current Output
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.12km (attraction of lure 1.30km)
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.10km (attraction of lure 1.29km)
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.10km (attraction of lure 1.28km)
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.09km (attraction of lure 1.27km)
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.09km (attraction of lure 1.26km)
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.09km (attraction of lure 1.25km)

Desired Output
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.09km (attraction of lure 1.30km)
[MoveToFort] [INFO] [moving_to_lured_fort] Moving towards pokestop First Amendment Plaza - 0.09km (attraction of lure 1.25km)

Potential Configuration
{
  "type": "MoveToFort",
  "config": {
    "lure_attraction": true,
    "lure_max_distance": 2000,
    "output_interval_by": "distance",
    "output_interval": 0.05
  }
},

I like this. We recently expanded egg hatching to work the same.

Merged


Feature Request: Allow popups to be closed when an internal button is pressed.

I am trying to use a popup menu of buttons that then directs the user to different widgets depending on what button is pressed. The popup can nicely hide the list of possible actions to minimize clutter. What I have is effectively a vstack of buttons that appears when the popup is opened. However, currently when a button inside a popup is clicked, the popup is not closed despite the button action occurring. Therefore, when the user is moved to the new widget, the UI is effectively frozen since the popup blocks all events to the new widget. I would like the popup to automatically close once the user clicks one of the buttons inside of the popup.
I got it to work by altering the code for the popup widget:

In the handleEvent function here, I had to delete the && not (insidePopup point) for both the ButtonAction and Click branches.
Then, I also had to delete the IgnoreChildrenEvents in the list here.

I understand not everyone may want this functionality so is there any way to make this configurable? I have not tried it, but I think it is also possible to use a dropdown menu. However, the popup seems more intuitive and the type signatures are more inline with the behavior I am after.

Isn't it possible to just do something like that:
popup nodeVisisble showPopup
showPopup is a field in your App state and the button toggles this state

I appreciate the quick response!
Neither widgetIf nor nodeVisible work for me. I already have a showPopup field in my app state that gets set to False whenever any of the inner buttons are clicked. But the new widget that appears is always frozen.
It looks like your popup brings up an alert widget; I don't think this is the same as what I am trying to do. The alert widget has a close button; the close button for the alert widget is meant to remove the alert widget from the tree. My buttons add a widget to the tree; it brings the user to a new form that when closed, returns the user to the widget with the popup. Like I said, I am able to click buttons inside the popup which would be the close button for the alert widget. However, I am unable to interact with any widgets that get added to the tree due to clicking buttons in the popup. So the apples-to-apples comparison would be if your alert's close button actually caused a new widget with buttons to appear on top of the alert that was opened by the popup.
I apologize if this wording is confusing. I am new to front-end stuff. Here is a snippet from my code:
morePopup :: AppModel -> AppNode
morePopup _ = do
  vstack
    [ tooltip_ "More" [tooltipDelay 1000] $
        button remixMoreLine (HomeEvent ShowMorePopup)
    , customPopup (toLensVL $ #homeModel % #showMorePopup) $
        vstack
          [ button "Edit Name" (HomeEvent $ ChangePaymentWalletName StartAdding)
          , separatorLine `styleBasic` [fgColor black, padding 5]
          , button "Delete Wallet" (HomeEvent $ DeletePaymentWallet GetDeleteConfirmation)
          ]
    ]

editPaymentWalletWidget :: AppModel -> AppNode
editPaymentWalletWidget _ = do
  let editFields =
        vstack_ [childSpacing]
          [ hstack
              [ label "Wallet Name:"
              , spacer
              , textField (toLensVL $ #extraTextField)
                  `styleBasic` [width 500]
              ]
          ]

  centerWidget $ vstack
    [ editFields
    , spacer
    , hstack
        [ filler
        , mainButton "Confirm" $ HomeEvent $ ChangePaymentWalletName ConfirmAdding
        , spacer
        , button "Cancel" $ HomeEvent $ ChangePaymentWalletName CancelAdding
        ]
    ] `styleBasic` [bgColor customGray3, padding 20, width 700]

confirmDeleteWidget :: AppModel -> AppNode
confirmDeleteWidget model = do
  centerWidget $ vstack_ [childSpacing]
    [ spacer
    , centerWidgetH $ label $ mconcat
        [ "Are you sure you would like to delete '"
        , model ^. #homeModel % #selectedWallet % #alias
        , "'?"
        ]
    , hstack
        [ filler
        , mainButton "Confirm" $ HomeEvent $ DeletePaymentWallet ConfirmDeletion
        , spacer
        , button "Cancel" $ HomeEvent $ DeletePaymentWallet CancelDeletion
        ]
    ] `styleBasic` [bgColor customGray3, padding 20, width 700]

In my morePopup, I am able to click either the "Edit Name" button or the "Delete Wallet" button (these buttons are at the same level as your close alert button). Depending on which is clicked, the UI either brings up the editPaymentWalletWidget or the confirmDeleteWidget. Both widgets have their own buttons and fields to interact with, and both widgets are frozen if they are opened by buttons within the popup.


Remove Ethereum Addresses From User

:construction_worker: Purpose
Ethereum addresses as they were  implemented had been deprecated.
:rocket: Changes

All references to ethereum addresses on a per-user basis have been removed.

:warning: Breaking Changes

There shouldn't bee any.

Horrible security practice indeed, I have removed the hard-coded admin user, and switched it to a boolean value in the db.


Added sites metadata support for scan_net scripts.

This addition requires running NetworkController/device-config/ansible/inventory/fabric_inventory.py --yaml to generate a YAML metadata file and refer from ~/.netam.conf.

Generated graphml for netam (production):
netam-prod-20211003.graphml.txt


New PyWorkbench Cheat Sheet

First draft version of PyWorkbench cheat sheet.

@Revathyvenugopal162 - weren't we deprecating this in favor of quarto?

@RobPasMue , yes you are right. @vnamdeo  If you could convert this into a QMD file (similar to a Markdown file), here’s an example for reference: cheat_sheet.qmd. Please place it in the doc/source folder of pyworkbench. Once done, we can run this cheatsheet using the extension we created and integrate it with the documentation in a similar way to the geometry docs. I’d be happy to assist you in setting up the CI/CD process. Meanwhile, here are the reference PRs for your convenience: https://github.com/ansys/pymapdl/pull/3422, https://github.com/ansys/pyansys-geometry/pull/1433

Closing this PR as we have address this CheatSheet via PyWorkbench repo. Thanks!


Performance Counters doesn't work.

My Environment

EDA tool and version: Verilator 4.226 and spike-cosim

Operating system: Ubuntu

Version of the Ibex source code: 2f8dfa9dfe2d938228118ed8ab6a543804d0c9ae

If I run the co-simulation, the performance counters looks like this. All counters are 0 except Cycles and Instructions Retired.
build/lowrisc_ibex_ibex_simple_system_cosim_0/sim-verilator/Vibex_simple_system --meminit=ram,examples/sw/benchmarks/coremark/coremark.elf

Performance Counters
Cycles:                     4009545
NONE:                       0
Instructions Retired:       2725247
LSU Busy:                   0
Fetch Wait:                 0
Loads:                      0
Stores:                     0
Jumps:                      0
Conditional Branches:       0
Taken Conditional Branches: 0
Compressed Instructions:    0
Multiply Wait:              0
Divide Wait:                0

The first thing to check is how did you build the simulation? You may have configured Ibex to have no performance counters, hence the results.

I tried * simple system * following https://github.com/lowRISC/ibex/blob/master/examples/sw/benchmarks/README.md
and * co-simulation system * following https://ibex-core.readthedocs.io/en/latest/03_reference/cosim.html

Hi,
I just solved this.
Please check
https://github.com/lowRISC/ibex/issues/1866#issuecomment-1293541290

It works, thank you!

Closing the issue as the question has been answered and the problem could be solved.


Renamed TopicARN to TopicArn

Renamed TopicARN to TopicArn to match https://github.com/aws/aws-sdk-go/blob/54390aa3615c49d34e593de83ddc72e5ee35f97d/service/sns/examples_test.go#L518.

Thanks a lot! That's the first time not vendoring AM is biting us.
Also, why on earth would they change from idiomatic to unidiomatic Go...

To be consistent with all the other languages they support.

Not a good choice, IMO. One should implement client libraries idiomatic to the language they are written in – but not like I could change it.


improvement: allow more package installation rules in the pkg management UI

Allow fancier package installation rules like editable (-e) or @

observation about default pyproject+uv+marimo behavior in combination:
if I have script metadata:
# /// script
# requires-python = ">=3.11"
# dependencies = [
#     "marimo",
#     "foo @ ~/workspace/foo",
#     "-e ~/workspace/bar",
# ]
# ///

and I run it in sandbox mode, the ~ path is assumed to be a relative to PWD, and the whole path is expected to be file:/// scheme
Running in a sandbox: uv run --isolated --no-project --with-requirements /var/folders/53/vkqj14gn2wsc1xp5dbx1wszh0000gn/T/tmp6xxqh9my.txt marimo run /tmp/local_editable_demo.py
  × Invalid `--with` requirement
  ╰─▶ Distribution not found at: file:///Users/anthonywu/workspace/marimo/~/workspace/bar

@anthonywu, i can reproduce the first issue: ~ does not get expanded. i wonder if this can be handled by uv upstream. because even if we support expanding this, this would break if you didn't go through marimo, e.g. python notebook.py or uv run notebook.py. thoughts?
for the second issue: I don't get any errors. can you try upgrading your uv? can you reproduce this with uv run as well


ACM-6100 Backport time window fix to 2.7

https://issues.redhat.com/browse/ACM-6100

Backport time window fix to 2.7

/test lint-check-unittests-sonarcloud

We cannot test with two different PF versions at the same time so more then 66% test coverage is not possible.


Add splitWhen function

Inspired by Haskell's break:
http://hackage.haskell.org/package/base-<IP_ADDRESS>/docs/Prelude.html#v:break
R.splitWhen(R.equals(2), [1, 2, 3]);   //=> [[1], [2, 3]]

Anything I can do to move this along? I'm happy to help however I can.

:deciduous_tree: Thank you, @miwillhite!

Is there a reason splitWhen is a better name than partitionBy? In any case I think *By would be a better name

@megawac Please see the prior (now hidden) discussion: https://github.com/ramda/ramda/pull/1525#discussion_r45403355

Ah, I'm not a fan of the name.
Also on second take, any reason to limit it to two groups. I think I'd prefer a partitionBy method which creates a group whenever pred is true. This method would be easily derived from such a method

@megawac What you describe with partitionBy is a different use case. I created the splitWhen function because it is what I needed…and I feel it is a valid operation that others can take advantage of (hence the PR).

I gotcha, I just feel partitionBy would cover both use cases as splitWhen can easily implemented (either as core or by user) by partitionBy

Interesting to think about…I see something like this?
const list = [1, 2, 3, 4, 1, 2, 3, 4, 1, 2];
partitionBy(equals(2), list);
//=> [[1], [2, 3, 4, 1], [2, 3, 4, 1], [2]] -- right?

// splitWhen:
splitWhenWithPartitionBy = compose((xs) => [head(x), flatten(tail(xs))], partitionBy)(list);

Though I've learned in this PR that core prefers to avoid using internal dependencies (which makes sense when thinking about API updates)…so this implementation becomes moot.

@megawac Actually this definition of partitionBy competes/conflicts directly with Ramda's partition, so I guess I don't have a clear idea of your vision…

Whoops, I've been out of the loop for a bit. The method in ramda that I was referring to would be appropriately named splitBy currently. I was mixing up partition with chunk in lodash/underscore

@megawac:  A long time ago (#65) we established a convention for Ramda (which follow almost faithfully) that xxxBy means that we accept a unary function which generates a gloss on each item, and that gets used to handle xxx appropriately.  A good example would be a sort key: sortBy(person => person.last + ',' + person.first, people).  On the other hand, xxxWith accepts a binary function which combines or compares two elements.  zipWith((a, n) => a + '-' + n, ['a', 'b', 'c'], [1, 2, 3]); //=> ['a-1', 'b-2', 'c-3'] or uniqWith((a, b) => a.id === b.id, items).
So the name "splitBy" would take on a different connotation than you might want.
Now that we merged this one, I'm wondering if "splitAt" would be a better name for this one, reserving "splitWhen" for this alternate suggestion.  But I'd like to hear more justification for this style splitting.  The only case I can see really wanting is control-break processing1, and that would likely involve passing the previous value and the current value.  While that might be useful, it's still a different API.

1By control-break processing, I mean splitting a list ordered on some key fields into sublists every time those keys change.  (This is typical in report processing, for instance.)

There is a splitAt in master already, the first parameter being the index.
I can't find the source that inspired this PR, but a naïve implementation would be something like this:
const fields = ['field1', 'field2', 'step', 'field3', 'field4', 'step', 'field5'];

const buildSteps = ifElse(
  isEmpty,
  identity,
  (fs) => {
    const [ step, fields ] = splitWhen(equals('step'), fs);
    return compose(prepend(step), buildSteps, tail)(fields);
  }
);

buildSteps(fields)
// => [ [ 'field1', 'field2' ], [ 'field3', 'field4' ], [ 'field5' ] ]

Where I have a list of Field objects with a special Step field mixed in. The product allows people to build custom forms and I was roughing out a multi-step form feature. This allows them to insert a Step field where they'd like the form to "break".


Release latest version on NPM

Hi @RakanNimer,
do you think you could release on npm the latest code you have on master ?
Cheers,
Antoine

Done :)

All works fine, thanks


Allows non-Latin flags in non-English locales with single-byte encodings

Newsboat version (copy the output of newsboat -v or the first line of git show): 2.18 (the relevant code haven't changed in a long time, and newer versions crash in non-UTF-8 locales)
Config file (copy from ~/.newsboat/config or ~/.config/newsboat/config): empty
Urls file:
https://newsboat.org/news.atom

Steps to reproduce the issue:

Make sure to generate a non-English locale with single-byte encoding, like ru_RU.KOI8-R (which I use here) or, say, nl_NL.ISO-8859-1.

Start Newsboat in that locale:
 LC_ALL=ru_RU.KOI8-R ./newsboat

Reload the only feed, enter it, open any article

Press ^E to change the article's flags, and type "Эй" (Russian "hey", to alphabetic characters)

Note that a "Flags" field appeared in the article's header, and it shows two replacement characters. If you examine the database with something like sqlite3 path/to/cache.db 'select id, flags from rss_item' | xxd, you'll see that one of the articles indeed has flags.

Other info you think is relevant:
This behaviour contradicts the docs:

A valid flag is any character from A to Z and from a to z.

Furthermore, it means that the "flags" field in the database can use an encoding different from UTF-8, which is bad if we want to use UTF-8 everywhere.
In a minute, I'll post a comment with my proposed solution.

This contradicts the docs, so I'm inclined to treat this as a bug. However, I'm pretty sure there exist a poor soul who relies on this behaviour now, and so I want to provide them with an escape hatch.
We could postpone fixing this until 3.0, but I'd prefer not to. Every additional bit that we pile onto 3.0 makes that release harder to ship. Let's not do that.
Instead, I think a PR that fixes this should also change the DB schema and copy the existing flags into a new column called something like "flags_backup_2.24", never to be touched again by Newsboat. The "flags" column will then be constrained to a-zA-Z and UTF-8. This solution is easy to implement, but gives people a chance to examine the old flags and write a script that converts them somehow. This will have to be explained in the changelog.
Does anyone has other ideas, or see holes in mine?

After some more thinking, I realize that my proposal is not fully compatible: an older Newsboat version will keep changing the flags column, not upholding the new invariants, and will thus break newer Newsboat.
Here's a new proposal: Newsboat should treat the flags column as a byte sequence. After reading the value, it should extract any bytes that are in a-zA-Z ASCII range, and use them as flags (display to the user, let them be edited). Anything outside the range should be remembered, but not shown to the user. When writing to the database, flags should be merged with remembered data.
I'm not sure how to communicate this to users. So far, my ideas are:

in article view, change the "Flags:" in the header to say something like "Flags: abc (and a few outside of a-zA-Z range: 0xfa, 0xff)". We have to use hex here because we don't know the encoding, and it might not even be a valid encoding anymore because flags are sorted when stored; multi-byte encodings would be messed up.
if the user tries to edit flags which have invalid values, display a message saying something like "The following flags are outside of the a-zA-Z range, and are ignored: 0xfa, 0xff (Press Enter to continue)". After Enter, proceed to editing the valid flags;
when we ship 3.0, we'll have it migrate data to a new database — literally a new file. After migration, Newsboat will tell the user how many items had flags outside of a-zA-Z range. If the user doesn't care, they can just delete the old database. If they do care, that's their chance to talk to use and figure out a custom migration script.


[release-1.18] service entry: fix leak in workload addesses (#47974)

fixes #47975

what about #47986?

what about #47986?

good point, forgot to mention - that fix is included here


Adding a lyrics app project in web dev

Description
Description:- I will add a search functionality to search by artist name or song name and it will give lyrics of song in written format.
Domain
Web Development
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct.

@ron2111 I want to work on this issue please assign it to me.

Adding a screenshot of what exactly I am saying about.


Uninstalling stack component results in VM RDP disconnection.

[Enter feedback here]
The section "Your issue isn't listed here or wasn't resolved", step "Step 1: Uninstall all agent, boot loader, and stack component programs" prompts to stop the below Services
"Remote Desktop Services"
"Remote Desktop Services UserMode Port Redirector"
Which effectively causes VM RDP disconnection.
Document should warn that reboot (or multiple reboots if there is more than one instance of Stack component program" are required.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7eaab92e-8a26-1364-3651-0c1b9bfcd48d
Version Independent ID: 7bd2d355-d2e1-6df3-f3b8-7f229b13ea6e
Content: Troubleshoot Azure Virtual Desktop Agent Issues - Azure
Content Source: articles/virtual-desktop/troubleshoot-agent.md
Service: virtual-desktop
GitHub Login: @sefriend
Microsoft Alias: sefriend

@ravibak
Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@sefriend - Please review this content on the doc.

Thanks for the feedback. I have added a warning for this and a way to not get disconnected.  The change should be visible later today.
#please-close


[FR] Show altered text on selection, but printing the orignal on validation

Category

[X] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[X] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[X] bash
[ ] zsh
[ ] fish

Will be handy if fzf could support an expression/function to alter the text only when we select items but printing the original text when validate it.
For example, for the files completion, better than having this kind of display :
$ cd test/
>
  test/acat.gif
  test/bob.jpb
  test/another_test/
$ cd test/another_test

it will allow us to have an expression/function to do basename and have this kind of display :
$ cd test/
>
  acat.gif
  bob.jpb
  another_test/
$ cd test/another_test

Regards,

You can already do that with --with-nth
echo 'original-name display-name' | fzf --with-nth=2 | awk '{print $1}'
echo 'test/foo.bar' | fzf --with-nth=-1 --delimiter=/

Please refer to man fzf for details.

it partially works with the case i've posted, the directories are not shown due to the fact i want a trailing "/" for directories
results expected:
$ find test \( -type d -printf '%p/\n' \) -or \( -type f -print \)
test/
test/bob.jpb
test/another_test/
test/acat.gif
$ find test \( -type d -printf '%p/\n' \) -or \( -type f -print \) | fzf --with-nth=-1 --delimiter=/
>
  test/
  bob.jpb
  another_test/
  acat.gif
  4/4

result using --with-nth=-1:
$ find test \( -type d -printf '%p/\n' \) -or \( -type f -print \) | fzf --with-nth=-1 --delimiter=/
>

  bob.jpb

  acat.gif
  4/4

that's the reason why i was looking for a way to do it but with a kind of sed expression, for example:
$ find test \( -type d -printf '%p/\n' \) -or \( -type f -print \)  | sed -r 's#.*/([^/]+/?)$#\1#'
test/
bob.jpb
another_test/
acat.gif

it partially works with the case i've posted, the directories are not shown due to the fact i want a trailing "/" for directories

You can pre-process the input however you like using any program you prefer and use the first trick I mentioned above:
echo 'original-name display-name' | fzf --with-nth=2 | awk '{print $1}'


Deleting Merged Repos

Just curious I've continued to work in branches after they've been merged and I've deleted branches after merge and rebranched from master. I prefer deleting branches after a merge and recreating / creating a new branch to start new work. That prefrence isn't a big deal though and I wanted to ask what you were use to / wanted to do for this?

Yeah my usual workflow at my job is to delete branches once they've been merged


Segfault with uWebSocket build - must get latest 64bit

Will switch to another library if I can't get an arm64 build going

The main issue is the build script for the uWebsockets library is grabbing the latest C repositary instead of grabbing a specific release version and there is a mismatch in module signatures; segfaults; socket publish all not working, etc.
Not fixing, instead going with arm64 version of my build.


5.185 URSUBW description typo

In the description section
This instruction subtracts the first 32-bit signed integer in Rs2 from the first 32-bit signed integer in Rs1. The 33-bit result is first right-shifted by 1 bit and then sign-extended and written to Rd
should be unsigned instead
Perhaps I should make pull requests for these typos @chuanhua

Thanks for finding this typo. I will fix it in the next release.

Fixed in the v0.9.1 release. (976dbe7)

Fixed in the v0.9.1 release. (976dbe7)


Added a quiz about relative unit to accessibilityQuiz

Summary of changes

Added a quiz about relative unit and absolute measurement to accessibilityQuiz.
Checklist

[x] I have read and followed the contribution guidelines.
[x] I have read through the Code of Conduct and agree to abide by the rules.
[x] This PR is for one of the available issues and is not a PR for an issue already assigned to someone else.
[x] My PR title has a short descriptive name so the maintainers can get an idea of what the PR is about.
[x] I have provided a summary of my changes.

#374

Thanks for the guidance, @jdwilkin4. I'm looking forward to contributing more in the future. :+1:


Read base SHA from workflow_run event

Users may run the action from a workflow_run event in addition to a pull_request event. This adds the ability to grab the head SHA of the workflow run, which is equivalent to the base SHA from the pull request.
Since we aren't able to get a PR number from this event, the "find PR from SHA" fallback should activate and find it.

This worked perfectly on https://github.com/edgebitio/cluster-agent/pull/31


Stop the grace timer iff adding first handle (fix #99)

Alternative to https://github.com/JuliaLang/Downloads.jl/pull/101. Thanks for the diagnosis, @maleadt — I think this fix is clearer and makes the start and stop logic for the grace timer more symmetrical and thus, imo, less confusing. The issue with stopping the timer whenever multi.handle is not NULL is that there may be a timer going that was set by another ongoing download and stopping that will cause different kinds of hangs. I believe this stops the timer if and only if there could be a grace timer going or when the multi handle has never been used, which is harmless since stopping a libuv timer that hasn't been started is a no-op (we could avoid doing that by also checking that multi.handle != C_NULL before stopping the timer).

Just to make sure the test is reliable on GitHub Actions, I added Tim's test on top of master, without any of the fixes here or in #101, and with a timeout of 15 minutes, result: https://github.com/giordano/Downloads.jl/runs/1983343797.  Interestingly enough, the only platform passing the tests without timing out is... 64-bit Windows.

Does this PR close #99 and #101?

I can't repro #95 with this patch (with HTTP/2 turned on). Likely also fixes https://github.com/JuliaLang/Downloads.jl/issues/94 but that one I have only been able to trigger in a running server and happens maybe once a day or something.


isInt and IsNumeric returns true in case of "+" which is incorrect.

isInt and IsNumeric returns true in case of "+" which is incorrect.

I agree with IsNumeric case, but IsInt is still valid.
IsInt check if the string is an integer. Empty string is valid.


PP-5672 Make Stripe refund more robust

This PR mitigates a problem we have observed in the wild.
The problem is that the following can happen:

refund request to Stripe succeeds
transfer request from connected account to platform account fails
we as GOV.UK Pay are left out of pocket
from service's point of view refund seems to be an error, yet the
end user has recieved the refund, and the service still recieves the
funds as part of next payout (since it is still credited to their account)

To avoid this, the StripeRefundHandler now does the following:

transfer funds from connect account to platform account (if this
fails, refund fails, and no harm done)
attempt to refund payment
if refund step fails, reverse original transfer
iff reversal fails, log error that will be picked up by Splunk alerting

The general idea is that we try reversable things before non-reversable things,
so that in the case of failure of non-reversible operation we can revert the
whole state without causing confusion.
I have also tidied up the tests somewhat. There were tests claiming to be about
testing specific kinds of failure from Stripe, which were essentially duplicate
since all Stripe failures are being mocked. I have left tests that check the
behaviour of refund handler for main failure modes that the handler can
discriminate between.
Finally, I have removed handling of 'non-payment intents' based payments
as we now only process payments using payment intents API.

Re. tests - see src/test/java/uk/gov/pay/connector/gateway/stripe/StripeRefundHandlerTest.java
I think that's what you're talking about no?

Re. tests - see src/test/java/uk/gov/pay/connector/gateway/stripe/StripeRefundHandlerTest.java
I think that's what you're talking about no?

The diff was large so GitHub collapsed it 🤦♂ . Yeah that's exactly it


First pass at pushing fixes back to PRs.

@CivicActions/docs this will automatically push basic MD formatting fixes back to the PR (only for branches in the repo - not forks).


doc (MvPolynomial): add blurb about aeval

Add short description of aeval to preamble, where it's missing.

Thanks!
bors merge


chore: Moves the stylesheets folder to the assets folder

SUMMARY
Moves the stylesheets folder to the assets folder.
This work is part of SIP-61
@jinghua-qa @junlincc
TESTING INSTRUCTIONS
1 - Navigate through the application
2 - Check that all styles are loaded correctly
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up

I have tested in the ephemeral environment and i saw one issue:
When i run query in sql, i did not see 'EXPLORE' option under results tab and did not see this issue in master,  not sure whether is this PR related. Can you check that?

@jinghua-qa Thanks for testing! I was able to reproduce the same problem on master so it's not related to this PR. I checked and it's not related to the stylesheets. I took note here and I will fix the problem in another PR.

@jinghua-qa The problem with the Explore button was fixed here https://github.com/apache/superset/pull/16908


Incorporate Vinardo's parameters

http://journals.plos.org/plosone/article?id=10.1371%2Fjournal.pone.0155183

I would love to use this feature! Anything that would make it easier to use and test custom scoring functions would be greatly appreciated.


Trouble adding custom mob genetics entries

Following the instructions for adding entity genetics, I have created a kubejs script which should be injecting an entry for a Chococraft Chocobo.
ServerEvents.generateData('before_mods', (event) => {
    let recipes = [
        {
            entity: 'chococraft:chocobo',
            genes: {
                'geneticsresequenced:basic': 5,
                'geneticsresequenced:no_fall_damage': 2,
                'geneticsresequenced:claws': 1,
                'geneticsresequenced:step_assist': 2
            }
        }
    ];

    recipes.forEach((recipe) => {
        // event.json(`enigmatica:geneticsresequenced/entitiy_genes/${recipe.entity.replace(':', '_')}`, recipe);
        event.json(`geneticsresequenced:entitiy_genes/${recipe.entity.replace(':', '_')}`, recipe);
    });
});

I can confirm the virtual data pack is being created in the specified path, but the mobs never seem to get the traits.
I've also attempted loading the json directly via the kubejs Data folder, thus bypassing the script, and it still doesn't appear to give them the traits. Nothing shows for them in EMI and decrypting their genes always comes up as basic.
Is there possibly an issue loading these currently? Mod version: 1.21-1.1.1
Or am I simply doing things wrong?
I've tried, as you can see in the script, a variety of paths. None seem to work.
When loaded manually, I placed it here \kubejs\data\geneticsresequenced\entitiy_genes

entitiy_genes

omg, I just saw that too >.<

Lmk if it works though I haven't tried using kjs for it yet

This works great. Amazing what proper spelling will do for you :D
If you want to keep this as an example for people (1.21 only), feel free. <3
ServerEvents.generateData('before_mods', (event) => {
    let recipes = [
        {
            entity: 'chococraft:chocobo',
            genes: {
                'geneticsresequenced:basic': 5,
                'geneticsresequenced:no_fall_damage': 2,
                'geneticsresequenced:claws': 1,
                'geneticsresequenced:step_assist': 2
            }
        }
    ];

    recipes.forEach((recipe) => {
        event.json(`enigmatica:geneticsresequenced/entity_genes/${recipe.entity.replace(':', '_')}`, recipe);
    });
});

Very cool, thank you


Extract variables per component

Bug, feature request, or proposal:
Feature request:
Extract variables from ie. card/card.scss to card/_variables.scss
What is the use-case or motivation for changing an existing behavior?
I'm writing my own component that is dependent on the toolbar height for positioning. Importing toolbar/toolbar.scss would render an unnecessary md-toolbar CSS-class.
Instead I need to copy all the variables to my own component.scss. It would be really helpful it the variables where in their own partial file so I could simply import them.
Which versions of Angular, Material, OS, browsers are affected?
2.0.0-beta.1

Just make a variables file, add it to angular-cli.json, and link to it in each of your components.

@wbhob Don't think you quite understood what I meant. I want to use the already defined variables in @angular/material without having to create my own variables file and/or a copy of the variables.
Also, the style tag in angular-cli.json and component styles are two separate scopes.

Not really relevant anymore due to #4003


[Bug]: Extremely long time initializing Neo4jPropertyGraphStore for larger graphs

Bug Description
It takes about 14 min to initiate the graph store with 3558 entities. I feel this is because refresh_schema()  does not handle large graphs well. Maybe not using async?
I pasted the log I ingested into the lib code. This is taking way too long if for things beyond experiments. Wondering  if you guys could help on this?
2024-09-24 17:22:40.552042 Step 1: Sanitize query output
2024-09-24 17:22:40.552075 Step 2: Enhanced schema
2024-09-24 17:22:40.552079 Step 3: Create driver
2024-09-24 17:22:40.552180 Step 4: Create async driver
2024-09-24 17:22:40.552232 Step 5: Set database
2024-09-24 17:22:40.552236 Step 6: Create structured schema
2024-09-24 17:22:40.552238 Step 7: Create supports vector index
2024-09-24 17:36:02.882747 Step 8: Create index
2024-09-24 17:36:02.888786 Step 9: Verify version

Version
llama-index-graph-stores-neo4j==0.3.2, llama-index==0.11.11
Steps to Reproduce

Use local Neo4j desktop server
Ingest more than 3000 entities with proper relationships (reasonable text description)
Load a Neo4j graph_store

graph = Neo4jPropertyGraphStore(
    username="neo4j", password="xxxxxx", url="bolt://localhost:7687", database="neo4j"
)

Relevant Logs/Tracbacks
No response

TLDR: Set neo4j_property_graph_store.allows_structured_queries=False (variable not parameter) to prevent it from refreshing_schema. This will disable you from using Text2Cypher retriever. If you only care about the start up and not every insertion refresh,  you can just set refresh_schema=False.
Looks like the Neo4j apoc proc meta.graphSample just takes a very long time to complete as the complexity of the graph scales up. I suspect this problem scales with number of entity/relation types you have because they use a statistical representation.
If you are using Neo4j, I would recommend setting refresh_schema=False when you are initializing the Neo4jPropertyGraphStore. This will prevent it from refreshing on startup. You should also set graph_store.allows_structured_queries=False as it natively sets it to True. This will prevent it from trying to refresh every insertion. Do note that this will prevent you from using Text2Cypher retriever.
If you still want to use Text2Cypher perhaps think about limiting the ontology of your KG.


some transalations are not working properly

@NikhilM98 @llaske
Reproduce

open dashboard
login
try change the language from the option at the top-right corner of the page
only french and english languages are working properly

please assign this issue

We don't have native contributors for the other languages.

hey @NikhilM98  we can use translators to do so, what do you think

also @NikhilM98 where can I discuss my queries

hey @NikhilM98 we can use translators to do so, what do you think

The computer based translations are not accurate so we depend on manually verified translations.

also @NikhilM98 where can I discuss my queries

You can use the IRC, Mailing List, or Discord to get in touch with the community.

where can i find the discord link for the community

It's on Sugarizer.org


IOS higher minimum deployment target

[!] CocoaPods could not find compatible versions for pod "mobile_scanner":
  In Podfile:
    mobile_scanner (from `.symlinks/plugins/mobile_scanner/ios`)

Specs satisfying the `mobile_scanner (from `.symlinks/plugins/mobile_scanner/ios`)` dependency were found, but they required a higher minimum deployment target.

Can the minimum deployment target be downgraded? Maybe iOS12 or iOS13

This is a requirement for MLKit v7.0.0
See https://developers.google.com/ml-kit/release-notes#improvements

However, I encountered this error again as well – thanks for the link – but I don’t understand what needs to be done to make the project run?

You need to update the minimum deployment target of your iOS app to iOS 15.5.0 or higher.
You can do that in XCode. Also you might need to override it in your podfile (so that your dependencies are also using that minimum version): https://github.com/juliansteenbakker/mobile_scanner/blob/master/example/ios/Podfile#L40-L46

You need to update the minimum deployment target of your iOS app to iOS 15.5.0 or higher.
You can do that in XCode. Also you might need to override it in your podfile (so that your dependencies are also using that minimum version): https://github.com/juliansteenbakker/mobile_scanner/blob/master/example/ios/Podfile#L40-L46

Yes, But My app have to support iOS12.

You need to update the minimum deployment target of your iOS app to iOS 15.5.0 or higher.
You can do that in XCode. Also you might need to override it in your podfile (so that your dependencies are also using that minimum version): https://github.com/juliansteenbakker/mobile_scanner/blob/master/example/ios/Podfile#L40-L46

Yes, But My app have to support iOS12.

You'll have to downgrade this library or find another one. iOS12 is very old!


error building export templates for android

Operating system or device - Godot version:
linux - godot 3.0-alpha
Issue description (what happened, and what was expected):
are there one error building export templates for android:
In file included from platform/android/os_android.cpp:30:
./drivers/gles2/rasterizer_gles2.h:54:10: fatal error: 'drivers/gles2/shaders/material.glsl.h' file not found
#include "drivers/gles2/shaders/material.glsl.h"
^
Steps to reproduce:
scons -j 2 platform=android target=release_debug

Android hasn't been updated for the new renders yet.

It is there a due date to implement Android support in 3.0?

@reduz is working on it currently.

works now


.remote-sync file should be in ignore list by default

Commonly there is no need to upload .remote-sync file.

I disagree with this, since I use version control to sync changes between multiple PCs and use remote-sync to upload code to my deployment server.
So I guess this should be optional.

I usually add this file to the ignore path.

Note .remote-sync will contains credential info such as user/pwd, so auto upload it seems increase the security risk.

so how to ignore the upload? i can't seem to find any option to disable this. it's very dangerous as it contains the key passphrase and password. i don't want to upload this file.

@raden Currently you need to add it to ignore list manually. Here is a example:
{
  "transport": "ftp",
  "hostname": "<IP_ADDRESS>",
  "port": 21,
  "username": "hax",
  "password": "就不告诉你密码",
  "target": "~/myproject",
  "ignore": [
    ".remote-sync.json",
    ".git/**",
    ".idea/**",
    "node_modules",
    "npm-debug.log"
  ]
}


[1.0.2] Setting property treated as idempotent, but isn't

Originally raised this issue: https://github.com/PolymerElements/iron-selector/issues/16 - but the root of that problem is more appropriate here. From that issue:

JSBin demonstrating the problem
JSBin demonstrating the preferred approach/solution

The first jsbin still highlights some issues though. Basically, when setting a property value, polymer checks the current value, and does a no-op if they're the same (i.e. assumes idempotence). However, in situations where one of the values a complex observer depends on is undefined, the observer is not executed. Subsequent attempts to set that same value are no-op'd and the observer is never called, despite the property having been set.

Actually... the observer at issue in the example above is _updateSelected(attrForSelected, selected) - shouldn't that observer be correctly executed when attrForSelected has it's value set to null by the property default?

There is special handling in the data layer to queue data notification handling from clients in a given element until all of its clients (local DOM custom elements) have initialized.  This happens for free when using things like observers that run based on data-changed listeners set up by Polymer.  In your example where you set up your own on-data-change handler manually, this queueing does not happen, and so (as you pointed out), you end up setting values to one of the children before it has initialized (which is bad).
Probably the easiest option is to simply "use the system", as in the following jsBin, where I've replaced your on-data-change handler with an observer for the same property:
http://jsbin.com/xoqamu/2/edit
Can you confirm whether you can use this approach, and we'll close the issue?

Yep, can confirm - that's equivalent to the second jsbin I posted (preferred approach/solution).
The "Don't use events, use observers" pattern is definitely one to hang onto :)


Polygon description doesnt show

Hi, I have an issue. After I succesfully import kml layer I have a few placemarks and few polygons in map with descriptions...
When I touch on placemark in map, description is shown. But when I touch on polygon in map, nothing happen.
Any suggestions?
Thank you

Click handling for KML geometries was implemented in 76af3a4.


[WIP] Display audit log in admin area

This PR adds a section to see all the version a FormAnswer ( Application ) has.
We are using the versions that the gem papertrail creates, now is possible this is not the best solution because we will have a change/version everytime the record is updated.
We cannot display where is the change was made in the form because this information is stored in a hstore attribute called document so it will show all the old json vs the new one instead of only the changes. This is for the fields in the document.
For now we are displaying when the form answer was created and updated.

Any feedback will be appreciated.

 [QAE16IMP] Display audit log for admin

Looks ok :+1:

@theharq just note: there can be a lot of versions per each application which can add solid time to loading of page, so probably one of possible improvements can be rendering of versions block only if Admin clicks on 'Audit Log' arrow via AJAX


Bump monitoring application

Disable analytics in Grafana.
Remove obsolete node selectors in monitoring application resources.

Don't forget to publish new versions to s3 using Gravity-publish-5.2 job.

Sure


[Enhancement][Cherry-pick] Add LastReportVersion to Replica to help detect data lose on backend

Add lastReportVersion to Replica, and this version is updated only when BE reports tablet, if the version on BE is less than lastReportVersion, that means data is lost on BE, because this version can only be increased monotonically.
Why not just check based on Replica.version?
There may be data load when processing the tablet report, in this case, the version reported from BE is less than Replica.version too.
backport #26518

[FE PR Coverage Check]
:disappointed: fail : 11 / 21 (52.38%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/leader/ReportHandler.java
0
6
00.00%
[1059, 1060, 1061, 1062, 1063, 1064]

:large_blue_circle:
com/starrocks/catalog/TabletInvertedIndex.java
3
7
42.86%
[183, 184, 185, 375]

:large_blue_circle:
com/starrocks/catalog/Replica.java
8
8
100.00%
[]


Possible bug: json output different to bare output

Hi guys, I think there is a weird difference between the json output and the bare output, I'm not sure though, but it looks like the trees generated are different.
I created a simple requirements to show an example:
$ cat requirements.txt
flask
flake8
ipdb
ipython
pep8

It looks like the json output does not have any nested elements like the bare version. If you check the six package in the bare output it's nested very deep inside ipdb but in the json it is not nested, it's just a dependency of prompt-toolkit at top level.
This is the json output
[
    {
        "dependencies": [
            {
                "key": "wcwidth",
                "installed_version": "0.1.7",
                "package_name": "wcwidth",
                "required_version": null
            },
            {
                "key": "six",
                "installed_version": "1.11.0",
                "package_name": "six",
                "required_version": ">=1.9.0"
            }
        ],
        "package": {
            "key": "prompt-toolkit",
            "installed_version": "1.0.15",
            "package_name": "prompt-toolkit"
        }
    },
    {
        "dependencies": [
            {
                "key": "mccabe",
                "installed_version": "0.6.1",
                "package_name": "mccabe",
                "required_version": ">=0.6.0,<0.7.0"
            },
            {
                "key": "pycodestyle",
                "installed_version": "2.3.1",
                "package_name": "pycodestyle",
                "required_version": ">=2.0.0,<2.4.0"
            },
            {
                "key": "pyflakes",
                "installed_version": "1.5.0",
                "package_name": "pyflakes",
                "required_version": "<1.6.0,>=1.5.0"
            }
        ],
        "package": {
            "key": "flake8",
            "installed_version": "3.4.1",
            "package_name": "flake8"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "ptyprocess",
            "installed_version": "0.5.2",
            "package_name": "ptyprocess"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "wheel",
            "installed_version": "0.30.0",
            "package_name": "wheel"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "six",
            "installed_version": "1.11.0",
            "package_name": "six"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "setuptools",
            "installed_version": "36.4.0",
            "package_name": "setuptools"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pyflakes",
            "installed_version": "1.5.0",
            "package_name": "pyflakes"
        }
    },
    {
        "dependencies": [
            {
                "key": "jinja2",
                "installed_version": "2.9.6",
                "package_name": "Jinja2",
                "required_version": ">=2.4"
            },
            {
                "key": "click",
                "installed_version": "6.7",
                "package_name": "click",
                "required_version": ">=2.0"
            },
            {
                "key": "werkzeug",
                "installed_version": "0.12.2",
                "package_name": "Werkzeug",
                "required_version": ">=0.7"
            },
            {
                "key": "itsdangerous",
                "installed_version": "0.24",
                "package_name": "itsdangerous",
                "required_version": ">=0.21"
            }
        ],
        "package": {
            "key": "flask",
            "installed_version": "0.12.2",
            "package_name": "Flask"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pycodestyle",
            "installed_version": "2.3.1",
            "package_name": "pycodestyle"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "ipython-genutils",
            "installed_version": "0.2.0",
            "package_name": "ipython-genutils"
        }
    },
    {
        "dependencies": [
            {
                "key": "decorator",
                "installed_version": "4.1.2",
                "package_name": "decorator",
                "required_version": null
            },
            {
                "key": "six",
                "installed_version": "1.11.0",
                "package_name": "six",
                "required_version": null
            },
            {
                "key": "ipython-genutils",
                "installed_version": "0.2.0",
                "package_name": "ipython-genutils",
                "required_version": null
            }
        ],
        "package": {
            "key": "traitlets",
            "installed_version": "4.3.2",
            "package_name": "traitlets"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "itsdangerous",
            "installed_version": "0.24",
            "package_name": "itsdangerous"
        }
    },
    {
        "dependencies": [
            {
                "key": "parso",
                "installed_version": "0.1.0",
                "package_name": "parso",
                "required_version": "==0.1.0"
            }
        ],
        "package": {
            "key": "jedi",
            "installed_version": "0.11.0",
            "package_name": "jedi"
        }
    },
    {
        "dependencies": [
            {
                "key": "markupsafe",
                "installed_version": "1.0",
                "package_name": "MarkupSafe",
                "required_version": ">=0.23"
            }
        ],
        "package": {
            "key": "jinja2",
            "installed_version": "2.9.6",
            "package_name": "Jinja2"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "werkzeug",
            "installed_version": "0.12.2",
            "package_name": "Werkzeug"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "click",
            "installed_version": "6.7",
            "package_name": "click"
        }
    },
    {
        "dependencies": [
            {
                "key": "prompt-toolkit",
                "installed_version": "1.0.15",
                "package_name": "prompt-toolkit",
                "required_version": "<2.0.0,>=1.0.4"
            },
            {
                "key": "traitlets",
                "installed_version": "4.3.2",
                "package_name": "traitlets",
                "required_version": ">=4.2"
            },
            {
                "key": "pexpect",
                "installed_version": "4.2.1",
                "package_name": "pexpect",
                "required_version": null
            },
            {
                "key": "simplegeneric",
                "installed_version": "0.8.1",
                "package_name": "simplegeneric",
                "required_version": ">0.8"
            },
            {
                "key": "jedi",
                "installed_version": "0.11.0",
                "package_name": "jedi",
                "required_version": ">=0.10"
            },
            {
                "key": "pygments",
                "installed_version": "2.2.0",
                "package_name": "pygments",
                "required_version": null
            },
            {
                "key": "decorator",
                "installed_version": "4.1.2",
                "package_name": "decorator",
                "required_version": null
            },
            {
                "key": "setuptools",
                "installed_version": "36.4.0",
                "package_name": "setuptools",
                "required_version": ">=18.5"
            },
            {
                "key": "pickleshare",
                "installed_version": "0.7.4",
                "package_name": "pickleshare",
                "required_version": null
            }
        ],
        "package": {
            "key": "ipython",
            "installed_version": "6.2.1",
            "package_name": "ipython"
        }
    },
    {
        "dependencies": [
            {
                "key": "ptyprocess",
                "installed_version": "0.5.2",
                "package_name": "ptyprocess",
                "required_version": ">=0.5"
            }
        ],
        "package": {
            "key": "pexpect",
            "installed_version": "4.2.1",
            "package_name": "pexpect"
        }
    },
    {
        "dependencies": [
            {
                "key": "pip",
                "installed_version": "9.0.1",
                "package_name": "pip",
                "required_version": ">=6.0.0"
            }
        ],
        "package": {
            "key": "pipdeptree",
            "installed_version": "0.10.1",
            "package_name": "pipdeptree"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "mccabe",
            "installed_version": "0.6.1",
            "package_name": "mccabe"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "colorama",
            "installed_version": "0.3.9",
            "package_name": "colorama"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "parso",
            "installed_version": "0.1.0",
            "package_name": "parso"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pickleshare",
            "installed_version": "0.7.4",
            "package_name": "pickleshare"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pep8",
            "installed_version": "1.7.0",
            "package_name": "pep8"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "markupsafe",
            "installed_version": "1.0",
            "package_name": "MarkupSafe"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pym",
            "installed_version": "0.1.3",
            "package_name": "pym"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "simplegeneric",
            "installed_version": "0.8.1",
            "package_name": "simplegeneric"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "colors.py",
            "installed_version": "0.2.2",
            "package_name": "colors.py"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pygments",
            "installed_version": "2.2.0",
            "package_name": "Pygments"
        }
    },
    {
        "dependencies": [
            {
                "key": "setuptools",
                "installed_version": "36.4.0",
                "package_name": "setuptools",
                "required_version": null
            },
            {
                "key": "ipython",
                "installed_version": "6.2.1",
                "package_name": "ipython",
                "required_version": ">=0.10.2"
            }
        ],
        "package": {
            "key": "ipdb",
            "installed_version": "0.10.3",
            "package_name": "ipdb"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "decorator",
            "installed_version": "4.1.2",
            "package_name": "decorator"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "pip",
            "installed_version": "9.0.1",
            "package_name": "pip"
        }
    },
    {
        "dependencies": [],
        "package": {
            "key": "wcwidth",
            "installed_version": "0.1.7",
            "package_name": "wcwidth"
        }
    }
]

colorama==0.3.9
colors.py==0.2.2
flake8==3.4.1
  - mccabe [required: >=0.6.0,<0.7.0, installed: 0.6.1]
  - pycodestyle [required: <2.4.0,>=2.0.0, installed: 2.3.1]
  - pyflakes [required: <1.6.0,>=1.5.0, installed: 1.5.0]
Flask==0.12.2
  - click [required: >=2.0, installed: 6.7]
  - itsdangerous [required: >=0.21, installed: 0.24]
  - Jinja2 [required: >=2.4, installed: 2.9.6]
    - MarkupSafe [required: >=0.23, installed: 1.0]
  - Werkzeug [required: >=0.7, installed: 0.12.2]
ipdb==0.10.3
  - ipython [required: >=0.10.2, installed: 6.2.1]
    - decorator [required: Any, installed: 4.1.2]
    - jedi [required: >=0.10, installed: 0.11.0]
      - parso [required: ==0.1.0, installed: 0.1.0]
    - pexpect [required: Any, installed: 4.2.1]
      - ptyprocess [required: >=0.5, installed: 0.5.2]
    - pickleshare [required: Any, installed: 0.7.4]
    - prompt-toolkit [required: >=1.0.4,<2.0.0, installed: 1.0.15]
      - six [required: >=1.9.0, installed: 1.11.0]
      - wcwidth [required: Any, installed: 0.1.7]
    - pygments [required: Any, installed: 2.2.0]
    - setuptools [required: >=18.5, installed: 36.4.0]
    - simplegeneric [required: >0.8, installed: 0.8.1]
    - traitlets [required: >=4.2, installed: 4.3.2]
      - decorator [required: Any, installed: 4.1.2]
      - ipython-genutils [required: Any, installed: 0.2.0]
      - six [required: Any, installed: 1.11.0]
  - setuptools [required: Any, installed: 36.4.0]
pep8==1.7.0
pipdeptree==0.10.1
  - pip [required: >=6.0.0, installed: 9.0.1]
pym==0.1.3
wheel==0.30.0

The --json output is not nested. The code that will use this json output and handle the rendering of dependency graph is expected to do the nesting. Check the dump_graphviz function in the code for example.

Release version 0.11.0 to pypi with --json-tree. Much thanks to @haikoschol


Add Keyboard navigation

Keyboard shortcuts to navigate between tags and collapsing

@n1k0laj Amazing work, thank you! But I found the tree-view will lose focus as soon as I press any key... Do you have this problem?

@xndcn I didn't have this problem. I have checked on mac Version 0.192.0 and 0.188.0 with vim-mode and without. In latest commit i have changed focus from tree view to symbol-tree-view, that allow focus full panel. Did you try switch on autoFocus  option?

@n1k0laj I just tried the latest commit with auto focus option on Linux, but I still have this problem... When the tree-view focused, I can press 'j' or 'k' to move the selected tag, but then it will lose focus immediately, so it can't handle key press anymore...

@xndcn I can't reproduce on Ubuntu 14.10 with atom without additional plugins. Did you try arrows keys to navigate and  left and right arrows to toggle children. Could  you please try disable custom bindings and plugins, or provide your config with plugin list. I will try reproduce.


[GDAL] find package error

@dg0yt this might be more related to you.
CMake Error at C:/Program Files/CMake/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find GDAL (missing: GDAL_LIBRARY) (found version "3.2.2")
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.21/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/CMake/share/cmake-3.21/Modules/FindGDAL.cmake:185 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  D:/dev/node-mapnik/build/vcpkg_installed/x64-windows/share/gdal/vcpkg-cmake-wrapper.cmake:28 (_find_package)
  D:/dev/node-mapnik/vcpkg/scripts/buildsystems/vcpkg.cmake:751 (include)
  plugins/input/ogr/CMakeLists.txt:3 (find_package)

In the end, it is this line _find_package(${ARGS})  in vcpkg-cmake-wrapper.cmake.
If I comment it out, it all works fine and all libraries are discovered.
PS: I couldn't figured it out why it complainted. If I add a message(FATAL_ERROR ${GDAL_LIBRARY}) before _find_package I'm getting the path of the libraries.
contents of GDAL_LIBRARY
optimized;D:/dev/node-mapnik/build/vcpkg_installed/x64-windows/lib/gdal_i.lib;debug;D:/dev/node-mapnik/build/vcpkg_installed/x64-windows/debug/lib/gdal_i_d.lib

I just found two issues with wrapper (while working on kealib) and know how to resolve them:

GDAL_LIBRARY must be set as a cache variable before calling pristine FindGDAL.cmake.
Solves your issue.
The wrapper must not touch target GDAL::GDAL on a second call to find_package(GDAL).
Solves errors from target_link_libraries(GDAL::GDAL ...) in the wrapper on the second call because the imported target was created in another directory. (This might be fixed in CMake 3.21 but the wrapper can be used with older CMake.)


fix: improve map accessibility

Would have preferred the map controls to be before the map in tab order. This would allow the details panel to be the next tab stop following the map
Only really works with larger viewports (not so good on mobile/tablet)
Might be nice to show the numbers (1-9) on the map too
Not yet tested with screen readers or browsers other than Chrome
"6" key causes map to zoom out

@falconx After tabbing into the map, and then using number keys to select some loos I experience mutiple keydown handler violations.
The more loos I visit using keystrokes the more violations stack, 'till my browser becomes unresponsive.

@marxian Thanks. Now that I've tested properly, I also now see that the "6" key causes the map to zoom out.

Could a different set of keys be used for to navigate between markers to get around the "6" key problem?


Proposal: go fmt integration

/assign @wwcchh0123

Recommend to use GitHub code suggestion feature, refer to suggested-changes


Switch to ruby/setup-ruby

Doesn't work yet on Windows, maybe related to https://github.com/DOCGroup/MPC/issues/74

Made https://github.com/RemedyIT/axcioma/pull/137 as test to create all MPC related files as binary files

#253 has a clean change and the necessary workaround to not use msys perl, added the issue for msys perl to MPC https://github.com/DOCGroup/MPC/issues/35


How to use REST api to end sparksql job  Or  use other way ?

In the REST API doc, I can't find the API for kill a job.

Can one of the admins verify this patch?

@connCN  close this


updateOfferStock deprecated since v2

when will the client and entities be updated for the V2 ?

We will update specific entities when we need them ourselves. But if you need something, feel free to create a Pull Request with the new entities.

thank you, but i will just use wienkit.

Sure, no hard feeling


Usage of HVG in scVI

Please raise usage questions at discourse.scvi-tools.org
(I have noticed exactly the same question was raised in #850 but no clear answer was given and it shows closed.)
The question is, does scVI use highly variable genes selected by scanpy?
I ran scvi 1) with no highly variable genes selected, 2) with highly variable genes selected, 3) with highly variable genes selected but manually removed some genes from HVG.
The results are different for 1) and 2) but the same for 2) and 3).
This is confusing. Anyone has any idea?
Thanks!
Ling

Hi Ling, we do appreciate these types of questions on our discourse site. I've moved it there and will close this issue now.
https://discourse.scvi-tools.org/t/usage-of-hvg-in-scvi/167


memfs seems not work correctly?

Hi there,
I am interested to use this in my minimum docker image, basically the idea is that mount /tmp as tmpfs for the program to use. As it is minimum, there is no mount command, etc, just the app binary it self.
However from my test it seems not to use memory fs, that is after the docker container stop, I can see the file content is on the filesystem. So not sure if there is a problem with it, or the way I expect it to work is totally wrong.
Here is my snippet
package main

import (
	"fmt"
	"io/fs"
	"io/ioutil"

	"github.com/blang/vfs"
	"github.com/blang/vfs/memfs"
    u "github.com/sunshine69/golang-tools/utils"
)

func main() {
	fmt.Println("started")
	var osfs vfs.Filesystem = vfs.OS()
	err := osfs.Mkdir("/adir", 0777)
    u.CheckErr(err, "Error")
	mfs := memfs.Create()
	err = mfs.Mkdir("/tmp", 0777)
    u.CheckErr(err, "Error")
    ioutil.WriteFile("/tmp/test", []byte("hello my file"), fs.ModeAppend)
    //Seems not work, after run I can inspect the container and the file does exist. If it is in memory it should not exist
}

Dockerfile
FROM stevekieu/golang-script:20210804 AS BUILD_BASE
RUN mkdir /app && mkdir /imagetmp && chmod 1777 /imagetmp

ADD . /app/
WORKDIR /app
ENV CGO_ENABLED=0 PATH=/usr/local/go/bin:/opt/go/bin:/usr/bin:/usr/sbin:/bin:/sbin

ARG APP_VERSION
RUN go mod download golang.org/x/net
RUN go build -trimpath -ldflags="-X main.version=v1.0 -extldflags=-static -w -s" --tags "osusergo,netgo,sqlite_stat4,sqlite_foreign_keys,sqlite_json" -o minimum-docker
CMD ["/app/minimum-docker"]

FROM scratch
# the ca files is from my current ubuntu 20 /etc/ssl/certs/ca-certificates.crt - it should provide all current root certs
ADD ca-certificates.crt /etc/ssl/certs/
COPY --from=BUILD_BASE /app/minimum-docker /minimum-docker
COPY --from=BUILD_BASE /imagetmp /tmp
ENV TZ=Australia/Brisbane
ENTRYPOINT [ "/minimum-docker" ]

Build the image, and run. After run use docker inspect the container name to find the UpperDir location, and get in there, the /tmp exists a file with the content. If it is memfs, then it should not exists any file at all.
Thanks

That's because you are writing the file with ioutil which uses the real filesystem. Sure, you created a memory filesystem but you did not use it to create your file.

Got it, it is a system moutn as such, so all file operation should go through the vfs object to return the file handle in order for it to work.
Thanks


Return early if self is undefined

Return early if self is undefined, for environments that do not define 'self' (an example would be running a browserified script using ReactJS.NET.) This prevents a ReferenceError from occurring.

The polyfill only designed to run in a browser environment, which is why we have the self requirement.
I'd probably suggest omitting it from your browserified bundle in that case.

Please see #31


Semi-automated Emacs package updates

I have started a new testing strategy for the emacsPackagesNg set, and marked some things broken as a result; to be clear, this isn't everything, I'm just getting started.

Thank you!