1.8.0 fails to build native extensions with --jobs>1

I'm just trying out the new 1.8.0 release, and it's failing to install several gems in our gemfile correctly when used with gems that have native extensions. Versions up to 1.7.13 didn't have that problem. I'm testing this on Linux, with Ruby 2.1.3.
One failing gem is a amatch (redacted output since some parts are sensitive):
The command I ran is: bundle install --jobs=8 --disable-shared-gems.
/usr/lib/rbenv/versions/2.1/lib/ruby/2.1.0/rubygems/ext/builder.rb:160: warning: conflicting chdir during another chdir block

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/lib/rbenv/versions/2.1/bin/ruby extconf.rb
creating Makefile
Rewriting the generated Makefile to get my compiler output displayed...

Makefile not found

Gem files will remain installed in /home/vagrant/foo/vendor/bundle/gems/amatch-0.2.11 for inspection.
Results logged to /home/vagrant/foo/vendor/bundle/extensions/x86_64-linux/2.1.0/amatch-0.2.11/gem_make.out

(the gem_make.out file contains only the "Makefile not found" message above)
Parallel bundler 1.8 is spewing that "conflicting chdir during another chdir block" message a lot - almost every second line of output is that message (1.7.x is completely quiet). That there is no Makefile in the directory left behind seems somewhat related, too (:
Bundling in parallel with 1.8.0 reliably fails; however, unsetting the BUNDLE_JOBS variable and bundling in serial always works on both 1.7 and 1.8.
Let me know if you need any more information - happy to run any experiment to track this issue down!

Just a couple of questions,

How is `--disable-shared-gems' working for you? We removed that flag in 1.1.pre IIRC. Are you using a custom version of Bundler or something? If so just use the default one and see if the issue persists.

Can you give us a sample Gemfile to reproduce the issue? I tried creating one at my end but couldn't reproduce it, again it might have to do something with 1.

We see the same errors with Foreman builds under Bundler 1.8.0 and ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux].
Bundler output is at https://gist.github.com/domcleal/659f94ac68b03c911ccb or http://ci.theforeman.org/job/test_develop_pr_core/3895/database=postgresql,ruby=1.9.3/console.  The command we're running is bundle install --without=development -j5.
Our Gemfile is available at https://github.com/theforeman/foreman, just copy the example config/settings.yaml and config/database.yml files after checking it out.
I haven't been able to reproduce it reliably outside of our CI environment unfortunately, which seems to hit it over 50% of the time since 1.8.0.

@antifuchs / @domcleal could you put the output from bundle env in a gist and post a link here please? I'm mostly interested in the Rubygems version, but all of that information is useful.
Also, see if upgrading Rubygems helps (gem update --system). There have been some thread-safety issues fixed in the gem installer (https://github.com/rubygems/rubygems/pull/1005) and as @Who828 mentioned, Bundler 1.8 switches parallel installation on MRI from using forked processes to using threads.

We might need to abort if jobs is > 1 and rubygems is older than contains that fix.
On Wed, Feb 11, 2015 at 9:51 PM, Tim Moore<EMAIL_ADDRESS>wrote:

@antifuchs / @domcleal could you put the output from bundle env in a gist and post a link here please? I'm mostly interested in the Rubygems version, but all of that information is useful.
Also, see if upgrading Rubygems helps (gem update --system). There have been some thread-safety issues fixed in the gem installer (https://github.com/rubygems/rubygems/pull/1005) and as @Who828 mentioned, Bundler 1.8 switches parallel installation on MRI from using forked processes to using threads.
Reply to this email directly or view it on GitHub:
https://github.com/bundler/bundler/issues/3385#issuecomment-73863160

Thanks for the hint, it seems that the Rubygems version is the cause.  Our CI slaves had mismatched versions, and so it was failing on some slaves and not others.
A working slave has Rubygems 2.2.2 (https://gist.github.com/domcleal/9791f3f62e0b0592c3bc) and a failing slave had Rubygems 1.8.25 (https://gist.github.com/domcleal/f051c69acdadb21ad09e).
Interesting that neither slave has the thread safety fix mentioned above - perhaps there was an earlier one between 1.8.25 and 2.2.2 that's also required.  Aborting when using some older version sounds like a good idea.

Did some digging with @antifuchs today, and it's an issue where the git gem native extension building code has a race condition with the Rubygems native extension building mutex. Looks like we're going to have to patch Rubygems to fix it for good. :/

This should be fixed by cc99df8c426787b8b32ba5c915ff1218243813a9. @antifuchs can you test with this bundler gem to make sure it works for you?

@indirect - I just bundled successfully with --jobs=8 three times in a row; everything totally worked. Pretty glad this works now (:

woo, thanks for testing :)
On Sat, Feb 14, 2015 at 10:01 AM, Andreas Fuchs<EMAIL_ADDRESS>wrote:

@indirect - I just bundled successfully with --jobs=8 three times in a row; everything totally worked. Pretty glad this works now (:
Reply to this email directly or view it on GitHub:
https://github.com/bundler/bundler/issues/3385#issuecomment-74342517

Released 1.8.1 with this fix, should be good for everyone now.


Support plain files

Currently ISuggestionsModel expects a NotebookPanel:
https://github.com/QuantStack/jupyterlab-suggestions/blob/26b00123d50a846cf200c9c49488bd1c2279a79d/packages/base/src/types.ts#L28-L31
Since suggestions are currently displayed in the right sidebar, it could be interesting to also consider supporting suggestions for plain files, such as Python or Markdown files.
Although this may add some challenges as to where the suggestions should be saved, as there would be no notebook metadata for such files: https://github.com/QuantStack/jupyterlab-suggestions/issues/1

yeah, i will get back to the plain files later after the integration with the jupyter-collaboration backend

we probably need to handle the plain files differently

Sounds good :+1:
Also it's fine to completely break and change interfaces as needed now since we are still in the early iterations.


pcre2: Update to upstream version 10.40

Changelog: https://github.com/PCRE2Project/pcre2/blob/pcre2-10.40/ChangeLog

Cherry-picked for 3.5.

@bruvzg Seems like this update broke support for older macOS:
In file included from thirdparty/pcre2/src/pcre2_jit_compile.c:79:
In file included from thirdparty/pcre2/src/sljit/sljitLir.c:275:
thirdparty/pcre2/src/sljit/sljitExecAllocator.c:156:2: error: "Must target Big Sur or newer"
#error "Must target Big Sur or newer

I wonder if we should patch it out, or revert to 10.39 (at least for 3.5)?

Seems like we could cherry-pick this: https://github.com/carenas/sljit/commit/de8fc816bc6698ab97316ed954e133e7e5098262

Was added in https://github.com/zherczeg/sljit/pull/111

Seems like we could cherry-pick this: https://github.com/carenas/sljit/commit/de8fc816bc6698ab97316ed954e133e7e5098262

Yes, this seems to be fine. But I would simplify it to just the second available branch.

Seems like we could cherry-pick this: carenas/sljit@de8fc81

Yes, this seems to be fine. But I would simplify it to just the second available branch.

I'd go with the upstream solution for now, but feel free to PR the simplification there, that makes sense.


fix: dont panic on /:foo.

@ry this is not a proper fix, this is still incorrect behaviour, however this at least doesnt make us panic. This is probably an issue with the spec, so I am waiting for a fix there, and that most likely will cause wpts to be added.


Bower install doesn't change bower.json

I am on Windows (windows 7) and I execute the following 'bower install jquery --save' and I get the following output:

bower install jquery --save
bower resolve       git://github.com/jquery/jquery.git#*
bower download      https://github.com/jquery/jquery/archive/2.1.3.tar.gz
bower extract       jquery#* archive.tar.gz

There are two problems (that are probably manifestations of the same problem)

Notice that in the output from bower this is no 'install' step.
bower.json does not get updated with the new dependences.

Ideas?

Do you use bower as package.json dependency? What is your bower version?
Do simple pre- and post-install hooks work?

I installed bower with npm like: ‘npm install bower –g’. So it was installed ‘globally’ not as a package.json dependency. I am running version 1.3.12. I am not sure how to test pre- and post-install hooks.
Thank you.

Here is documentation for hooks: https://github.com/bower/bower/blob/master/HOOKS.md

The hooks don't seem to work. I have a .bowerrc file that now looks like:
{
"directory": "public/vendor",
"scripts": {
"preinstall": "echo pre",
"postinstall": "echo post",
"preuninstall": "echo pre-uninstall"
}
}
But I don't see any extra messages when I run 'bower install jquery --save'.

I don't think echo works because it's built-in command. You need to create executable script, and call it, like "node myprehook.js"

So what would the myprehook.js look like to mimic the echo?

console.log('hello') should be ok

@KevinBurton you should use the -s flag when running bower install, this should update the bower.json manifest file with the newly installed package listed

Isn't --save the same as -s?

@KevinBurton Yes, you can use the --save flag and I'd actually recommend that over the -s flag. Head over to issue #1468 and see if this helps as well.

@KevinBurton may you close this issue if you have figured things out?

The hooks don't work. I have the following script (that I call out.js):
function logArrayElements(element, index, array) {
console.log('a[' + index + '] = ' + element);
}
// Note ellision, there is no member at 2 so it isn't visited
process.argv.forEach(logArrayElements);
The .bowerrc file looks like:
{
"directory": "public/vendor",
"scripts": {
"preinstall" : "node out.js pre %",
"postinstall" : "node out.js post %",
"preuninstall" : "node out.js preuninstall %;"
}
}
The output from bower install jquery --save is only:
bower not-cached    git://github.com/jquery/jquery.git#*
bower resolve       git://github.com/jquery/jquery.git#*
bower download      https://github.com/jquery/jquery/archive/2.1.3.tar.gz
bower extract       jquery#* archive.tar.gz
It doesn't seem to make it to the 'Install' phase.
Ideas?

I'm out of ideas. I'd need to test this on windows machine. Can someone reproduce this issue?

@sheerun we'll I have a backup windows 8.1 machine that I'll test this on, I'll see were it would lead to

If it matters I am on Windows 7 64 bit Service Pack 1. On a Dell Sudio XPS 435T.

@KevinBurton I will test your issue on windows 8.1 tomorrow for yah

Thank you.
From: My-khael Pierce<EMAIL_ADDRESS>Sent: Monday, January 05, 2015 8:00 PM
To: bower/bower
Cc: KevinBurton
Subject: Re: [bower] Bower install doesn't change bower.json (#1643)
@KevinBurton https://github.com/KevinBurton  I will test your issue on windows 8.1 tomorrow for yah
—
Reply to this email directly or view it on GitHub https://github.com/bower/bower/issues/1643#issuecomment-68815286 .  https://github.com/notifications/beacon/AChWboDfLIOJx0Sllu4vFU8FFNQDo8doks5nezk2gaJpZM4DOLeo.gif

@KevinBurton :+1:

hii i got this error while trying to install angular-chosen-localytics
bower EISDIR        EISDIR, open '/tmp/george/bower/chosen_v1.3.0-3308-b2v7KE/docsupport/'
Stack trace:
Error: EISDIR, open '/tmp/george/bower/chosen_v1.3.0-3308-b2v7KE/docsupport/'
Console trace:
Trace
at StandardRenderer.error (/usr/local/lib/node_modules/bower/lib/renderers/StandardRenderer.js:74:17)
at Logger.updateNotifier.packageName (/usr/local/lib/node_modules/bower/bin/bower:109:18)
at Logger.EventEmitter.emit (events.js:95:17)
at Logger.emit (/usr/local/lib/node_modules/bower/node_modules/bower-logger/lib/Logger.js:29:39)
at /usr/local/lib/node_modules/bower/lib/commands/install.js:27:16
at _rejected (/usr/local/lib/node_modules/bower/node_modules/q/q.js:808:24)
at /usr/local/lib/node_modules/bower/node_modules/q/q.js:834:30
at Promise.when (/usr/local/lib/node_modules/bower/node_modules/q/q.js:1079:31)
at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/bower/node_modules/q/q.js:752:41)
at /usr/local/lib/node_modules/bower/node_modules/q/q.js:574:44
can some one help me????????

Will --verbose give me a stack trace? No error is presented.

On Jan 7, 2015, at 7:34 AM, Adam Stankiewicz<EMAIL_ADDRESS>wrote:
I can't reproduce. Please send stacktrace with --verbose mode.
—
Reply to this email directly or view it on GitHub.

I was talking rijilk

only this is shown there??

--verbose gives me:

bower install jquery --verbose
bower not-cached    git://github.com/jquery/jquery.git#*
bower resolve       git://github.com/jquery/jquery.git#*
bower download      https://github.com/jquery/jquery/archive/2.1.3.tar.gz
bower extract       jquery#* archive.tar.gz

The process still doesn't seem to reach the install stage.

@KevinBurton @sheerun well I've tested this and everything seemed to install okay until I ran the the command with the --verbose flag, I received the same output so this is definitely a focus on windows.

I tested it on Windows as well, and bower.json is modified correctly. If you use bower install second time, the "install" log is missing, but entry is added to bower.json anyway. Please prepare failing test.

In my case bower install query --save neither modifies bower.json or outputs the 'install' notification.

Query -> jquery

The issue is marked as "requires feedback". What feedback is needed?

Failing test case, because I can't reproduce.

Any hints on how I could add some debug statements or something to see the cause of the error?

I am finding that
\Roaming\npm\node.exe ./node_modules/bower/bin/bower install jquery --save
works
But
bower install jquery --save
still does not work. Any ideas what is wrong with my configuration?

I have the same issue on Ubuntu 15.04, bower install won't update bower.json and also it don't support -S --save option

As of 5/27 using the lastest everything from Linuxmint, node, bower, etc.  Anyway, the -s doesn't do anything.  "--save" does work though, like when doing: "bower install --save bootstrap".   One thing I noticed, if I install bootstrap before jquery, it won't pick up jquery when I run "bower init" or if I run "bower install --save bootstrap".  If I install jquery first, then bootstrap, it has no issue picking up both.

For people having problems with making 'bower install ' update the bower.json file create a new bower.json file by running 'bower init' and simply press enter until done. This did it for me.

Still having the same issue here, running on Cloud9 IDE.

create bower.json file with "bower init", press 'enter' through all questions; this successfully creates bower.json

manually create .bowerrc file and set, {"directory":"vendor/assets/bower_components"}

install packages with "bower install angular angular-ui-router bootstrap --save"

Packages get properly installed in the directory i set in .bowerrc, but dependencies are still not added to bower.json file.
I know i can just add dependencies manually to the bower.json file, then run "bower install", but i'm wondering why above is not working.

I have the same problem.

I've found that if execute "bower install --save..." in Git Bash (tested on Windows 10) - bower.json is not updated, but if run it in "cmd" tool - it works.
Also, i've found that when i tried to run "bash init" in git bash - it said "Register requires an interactive shell".
Maybe these issues are related to that.

I want to share my experience with the same "bower install --save doesn't update bower.json"
I'm using a laptop running Windows 10 x64. I have the lastest bower install globally. My project was generated using yo generator so there's already bower.json and .bowerrc files. At that time I was trying to update all my angular packages because the generated project used "not up-to-date" angular packages, for example angular 1.5.0 (current is 1.5.7)
I ran "bower update --save" to update all my packages (in CMD tool). The update process showed up and said that all the packages was installed successfully. But my bower.json didn't change at all. The file still contained the 1.5.0 version not 1.5.7
I searched and came to this issue post. And noticed one important thing I opened my bower.json file in Visual Studio Code and I could really be sure that the this editor doesn't check for file content changed outside the program.

backup my current bower.json
deleted the current bower.json
ran "bower init"
answered, chose options while bower.json file was being initialized
didn't know how bower know and added all the angular 1.5.0 (from previous session) into the brand new initialized bower.json
ran bower install angular angular-animate... --save (haven't tested with bower update --save yet) and after everything succeeded installed. I select the notepad++ window and the program notified me the change was made. I click Yes to reload the bower.json file content. And every thing (angular packages) was set to the 1.5.7

Hope this help someone.

I am on Windows 10 Pro 32 bit with latest VS code. I don't see this issue on install, everything is working as expected.

I have this issue reproduced on win 10

This issue got stale, we waven't found a way to reproduce this issue


Store TOTP secret in LDAP

Original issue 52 created by<EMAIL_ADDRESS>on 2011-03-18T04:50:12.000Z:
For distributed systems where home directories are mounted on NFS with root_squash, it would be ideal to allow the google-authenticator.so PAM to query LDAP for the appropriate TOTP/HOTP secrets rather than storing them locally on each server.

Fwiw http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=e069a79239774e4fb1a68358c37ab79c0afd0e2d
All of the official OpenLDAP admin docs already advise to set ACLs preventing read access to userPassword attributes. In a typical install no users ever have read access to their own password (or anyone else's).

This issue was moved to google/google-authenticator-libpam#43


Not safe to interrupt docker stop?

docker 1.12 on Ubuntu 14.04 (aufs)
I interrupted the docker stop (with a ^Z - a  SIGTSTP)) that was taking awhile and it caused my container to miss some layers (I was not able to resume it with fg). Now docker start says it cannot find the entry point.
I assume it's not safe to suspend docker commands.
I examined the content of the container with docker export and it contains only the .dockerenv, .dockerinit, /dev, /etc, /proc and /sys.
Using find I confirmed that the 'missing' data is scattered across /var/lib/docker/aufs/diff/ so the container structure must have been somehow corrupted.
The question is how do I assemble it back and how to prevent docker from letting to interrupt non-atomic tasks?
Output of docker version:
Client:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:30:42 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:30:42 2016
 OS/Arch:      linux/amd64

Output of docker info:
Client:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:30:42 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 02:30:42 2016
 OS/Arch:      linux/amd64
root@dl-01:~# docker info
Containers: 5
 Running: 1
 Paused: 0
 Stopped: 4
Images: 13
Server Version: 1.12.5
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 83
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host overlay bridge
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 4.4.0-57-generic
Operating System: Ubuntu 14.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 32
Total Memory: 62.91 GiB
Name: dl-01
ID: EUP6:ZWKG:22EJ:YCJQ:7JKW:PETK:OKTB:YIJN:FGCB:PY65:5V4H:K6L2
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

I don't think killing docker stop should be responsible for that, afaik, it just stops / kills the process running in the container, perhaps I'm overlooking something though
Can you check daemon logs around that time, to see if anything stands out?

Nothing suspicious in the logs :(

Can you share what options the container was started with? Is it using volumes or bind-mounts? Are you still able to docker inspect the container?

No volumes, one port bind. I can docker inspect with ease.
[
    {
        "Id": "991ae26d51b3ee3c51a5293f55018f7fc7b6e53a82c0561b204c81a0e344912f",
        "Created": "2016-03-31T08:25:07.1609297Z",
        "Path": "/run_jupyter.sh",
        "Args": [],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 127,
            "Error": "invalid header field value \"oci runtime error: container_linux.go:247: starting container process caused \\\"exec: \\\\\\\"/run_jupyter.sh\\\\\\\": stat /run_jupyter.sh: no such file or directory\\\"\\n\"",
            "StartedAt": "2017-01-11T10:31:34.4290826Z",
            "FinishedAt": "2017-01-30T16:32:20.6247623Z"
        },
        "Image": "sha256:cc37ecce5ffd620c2ecc888be56d867256f822578c4fe53b1379dfdab2bd2fa3",
        "ResolvConfPath": "/var/lib/docker/containers/991ae26d51b3ee3c51a5293f55018f7fc7b6e53a82c0561b204c81a0e344912f/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/991ae26d51b3ee3c51a5293f55018f7fc7b6e53a82c0561b204c81a0e344912f/hostname",
        "HostsPath": "/var/lib/docker/containers/991ae26d51b3ee3c51a5293f55018f7fc7b6e53a82c0561b204c81a0e344912f/hosts",
        "LogPath": "/var/lib/docker/containers/991ae26d51b3ee3c51a5293f55018f7fc7b6e53a82c0561b204c81a0e344912f/991ae26d51b3ee3c51a5293f55018f7fc7b6e53a82c0561b204c81a0e344912f-json.log",
        "Name": "/loving_tesla",
        "RestartCount": 0,
        "Driver": "aufs",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "8888/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "8888"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DiskQuota": 0,
            "KernelMemory": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": -1,
            "OomKillDisable": false,
            "PidsLimit": 0,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0
        },
        "GraphDriver": {
            "Name": "aufs",
            "Data": null
        },
        "Mounts": [],
        "Config": {
            "Hostname": "991ae26d51b3",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "6006/tcp": {},
                "8888/tcp": {}
            },
            "Tty": true,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "TENSORFLOW_VERSION=0.7.1"
            ],
            "Cmd": [
                "/run_jupyter.sh"
            ],
            "Image": "b.gcr.io/tensorflow-udacity/assignments:0.5.0",
            "Volumes": null,
            "WorkingDir": "/notebooks",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {},
            "StopSignal": "SIGTERM"
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "455801a4a1278c39f76c8ac739851f112cbb96a6580bc68c505fbd6090759672",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": null,
            "SandboxKey": "/var/run/docker/netns/455801a4a127",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "22dcc63b0f07a5adc1111647caaa1e8c7cabe0a19ee02c668b16c54156efb812",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": ""
                }
            }
        }
    }
]

I can find missing bits of the container in:
/var/lib/docker/aufs/diff/b86403ac3c2d205d266a815f26f631a7a8440d0c30068c04109064d3632d6dab/notebooks
though I know there are many more missing that I'm not able to easily identify.

Using find I confirmed that the 'missing' data is scattered across /var/lib/docker/aufs/diff/ so the container structure must have been somehow corrupted.

I can find missing bits of the container in:
/var/lib/docker/aufs/diff/b86403ac3c2d205d266a815f26f631a7a8440d0c30068c04109064d3632d6dab/notebooks

I think those are expected; that's due to the way AUFS works; it's a layered filesystem, so each layer of an image would be in it's own directory. Likewise, the "writable" layer of the container would get its own layer/directory. The notebooks directory you found would contain all the files that were modified inside the container.
Does the b.gcr.io/tensorflow-udacity/assignments:0.5.0 still show up in docker images, and can you start a new container from that image?
What happens if you docker commit <container-id> temp-image, then run a new interactive container from that image, using bash instead of the default command, and check if /run_jupyter.sh is still there? e.g.
docker commit loving_tesla temp-image
docker run -it --rm temp-image bash -c 'cat /run_jupyter.sh'

I know the way overlay filesystems work ;) The problem is somehow the stack of this particular container is broken.
I tried the commit and run off the snapshot already. The resulting container is as empty just like the exported one (only the .dockerenv, .dockerinit, /dev, /etc, /proc and /sys are in it).
However I can create new containers from the base image:
docker run -p 8888:8888 -d -t  b.gcr.io/tensorflow-udacity/assignments:0.5.0
389d32c2e205725f876792fed76f615464dbfe12dad68321226eb75d19ff3060

The image is of course present:
# docker images
REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE
snapshot                                  latest              e5e04eb1d429        15 hours ago        718.5 MB
b.gcr.io/tensorflow-udacity/assignments   0.5.0               cc37ecce5ffd        10 months ago       718.5 MB

'snapshot' is the commited image of the problematic container.
I used sen: https://github.com/TomasTomecek/sen and the image stack seems to miss most of the layers in between top and bottom layers:
Status  Exited
Created 31 Mar 2016, 08:25:07, 10 months ago
Command /run_jupyter.sh
Name    /loving_tesla

Host Port      Container Port

Network Name   IP Address
bridge         none

Image
cc37ecce5ffd b.gcr.io/tensorflow-udacity/assignments:0.5.0 /bin/sh -c #(nop) CMD ["/run_jupyter.sh"] (685.25 MB)

while the base image should be:
Created 24 Mar 2016, 22:53:45, 10 months ago
Size    685.25 MB
Command /bin/sh -c #(nop) CMD ["/run_jupyter.sh"]

Containers
991ae26d51b3 Exited (127) 16 hours ago /loving_tesla

Image Names
b.gcr.io/tensorflow-udacity/assignments:0.5.0

Layers
└─cc37ecce5ffd b.gcr.io/tensorflow-udacity/assignments:0.5.0 /bin/sh -c #(nop) CMD ["/run_jupyter.sh"] (685.25 MB)
  └─<missing> /bin/sh -c #(nop) WORKDIR /notebooks (0 bytes)
    └─<missing> /bin/sh -c #(nop) ADD multi:3199d50e290e5711b45836938d27f4669af84a1bf2f1533857c46dd7ed003fd8 in /notebooks/ (428.40 kB)
      └─<missing> /bin/sh -c rm -rf /notebooks/* (0 bytes)
        └─<missing> /bin/sh -c pip install scikit-learn (46.21 MB)
          └─<missing> /bin/sh -c #(nop) MAINTAINER Vincent Vanhoucke<EMAIL_ADDRESS>(0 bytes)
            └─<missing> /bin/sh -c #(nop) CMD ["/run_jupyter.sh"] (0 bytes)
              └─<missing> /bin/sh -c #(nop) WORKDIR /notebooks (0 bytes)
                └─<missing> /bin/sh -c #(nop) EXPOSE 8888/tcp (0 bytes)
                  └─<missing> /bin/sh -c #(nop) EXPOSE 6006/tcp (0 bytes)
                    └─<missing> /bin/sh -c #(nop) COPY file:6d6e390b8802c6a4d0804ec722cca24ad96ad70e215131f79994b9e42efd4750 in / (713 bytes)
                      └─<missing> /bin/sh -c #(nop) COPY dir:1f990d5c95051fbd805356cd505f9e1f4a5cd8ffdf59b45ad4f10766c3ee164e in /notebooks (332.01 kB)
                        └─<missing> /bin/sh -c #(nop) COPY file:bcbd87034b377505a86ed9f10a4d5bd81f19f4a5f264de6a821091cf878df3c2 in /root/.jupyter/ (815 bytes)
                          └─<missing> /bin/sh -c pip --no-cache-dir install     http://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${TENSORFLOW_VERSION}-cp27-none-linux_x86_64.whl (66.61 MB)
                            └─<missing> /bin/sh -c #(nop) ENV TENSORFLOW_VERSION=0.7.1 (0 bytes)
                              └─<missing> /bin/sh -c pip --no-cache-dir install         ipykernel         jupyter         matplotlib         &&     python -m ipykernel.kernelspec (122.64 MB)
                                └─<missing> /bin/sh -c curl -O https://bootstrap.pypa.io/get-pip.py &&     python get-pip.py &&     rm get-pip.py (7.29 MB)
                                  └─<missing> /bin/sh -c apt-get update && apt-get install -y         curl         libfreetype6-dev         libpng12-dev         libzmq3-dev         pkg-config         python-numpy         python-pip         python-scipy         &&     apt
                                    └─<missing> /bin/sh -c #(nop) MAINTAINER Craig Citro<EMAIL_ADDRESS>(0 bytes)
                                      └─<missing> /bin/sh -c #(nop) CMD ["/bin/bash"] (0 bytes)
                                        └─<missing> /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list (1.85 kB)
                                          └─<missing> /bin/sh -c echo '#!/bin/sh' > /usr/sbin/policy-rc.d ?&& echo 'exit 101' >> /usr/sbin/policy-rc.d ?&& chmod +x /usr/sbin/policy-rc.d ??&& dpkg-divert --local --rename --add /sbin/initctl ?&& cp -a /usr/sbin/policy-rc.d
                                            └─<missing> /bin/sh -c #(nop) ADD file:620b1d9842ebe18eaad59bf1f3819427cfe2fd26ccbf54d3688e01e6ac98e1e0 in / (179.06 MB)

Are you sure that tool has been updated for the content-addressable store in docker 1.10 and up? When pulling images, only the layers are pulled, but not the intermediate images. All images showing as "missing" are the intermediate images that won't be present locally


[Addition]: Spoofed cluster of Heltec Miners under wallet 13pUSHjkKXKyGXdZeXe8XEuz4hKR5u92iruiw642FrpCGBDaG7U

Hotspot b58 Addresses
112pj8xCW2amcwoDBwR9RQbFUpCwUAcouneGfR2z3i4hTftKECj8
Discord Handle
screwdriver#9187
Reason(s)
this is just another of those spoofed clusters of Heltec Miner hotspots in an under-developed remote province in the Philippines

https://www.crowdspot.io/hotspots/112pj8xCW2amcwoDBwR9RQbFUpCwUAcouneGfR2z3i4hTftKECj8

👍


Airdrop Distributor fails CI run Forc tests stage

Describe the bug
The claim function's parameter proof results in mismatched types. The error from the CI is as follows:
Run cd airdrop/airdrop-distributor
  Compiled library "core".
  Compiled library "std".
  Compiled library "sway_libs".
error
  --> /home/runner/work/sway-applications/sway-applications/airdrop/airdrop-distributor/src/main.sw:54:83
   |
52 |
53 |         let leaf = leaf_digest(sha256((to, amount)));
54 |         require(verify_proof(key, leaf, storage.merkle_root.unwrap(), num_leaves, proof), VerificationError::MerkleProofFailed);
   |                                                                                ^^^^^ Mismatched types.
expected: [b256; 8]
found:    [b256; 2].
help: The argument that has been provided to this function's type does not match the declared type of the parameter in the function declaration.
55 |
56 |         // Mint asset
   |
____

  Aborting due to 1 error.
Error: Failed to compile airdrop-distributor
Error: Process completed with exit code 1.

Steps to reproduce

Go to airdrop/airdrop-distributor
Run forc test

Minimal reproducible code example
forc test

Rust Version
rustc 1.63.0
Forc Version
forc 0.24.4
Expected behavior
The tests to pass.
Additional context
No response

Closing because fixed in #255


Add tcp and http filters for external authorization service.

Title
Support TCP and HTTP filter for external authorization service.
Description
Add support for filters for authorization by an external gRPC based authorization service. This PR implements the discussing we had in https://github.com/envoyproxy/envoy/issues/2291.
Testing
I have tested this on my local setup with an external gRPC authorization server. I have also added UT's for both the http and tcp filters.
Risk
Low: Because only the users of this filter will be impacted. It should not impact general stability of Envoy it self.
Caveats

I did not test with a Google gRPC service configuration.
The v1 to v2 conversion of the configuration does not directly map to the way gRPC services protobuf is defined. I can make that change either as a follow up PR or within this PR if we feel that is important to cover here.
There may be a change required to data-plane-api accesslog. Once there is general aggrement on the change set here then I can submit a PR to make the changes to data-plane-api repo.

Notes to Reviewer

I'd really appreciate a closer look at how filter_config is being used in the file server/config/http/ext_auth.cc

@saumoh could you share the documentation or steps to use this filter, we want to use this to authenticate the request with another gRPC server.

service proto definition for  authentication server
how do we configure envoy to use this (Is it part of filters in http_connection_manager?) or sample config if you've.
can we customise what we want to do by extending this? eg: custom errors

@dineshkumar-cse The proto definitions for the auth server, the tcp filter and http filter are defined in the data-plane-api repo.
The protobuf for gRPC server is at:
https://github.com/envoyproxy/data-plane-api/tree/master/envoy/service/auth/v2
For the tcp filter config see:
https://github.com/envoyproxy/data-plane-api/tree/master/envoy/config/filter/network/ext_authz/v2
And for the http filter config see:
https://github.com/envoyproxy/data-plane-api/tree/master/envoy/config/filter/http/ext_authz/v2
The http filters are configured under the http_connection_manager.
hope this helps.

@saumoh we've built the new envoy binary from master branch, and used the following config, we just wanted to test whether it loads the filter.
{
"listeners": [
....
 "filters": [
 { "name": "http_connetion_manager", ... },
 {
   "name": "ext_authz",
   "config": {}
 }] ...
]

But it errors out with the following,
envoy_bin.sh[8884]: [2018-02-12 20:32:03.100][8886][debug][config] source/server/config/network/http_connection_manager.cc:238]     filter #0
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.101][8886][debug][config] source/server/config/network/http_connection_manager.cc:239]       name: envoy.router
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.101][8886][debug][config] source/server/config/network/http_connection_manager.cc:243]     config: {"value":{},"deprecated_v1":true}
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.101][8886][debug][config] source/server/listener_manager_impl.cc:29]   filter #1:
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.101][8886][debug][config] source/server/listener_manager_impl.cc:30]     name: envoy.ext_authz
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.101][8886][debug][config] source/server/listener_manager_impl.cc:33]   config: {"value":{},"deprecated_v1":true}
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.102][8886][critical][main] source/server/server.cc:71] error initializing configuration '/etc/default/envoy.json': Didn't find a registered implementation for name
: 'envoy.ext_authz'
 envoy_bin.sh[8884]: [2018-02-12 20:32:03.102][8886][debug][upstream] source/common/upstream/cluster_manager_impl.cc:582] shutting down thread local cluster manager

Is there anything else we're missing?

@dineshkumar-cse the filter's are under review still.
u can follow them and try it out once they are merged.
https://github.com/envoyproxy/envoy/pull/2416
and
https://github.com/envoyproxy/envoy/pull/2417


Simplify tagsNS export

Very interesting codebase and way of doing things. Here is just a minor nitpicks around tagsNS export. Feel free to ignore, just thought you might be interested as it has been the way you were doing such all around. Thanks!

I am using terser to generate minimized bundle. If I use {..., tagsNS, ...} instead of {..., "tagsNS": tagsNS, ...}, terser will rewrite the property tagsNS to a minimized name. Thus the current implementation is to instruct terser not to rewrite the property name.

Oh, so it's intentional, let me close, thanks 😊


Playground API

This is the PR for providing feedback on the API for Playground. Specs:
https://docs.google.com/document/d/14S47uuVF-hzxYeiw4ap-WqlN4A8ctUOypPNTwRKGh6c/edit#
https://docs.google.com/document/d/1zVCVa2MRvMQqt1m13_KEP8vjWcf61Rd8N_u3wuuic04/edit#

No, I think for the same reasons we won’t allow image manipulation -
performance and ensuring no confusion between this and the theater API
On Fri, Sep 10, 2021 at 9:56 AM Jessica Kulwik @.***>
wrote:

@.**** commented on this pull request.
In
org-code-javabuilder/playground/src/main/java/org/code/playground/ClickableItem.java
https://github.com/code-dot-org/javabuilder/pull/106#discussion_r706333772
:

@@ -0,0 +1,20 @@
+package org.code.playground;

+import java.io.FileNotFoundException;
+
+public abstract class ClickableItem extends Item {
+

/**

* Sets a sound to play when the user clicks on this item.

*

* @param filename the name of the sound file from the asset manager to play

* @throws FileNotFoundException when the sound file cannot be found.

*/

public void setClickSound(String filename) throws FileNotFoundException;

To confirm: We don't want to allow students to build their own sounds,
correct? Just play pre-made sounds? Would we ever want to allow
student-built sounds?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/code-dot-org/javabuilder/pull/106#pullrequestreview-751614854,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJTSFOKTXJ5FXO3GT3DC5DUBI2FRANCNFSM5DXXGSPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


⚠ Samsung has degraded performance

In a9b4fd4, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2484 ms

Resolved: Samsung performance has improved in eddcb5c.


Implement rate limit for score reporting

Scores are reported by the renderers, this is not a sane dev practice. Can easily be DDosed and malicious users can report whatever they want easily.
We can probably ignore fake scores, too bad if you want to cheat yourselves, but we should protect the platform and the DB.
A rate a limit of score submission by user should be enough, 1 score per minute maybe? TBD

Reporting is now done on server from game frames, There's no API for reporting scores, hence rate limit is no longer necessary.


Difference between --no-api and --hide-api?

What is the difference between using --no-api and --hide-api?

--no-api does not take a TAG argument (optparse makes this hard to show) and will ignore objects that do not have an @api tag attached. It's equivalent to --api every --api other --api api --api used. See specs for examples.
--hide-api TAG will hide objects for a particular API tag.

Unfortunately using the --[no-] prefix in optparse does not allow you to take an argument afterward, hence the use of --hide-api for that behavior.


Pass config settings to setuptools_scm

Is it possible to forward settings to the setuptools_scm plugin?
Use case - I am normally happy with the default behaviour of setuptools_scm but for publishing to TestPyPi I need to strip the local version, so would like to run something like
python -m build -C tool.setuptools_scm.local_scheme=no-local-version

However I get the error:
ERROR: Unrecognized options in config-settings:
  tool.setuptools_scm

Config settings are something entirely processed by build backends. They have no meaning to plugins. Scikit-build-core choses to make config settings look like pyproject.toml settings and uses them for overrides, but it's not general for plugins - setuptools_scm has no knowledge of this. You can use environment variables to control setuptools_scm.
If dynamic-metadata goes well, then there might be a way to overload settings since it does have the concept of settings, though no recommendation of how a backend would turn config-settings into dynamic-metadata settings (which IMO can't be standardized since config-settings's structure is not standardized).

Config settings are something entirely processed by build backends. They have no meaning to plugins.

Is that the reason why hatch uses tool.hatch.version.raw-options.*? Would implementing something like that be useful here?

I don't think hatch allows overriding from config settings either.
The idea is that if setuptools_scm had a full plugin with dynamic-metadata options (instead of a custom tool section), then we could potentially have a way to override those.


fix: reduce complexity in unittest tearDown method

Coverage: 81.066% (-0.003%) from 81.068% when pulling 18c8ce20404d4705d6ce188bbc98a0cd06d4fe97 on fix/reduce_complexity into 33959c2711bba9ba1f2a35f5a7967e09ef046fc3 on feat/upgrade_dependencies.


Temporarily disable SSE2 optimizations

SSE2 crashes on non-mod-64 videos.
Disable it until a proper fix is found.
Closes #1752

I want to leave open #1715 to represent fixing and reenabling the SSE2 function. This PR will fall back to native code on non-AVX2 CPUs, but that is better than crashing.

Coverage increased (+0.01%) to 71.053% when pulling e95137478b9b43473fbf8f451dd15a79a08074cd on shssoichiro:disable-sse2 into fcbabf9abf213bd060ce27a71acdb27fc80c1b2e on xiph:master.


gmgard block 求物版

I mean, the only way to filter post is to recognize the keywords and don't show those posts. But there is no uniform standards during those posts(post, title, url...). And the title of posts is diversity under this topic.  I have no nice solution temporarily.


calicoctl.cfg example needed

http://docs.projectcalico.org/v2.0/reference/calicoctl/commands/config
has a table of settings, and indicates that calicoctl can load its config from a file (defaults to /etc/calico/calicoctl.cfg) which contains config in json or yaml format.  But that information alone is not enough for me to make up a config file.
The table below details the valid config options.

 Name            | Scope       | Value                                  |
-----------------+-------------+----------------------------------------+
 logLevel        | global,node | none,debug,info,warning,error,critical |
 nodeToNodeMesh  | global      | on,off                                 |
 asNumber        | global      | 0-4294967295                           |
 ipip            | global      | on,off                                 |

With an example, I think that would be much clearer.

@lwr20 I think this just needs to be a link to this doc: http://docs.projectcalico.org/v2.0/reference/calicoctl/setup/etcdv2

Yep - agree that a link to that place with the example would be sufficient.

@lwr20 I think you're confusing two types of configuration.
There is Calico configuration (e.g Felix log level) which calicoctl can configure, and there is calicoctl configuration which tells calicoctl how to connect to the datastore.

You're right.  Now is that going to be a common misunderstanding or am I simply an idiot?...

I'd say common misunderstanding :smiley: The doc should be improved to better explain this.
The doc states:

The calicoctl config command allows users to view or modify low-level component configurations for Felix and BGP.

We should explicitly state this is not for configuring calicoctl nor other general node settings, and add references to

the calicoctl configuration guide: http://docs.projectcalico.org/v2.0/reference/calicoctl/setup/etcdv2
the node configuration guide, once it exists

In the help string, we state:

These commands can be used to manage global system-wide configuration and some
node-specific low level configuration.

Again, we should explicitly state this is for Felix and BGP only.

It's not just for Felix settings - it's for general Calico configuration (Felix, BGP).

The calicoctl config command allows users to view or modify low-level component configurations for Felix and BGP.

I think this is pretty explicit already. I don't think there is anything to do for this issue.
Here's is the usage guide for calicoctl: http://docs.projectcalico.org/v2.2/usage/calicoctl/install-and-configuration
If there are issues with that doc then please open new issues against that page.


[BUG] Windows Photo Viewer doesn't work, application doesn't open graphic files

In version <IP_ADDRESS> after removing "Microsoft.Windows.Photos" app, - default Windows Photo Viewer doesn't work. I did not tried on previous builds. (<IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>..)

After clicking on any jpg,bmp,tif file nothing is happens, PhotoViever seems to be installed but maybe there is an associations problem.

Image Name: Windows 10 Enterprise
Image Build: 18363.815
Host Environment: Windows 10 Enterprise 1909
Parameters Passed: WindowsApps "whitelist"

On WhiteList i left only:
"Microsoft.DesktopAppInstaller",
"Microsoft.StorePurchaseApp",
"Microsoft.VP9VideoExtensions",
"Microsoft.WindowsStore",
"Microsoft.XboxIdentityProvider"
I removed Microsoft.Windows.Photos to get default Windows Photo Viewer.
In the log file: "RegistrySettings.log" there is information that: "Restoring Windows Photo Viewer."
Las time I used script version Optimize-Offline <IP_ADDRESS> and there I had this message and PhotoViewer did work.
Optimize-Offline.log
PackageSummary.log
RegistrySettings.log
OptimizeErrors.log

I am able to right-click and select the 'Open With..." sub-context menu where it gives me the option of selecting the default Windows Photo Viewer. Do you not have that option?

Thank you for your answer. I have sub-context menu but when I selecting Windows Photo Viewer nothing happens. I tried the newest script version <IP_ADDRESS> and I still have the problem. Graphics files do not open. (jpg, bmp, png, tif). I can see preview of the files, I can set a desktop background. When I download and run this reg: https://www.tenforums.com/attachments/tutorials/198320d1533487488-restore-windows-photo-viewer-windows-10-a-restore_windows_photo_viewer_all_users.reg Photo Viewer starts work.

Can confirm that Photo Viewer doesn't works

The registry code has been updated in the latest build which has fixed this issue.


input value can't be  edit

import React,{Component} from 'react';
import { Field, reduxForm } from 'redux-form';

const renderInput = field =>{
	return (
    	<input {...field.input} type={field.type}/>
	)
}
const ContactPage =(props)=>(

		<Field
		name="otherMoney"
		component={renderInput}
		type="text"
		/>

)

export default reduxForm({
	form: 'recharge-form'
})(ContactPage);

My Component successfully renders and I can see all the actions being dispatched inside the Redux Dev tools window, but when I try to enter text into the fields it won't do any thing, however the actions are dispatched like I said.

Make sure you are mounting your reducer in the right place. It must be under form in your redux state.
const store = createStore(combineReducers({ form: reducer }))

Yep. What @eligolding said. This code looks okay.

Thank you @eligolding ,the fields is OK.
before:
reducers.jsx
import { reducer as form  } from 'redux-form';

const rootReducer=combineReducers({user,goods,chart, form,})

export default rootReducer

index.jsx
import app from './reducers/reducers.js';
const reducers=combineReducers({app ,routing: routerReducer})

let store = createStore(reducers,composeEnhancers(applyMiddleware(...middleware)))

after:
reducers.jsx

const rootReducer=combineReducers({user,goods,chart})

export default rootReducer

index.jsx
import app from './reducers/reducers.js';
import { reducer as form  } from 'redux-form';

const reducers=combineReducers({app ,routing: routerReducer, form})

let store = createStore(reducers,composeEnhancers(applyMiddleware(...middleware)))

The form reducer must be under the state(state->form), can't the state->app(state->app->form),so it can't work.
this can't work!

this can work!

Whilst it is strongly discouraged, you can mount the redux-form reducer anywhere you like, but you need to tell redux-form how to find it.
If you really want it under state.app.form, you can provide a getFormState config parameter that is state => state.app.form (it defaults to state => state.form).

Hi, I'm sorry for commenting in a closed issue, but it still happens to me... Apparently the form state is mounted correctly

but it still refuses to show any text even though the actions are being dispatched!! :( don't know what else to try..
import React from 'react';
import { Field, reduxForm } from 'redux-form';

const beforeSubmit = (values) => {
  console.log(values);
};

const renderField = ({ input, label, type, meta: { touched, error } }) => (

    {label}

      <input {...input} placeholder={label} type={type}/>
      {touched && error && {error}}

);

const SignInForm = ({ error, handleSubmit, pristine, reset, submitting }) => (
  <form onSubmit={handleSubmit(beforeSubmit)}>

      <Field name="email" type="text" component={renderField} label="Email" />
      <Field name="password" type="password" component={renderField} label="Password"/>

    {error && {error}}

      <button type="submit" disabled={submitting}>Sign In</button>
      <button type="button" disabled={pristine || submitting} onClick={reset}>Clear Values</button>

  </form>
);

SignInForm.propTypes = {
  error: React.PropTypes.any,
  handleSubmit: React.PropTypes.func,
  pristine: React.PropTypes.bool,
  reset: React.PropTypes.func,
  submitting: React.PropTypes.bool,
};

export default reduxForm({
  form: 'signin',
})(SignInForm);

Hi @xavifuefer, it's better if you can provide us a minimal reproducible demo.
Start from here: https://jsfiddle.net/gustavohenke/48814zsq/

Hi @gustavohenke can't reproduce it with jsfiddle. All I did was cloning https://github.com/react-boilerplate/react-boilerplate and creating that simple form element from my previous post.. :(

I can see now that the problem is that I'm trying to use redux-form and I should use redux-form/immutable instead. From https://github.com/react-boilerplate/react-boilerplate/issues/1244

I spent almost 10 hours to find the solution of this problem.
I finally read @xavifuefe's solution!
Yeah!, @xavifuefer has perfect solution. Thank you!

Can someone explain to my as to why the solution with the immutable import works? What is going on under the hood?
I'm running into a similar problem when integrating Redux forms with PouchDB. redux-pouchdb requires one to wrap the reducers using a proxy reducer. The form is non-functional as mentioned above.

@aanchan and in case anyone comes back to this. Make sure you just your reducer directly to your rootReducer with a form key.  I can see your reducer is wrapped using pouchDB, It should still work.
import { combineReducers } from 'redux';
import { reduxTokenAuthReducer } from 'redux-token-auth';
import { reducer as reduxFormReducer } from 'redux-form';

export default combineReducers({
  form: reduxFormReducer,
  reduxTokenAuth: reduxTokenAuthReducer
});

In your case form: formReducer:
import { combineReducers } from 'redux';
import formReducer from './wrappedReducers';
import { routerReducer } from 'react-router-redux';

export default function createReducer(extraReducerObjects = {}) {
  return combineReducers({
    routing: routerReducer,
    form: formReducer,
    ...extraReducerObjects
  });
}


Update conceptualindex.md

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/conceptualindex.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update peers window "Transaction Relay" label and tooltip

to current v24.0 p2p behavior.  Similar updates have been made to RPC getpeerinfo and CLI -netinfo.

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts
Reviewers, this pull request conflicts with the following ones:

#bitcoin/bitcoin/26361 (NO MERGE gui test [skip ci] [ci skip] by MarcoFalke)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.


⚠ Site ANTS has degraded performance

In 017a3cd, Site ANTS (https://ants.gouv.fr) experienced degraded performance:

HTTP code: 200
Response time: 3214 ms

Resolved: Site ANTS performance has improved in 387b5c3.


set default statsite flush interval to 60s

The default graphite retention in synthesize is on the 60s boundary.  Having statsite flush every 10s by default causes incorrect data.  This proposes a fix to that.

Actually, I'd rather see the schema updated to include a policy for statsite at 10s. What do you think?

Yeah, that sounds like a better solution.  Closing this one out.

:heart:


WebKit status page has been retired, remove webkit_id

The WebKit status page has been retired.
The website https://webkit.org/status/ shows now the following message:

The WebKit Feature status page has been retired.

Pointing people to MDN or Can I use?, so this shouldn't point people back to the retired page.

Note the issue to add support for that was still open #1808, maybe it can be closed after this is merged.

Thanks for sharing! And disappointing, not but not surprising.
Note that the data here's generated from the site's database though so it's not just a matter of removing it in the repo. It's probably time to remove ie_id and firefox_id as well though since those have been defunct for a while. So I'll go ahead and take care of removing all three in the near future. Thanks again!


Unit tests pass with both Python 2.7.11 and 3.5.0

Fix issues introduced by https://github.com/humangeo/DateSense/pull/1

Package is again functional in Python 2.7
Unit tests no longer produce a syntax error in Python 3

Your solution is not my preferred solution, and I don't appreciate the combative tone you've taken with your DMs to me. Since you have no interest in incorporating feedback and there are no production users of this code. I'll just accept your changes so that you will stop sending me angry messages.

Thanks for pointing out that we need to have a code of conduct for any
contributors.
On Thu, Apr 26, 2018, 4:20 PM Sophie Kirschner<EMAIL_ADDRESS>wrote:

I apologize for commenting here, contrary to my claim in the most recent
angry message that I was disengaging, but I wanted to say thanks for
merging the fix and to hopefully clarify the situation for anyone passing
by who is not privy to the DMs in which you accused me of bullying and
aggression and issued insults. (When I said I was disengaging, I had not
expected you to follow up your private insults with publicly-visible ones!)
Thanks for finally merging. 👍
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/humangeo/DateSense/pull/2#issuecomment-384776318, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAckCvd4j0UsZKS0H4IRMUENTLYmgta7ks5tsiwDgaJpZM4Tj3Hi
.

@sfairgrieve I appreciate that it is being discussed.
Unfortunately, Kevin did not specify what he was looking for. His comment derided my solution without offering improvements or alternatives. Moreover, by no means should it have been a blocking issue. The tests were failing for this repository for any version of Python, 2.x or 3.x until this PR was merged. A cleaner solution could have been discussed afterward. His intention was not to improve code quality, it was to obstruct my attempt to fix his mistake. If he was concerned with the quality or stability of this project, he would not have so readily merged the prior PR.
I will not compromise on the project which I consider to be my responsibility. If there is the opportunity for this to happen again with this original repository, then I will solve the problem by maintaining a fork instead. I recognize that Kevin's were the actions of one employee, but if I am not given write access then I will consider it to be an endorsement of his behavior; in this case my changes or additions will be licensed such that HumanGeo will not benefit from my future work on this package.


right-click move to trash broken

I ran it on a file in a subfolder.  The first time, the view changed from the default folder to the subfolder (fale) and the file did not move (fale)
The second time the file did not move (fale)

Click on a file, then right-click on the same file to bring up the menu:  file is re-rendered before the menu comes up.

Only on file field.  fdvt works


CLI for Graph

Closing this for now - we'll add this back when we have a chance to properly support it


[gitlab] A6+A7 builds on the same pipeline

What does this PR do?
This PR does a few things:

Allows building A6 and A7 artifacts, this introduces changes in a few places: duplicate tasks for each of the relevant gitlab jobs:

omnibus builds
kitchen tests
docker image builds
pkg size metric submission
artifact deploy to staging repos

invoke task updated to handle both agent versions (further changes might be necessary here to accommodate for the RFC implementation, but all should be straight-forward) - currently we still rely quite heavily on the PYTHON_RUNTIMES environment variable. It would probably make sense to sub that out for AGENT_BUILD or similar, something more explicit.
New builders (shipping both py2 and py3 with miniconda).
The new builders have allowed us to enable full unit testing on both debian and rhel-based images (- systemd on CentOS).
Python3 is now the default build when calling invoke.

Motivation
A7 preparation.
Additional Notes
Related PR: https://github.com/DataDog/datadog-agent-buildimages/pull/20
Further changes to the implementation will be necessary to match the tagging RFC work. That said, it should all translate fairly easily given the RFC draft.
Some follow-up on the CircleCI pipeline should be necessary too - to cover py2+py3 testing there.
Some windows kitchen tests on A7 have been split off into their own jobs because of unexpected failures. We will address those separately.

Also @xlucas there are no objections to cleaning up the YAML with includes and extends directives, or we could maybe even look at alternative approaches. In any case, could we do that in a separate PR? The goal should be too merge this ASAP.


Strangeness with generics and callbacks.

I will confess i am not running the reference checker, so IDK if this is just intellij's implementation or i'm misunderstanding the nullness rules.
code in question is here https://github.com/bowbahdoe/json

Where the method at issue appears to be here
    static <T extends @Nullable Object> T field(
            Json json,
            String fieldName,
            JsonDecoder<? extends T> valueDecoder
    ) throws JsonDecodeException {

My read was that this is a method which accepts any type, including nullable types, but if the decoder didn't admit null as a possible return value that the result shouldn't either.
More relevant code
public interface JsonDecoder<T extends @Nullable Object> {
    T decode(Json json) throws JsonDecodeException;

    static int int_(Json json) throws JsonDecodeException {

Is this a consequence of some unification rules? Like
T extends @Nullable Object, ? extends T where T == Integer still sees @Nullable Integer as a valid super-type?

For most frameworks you need to use the type witness notation because it can't properly deduce from the left hand.
I did not test your case on IntelliJ but Eclipse null analysis will do the same thing.
To fix it you would do something like:
JsonDecoder.<Integer>field(....);

That does not seem to work in this case

Yes but intellij null analysis isn’t really type based last time I checked.
Eclipse and Checker are. Try those guys.
Check out this action I use that tests with both: https://github.com/jstachio/jstachio/actions/workflows/analyze.yml

Your understanding of the meaning of the code looks correct to me, as well. I, too, would expect the Checker Framework and our reference checker to get this correct (though no guarantees :)), likely including without the explicit type argument. I haven't used Eclipse enough to predict how it would behave, but I would not be surprised to see it work, either.
While IntelliJ (IIRC) can understand generics in some case (e.g., Future<@Nullable String>.get(), maybe?), this looks like a case I remember from testing IntelliJ on Guava: It's been a few years, but I think I was seeing T extends @Nullable Object lead IntelilJ to treat all usages of T as if they might be nullable, without regard to substitution.
The IntelliJ folks fixed some of the problems we reported with Guava. But given that Guava is a much heavier user of generics than the average project, they didn't try to deal with everything that came up frequently for us. (Not to mention that full handling of generics is quite a pain to implement.)
I'd encourage you to file an IntelliJ bug. Even if it doesn't get a quick fix, it should help to start establishing how often "real users" encounter some of the remaining issues in IntelliJ's support.

👍 https://youtrack.jetbrains.com/issue/IDEA-341808/T-extends-Nullable-Object-should-not-always-be-treated-as-nullable.

I agree with @cpovirk . Ironically given how well IntelliJ does so many other things I have found it to be lacking on null analysis when it comes to generics and when I went code diving trying to figure out how it worked it appears to be far different than the others.
When I have run into this issue usually with Streams is that Checker is the only one that seems to get it consistently right but I'm haven't been using the reference checker lately.
Eclipse needs the type witness notation for some reason that I think Stephan explained to me in  a chat room once. I will check with them after the holidays to find out why or what is the limitations.
Across my projects I plan on adding null analysis using each tool in my CI pipeline. I am currently missing IntelliJ (I just found out last year you can run its check stuff headless), and JSpecify reference checker. My hope is to somehow codify it into a Github action (one for maven and one for gradle... might not even just be put this Maven profile in your script etc) for library authors to quickly play with the various frameworks and to find inconsistencies.

Is this issue closeable now?


Fix for PvE replays

Currently ROFLPlayer will throw an error if a team does not have any players.

Fixed in https://github.com/andrew1421lee/ROFL-Player/commit/c30f61e983f78831547cc7fd22040f157b414fd4


With search term "org file + heading", top level headings ignored

Say I have a file called abcd.org:
* foo
** f bar oo

Now if I do the normal search for headlines and my search term is foo, then it will find * foo. However, if my search term is abcd foo or abcdfoo (because the filename is abcd.org), then it will not find * foo but will match another headline. In this case, it could match ** f bar oo.

Ah, yes. This is a quirk which I put in with a little bit of intension. I switched the order of filename and headline during filtering, because I found myself most often having a headline in mind and then, when the results are too much, filtering this down by the filename. But I didn't switch the order of the columns, because I want to use the fixed column for the filename and had issues, putting this fixed column to the right.
But I acknowledge, that this is a bit counter-intuitive. So thanks for the feedback.

For now as a workaround search for fooabcd, which will work.

I can totally see myself in the situation where I remember the headline first and then when I search for it and I see that there are too many results, I want to add the filename to find the right headline. So in that case I would enter the search terms in the order you described above.
I don't know if it is possible, but it would be great if the order in which I put the search terms for file name, first headline, second headline etc didn't matter at all.

I just noticed that searching for toplevel headline + second level headline also doesn't work. Is it true then that the only combinations how one can search is
First headline + org file
Second headline + org file
Third headline + org file
etc.? I.e. the following are all not possible:
first headline + second headline
second headline + first headline
org file + first headline
org file + second headline
I could see all of these be relevant. But I don't know how constrained telescope is for this kind of searching.

What you expecting might be a nice feature addition, but it's actually not, how it is implemented. The plugin generates a flattened list of all headline titles, no matter of its level. It shows the level, but it doesn't include the parent headline in the base string for filtering.
Actually it would be possible to implement that. The problem I see is the following: You don't want to actually SHOW all those parent headlines, because it is way to long. So you include the parent in the filtering string, but not in the display string. The thing is, that you then get a lot of results, which are unexpected, because the filter you typed is not matched by the entries you see on the screen. It is a double-edged sword.
There are a few of these useability quirks where I am currently reaching the limits of my understanding of Telescope, or indeed the limits of Telescope's capabilities. Finding a well balanced usability that is flexible and powerful to satisfy the advanced user, but doesn't break with the expectations of a beginner, is actually not easy.
I think I'll have to put a bit more brainpower into feature design before I implement an improvement. However, I am very open to good suggestions and constructive discussion.

Thanks for your detailed thoughts. I think I understand exactly the problems you described. One first idea would be:
In the display string ("Results" window), you only display the org file + the lowest level headline, no matter what the user searched for. This is because the lowest level headline is the most specific to what the user actually wants. And then in the "preview" window on the right, you display the full hierarchy.
I.e., the org file is abcd.org:
* first
  some text
  more text
** second
   unrelated text
*** third
    text underneath the third headline

And the user searches for abcfithi (for abcd.org first third, the user omitted second but it doesn't matter). So then in the "Results" the display string would be abcd.org third. But if the user selects this result, then in the "Preview" window, it displays:
* first
** second
*** third
    text underneath the third headline

So here the text underneath the third headline is also included such that the user has some more info on the result he found.

@Maltimore Thanks for your ideas. In my opinion it is a complete new mode. I am open to review a PR, but I don't see myself implementing this feature. Therefore I close this issue for know.


Missing dependencies swallowed by routes compilation

According to this comment, the hello world example had a missing dependency, but the error was swallowed by the code compilation process. We should fix that and make it throw a good error.

This is addressed by #80.

Just landed #80.


Make configuring "Logout" url more prominent

The default logout is made for basic auth and is configurable to other URLs but is hidden here: https://osc.github.io/ood-documentation/master/infrastructure/ood-portal-generator/configuration.html#configure-logout-redirect
This and other authentication related configuration (using the ood-portal-generator) should be moved to INSTALL > Authentication. In the case of Logout, it should be step 3 in the overview i.e.

Configure Apache Authentication
Setup User Mapping
Configure Logout

https://osc.github.io/ood-documentation/master/authentication/overview.html

Should the docs for other ood-portal-generator things be moved out of legacy section too? The first link is under legacy docs section it seems.

Yes I'll Open a separate issue for moving remaining items out of legacy section


Cumulocity log file request operation with negative timezone is not processed

Describe the bug

Cumulocity log file requests are not processed by c8y-log-plugin when the dateFrom and/or dateTo fields use a negative timezone offset, e.g. 2022-12-05T16:14:37-0500
Symptoms

Cumulocity log file request operation remains in PENDING status (eventhough the operation is delivered via MQTT to tedge)
Error visible in c8y-log-plugin service: ERROR c8y_log_plugin: Incorrect SmartREST payload

To Reproduce

Install the c8y-log-plugin
Add a log file to the /etc/tedge/c8y/c8y-log-plugin.tomlfiles = [
    { type = "software-management", path = "/var/log/tedge/agent/software-*" },
    { type = "mosquitto", path = "/var/log/mosquitto/mosquitto.log" }
]

Request a log file using a Cumulocity api call. POST /devicecontrol/operations// Request body
{
  "c8y_LogfileRequest": {
      "dateFrom": "2022-12-04T16:14:37-0500",
       "dateTo": "2022-12-05T16:14:37-0500",
       "logFile": "mosquitto",
       "maximumLines": 1000,
       "searchText": ""
  },
  "description": "Log file request",
  "deviceId": "59459538",
  "deviceName": "STC-cartridge_gloss_barman"
}

Expected behavior

Tedge should be able to parse a datetime string which uses a negative timezone offset (e.g. used in the Americas etc.)
Screenshots

c8y-log-plugin output
The journald logs shows that the log file requests which use a negative timezone offset fail, whilst the with the + sign are parsed correctly.
journalctl -u c8y-log-plugin
-- Journal begins at Mon 2022-12-05 15:11:08 UTC, ends at Mon 2022-12-05 15:18:36 UTC. --
Dec 05 15:14:19 6655a42c40f5 systemd[1]: Started Thin-edge logfile retriever for Cumulocity.
Dec 05 15:14:19 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:14:19.810534447Z  INFO init: c8y_api::http_proxy: Initialisation
Dec 05 15:14:20 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:14:20.610948739Z  INFO init: c8y_api::http_proxy: Initialisation done.
Dec 05 15:14:20 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:14:20.610987781Z  INFO c8y_log_plugin::config: Reading the config file from /etc/tedge/c8y/c8y-log-plugin.toml
Dec 05 15:14:46 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:14:46.973653043Z  INFO c8y_log_plugin: Log request received: 522,STC-cartridge_gloss_barman,mosquitto,2022-12-04T16:14:37+0100,2022-12-05T16:14:37+0100,,1000
Dec 05 15:14:47 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:14:47.947458627Z  INFO c8y_log_plugin::logfile_request: Log request processed.
Dec 05 15:18:06 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:18:06.922517139Z  INFO c8y_log_plugin: Log request received: 522,STC-cartridge_gloss_barman,mosquitto,2022-12-04T16:14:37-0500,2022-12-05T16:14:37-0500,,1000
Dec 05 15:18:06 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:18:06.922783514Z ERROR c8y_log_plugin: Incorrect SmartREST payload: 522,STC-cartridge_gloss_barman,mosquitto,2022-12-04T16:14:37-0500,2022-12-05T16:14:37-0500,,1000
Dec 05 15:18:36 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:18:36.274839944Z  INFO c8y_log_plugin: Log request received: 522,STC-cartridge_gloss_barman,mosquitto,2022-12-04T16:14:37+0000,2022-12-05T16:14:37+0000,,1000
Dec 05 15:18:36 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:18:36.615462861Z  INFO c8y_log_plugin::logfile_request: Log request processed.
Dec 05 15:18:36 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:18:36.615524611Z  INFO c8y_log_plugin: Log request received: 522,STC-cartridge_gloss_barman,mosquitto,2022-12-04T16:14:37+0000,2022-12-05T16:14:37+0000,,1000
Dec 05 15:18:36 6655a42c40f5 c8y_log_plugin[53]: 2022-12-05T15:18:36.896399903Z  INFO c8y_log_plugin::logfile_request: Log request processed.

Environment (please complete the following information):

OS [incl. version]: Tedge running under a systemd enabled Debian 11 (bullseye) container. Host is MacOS (using colima)
Hardware [incl. revision]: docker container
System-Architecture [e.g. result of "uname -a"]: aarch64 / arm64
thin-edge.io version [e.g. 0.1.0]: 0.8.1

Additional context

It looks to be a custom date parsing error in the following file:
File: crates/core/c8y_api/src/smartrest/smartrest_deserializer.rs
Line: 176
It assumes the timezone information always using a + separator when there is no : in the timezone information. Below is the full function which is causing the problem
fn to_datetime<'de, D>(deserializer: D) -> Result<OffsetDateTime, D::Error>
where
    D: Deserializer<'de>,
{
    // NOTE `OffsetDateTime` is used here because c8y uses for log requests a date time string which is not compliant with rfc3339
    // c8y result:
    // 2021-10-23T19:03:26+0100
    // rfc3339 expected:
    // 2021-10-23T19:03:26+01:00
    // so we add a ':'
    let mut date_string: String = Deserialize::deserialize(deserializer)?;

    let str_size = date_string.len();
    // check if `date_string` does not have a colon.
    let date_string_end = &date_string.split('+').last();
    date_string = match date_string_end {
        Some(string) if !string.contains(':') => {
            date_string[0..str_size - 2].to_string() + ":" + &date_string[str_size - 2..str_size]
        }
        _ => date_string,
    };

    match OffsetDateTime::parse(&date_string, &format_description::well_known::Rfc3339) {
        Ok(result) => Ok(result),
        Err(e) => Err(D::Error::custom(&format!("Error: {}", e))),
    }
}

Tested, bug not reproducable


mergerfs.fsck: getxattr() takes no keyword arguments

I'm trying to use mergerfs.fsck on a system with python-2.7.10 and pyxattr-0.5.5 and I get this error message.
Traceback (most recent call last):
  File "./mergerfs.fsck", line 192, in <module>
    main()
  File "./mergerfs.fsck", line 178, in main
    check_consistancy(fulldirpath,verbose,size,fix)
  File "./mergerfs.fsck", line 130, in check_consistancy
    paths = getxattr(fullpath,"user.mergerfs.allpaths").split('\0')
  File "./mergerfs.fsck", line 122, in getxattr
    return xattr.getxattr(path,key,symlink=True)
TypeError: getxattr() takes no keyword arguments

It runs if I remove the keyword argument on line 122 so it looks like
return xattr.getxattr(path,key,True)

What platform is this? I was planning on moving all these to python3.

It's a Gentoo Linux system.
/usr/bin/python defaults to python2 on my system but python3 is also available as /usr/bin/python3. There is a Gentoo tool for setting which interpreter /usr/bin/python should point to. Having it set to python2 is usually the safe thing to do.

Okay. Rather than fix this particular issue I'll port it to python3 and hopefully that'll help given pyxattr is no longer needed.

Still having this issue, Fedora 23 x64.


Failed to initialize (Newest Space Engineers Update 10/14/2024)

My Error Log:
2024-10-14 16:48:44.013 - Thread:   1 ->  Info: Multigrid Projector: Loading client plugin
2024-10-14 16:48:44.104 - Thread:   1 ->  [PluginLoader] [Error] Failed to initialize viktor-ferenczi/multigrid-projector|Multigrid Projector because of an error: System.NotSupportedException: Refusing to load the plugin due to potentially incompatible code changes in the game:
Body of patched method MyProjectorBase.GetObjectBuilderCubeBlock has changed: actual 3bff3fea, expected 66247c3b"
Body of patched method MyProjectorBase.InitializeClipboard has changed: actual 2f55ee2e, expected b7140f1d"
Body of patched method MyProjectorBase.RemoveProjection has changed: actual c0739d3a, expected f6fc8084"
Body of patched method MyProjectorBase.Remap has changed: actual 73db0d9e, expected bce65541"
Body of patched method MyProjectorBase.UpdateAfterSimulation has changed: actual df3f0506, expected 47184779"
Body of patched method MyMechanicalConnectionBlockBase.CreateTopPart has changed: actual 439d944c, expected 192978a5"
Body of patched method MyMechanicalConnectionBlockBase.RecreateTop has changed: actual fab7476f, expected 322f8da0, 88379421"
Body of patched method MyMechanicalConnectionBlockBase.CreateTopPartAndAttach has changed: actual 7af10869, expected e1d2892d"

There is also a Performance Improvements Error. I will submit the logs for the error in a issue there.

Both of them have been fixed and released since.
MGP 0.7.4 has been released, which is compatible with game version 1.205.023


Fix broken testsuite-shading when using with netty-tcnative-boringssl…

…-static
Motivation:
2109f14c24f90df3f43aee7f3248ac59e6088735 corrected how we run the testsuite with boringssl-static but missed to also adjust the testsuite-shading configuration which lead to test failures.
Modifications:
Correctly compose the native lib name when no classifier is used.
Result:
Testsuite passes again.

Everyone loves xml ;)


[ie/litv] Fix extractor + bypass georestriction

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
This PR fixes the LiTV extractor, which is currently broken since www.litv.tv changed.
As a new feature, it also bypasses georestriction using X-Forwarded-For header.
Template
Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Thank you for the thorough review, @bashonly. I think I have addressed all your comments.

I’ve addressed the your comments.


[KYLIN-4827] Fix SparkMergingDictionary parallelize not work.

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to Kylin?
Put an x in the boxes that apply

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

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have create an issue on Kylin's jira, and have described the bug/feature there in detail
[ ] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[ ] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If this change need a document change, I will prepare another pr against the document branch
[ ] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at user@kylin or dev@kylin by explaining why you chose the solution you did and what alternatives you considered, etc...

Pull Request Test Coverage Report for Build 6581

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
12 unchanged lines in 6 files lost coverage.
Overall coverage decreased (-0.006%) to 28.043%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkMergingDictionary.java
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

core-dictionary/src/main/java/org/apache/kylin/dict/lookup/cache/RocksDBLookupTable.java
1
81.08%

tool/src/main/java/org/apache/kylin/tool/query/ProbabilityGenerator.java
1
81.58%

core-cube/src/main/java/org/apache/kylin/cube/cuboid/TreeCuboidScheduler.java
2
68.46%

core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
2
79.07%

stream-core/src/main/java/org/apache/kylin/stream/core/storage/CheckPointStore.java
2
73.74%

core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
4
78.12%

Totals

Change from base Build 6578:
-0.006%

Covered Lines:
26253

Relevant Lines:
93618

💛  - Coveralls

How much performance improvement from this change? I'd like to know it. Thanks!

@shaofengshi  In sample cube, merge two month data, did not seen any promote. But in production env it can fix GC job failed issue.

thanks Ted, it looks good to me!


Allow to pass format context URL to muxer builder.

Certain muxers (e.g. dash) use this context field to determine the base directory for output files, as they cannot get it from avio.

This library is designed to use custom avio to integrate nicely with Rust IO traits (Read, Write, Seek). If I'm not mistaken, filling in the url field can lead to ffmpeg opening it's own files/sockets. I understand that certain muxers/demuxers work this way (i.e. all muxers/demuxers that work with media split across multiple resources). However, this might not be desirable if you use this library for example in an application using asynchronous IO.
If we allow this, the set_url() method should have a documentation explaining what it does and there should be a big warning saying that filling the URL can cause the ffmpeg to open its own files/sockets.

Hi @xaep! Are you working on any updates on this PR? I've just merged your other PR (#13) and I'm wondering if I should create a new release now or if I should wait also for this PR to be merged.

Hello,
I've added rustdoc comment with a warning. Please let me know if there's anything else I can do to specify that this method is essentially a hack (maybe hide it behind cargo feature?).
Thanks!

Thx. I'm OK with the comment for now. Maybe we'll hide it behind a feature flag later.


ControlNet won't find models from Automatic 1111 server

Describe the bug
Hello, I successfully installed AI-Render to run locally on my Windows 10 workstation. Now I'm trying to enable ControlNet from AI-Render's interface in Blender, but when I hit "Load Models from Automatic1111" I get this error:
"Couldn't get the list of available ControlNet models from the Automatic111 server. Make sure ControlNet is installed and activated."
I do have ControlNet installed with many models on my Automatic1111, but AI-Render somehow is not able to see it. Am I missing something?
Thank you so much for this incredible tool and for your precious time.
Kindest
Andrea
To reproduce

Install Blender 3.5.1
Install Automatic 1111 web-UI to run locally
Install ControlNet + models
Install AI-Render
Within Ai-Render Blender's UI, under the ControlNet dropdown section, click on "Load Models from Automatic1111

Error log
ControlNet models returned from Automatic1111 API:
{'detail': 'Not Found'}
AI Render Error: Couldn't get the list of available ControlNet models from the Automatic1111 server. Make sure ControlNet is installed and activated. Get help
fake_module: addon missing 'bl_info' gives bad performance!: 'C:\Users\intern\AppData\Roaming\Blender Foundation\Blender\3.5\scripts\addons\Animated Render Border v3_0.py'
Environment

Blender version (upper right corner of splash screen): 3.5.1
AI Render version (find in Preferences > Add-ons): 0.7.8
Operating system (Windows/Mac/Linux): Windows 10

Screenshots/video

Additional information

Hello Ben,
thank you for your answer, I think re-launching the web-UI from cmd did the
work, now it's working.
Kindest,
Andrea
Andrea Avellino
Co-Founder
+39 375 54 67 937
@.***
New Format IO GmbH
newformat.io http://www.newformat.io/
@newformat.io https://www.instagram.com/newformat.io/
This E-Mail and any attached files are confidential and may be legally
privileged.
Disclosure, reproduction, copying, distribution or use of this
communication by other than its addressee is prohibited.
If you received this E-Mail in error, please notify the sender and delete
it immediately.
E-Mail transmission cannot be guaranteed to be secure or error free as
information could be intercepted,
corrupted, lost, destroyed, delayed or incomplete, or contain viruses.
The sender does not accept liability for any losses incurred as a result of
this E-Mail transmission.
On Wed, May 10, 2023 at 5:59 PM Ben Rugg @.***> wrote:

Do you have Automatic1111 running in API mode? That would be my first
guess. See instructions here:
https://github.com/benrugg/AI-Render/wiki/Local-Installation
—
Reply to this email directly, view it on GitHub
https://github.com/benrugg/AI-Render/issues/102#issuecomment-1542449863,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3PA5DTUREYCPQMI5QOH6TLXFO3N7ANCNFSM6AAAAAAX43E3KQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Ok, great - thanks for the update!


Auto ping/pong ,timeout,ping_timeout,event_loop

I have several questions, I am connecting to several WebSockets and using this library as a python client to receive information from these ws.

Does websockets library automatically respond to a ping message from a server and send a pong back? Or will i need to implement this myself?

Does websockets library automatically send ping to the servers once in a while to make sure the connection is still active? Or do I need to implement this myself?

What do the timeout and ping_timeout arguments actually do? I've tried setting them to see if the WebSocket automatically disconnects if i turn my wifi off. However it seems like the code is  stuck in the message = await websocket.recv() line

Can i run multiple websockets in the same event loop by passing the loop arguement in the websockets.connect() line? Would this have any performance implications compared to starting multiple threads and new event loops for each websocket?

I have found several similar issues in this thread but not very sure on if its implemented since setting the ping_timeout and disconnecting wifi does not seem to cause a disconnection after the timeout period. The disconnection only seems to happen when i turn wifi back on.
https://github.com/aaugustin/websockets/pull/449
            try:
                async with websockets.connect(url, ssl=True, timeout=self._timeout, ping_timeout=2) as websocket:
                    while self._uds_status:
                        try:
                            message = await websocket.recv()
                            events = json.loads(message)
                            print(events)
                        except Exception as e:
                            print("uds_ws_connect, Err:(%s) Restarting socket manager!"%(e))
                            await websocket.close()
                            self._uds_status = False
            except Exception as e:
               print("Exception occured at uds_ws_conenct(), %s"%e)

1/2/3: See the WebSocketCommonProtocol API description for an explanation of ping_timeout. It's active by default, so you don't need to manually send ping messages or manually respond to them.
4: It's possible. Performance implications depend on your use case but threading is unlikely to be of help due to the GIL. Consider running blocking code in a thread pool or process pool instead.

@lgrahl , thanks for the great response. Answered most of my questions.
For number 4. I have been trying to run two WebSockets in the same event loop but this doesn't seem to work. I can't seem to connect to both the WebSockets.  However running multiple WebSockets on different threads, and each thread creating a new event loop, seems to work properly.

@lgrahl , you were right. Got it to work.
Been testing out the performance difference in opening up 51 WebSockets and subscribing to them using two different designs.

Run a single event loop, and run all the WebSockets in the same loop
Create 51 threads each creating a new event loop that handles each WebSocket

I have only tested both scripts out for a few minutes on my mac and the results below are from activity monitor on mac.

Runs 103 threads, and uses about 4 % CPU
Runs 21 threads and uses about 3.8% CPU

I was expecting the GIL to have a much harsher performance degradement. Could this be because in Design 1, all that the threads are doing are creating event loops and waiting for them to run_until_complete, thus the context management is still asynchronous?
Very curious to try to understand why this might be.
Attached is a code snippet of the difference between design 1 and design 2 . Both the pieces of code simply calls a function md_ws_connect(pair), which connects to a websocket and gets market data for the currency pair every second.
Design 1
def md_threads_init():
    global crypto
    all_threads = {}

    for coin in crypto:
        pairusdt = coin + 'usdt'
        pairbtc = coin + 'btc'
        paireth = coin + 'eth'
        all_threads[pairusdt] = threading.Thread(target = md_async_loop_init, args=(pairusdt,))
        all_threads[pairbtc] = threading.Thread(target = md_async_loop_init, args=(pairbtc,))
        all_threads[paireth] = threading.Thread(target = md_async_loop_init, args=(paireth,))

    for pair in all_threads:
        all_threads[pair].start()

def md_async_loop_init( pair):
    loop = None
    try:
        # start loop and run until complete
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
        # code will be stuck here during execution and move to socket manager
        loop.run_until_complete(md_ws_connect(pair))
        # the code will only reach this block if md_ws_connect returns
        loop.close()
    except Exception as e:
        print("md_async_loop_init() Err:(%s)"%e)
        if loop:
            loop.close()

    print("finished ASYNCH MarketData thread process for pair: %s" % ( pair), True)

Design 2
def single_loop_no_threads():
    global crypto
    [asyncio.ensure_future(md_ws_connect(coin+'usdt')) for coin in crypto]
    [asyncio.ensure_future(md_ws_connect(coin+'btc')) for coin in crypto]
    [asyncio.ensure_future(md_ws_connect(coin+'eth')) for coin in crypto]
    pending = asyncio.Task.all_tasks()
    main_asyncio_loop = asyncio.get_event_loop()
    # run the tasks until complete
    main_asyncio_loop.run_until_complete(asyncio.gather(*pending))
    main_asyncio_loop.close()

Hrm, I think using an event loop for each connection kind of defeats the purpose of asyncio.
Also, be aware of this and since I agree with @aaugustin I will stick to it. Nothing personal.


Server hangs when doing the Frost Lands ritual (in Nether?)

General Information
Describe the bug:
Server hangs and subsequently crashes because tick took longer than 60 seconds whenever anyone logs in or comes close to the active Frost Lands ritual.
java.lang.Error: ServerHangWatchdog detected that a single server tick took 60.00 seconds (should be max 0.05)
	at net.minecraft.world.World.func_175624_G(World.java:3208)
	at net.minecraft.world.chunk.Chunk.func_186032_a(Chunk.java:472)
	at net.minecraft.world.chunk.Chunk.func_177435_g(Chunk.java:467)
	at net.minecraft.world.World.func_180495_p(World.java:912)
	at epicsquid.roots.entity.ritual.EntityRitualFrostLands.func_70071_h_(EntityRitualFrostLands.java:56)
	at net.minecraft.world.World.func_72866_a(World.java:1996)
	at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:832)
	at net.minecraft.world.World.func_72870_g(World.java:1958)
	at net.minecraft.world.World.func_72939_s(World.java:1762)
	at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:613)
	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767)
	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
	at java.lang.Thread.run(Thread.java:748)

To Reproduce:
Unsure, but the player who did this used the ritual multiple (3 to 4) times to create obsidian from lava in the Nether.

Environment Versions
Mystic Mods Versions:

MysticalLib: 1.7.0
Roots: 3.0.28

Other Versions:

Forge: <IP_ADDRESS>54
Minecraft: 1.12.2

Logging Information
Crash Report:
crash-2020-06-25_05.24.14-server.txt
Latest Log:
Doesn't appear to contain anything notable.

Hm. That's odd, I didn't consider the fact that snow isn't placeable in the Nether, ergo the break-out statement never reaches completion. I'll look at doing a 3.0.29 to fix it.

I just realized that the :heart: reactions of my friend and I don't sufficiently express how impressed we are by your quick response, fix and release of an update to the mod. It's not something you can expect of most 1.12.2 mods. Thank you!


update home page

Updated homepage, removed default Next.js UI and added rotating gear icon and work in progress text. Updated Home.module.css to include only the relevant styling that is used for the current UI.
EDIT: Update screen recording
https://user-images.githubusercontent.com/28934218/200672076-143c86a7-1e2d-4c73-a778-f651f2c4e569.mov

Duly noted and will do. Appreciate the feedback.

Just updated commit with slower spinner speed and added animation for ellipses as well as the screen recording in the original comment to reflect these changes. Please let me know what you think.

As requested, modified the text to stay in its position as the ellipses animate. Also added additional text beneath and included a media query to ensure the text looks fine on mobile as well.
https://user-images.githubusercontent.com/28934218/200681800-82446cd9-f296-4f33-bcc1-91f2163f9669.mov


Pi 4 doesn't seem to be compatible with Buster on a fresh install

Last night, I updated one of my earliest articles to reflect the fact that Buster isn't available in the Raspberry Pi Imager software anymore. Upon testing, I discovered that the Pi 4 apparently now requires Bullseye or Bookworm.
I also saw this post on the Pi forum.
Good thing, we almost have Pi3D PictureFrame running on Bookworm.
Can anybody confirm the Pi 4 incompatibility with Buster?

I found a more recent Buster image that works on the Pi4: https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-05-28/
That works!

Can anybody confirm the Pi 4 incompatibility with Buster?

yes I can. There was a way around it by overwriting files in the boot directory but hopefully your new image fixes the need to do that

Can anybody confirm the Pi 4 incompatibility with Buster?

yes I can. There was a way around it by overwriting files in the boot directory but hopefully your new image fixes the need to do that

Yes, it does.

I guess we can close this issue.