error: metadata-generation-failed

(LinlyTalkerLaoGao) E:\GaoLLM\Test\LinlyTalkerLaoGao\Linly-Talker>pip install -r VITS/requirements_xtts.txt
Collecting TTS<EMAIL_ADDRESS>(from -r VITS/requirements_xtts.txt (line 2))
Cloning https://github.com/coqui-ai/TTS (to revision v0.21.1) to c:\users\administrator\appdata\local\temp\pip-install-y6ubg7yq\tts_3702a0838f9d47cabc5e0cc2d313aefa
Running command git clone --filter=blob:none --quiet https://github.com/coqui-ai/TTS 'C:\Users\Administrator\AppData\Local\Temp\pip-install-y6ubg7yq\tts_3702a0838f9d47cabc5e0cc2d313aefa'
Running command git checkout -q 00a870c26abdc06429ffef3e2814b1a1d5b40fff
Resolved https://github.com/coqui-ai/TTS to commit 00a870c26abdc06429ffef3e2814b1a1d5b40fff
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pydantic==1.10.13 (from -r VITS/requirements_xtts.txt (line 3))
Downloading pydantic-1.10.13-cp310-cp310-win_amd64.whl.metadata (150 kB)
---------------------------------------- 150.9/150.9 kB 1.8 MB/s eta 0:00:00
Collecting python-multipart==0.0.6 (from -r VITS/requirements_xtts.txt (line 4))
Downloading python_multipart-0.0.6-py3-none-any.whl.metadata (2.5 kB)
Requirement already satisfied: typing-extensions>=4.8.0 in e:\anaconda3\envs\linlytalkerlaogao\lib\site-packages (from -r VITS/requirements_xtts.txt (line 5)) (4.11.0)
Collecting cutlet (from -r VITS/requirements_xtts.txt (line 6))
Downloading cutlet-0.4.0.tar.gz (412 kB)
---------------------------------------- 412.3/412.3 kB 12.6 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting mecab-python3==1.0.6 (from -r VITS/requirements_xtts.txt (line 7))
Downloading mecab_python3-1.0.6-cp310-cp310-win_amd64.whl.metadata (6.3 kB)
Collecting unidic-lite==1.0.8 (from -r VITS/requirements_xtts.txt (line 8))
Downloading unidic-lite-1.0.8.tar.gz (47.4 MB)
---------------------------------------- 47.4/47.4 MB 17.7 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting unidic==1.1.0 (from -r VITS/requirements_xtts.txt (line 9))
Downloading unidic-1.1.0.tar.gz (7.7 kB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: langid in e:\anaconda3\envs\linlytalkerlaogao\lib\site-packages (from -r VITS/requirements_xtts.txt (line 10)) (1.1.6)
Collecting deepspeed (from -r VITS/requirements_xtts.txt (line 11))
Downloading deepspeed-0.14.2.tar.gz (1.3 MB)
---------------------------------------- 1.3/1.3 MB 14.0 MB/s eta 0:00:00
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [36 lines of output]
test.c
LINK : fatal error LNK1181: 无法打开输入文件“aio.lib”
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
系统找不到指定的文件。
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "C:\Users\Administrator\AppData\Local\Temp\pip-install-y6ubg7yq\deepspeed_72617cae880f4f1d8e6c1569fd949e57\setup.py", line 190, in
ext_modules.append(builder.builder())
File "C:\Users\Administrator\AppData\Local\Temp\pip-install-y6ubg7yq\deepspeed_72617cae880f4f1d8e6c1569fd949e57\op_builder\builder.py", line 659, in builder
extra_link_args=self.strip_empty_entries(self.extra_ldflags()))
File "C:\Users\Administrator\AppData\Local\Temp\pip-install-y6ubg7yq\deepspeed_72617cae880f4f1d8e6c1569fd949e57\op_builder\inference_cutlass_builder.py", line 71, in extra_ldflags
import dskernels
ModuleNotFoundError: No module named 'dskernels'
DS_BUILD_OPS=1
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
 [WARNING]  cpu_adam requires the 'lscpu' command, but it does not exist!
 [WARNING]  cpu_adam attempted to query 'lscpu' after failing to use py-cpuinfo to detect the CPU architecture. 'lscpu' does not appear to exist on your system, will fall back to use -march=native and non-vectorized execution.
 [WARNING]  cpu_adam requires the 'lscpu' command, but it does not exist!
 [WARNING]  cpu_adam attempted to query 'lscpu' after failing to use py-cpuinfo to detect the CPU architecture. 'lscpu' does not appear to exist on your system, will fall back to use -march=native and non-vectorized execution.
 [WARNING]  cpu_adagrad requires the 'lscpu' command, but it does not exist!
 [WARNING]  cpu_adagrad attempted to query 'lscpu' after failing to use py-cpuinfo to detect the CPU architecture. 'lscpu' does not appear to exist on your system, will fall back to use -march=native and non-vectorized execution.
 [WARNING]  cpu_adagrad requires the 'lscpu' command, but it does not exist!
 [WARNING]  cpu_adagrad attempted to query 'lscpu' after failing to use py-cpuinfo to detect the CPU architecture. 'lscpu' does not appear to exist on your system, will fall back to use -march=native and non-vectorized execution.
 [WARNING]  cpu_lion requires the 'lscpu' command, but it does not exist!
 [WARNING]  cpu_lion attempted to query 'lscpu' after failing to use py-cpuinfo to detect the CPU architecture. 'lscpu' does not appear to exist on your system, will fall back to use -march=native and non-vectorized execution.
 [WARNING]  cpu_lion requires the 'lscpu' command, but it does not exist!
 [WARNING]  cpu_lion attempted to query 'lscpu' after failing to use py-cpuinfo to detect the CPU architecture. 'lscpu' does not appear to exist on your system, will fall back to use -march=native and non-vectorized execution.
 [WARNING]  Please specify the CUTLASS repo directory as environment variable $CUTLASS_PATH
 [WARNING]  Filtered compute capabilities ['6.0', '6.1', '7.0']
 [WARNING]  Filtered compute capabilities ['6.0', '6.1', '7.0']
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
(LinlyTalkerLaoGao) E:\GaoLLM\Test\LinlyTalkerLaoGao\Linly-Talker>conda install -c conda-forge
CondaValueError: too few arguments, must supply command line package specs or --file

emmmmm，这个应该是dskernels库并没有安装正确，可以尝试使用,pip install dskernels 来安装缺失的库


Fix URL typo in README & docs

Removes wrong / at the end of the link "sunpy documentation" to https://docs.sunpy.org/projects/radiospectra/en/latest/index.html/
(too lazy to open an issue for this, or should I?)

Thanks @jgieseler


Update example to users.update

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

Thanks for the pull request @andyrewlee, can you sign the CLA so we can get this merged?

woo hoo! my first pull request. hopefully more to come :)


Monitoring Consumed Resources

Change Type
Correction
Proposed Changes
https://docs.cloudmydc.com/account-and-pricing/resource-charging/monitoring-consumed-resources

***No changes made yet. Need to remove Jelastic Domain Name.

@dedithc


verify correct heading level for sections

tikibase.json should specify allowed sections in the form ### title. The linter should verify that sections match the specified title.

This is covered with the existing linters.

Reopening because the configuration file format described by this ticket is needed for speedy auto-complete by vscode-markdown-ide.


Update Eclipse to 2023-09-R (4.29)

Hi @dusansimic, I have updated the eclipse-java and eclipse-jee packages to 2023-09-R (4.29) to provide Java 21 Support for Eclipse 2023-09 (4.29).
Following links are reachable:

https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2023-09/R/eclipse-java-2023-09-R-linux-gtk-x86_64.tar.gz&r=1#/eclipse-java-4.29.tar.gz
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2023-09/R/eclipse-jee-2023-09-R-linux-gtk-x86_64.tar.gz&r=1#/eclipse-jee-4.29.tar.gz

I do not know how to test it though… Can you please run the pipeline and see if the rpm gets built? Thanks!

Thanks for the contribution @manojbaishya! I needed to clean up directories that are meant for other platforms so strip could execute on all files (it can't run on .so files meant for other platforms).

You are welcome and thanks for adding the further necessary commands!


Resolve Hostname to IP

Is their any way to add Hostname to ip lookup entry using NEPacketTunnelProvider?

Sorry, I've no idea.
On 2 June 2018 at 00:41, alisolutions<EMAIL_ADDRESS>wrote:

Is their any way to add Hostname to ip lookup entry using
NEPacketTunnelProvider?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lxdcn/NEPacketTunnelVPNDemo/issues/17, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAkQ8S5EwRodhCb2Dn12pqX-_h6Yx19iks5t4TZdgaJpZM4UWoqP
.


Make Data Injections Happen asyc w/ Component Deployment

Description
Data injections used to operate after all the components have been deployed. This is an issue when apps are expecting data before they report themselves as healthy. When this happens the pod is never able to report healthy because their init container is waiting for the data which isn't getting injected because the pods are not reporting healthy yet. A un-fun loop.
This PR moves the data-injection operation at the same time as the component deployment and has the injection happen as a go routine that way once the pods come up the data will be injected in the background.
Related Issue
Fixes #423
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist before merging

[x] Tests have been added/updated as necessary (add the needs-tests label)
[ ] Documentation has been updated as necessary (add the needs-docs label)

update the schema file?

@jeff-mccoy I thought this update would mean that we wouldn't need the loop when checking the data-injection results but that doesn't seem to be the case.

For some reason, the k8s api must be doing some weird cashing things. The exec is not showing files in the volume that should be there because:

we have the init container waiting for the file to exist before the pod starts
we have a ReadinessProbe waiting for the files to exist and Zarf is waiting for all pods to start being continuing with the test
doing a manual  go execkubectl exec POD -- ls /test actually shows the files there.

Because of that I'm going to add the retry loop to the test. 👎


Mention the reason why string to boolean is a always safe in the Type Conversion BBE.

 Issue by nipunthathsara
Monday Sep 17, 2018 at 12:41 GMT
Originally opened as https://github.com/ballerina-platform/ballerina-examples/issues/1000

Description:
Shall we add a comment to explain why string to boolean conversion is always safe.
This will avoid the ambiguity if the type safe occurs because

string true always evaluates to boolean true. Or
string false always evaluates to boolean false

Therefore, shall we mention this is a safe conversion due to 1.

Fixed with https://github.com/ballerina-platform/ballerina-lang/pull/11863

This was fixed, but it seems that the new type conversion BBE needs more comments. Closing this issue since we've created https://github.com/ballerina-platform/ballerina-lang/issues/12703 to track the improvements.


godep save deletes all deps

I have project uses godep for dep management. It installs and runs fine.
I have added some new files and a new library dependency. I then ran:
godep save
godep save -r
godep save -r ./...

but instead of adding my new dependencies this just removes all existing from the Godeps.json and deletes all in _workspace.
What am I missing?
godep v53 (darwin/amd64/go1.5.3)

I was wondering if it's somehow related to https://github.com/tools/godep/issues/401 ... but trying from inside the GOPATH folder does not seem help either.

godep is designed to be run from within your $GOPATH with all of the deps also in the $GOPATH. So if you are working outside of the $GOPATH with symlinks and/or your deps are the same way godep may not work well for you. If you are inside of the $GOPATH though I'd really like to see if we can re-produce this to fix the issue and make a test case for it.

@freeformz I tried both. So yes - all inside the $GOPATH did not work for me.
Is the following structure correct for godep?
export GOPATH=`pwd`/.go

tree .go
├── bin
│   ├── godep
│   ...
├── pkg
└── src
    ├── github.com
    │   ├── project
            ├── Godeps
                ├── Godeps.json
                └── _workspace
                    └── src
                        ├── github.com
                        ...

That seems like  a strange $GOPATH. Normally $GOPATH is something like export GOPATH=$HOME/go. And the you cd $GOPATH/src/<project>, where <project> == something like cd $GOPATH/go/src/github.com/tools/godep; edit code; godep save.

But that is cd $GOPATH/src/github.com/<project> and there I was trying godep save

what version of godep, go, is the vendor experiment turned on or off and (based on the tree output example) I assume the project was created w the vendor experiment turned off....

$ go version
go version go1.5.3 darwin/amd64
$ godep version
godep v53 (darwin/amd64/go1.5.3)

and there is a vendor directory (with only one dep in there) - but I don't see anywhere a GO15VENDOREXPERIMENT=1 (if that's what you are asking).

Hmm. Nothing jumps out as off. I'm going to need the extremely large (possibly) output of godep save -d -v <whatever other args you are using unless you can re-produce it on a public repo.

My setup is without any symlinks. Would be really great if you had an idea.
Here is the output (too big for a comment): http://vafer.org/pub/output.txt.gz

Please try again with v55+ and if there is still a problem please upload a new godep save -d -v <pkg spec>. I fixed a few bugs and added some more debug output (which may help in this case).

I've upgrade to v57 (and go1.6). This is what I get or godep save -d -v:
    $ godep save -d -v
    godep: WARNING: Go version (go1.6) & $GO15VENDOREXPERIMENT= wants to enable the vendor experiment, but disabling because a Godep workspace (Godeps/_workspace) exists
    versionString() godep v57 (darwin/amd64/go1.6)
    majorGoVersion go1.6
    VendorExperiment false
    sep /Godeps/_workspace/src/
    dotPackageImportPath: github.com/foo/bar/backend
    dotPackageDir: /Users/tcurdt/.go/src/github.com/foo/bar/backend
    godep: Go Version: go1.6
    godep: WARNING: Recorded major go version (go1.5) and in-use major go version (go1.6) differ.
    godep: To record current major go version run `godep update -goversion`.
    godep: Finding dependencies for [.]
    LoadPackages [.]
    listPackage .
    findDirForPath . <nil>
    Filling package: github.com/foo/bar/backend from /Users/tcurdt/.go/src/github.com/foo/bar/backend
    Looking For Package: . in /Users/tcurdt/.go/src/github.com/foo/bar/backend
    &build.Package{
        Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
        Name:           "",
        ImportComment:  "",
        Doc:            "",
        ImportPath:     "github.com/foo/bar/backend",
        Root:           "/Users/tcurdt/.go",
        SrcRoot:        "/Users/tcurdt/.go/src",
        PkgRoot:        "/Users/tcurdt/.go/pkg",
        PkgTargetRoot:  "",
        BinDir:         "/Users/tcurdt/.go/bin",
        Goroot:         false,
        PkgObj:         "",
        AllTags:        nil,
        ConflictDir:    "",
        GoFiles:        nil,
        CgoFiles:       nil,
        IgnoredGoFiles: nil,
        InvalidGoFiles: nil,
        CFiles:         nil,
        CXXFiles:       nil,
        MFiles:         nil,
        HFiles:         nil,
        SFiles:         nil,
        SwigFiles:      nil,
        SwigCXXFiles:   nil,
        SysoFiles:      nil,
        CgoCFLAGS:      nil,
        CgoCPPFLAGS:    nil,
        CgoCXXFLAGS:    nil,
        CgoLDFLAGS:     nil,
        CgoPkgConfig:   nil,
        Imports:        nil,
        ImportPos:      {},
        TestGoFiles:    nil,
        TestImports:    nil,
        TestImportPos:  {},
        XTestGoFiles:   nil,
        XTestImports:   nil,
        XTestImportPos: {},
    }
    Done Looking For Package: . in /Users/tcurdt/.go/src/github.com/foo/bar/backend
    &main.Package{
        Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
        Root:           "/Users/tcurdt/.go",
        ImportPath:     "github.com/foo/bar/backend",
        Deps:           nil,
        Standard:       false,
        Processed:      false,
        GoFiles:        nil,
        CgoFiles:       nil,
        IgnoredGoFiles: nil,
        TestGoFiles:    nil,
        TestImports:    nil,
        XTestGoFiles:   nil,
        XTestImports:   nil,
        Error:          struct { Err string }{},
        Imports:        nil,
    }
    godep: Found package: github.com/foo/bar/backend
    godep:  Deps:
    []*main.Package{
        &main.Package{
            Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
            Root:           "/Users/tcurdt/.go",
            ImportPath:     "github.com/foo/bar/backend",
            Deps:           nil,
            Standard:       false,
            Processed:      false,
            GoFiles:        nil,
            CgoFiles:       nil,
            IgnoredGoFiles: nil,
            TestGoFiles:    nil,
            TestImports:    nil,
            XTestGoFiles:   nil,
            XTestImports:   nil,
            Error:          struct { Err string }{},
            Imports:        nil,
        },
    }
    Filtered projectPackages
    []*main.Package{
        &main.Package{
            Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
            Root:           "/Users/tcurdt/.go",
            ImportPath:     "github.com/foo/bar/backend",
            Deps:           nil,
            Standard:       false,
            Processed:      false,
            GoFiles:        nil,
            CgoFiles:       nil,
            IgnoredGoFiles: nil,
            TestGoFiles:    nil,
            TestImports:    nil,
            XTestGoFiles:   nil,
            XTestImports:   nil,
            Error:          struct { Err string }{},
            Imports:        nil,
        },
    }
    godep: Computing new Godeps.json file
    fill github.com/foo/bar/backend
    []*main.Package{
        &main.Package{
            Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
            Root:           "/Users/tcurdt/.go",
            ImportPath:     "github.com/foo/bar/backend",
            Deps:           nil,
            Standard:       false,
            Processed:      false,
            GoFiles:        nil,
            CgoFiles:       nil,
            IgnoredGoFiles: nil,
            TestGoFiles:    nil,
            TestImports:    nil,
            XTestGoFiles:   nil,
            XTestImports:   nil,
            Error:          struct { Err string }{},
            Imports:        nil,
        },
    }
    LoadPackages []
    path [github.com/foo/bar/backend]
    uniq, unqualify'd path [github.com/foo/bar/backend]
    LoadPackages [github.com/foo/bar/backend]
    listPackage github.com/foo/bar/backend
    findDirForPath github.com/foo/bar/backend <nil>
    searching /usr/local/Cellar/go/1.6/libexec/src/github.com/foo/bar/backend
    searching /Users/tcurdt/.go/src/github.com/foo/bar/backend
    Looking For Package: github.com/foo/bar/backend in /Users/tcurdt/.go/src/github.com/foo/bar/backend
    &build.Package{
        Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
        Name:           "",
        ImportComment:  "",
        Doc:            "",
        ImportPath:     "github.com/foo/bar/backend",
        Root:           "/Users/tcurdt/.go",
        SrcRoot:        "/Users/tcurdt/.go/src",
        PkgRoot:        "/Users/tcurdt/.go/pkg",
        PkgTargetRoot:  "",
        BinDir:         "/Users/tcurdt/.go/bin",
        Goroot:         false,
        PkgObj:         "",
        AllTags:        nil,
        ConflictDir:    "",
        GoFiles:        nil,
        CgoFiles:       nil,
        IgnoredGoFiles: nil,
        InvalidGoFiles: nil,
        CFiles:         nil,
        CXXFiles:       nil,
        MFiles:         nil,
        HFiles:         nil,
        SFiles:         nil,
        SwigFiles:      nil,
        SwigCXXFiles:   nil,
        SysoFiles:      nil,
        CgoCFLAGS:      nil,
        CgoCPPFLAGS:    nil,
        CgoCXXFLAGS:    nil,
        CgoLDFLAGS:     nil,
        CgoPkgConfig:   nil,
        Imports:        nil,
        ImportPos:      {},
        TestGoFiles:    nil,
        TestImports:    nil,
        TestImportPos:  {},
        XTestGoFiles:   nil,
        XTestImports:   nil,
        XTestImportPos: {},
    }
    Done Looking For Package: github.com/foo/bar/backend in /Users/tcurdt/.go/src/github.com/foo/bar/backend
    &main.Package{
        Dir:            "/Users/tcurdt/.go/src/github.com/foo/bar/backend",
        Root:           "/Users/tcurdt/.go",
        ImportPath:     "github.com/foo/bar/backend",
        Deps:           nil,
        Standard:       false,
        Processed:      false,
        GoFiles:        nil,
        CgoFiles:       nil,
        IgnoredGoFiles: nil,
        TestGoFiles:    nil,
        TestImports:    nil,
        XTestGoFiles:   nil,
        XTestImports:   nil,
        Error:          struct { Err string }{},
        Imports:        nil,
    }
    standard or dest skipping github.com/foo/bar/backend
    New Godeps Filled
    &main.Godeps{
        ImportPath: "github.com/foo/bar/backend",
        GoVersion:  "go1.5",
        Packages:   nil,
        Deps:       nil,
        isOldFile:  false,
    }
    godep: Computing diff between old and new deps
    []main.Dependency(nil)
    []main.Dependency(nil)
    godep: Rewriting paths (if necessary)
    []string(nil)

Does github.com/foo/bar/backend import anything ? godep isn't detecting any imports or dependencies.

backend is the root folder of the project on looks something like this:
.
├── Makefile
├── cmd
│   └── foo
│       └── main.go
├── db
│   ├── db.go
.
├── http
│   ├── handlers
│   │   ├── status.go
.

Sorry, I've given up on godep and moved on. I am using go1.6 with the standard vendor support now.
Feel free to close or leave it open but I still think it's an issue.

Thanks for trying. I don't understand what you mean by "standard vendor support". Are you not using a tool to maintain vendor/?

Oh, so if backend doesn't contain any files you need to pass godep save a package spec that includes all of the packages you want to have it analyze. This defaults to ., hence nothing is being saved to vendor/. Given the package structure you described, you probably want godep save ./cmd/...

I just mean the go1.6 vendor folder (not a Godeps folder) without import rewriting. For the time being I am using glide to maintain the vendor folder. Not perfect but got the job when I couldn't convince godep to do it. Thanks for the help.

Ahh okay. FWIW: godep writes to vendor/ when go1.6 (or go1.5 + env var) is used. Sorry you had troubles. Do you think there is any way I could update godep or the docs to better convey how save is supposed to be used?

Ah - didn't know about the vendor folder support in godep.
Hm - how did I miss that? That's quite prominent in the docs.
Anyway - what to pass as parameter could indeed be expanded on in docs.
Unless I missed that, too :-p


Tuptime: Init Package, Module and Test

Motivation for this change
NixOS currently does not offer anything comparable (uptime and downtime tracking / reporting)
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)

106198976
du -hs $(readlink result): 64K

[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@aanderse i applied your suggested changes, though github is somehow showing this PR with "changes requested" for non-existent code, can you clear that?

@GrahamcOfBorg test tuptime

The module commit message should probably be nixos/tuptime: init module, and the test nixosTests.tuptime: init test.

done, thanks

Thanks!


Generate commands.md and replace README

If the command help messages become easily parsable, we could just generate the commands page programatically.

See https://github.com/typings/typings/blob/master/docs/commands.md.


handle AGOL layers

Data at https://governmentofbc.maps.arcgis.com/sharing/rest/content/items/4bba119c2e9042d683cc9378fb1e836e/data does not download successfully via ogr. It seems like a config flag is required to correctly handle the redirect to s3 (with token), but I can't tell what that might be.
https://github.com/bcgov/FIT_changedetector/actions/runs/10586427816/job/29335160728

This is an issue with ogr.

will be fixed per https://github.com/OSGeo/gdal/pull/10663

Workaround with existing versions:

$ ogrinfo "/vsizip/{/vsicurl/https://governmentofbc.maps.arcgis.com/sharing/rest/content/items/4bba119c2e9042d683cc9378fb1e836e/data}/CoL_TransportationNetwork Jan 3 2024.gdb"
INFO: Open of `/vsizip/{/vsicurl/https://governmentofbc.maps.arcgis.com/sharing/rest/content/items/4bba119c2e9042d683cc9378fb1e836e/data}/CoL_TransportationNetwork Jan 3 2024.gdb'
      using driver `OpenFileGDB' successful.
Layer: TRN_BRIDGES (Point)
Layer: TRN_DISASTER_RESPONSE_ROUTES (Multi Line String)
Layer: TRN_MEDIANS (Multi Polygon)
Layer: TRN_RAILWAY (Multi Line String)
Layer: TRN_SIDEWALKS (Multi Line String)
Layer: TRN_STREETNAMES (Multi Polygon)
Layer: TRN_BICYCLE_ROUTES (Multi Line String)
Layer: TRN_ROADS (Multi Line String)


[FEATURE REQUEST] Diversity Optimization

Description

Issue to track progress of diversity optimization implementation in pyribs.
General:

[x] Modify the scheduler API to support diversity optimization -> #473

Emitters:

[ ] Modify all emitters to support diversity optimization (i.e., objective should be allowed to be None)
[ ] Add a NoveltyRanker
[ ] Add an NSLC Ranker

Novelty Search:

[x] Add ProximityArchive -> #472, #468
[ ] Add local competition to ProximityArchive

Requires considering nearest neighbor behavior -> if solution is below threshold, compare it to nearest neighbor and replace the nearest neighbor if it has a better objective
Can be turned on with a local_competition flag
Objective should be required to be passed in when using local competition behavior

[ ] Add visualization tool
[ ] Add novelty search to sphere.py
[ ] Add tutorial
[ ] Add threshold reduction to ProximityArchive

Something that makes sense is to add a coefficient, and every time the archive does not add enough solutions for X iterations, we can reduce the threshold by that coefficient. This way, solutions continue to be added to the archive.

DDS:

[ ] Determine what archive to add (if needed)
[ ] Add visualization tool
[ ] Add DDS to sphere.py
[ ] Add tutorial

@btjanaka FYI  I'm working on the Novelty and NSLC rankers right now.

Sounds good; let's put those in a separate PR. By the way, would you like to meet sometime? Perhaps we can chat a bit about pyribs and these things especially since we've greatly expanded the scope beyond your original request. You can reach out to me on the pyribs Discord (https://discord.gg/QxhcJSqZ8G -- I'm username btjanaka) or over email<EMAIL_ADDRESS>

@gresavage I talked with Matt Fontaine in our lab, and we agree your original approach to local competition makes sense. It just seems strange that there is no documentation of it in the NSLC paper. Roughly, if a solution is below the novelty threshold, we should compare its objective to its nearest neighbor and replace if necessary. I'll work on putting that back in.


certificates-relation-changed hook failed: creating secrets: Regular expression is invalid: nothing to repeat

Solutions QA has observed this issue in one of our runs when deploying COS-lite on microk8s 1.28/stable where the non-primary alertmanager unit stays in error state.
The unit's debug logs in the crashdump  show the following error being repeated:
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "juju-log" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 WARNING unit.alertmanager/1.juju-log certificates:30: cannot determine if reload succeeded
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "status-set" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "juju-log" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG unit.alertmanager/1.juju-log certificates:30: Emitting custom event <CertChanged via AlertmanagerCharm/CertHandler[am-server-cert]/on/cert_changed[270]>.
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "relation-set" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "relation-set" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "relation-set" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "relation-set" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "relation-set" for alertmanager/1-certificates-relation-changed-172755738486250708
unit-alertmanager-1: 2024-02-17 00:16:54 DEBUG jujuc running hook tool "relation-set" for alertmanager/1-certificates-relation-changed-172755738486250708
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.muxhttpserver received tls client hello for server name modeloperator.cos.svc
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of /v1, Kind=ServiceAccount in namespace cos
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of /v1, Kind=ServiceAccount in namespace cos
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of rbac.authorization.k8s.io/v1, Kind=Role in namespace cos
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of rbac.authorization.k8s.io/v1, Kind=RoleBinding in namespace cos
unit-alertmanager-1: 2024-02-17 00:16:55 DEBUG juju.kubernetes.provider opening model "cos".
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.muxhttpserver received tls client hello for server name modeloperator.cos.svc
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for cn7vlr7mp25c7b4j91jg-1 of /v1, Kind=Secret in namespace cos
unit-alertmanager-1: 2024-02-17 00:16:55 ERROR juju.worker.uniter.context cannot apply changes: creating secrets: Regular expression is invalid: nothing to repeat
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of /v1, Kind=ServiceAccount in namespace cos
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of /v1, Kind=ServiceAccount in namespace cos
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of rbac.authorization.k8s.io/v1, Kind=Role in namespace cos
model-a0121c38-4204-408f-82f9-6b08d0a522c3: 2024-02-17 00:16:55 DEBUG juju.worker.caasadmission received admission request for unit-alertmanager-1 of rbac.authorization.k8s.io/v1, Kind=RoleBinding in namespace cos
unit-alertmanager-1: 2024-02-17 00:16:55 DEBUG juju.kubernetes.provider opening model "cos".
unit-alertmanager-1: 2024-02-17 00:16:55 ERROR juju.worker.uniter.operation hook "certificates-relation-changed" (via hook dispatching script: dispatch) failed: creating secrets: Regular expression is invalid: nothing to repeat
unit-alertmanager-1: 2024-02-17 00:16:55 DEBUG juju.machinelock created rotating log file "/var/log/juju/machine-lock.log" with max size 10 MB and max backups 5
unit-alertmanager-1: 2024-02-17 00:16:55 DEBUG juju.machinelock machine lock "machine-lock" released for alertmanager/1 uniter (run relation-changed (30; app: ca) hook)
unit-alertmanager-1: 2024-02-17 00:16:55 DEBUG juju.worker.uniter.operation lock released for alertmanager/1
unit-alertmanager-1: 2024-02-17 00:16:55 INFO juju.worker.uniter awaiting error resolution for "relation-changed" hook
unit-alertmanager-1: 2024-02-17 00:16:55 DEBUG juju.worker.uniter [AGENT-STATUS] error: hook failed: "certificates-relation-changed"

Hi! Could you try with latest/stable (rev106) to confirm this is still an issue? There were recent changes in certificates-related code in alertmanager.


Added support for google fonts 'com/css' extension

Thanks for this simple and nice pixi loader plugin!
I've got 'com/css' extension trying to load google font (https://fonts.googleapis.com/css?family=Open+Sans:400,600,700), so this fix make it works for me.

I was about to tell you that an endsWith would be better than a contains aaaand you already did it.
Merged 👍

0.2.2 is up with your changes, Thanks for the fix <3


langmenu is not set (gVim menus are in english)

I build Vim in Linux Mint but it seems langmenu is not set so gVim menus are in english and not the language i use.
Running this changes the menu language:
source $VIMRUNTIME/delmenu.vim
set langmenu=da.utf-8
source $VIMRUNTIME/menu.vim

But when i restart gVim, langmenu is again not set.

Well, if you do not set it inside your .vimrc file, it won't have an effect after a restart.
However, I think if langmenu is empty, it should use v:lang. So what locale are you using? What is the output of :language mes inside Vim?

I think menu_da_dk.*.vim files are also needed.

Having menu_da_dk.vim works (gVim menus are in danish).
Not that i want that as a solution.
env says:
LANG=da_DK.UTF-8
LANGUAGE=da

:language mes says:
"da_DK.UTF-8"

:echo $lang says:
da_DK.UTF-8

If they say "da_DK.UTF-8" it does not load menu_da.utf-8.vim/menu_da.latin1.vim.
But when they say "DA" it does.

If i run:
LANG=da_DK.UTF-8 gvim

:language mes says:
da_DK.UTF-8

If i run:
LANG=da_DK gvim
LANG=da gvim

:language mes says:
C

In Windows 7 using MINGW64 terminal i can run:
LANG=da_DK gvim
LANG=da gvim

And :language mes says:
da_DK
da

But for some reason in Linux Mint it gives C.

If you do :lang mess da inside your .vimrc does it work? Note, this needs to be at the very beginning, before menus are loaded (might happen on :filetype and :syn commands).

If i run:
LANG=da_DK gvim
LANG=da gvim
:language mes says:
C

It's not a Vim issue.
Try locale -a command to check what locales are installed in your system.
Only installed locale can be set to $LANG.

I am not so sure, if we can't do better here.
We could try this:
diff --git a/runtime/menu.vim b/runtime/menu.vim
index b9bd3d89c..0963aeccb 100644
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -51,10 +51,18 @@ if exists("v:lang") || &langmenu != ""
     exe "runtime! lang/menu_" . s:lang . ".vim"

     if !exists("did_menu_trans")
-      " There is no exact match, try matching with a wildcard added
-      " (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
-      let s:lang = substitute(s:lang, '\.[^.]*', "", "")
-      exe "runtime! lang/menu_" . s:lang . "[^a-z]*vim"
+      for pat in ['\.[^.]*', '_.*']
+        " There is no exact match, try matching with a wildcard added
+        " (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
+        " Try twice:
+        "   1) de_de.utf-8
+        "   2) de.utf-8 (e.g. remove everything after the '_')
+        let s:lang = substitute(s:lang, pat, "", "")
+        exe "runtime! lang/menu_" . s:lang . "[^a-z]*vim"
+        if exists("did_menu_trans")
+          break
+        endif
+      endfor

       if !exists("did_menu_trans") && strlen($LANG) > 1 && s:lang !~ '^en_us'
        " On windows locale names are complicated, try using $LANG, it might

e.g. when trying different locales and stripping everything after the ., why not also try afterwards to remove everything after the _ and try loading again.
On a second thought, I am not even sure, this works correctly in all cases. I see two issues here:

does it actually make sense to source menu files which are in a different encoding than the one we are currently using? IMHO, this will garble menu strings and break
In case of menu_de_de.utf-8.vim why are we blindly sourcing menu_de_de.latin1.vim? Shoudln't there at least be a :scriptencoding latin1?

ah, there is actually a :scriptencoding block in the latin1 case, did not see this.

For some reason in Windows 7 using MINGW64 terminal i can set LANG to anything and it will show in :language mes.
From a users point of view i would expect that the translation for the menus follow that of Vim.
So if Vim is using danish translation i would expect gVim menus to also use danish translation.
And if there is some kind of problem loading the correct translation i would expect it to fail in both cases and not work in one case (Vim) and fail in another case (gVim menus).

Another example:
If your locale is nb_NO.UTF-8 gVim will fall back to english and not load these files:
menu_no.latin1.vim
menu_no.utf-8.vim
menu_no_no.latin1.vim
menu_no_no.utf-8.vim

It seems silly if each translation have to have endless amounts of files that redirects to another file.
I guess the only reason gVim menus are in english for english languages is because it falls back to english when it dont work. When the translation like en_AU.UTF-8 does not exists.

As i temporary solution for danish i can create all these files until the problem is corrected:
menu_da.latin1.vim
menu_da.utf-8.vim
menu_da_de.latin1.vim
menu_da_de.utf-8.vim
menu_da_dk.latin1.vim
menu_da_dk.utf-8.vim
menu_da_fo.latin1.vim
menu_da_fo.utf-8.vim
menu_da_gl.latin1.vim
menu_da_gl.utf-8.vim

menu_da.utf-8.vim containing the translations and all the others just sources the file.

fixed by https://github.com/vim/vim/commit/68f1b1b37fa7aba985d9f8727fd9f0f3eb0c19a9


index long running fails

[06/22/24 07:25:20-07:00] [C] [12] [wb_cache.cpp:314] ******************** Assertion failure: =====> Expected '515' to be < to '515' down_buf=[Buf=0x60d00011ad20 index=0 state=1 create/dirty_cp=181/515 down_wait#=1  node=[0x621002d65600 id=4785078899048496 next=16888502897606726 nentries=168  level=0] ] up_buffer=[Buf=0x60d0000b3a20 index=0 state=1 create/dirty_cp=515/515 down_wait#=26  node=[0x621001e91200 id=12666378246946876 next=19421777688002604 nentries=116  level=1] ] should never have been created on same cp
bt
`#6  0x00007f9bd0149e96 in __GI___assert_fail (assertion=0x563e22ce6700 "0", file=0x563e22ce87e0 "/root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/lib/index/wb_cache.cpp", line=314,
function=0x563e22ce9260 "void homestore::IndexWBCache::link_buf(const IndexBufferPtr&, const IndexBufferPtr&, bool, homestore::CPContext*)") at ./assert/assert.c:101
#7  0x0000563e20704906 in homestore::IndexWBCache::link_buf (this=0x611000034ac0, up_buf=std::shared_ptrhomestore::IndexBuffer (use count 29, weak count 1) = {...}, down_buf=std::shared_ptrhomestore::IndexBuffer (use count 4, weak count 1) = {...}, is_sibling_link=false,
cp_ctx=0x616000037280) at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/lib/index/wb_cache.cpp:314
#8  0x0000563e206fe625 in homestore::IndexWBCache::transact_bufs (this=0x611000034ac0, index_ordinal=0, parent_buf=std::shared_ptrhomestore::IndexBuffer (use count 29, weak count 1) = {...}, child_buf=std::shared_ptrhomestore::IndexBuffer (use count 4, weak count 1) = {...},
new_node_bufs=..., freed_node_bufs=..., cp_ctx=0x616000037280) at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/lib/index/wb_cache.cpp:243
#9  0x0000563e1fa02afd in homestore::IndexTable<TestFixedKey, TestFixedValue>::transact_nodes (this=0x613000028990, new_nodes=..., freed_nodes=..., left_child_node=..., parent_node=..., context=0x616000037280)
at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/../include/homestore/index/index_table.hpp:167
#10 0x0000563e1f70d97f in homestore::Btree<TestFixedKey, TestFixedValue>::split_node (this=0x613000028998, parent_node=..., child_node=..., parent_ind=17, out_split_key=0x7f9bc8610db0, context=0x616000037280)
at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/../include/homestore/btree/detail/btree_mutate_impl.ipp:295
#11 0x0000563e1f4598be in homestore::Btree<TestFixedKey, TestFixedValue>::do_puthomestore::BtreeSinglePutRequest (this=0x613000028998, my_node=..., curlock=homestore::locktype_t::WRITE, req=...)
at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/../include/homestore/btree/detail/btree_mutate_impl.ipp:104
#12 0x0000563e1f45fcf0 in homestore::Btree<TestFixedKey, TestFixedValue>::do_puthomestore::BtreeSinglePutRequest (this=0x613000028998, my_node=..., curlock=homestore::locktype_t::NONE, req=...)
at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/../include/homestore/btree/detail/btree_mutate_impl.ipp:159
#13 0x0000563e1f2e217b in homestore::Btree<TestFixedKey, TestFixedValue>::puthomestore::BtreeSinglePutRequest (this=0x613000028998, put_req=...) at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/../include/homestore/btree/btree.ipp:119
#14 0x0000563e1f1ffd3a in homestore::IndexTable<TestFixedKey, TestFixedValue>::puthomestore::BtreeSinglePutRequest (this=0x613000028990, put_req=...)
at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/../include/homestore/index/index_table.hpp:80
#15 0x0000563e1f168ceb in BtreeTestHelper::do_put (this=0x626000000110, k=396617, put_type=homestore::btree_put_type::INSERT, value=..., expect_success=true)
at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/btree_helpers/btree_test_helper.hpp:392
#16 0x0000563e1f164b16 in BtreeTestHelper::put_random (this=0x626000000110) at /root/.conan/data/homestore/6.4.20-304///build/a9dcaf6078d4ec85d00647b2c1877a7a7aec2113/src/tests/btree_helpers/btree_test_helper.hpp:171
`

Summary
The direct cause of this issue is that the up_buf is not correctly traced back to the real one during the link_buf process. This may happen in the case where a parent node is split, and later within the same CP, one of its original children - which was created in an earlier CP and just transmitted to the new parent node - also gets split.
Modifying this if statement could solve it, but its potential impact to other scenarios still needs further evaluation and testing.
Analysis
Analysis chart: https://lucid.app/lucidchart/b49a93b5-863b-4c69-b108-1cea20fc9326/edit?beaconFlowId=020F90D1DBA44395&invitationId=inv_2a4d0928-083d-409a-82f9-5eba8dcd4a81&page=0_0#
The coredump file reveals the following tree structure:

where the white nodes were created in earlier CPs and the colored ones were generated during the current CP.
During the current CP, events occurred in the following sequence:

P1 split into P1 & P2
L1 split into L1 & L2
L1 split into L1 & L3

For the given tree structure, a dependency graph we are expecting should be like

However, when linking parent buf P2 with child buf L1 during step 2, it would fail to trace back the up buffer to the 'real' P1 since L1 is created in an earlier CP and the condition cannot be met. As a result, the up_buf of L1 would be incorrectly pointed to P2.
Then in the next step, when L1 got split again, this error led to the crash. link_buf would find it having an up_buf which was created in the current CP - and then fail the assertion.
Therefore, as mentioned in the summary, the direct cause of this incorrect dependency chain is that the tracing back logic for the real up buffer is not working properly.

Coredump Info
Root
(gdb) print *(class homestore::IndexBuffer*)0x60d00001abb0
$7 = {<sisl::ObjLifeCounter<homestore::IndexBuffer>> = {static s_created = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 28001}, static is_always_lock_free = true}, static s_alive = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 3004}, static is_always_lock_free = true}, static s_type = {m_dummy = 0}},
  _vptr.IndexBuffer = 0x563e23bc6ec8 <vtable for homestore::IndexBuffer+16>,
  m_blkid = {s = {m_is_multi = 0, m_blk_num = 4, m_nblks = 1, m_chunk_num = 12}}, m_dirtied_cp_id = 515, m_created_cp_id = 0,
  m_state = std::atomic<homestore::index_buf_state_t> = { homestore::index_buf_state_t::DIRTY }, m_bytes = 0x62100011d200 "\253\001\274N\034",
  m_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_wait_for_down_buffers = {m_count = std::atomic<int> = { 5 }}, m_down_buffers = std::vector of length 5, capacity 8 = {
    std::weak_ptr<homestore::IndexBuffer> (use count 57, weak count 1) = {get() = 0x60d0000878e0},
    std::weak_ptr<homestore::IndexBuffer> (use count 70, weak count 1) = {get() = 0x60d0000f5e70},
    std::weak_ptr<homestore::IndexBuffer> (use count 77, weak count 1) = {get() = 0x60d00009d710},
    std::weak_ptr<homestore::IndexBuffer> (use count 75, weak count 1) = {get() = 0x60d000031e30},
    std::weak_ptr<homestore::IndexBuffer> (use count 73, weak count 1) = {get() = 0x60d000100f90}},
  m_prev_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_crash_flag_on = false, m_index_ordinal = 0, m_is_meta_buf = 0 '\000', m_node_freed = false}

(gdb) print *(struct homestore::persistent_hdr_t*)0x62100011d200
$8 = {magic = 171 '\253', version = 1 '\001', checksum = 20156, nentries = 28, leaf = 0, node_deleted = 0, node_id =<PHONE_NUMBER>495176, next_node =<PHONE_NUMBER>3709551615, node_gen = 56, link_version = 0, edge_info = {m_bnodeid =<PHONE_NUMBER>6550978, m_link_version = 0}, modified_cp_id = 515, level = 2, node_size = 4095, node_type = 0 '\000', reserved = "\000\000"}

P1
(gdb) print {homestore::IndexBuffer}0x60d0000878e0
$1 = {<sisl::ObjLifeCounter<homestore::IndexBuffer>> = {static s_created = {<std::__atomic_base<long>> = {
        static _S_alignment = 8, _M_i = 28001}, static is_always_lock_free = true},
    static s_alive = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 3004}, static is_always_lock_free = true},
    static s_type = {m_dummy = 0}}, _vptr.IndexBuffer = 0x563e23bc6ec8 <vtable for homestore::IndexBuffer+16>, m_blkid = {s = {
      m_is_multi = 0, m_blk_num = 19, m_nblks = 1, m_chunk_num = 86}}, m_dirtied_cp_id = 515, m_created_cp_id = 15,
  m_state = std::atomic<homestore::index_buf_state_t> = { homestore::index_buf_state_t::DIRTY },
  m_bytes = 0x62100157c200 "\253\001\f\256p",
  m_up_buffer = std::shared_ptr<homestore::IndexBuffer> (use count 7, weak count 0) = {get() = 0x60d00001abb0},
  m_wait_for_down_buffers = {m_count = std::atomic<int> = { 56 }}, m_down_buffers = std::vector of length 56, capacity 64 = {
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d000040900},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d000109810},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00009fe10},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d00011f300},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000b4c00},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d0000c1e70},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000098df0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000dc010},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000f7ef0},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d000121450},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00006a820},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d00012ee10},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d000048620},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d0000a6e30},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00005eee0},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 2) = {get() = 0x60d000045970},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000118070},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0001670b0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00016ab30},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000da540},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d000042640},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d000048d70},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000a6880},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00016c6d0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000ca550},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000073720},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d000145ef0},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d000014140},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000cecd0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0001729f0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000431a0},
    std::weak_ptr<homestore::IndexBuffer> (use count 29, weak count 1) = {get() = 0x60d0000b3a20},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00012d410},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d0000cdbc0},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d00006e780},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00016cbb0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0001732e0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0001419e0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000d0940},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000131e00},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000e1560},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000168840},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000e2670},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d0000e94f0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000a56a0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000107930},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000d7fe0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00016c7a0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000164330},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000b43e0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000c4300},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000e4b00},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d0000f28d0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000c8330},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000160a50},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00015fef0}},
  m_prev_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_crash_flag_on = false,
  m_index_ordinal = 0, m_is_meta_buf = 0 '\000', m_node_freed = false}
(gdb) print {homestore::persistent_hdr_t}0x62100157c200
$2 = {magic = 171 '\253', version = 1 '\001', checksum = 44556, nentries = 112, leaf = 0, node_deleted = 0, node_id =<PHONE_NUMBER>2083750, next_node =<PHONE_NUMBER>6946876, node_gen = 560, link_version = 3, edge_info = {m_bnodeid =<PHONE_NUMBER>3709551615, m_link_version = 0}, modified_cp_id = 515, level = 1, node_size = 4095, node_type = 0 '\000', reserved = "\000\000"}

P2
(gdb) print *(class homestore::IndexBuffer*)0x60d0000b3a20
$6 = {
  <sisl::ObjLifeCounter<homestore::IndexBuffer>> = {
    static s_created = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 28001}, static is_always_lock_free = true}, static s_alive = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 3004}, static is_always_lock_free = true}, static s_type = {m_dummy = 0}},
  _vptr.IndexBuffer = 0x563e23bc6ec8 <vtable for homestore::IndexBuffer+16>,
  m_blkid = {s = {m_is_multi = 0, m_blk_num = 30, m_nblks = 1, m_chunk_num = 45}}, m_dirtied_cp_id = 515, m_created_cp_id = 515,
  m_state = std::atomic<homestore::index_buf_state_t> = { homestore::index_buf_state_t::DIRTY }, m_bytes = 0x621001e91200 "\253\001\035Zt",
  m_up_buffer = std::shared_ptr<homestore::IndexBuffer> (use count 57, weak count 1) = {get() = 0x60d0000878e0},
  m_wait_for_down_buffers = {m_count = std::atomic<int> = { 26 }},
  m_down_buffers = std::vector of length 26, capacity 32 = {
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000ddd50},
    std::weak_ptr<homestore::IndexBuffer> (use count 5, weak count 1) = {get() = 0x60d00005ff20},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000170630},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d00010f4b0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000aa160},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00011ad20},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000114860},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000160980},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00010d840},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0001223c0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000417a0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0001451f0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000f8f30},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000088fa0},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d0000e2b50},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00015eeb0},
    std::weak_ptr<homestore::IndexBuffer> (use count 3, weak count 1) = {get() = 0x60d0000841a0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000049a70},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000118960},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000171f60},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00012b530},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00010b140},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000143e70},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d0000357e0},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d000143a60},
    std::weak_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00009af40}},
  m_prev_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_crash_flag_on = false,
  m_index_ordinal = 0, m_is_meta_buf = 0 '\000', m_node_freed = false}

(gdb) print *(struct homestore::persistent_hdr_t*)0x621001e91200
$7 = {magic = 171 '\253', version = 1 '\001', checksum = 23069, nentries = 116, leaf = 0, node_deleted = 0, node_id =<PHONE_NUMBER>6946876, next_node =<PHONE_NUMBER>8002604, node_gen = 72, link_version = 0, edge_info = {m_bnodeid =<PHONE_NUMBER>3709551615, m_link_version = 0}, modified_cp_id = 515, level = 1, node_size = 4095, node_type = 0 '\000', reserved = "\000\000"}

L1
(gdb) print *(class homestore::IndexBuffer*)0x60d00011ad20
$14 = {<sisl::ObjLifeCounter<homestore::IndexBuffer>> = {
  static s_created = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 28001}, static is_always_lock_free = true}, static s_alive = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 3004}, static is_always_lock_free = true}, static s_type = {m_dummy = 0}},
  _vptr.IndexBuffer = 0x563e23bc6ec8 <vtable for homestore::IndexBuffer+16>,
  m_blkid = {s = {m_is_multi = 0, m_blk_num = 24, m_nblks = 1, m_chunk_num = 17}}, m_dirtied_cp_id = 515, m_created_cp_id = 181,
  m_state = std::atomic<homestore::index_buf_state_t> = { homestore::index_buf_state_t::DIRTY }, m_bytes = 0x621002d65600 "\253\001\366\225\250",
  m_up_buffer = std::shared_ptr<homestore::IndexBuffer> (use count 29, weak count 1) = {get() = 0x60d0000b3a20},
  m_wait_for_down_buffers = {m_count = std::atomic<int> = { 1 }},
  m_down_buffers = std::vector of length 1, capacity 1 = {std::weak_ptr<homestore::IndexBuffer> (use count 2, weak count 1) = {get() = 0x60d00003b620}},
  m_prev_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_crash_flag_on = false, m_index_ordinal = 0, m_is_meta_buf = 0 '\000', m_node_freed = false}

(gdb) print *(struct homestore::persistent_hdr_t*)0x621002d65600
$15 = {magic = 171 '\253', version = 1 '\001', checksum = 38390, nentries = 168, leaf = 1, node_deleted = 0, node_id =<PHONE_NUMBER>048496, next_node =<PHONE_NUMBER>7606726, node_gen = 9368, link_version = 2, edge_info = {m_bnodeid =<PHONE_NUMBER>3709551615, m_link_version = 0}, modified_cp_id = 515, level = 0, node_size = 4095, node_type = 0 '\000', reserved = "\000\000"}

L2
(gdb) print *(class homestore::IndexBuffer*)0x60d00003b620
$1 = {<sisl::ObjLifeCounter<homestore::IndexBuffer>> = {static s_created = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 28001}, static is_always_lock_free = true},
    static s_alive = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 3004}, static is_always_lock_free = true}, static s_type = {m_dummy = 0}},
  _vptr.IndexBuffer = 0x563e23bc6ec8 <vtable for homestore::IndexBuffer+16>, m_blkid = {s = {m_is_multi = 0, m_blk_num = 31, m_nblks = 1, m_chunk_num = 48}}, m_dirtied_cp_id = 515, m_created_cp_id = 515,
  m_state = std::atomic<homestore::index_buf_state_t> = { homestore::index_buf_state_t::DIRTY }, m_bytes = 0x621000746a00 "\253\001C\033\267",
  m_up_buffer = std::shared_ptr<homestore::IndexBuffer> (use count 4, weak count 1) = {get() = 0x60d00011ad20}, m_wait_for_down_buffers = {m_count = std::atomic<int> = { 0 }},
  m_down_buffers = std::vector of length 0, capacity 0, m_prev_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_crash_flag_on = false, m_index_ordinal = 0, m_is_meta_buf = 0 '\000',
  m_node_freed = false}

(gdb) print {homestore::persistent_hdr_t}0x621000746a00
$2 = {magic = 171 '\253', version = 1 '\001', checksum = 6979, nentries = 183, leaf = 1, node_deleted = 0, node_id =<PHONE_NUMBER>7078846, next_node =<PHONE_NUMBER>4185382, node_gen = 1682, link_version = 0, edge_info = {
    m_bnodeid =<PHONE_NUMBER>3709551615, m_link_version = 0}, modified_cp_id = 515, level = 0, node_size = 4095, node_type = 0 '\000', reserved = "\000\000"}

L3
(gdb) print {homestore::IndexBuffer}0x60d0000f7940
$6 = {<sisl::ObjLifeCounter<homestore::IndexBuffer>> = {static s_created = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 28001}, static is_always_lock_free = true}, static s_alive = {<std::__atomic_base<long>> = {static _S_alignment = 8, _M_i = 3004}, static is_always_lock_free = true}, static s_type = {m_dummy = 0}},
  _vptr.IndexBuffer = 0x563e23bc6ec8 <vtable for homestore::IndexBuffer+16>,
  m_blkid = {s = {m_is_multi = 0, m_blk_num = 35, m_nblks = 1, m_chunk_num = 60}}, m_dirtied_cp_id = 515, m_created_cp_id = 515,
  m_state = std::atomic<homestore::index_buf_state_t> = { homestore::index_buf_state_t::DIRTY }, m_bytes = 0x621000a08e00 "\253\001\200\373\247",
  m_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0}, m_wait_for_down_buffers = {m_count = std::atomic<int> = { 0 }},
  m_down_buffers = std::vector of length 0, capacity 0, m_prev_up_buffer = std::shared_ptr<homestore::IndexBuffer> (empty) = {get() = 0x0},
  m_crash_flag_on = false, m_index_ordinal = 0, m_is_meta_buf = 0 '\000', m_node_freed = false}

(gdb) print {homestore::persistent_hdr_t}0x621000a08e00
$7 = {magic = 171 '\253', version = 1 '\001', checksum = 64384, nentries = 167, leaf = 1, node_deleted = 0, node_id =<PHONE_NUMBER>7606726, next_node =<PHONE_NUMBER>7078846, node_gen = 1, link_version = 0, edge_info = {m_bnodeid =<PHONE_NUMBER>3709551615, m_link_version = 0}, modified_cp_id = 515, level = 0, node_size = 4095, node_type = 0 '\000', reserved = "\000\000"}


Unity 2021.2.6f1 gives several errors

Hello,
After updating to Unity 2021.2.6f1 and installing SteamVR 2.7.3 it gives me tons of errors, these are just a few of them

Try deleting the SteamVR plugin folder and reimporting

Can confirm the issuie for Unity 2021.1.28.
This is due to a version mismatch of the OpenVR XR Plugin. From the Package Manager in Unity one can update to v3.0.0 while the current version of the SteamVR plugin (v2.7.3, sdk 1.14.15) comes with OpenVR XR Plugin v1.1.4.
Updating OpenVR back to v1.1.4 removed the 150 errors, listed in the log above.

There should be no option to update this package beyond 2.7.3. Can you provide a screenshot so I can see what you're seeing?

No need for, just go to Unity's Package Manager and there you can, and in fact are even encouraged via the UI to, update the OpenVR XR Plugin.

Often there are scenarios that are hard to describe through text, or something unexpected that a picture might reveal. My environment does not show a version 3.0.0 upgrade, and I would not expect it to, as there is no version 3.0.0 of the OpenVR XR Plugin or of the SteamVR Unity Plugin. If you are still having this issue the best way I can think of to help would be to see a screenshot of what you're seeing.

Often there are scenarios that are hard to describe through text, or something unexpected that a picture might reveal. My environment does not show a version 3.0.0 upgrade, and I would not expect it to, as there is no version 3.0.0 of the OpenVR XR Plugin or of the SteamVR Unity Plugin. If you are still having this issue the best way I can think of to help would be to see a screenshot of what you're seeing.

Can confirm the behaviour of @dgarkov Though I notice you have 1.1.5 @zite

After looking into this again I discovered that you've still got the old external source installed that grabs versions from npm. If you try to grab version 3.0.0 it just deletes all the files and shows an error (as we can no longer use npm to distribute the package). So I'd recommend just not updating that package, and possibly removing the external source entry.


Command reaction on external events

This PR enables command reaction on the external events for the commander entities.
The external command reaction method can be declared as follows:
@Command(external = true)
StartProject handle(ProjectScheduled event) {
    // ...
}

The "external" command substitution methods, although technically possible as a side effect, are caught by the ModelVerifier and counted as errors. This is done to avoid confusion, as currently there are no "external" commands in the system.
So the method like
@Command(external = true)
StartProject handle(ScheduleProject command) {
    // ...
}

won't pass the Model verification, instead, the ExternalCommandReceiverMethodError error will be thrown.

@armiol PTAL.

@dmitrykuzmin please see my comment.


dependency on aiohttp should be in the requirements.txt

the update to 0.8.0 brings in a dependency to aiohttp, which is not listed in the requirements.
I therefore get an import error when using fsspec.

I have the same error while building for python3.6 and python3.7.
Any chance of including aiohttp as dependecy or maybe a import check as workaround?
Thanks

fsspec does not depend on aiohttp, only the HTTP backend does. Attempting to use the HTTP backend without it should display 'HTTPFileSystem requires "requests" and "aiohttp" to be installed' (on master).

Understood.
Although I fixed my build, other environments relying in fsspec + requests installed but without aiohttp could break.
This configures a serious issue that needs fixing here?

I actually get the following error when running tests of a project with 0.8.0:
ImportError: HTTPFileSystem requires "requests" to be installed

However looking at the full traceback what is actually happening is this:
ModuleNotFoundError: No module named 'aiohttp'

so something is clearly off and it looks like aiohttp is actually required for HTTP support but we get an error message that hides this fact.

The message is fixed on master https://github.com/intake/filesystem_spec/blob/master/fsspec/registry.py#L100

Glancing at setup.py, it wouldn't be a bad idea to use "extras" to make it easier to get these dependencies by doing something like pip install fsspec[http]. I can put together a PR for this shortly.

Good idea. Obviously there are quite a few... I wonder if it could be done in a way not to repeat the information in registry.py .
(Indeed, it would be good to implement #206 , which is tangentially related)


[1.10.2]Key "R" is not work if enderIO installed

Issue Description:
Key "R" (key 19) is not work if enderIO installed. Any keybinding for 19 key aren't work
What happens:
Key "R" can't work
What you expected to happen:
Install EnderIO
Steps to reproduce:
For example
1.Install Xray mod http://minecraftxray.net/downloads.html
2.Bind xray on "R"
3.R not work
...

Affected Versions (Do not use "latest"):

EnderIO EnderIO-1.10.2-<IP_ADDRESS>_beta

Your most recent log file where the issue was present:
[pastebin/gist/etc link here]
I can't get it.
Sorry for my english

EnderCore-1.10.2-<IP_ADDRESS>-beta
Minecraft:1.10.2
1.10.2-LiteLoader1.10.2-1.10.2-forge1.10.2-<IP_ADDRESS>4

will be fixed in next build (sorry not today's build, I was too late for that one)


Possible to do a partial match with a Guid?

in SQL i can do a "Guid like '%blah%'" style query which I can't figure out how to do with this library.
Integers was a bit of work but the following worked
.Search(p => SqlFunctions.Convert((decimal)p.IntegerProperty))

I believe you could do something like...
var guid = Guid.NewGuid();
data.Search(p => p.Property1).Containing(guid.ToString())

Could you expand on what you were trying to do with the integer example?

sorry, completely opposite way around.  I have a database field that contains a guid that I want to do a partial search on.

Ah, I see. So you want to return all records that contain a partial guid.  Something like.
string partialGuid = "TE5T"
data.Search(p => p.GuidProperty).Containing(partialGuid);

Currently the .Containing method is only valid for string comparisons but I can certainly look into adding functionality to support .Containing() on non string properties

Yep that's exactly right.

Hi @bzbetty,
I haven't forgotten about this, quite the opposite.  I've been trying all the tricks I can think of to get this to work but it seems that there is a limitation in linq to entities that means this simply isn't possible. :cry:
I'm going to have a couple more goes at it, but the signs so far are that it's just not possible for linq to entities.

Sorry to say it, but I'm going to have to admit defeat. This just isn't possible with EF (6 at least).
It looks like EF7 has some additional expression capabilities that could make this possible but this is still currently in development and therefore not currently supported.
Apologies that this wasn't possible. I'll be keeping an eye on EF7 for the upcoming release

all good I suspected that might be the case. luckily for me I believe i can convert the column to a string.


Clean up pass over all superfluous hashing happening on the query path

2x-3x perf improvements in scenes with many entities :grimacing:
Before:

After:

@rerun-bot full-check

I want this and none of the questions/comment here are blocking enough to not just merge this.


A better codeBlock component

Our current implementation of code block leaves a lot to be desired. We should create a new component which use code-mirror and does a better job of highlighting languages and switching languages.
For inspiration:

Atlaskit (sand box https://atlaskit.atlassian.com/examples/editor/editor-core/full-page-minimal)

I think this should be optional as not everyone wants the added overhead of codemirror. I also tried the page you linked to, selected Javascript and pasted some JS and didn't see any syntax highlighting.

sorry for the lack of clarity. i imagine this to be a separate npm package and not part of the core.


missing arch ppc64le

While traefik has ppc64le releases (e.g., here), the official Docker image does not:
$ docker pull --platform linux/ppc64le library/traefik:2.5.2
2.5.2: Pulling from library/traefik
no matching manifest for linux/ppc64le in the manifest list entries

Do we have any update in this regard? 🙂 I'm also quite interested into ppc64le (as well as riscv64 via #19).

Fixed by https://github.com/traefik/official-images-publisher/pull/15


properties in build_request for base_image and triggered_after_koji_task

OSBS-8220
Signed-off-by: Robert Cerven<EMAIL_ADDRESS>Maintainers will complete the following section:

[ ] Commit messages are descriptive enough
[x] "Signed-off-by:" line is present in each commit
[x] Code coverage from testing does not decrease and new code is covered
[x] JSON/YAML configuration changes are updated in the relevant schema
[x] Changes to metadata also update the documentation for the metadata
[x] Pull request includes link to an osbs-docs PR for user documentation updates

fix for Internal code change; not updating release notes.


Update sbt-scalajs, scalajs-compiler to 1.3.1

Updates

org.scala-js:sbt-scalajs
org.scala-js:scalajs-compiler

from 1.0.1 to 1.3.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-js" } ]

labels: library-update, semver-minor

Superseded by #249.

Superseded by #249.


"Turnu", "Sederhat", "Bodrogu Vechi" are villages in " PECICA" locality, "ARAD" county

Precondition
Acces to the link https://peviitor-ro.github.io/ui.orase/

Step 1
Steps 2
Click on the search bar and write "Turnu"
Expected result
In the drop down menu you find "Turnu, ARAD( PECICA)"
Test Data
Turnu

Steps 2
Click on the search bar and write "Sederhat"
Expected result
In the drop down menu you find "Sederhat, ARAD( PECICA)"
Test Data
Sederhat

Steps 3
Click on the search bar and write "Bodrogu Vechi"
Expected result
In the drop down menu you find "Bodrogu Vechi, ARAD( PECICA)"
Test Data
Bodrogu Vechi

Steps 2
Click on the search bar and write "Sederhat"
Expected result
In the drop down menu you find "Sederhat, ARAD( PECICA)"
Test Data
Sederhat

Steps 5
Write "Sederhat"
Expected result
In the drop down menu you find "Sederhat, ARAD( PECICA)"
Test Data
Sederhat


Move "internals" to its own section

This started as a small section on ci-operator but is now composed of several
pages and covers other services.  It also now occupies a good portion of the
side menu, even though only Test Platform members will likely be interested in
the contents.
Moving to its own top-level section solves both problems.

https://deploy-preview-341--zealous-shirley-0f56b3.netlify.app/docs/
vs.
https://docs.ci.openshift.org/docs/

/lgtm


issue #28 resolve missing types

types location is now defined for typescript inference

Note that the "typings" field is synonymous with "types", and could be used as well.
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html

This package already has a "typings" entry in package.json. It's working for me in VS code.

Hello, yes typings should work. As @hmil asked, what is your environment?

Ill have to revisit this apologies. I am not actively working on this at the moment and can't remember why this wasn't working. All I know is the above resolved it. I'll close this for now.


What exactly is needed to build Duktape?

I tried building a Duktape distribution with Cygwin, but got the following back:
fatce@DESKTOP-AR6TT0B /d/src/duktape
$ make dist-src
which: no nodejs in (/usr/local/bin:/usr/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/CMake/bin:/usr/lib/lapack)
which: no node in (/usr/local/bin:/usr/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/CMake/bin:/usr/lib/lapack)
which: no java in (/usr/local/bin:/usr/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/CMake/bin:/usr/lib/lapack)
which: no valgrind in (/usr/local/bin:/usr/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/CMake/bin:/usr/lib/lapack)
cd closure-compiler; ant
/bin/sh: ant: command not found
Makefile:800: recipe for target 'closure-compiler/build/compiler.jar' failed
make: *** [closure-compiler/build/compiler.jar] Error 127

I looked through the Cygwin packages list but couldn't find anything called "ant".  So I just want to know ahead of time exactly what I'd need to ensure a successful make.

The README lists dependencies on Linux (well, some variants of it):
# Install required packages (exact packages depend on distribution)
$ sudo apt-get install nodejs nodejs-legacy npm perl ant openjdk-7-jdk \
      libreadline6-dev libncurses-dev python-rdflib python-bs4 python-yaml \
      clang llvm

I guess that list should be similar for Windows. You might need to install Ant outside of Cygwin, and maybe same for Java.

I assume valgrind isn't strictly necessary, even though the make seems to call for it?  It's not available for Windows at all.
I see that I need Node.js too.  I thought I already had it installed on this machine, but apparently not.

We're now getting into the discussions I'm trying to avoid and which is why I've been so far only supporting Linux for development (imagine going through this for 5 Linux variants, OSX, BSD, Windows, etc, every time something changed :-).
The README lists dependencies for using the development Makefile. You don't need valgrind or node.js for "make dist". The specific requirements for make dist are unfortunately not listed explicitly.

I've had no problem building a dist on OSX and have never tried on Windows.  VirtualBox + Ubuntu probably easier than cygwin hoops on Windows atm.

I got build from git working on windows using a combination of CMake, Microsoft Visual Studio 2013 Community Edition ( Desktop version), Python, and PyYAML. The only issue with it is that all of the tests are not in place. See Pull request 278 for more details.

@svaarala
Sorry, I'll do some googling to find out what else I need to do to get it working.  If I'm writing code for Duktape, I wanted to try to get a proper build environment going.  My current method is to make the changes in the combined source and then copy them out into the individual files manually, which is obviously error-prone.
Just to play devil's advocate though re: not needing node: you have it listed in the "required packages" in the readme. ;)

Node is needed for using all the Makefile targets (e.g. "make qecmatest") but it's not needed for "make dist". The dependency list is for all targets, so that's why it is listed :)
Anyway, don't get me wrong - it'd be great if the main repo could support a number of platforms. It's just that there's effort involved which is always removed from something else. A few steps to improve the situation would be to pare down "make dist" a bit (it depends on cloc.pl for instance which is obviously not a critical dependency; minification is also not all that critical). Removing dependency on bash altogether and relying purely on Python would also be relatively easy (and useful) step.

If you don't already found out about ant, it is a build tool mainly used by java projects. See http://ant.apache.org/ for more informations.

Well, after installing Ant and the JDK, twiddling with environment variables for a while and running dos2unix on all the source files and shell scripts, I got Duktape make dist to work in Cygwin!  Now I can continue development. :smile:
The only thing that wouldn't run was genconfig.py, I got an error back about yaml being missing.  The build was otherwise successful.

I don't think it's normal, but the source files should be fine.

I'll close this as I have Duktape building successfully with no errors under Cygwin now.


SET multiple string fields per key

As the subject says, is there a way to set multiple string fields to a key up front?
For instance:
set fleet truck1:driver string "John Denton" truck1:state string "DALLAS"

No, you must issue each SET operation one at a time.

@tidwall Is there any way to filter strings like contains, startwith, equal or etc ?


March 4 - Code & Coffee

Event Information

Category
Details

Stream Date
March 4, 2021

Stream Time
9:00 AM

Title
In Development

Description
In Development

Speaker
CH

SharePoint ID
12573

SharePoint Status
Published

Additional Resources:

Event Checklist
10 Weeks Prior

[ ] Title & Description Finalized
[ ] Tracking Links/Short links
[ ] Published
[ ] Calendar Invite

Cancelling for Ignite


Stop Settings Page for Observers?

Is your feature request related to a problem? Please describe.
Just wondering why players (Observers) get access to the settings page for that PDF instead of just opening the PDF?
Describe the solution you'd like
A toggle to allow any click by a players (not GM/Admin) to open the PDF Journal directly.
Describe alternatives you've considered
Not a big feature but a want.
Additional context
Hopefully makes sense, I just want things to be streamlined for players.

This is the default behavior of Foundry, and I like to avoid having things work differently for users than they do GMs. I'm not sure if I would include this, but I will chew on it for a bit. Thanks for the feedback.

Great module and works very well. Just trying to put in my 2 cents. I understand your POV. Take your time 👍
Thanks!

This would be very neat, perhaps as a module setting?

Oh yes this I find super important!! Don't want to show my s3 location to players and expose info that is anyways not useful for them.

Oh yes this I find super important!! Don't want to show my s3 location to players and expose info that is anyways not useful for them.

I would support this featire request. There is no sense in showing PDF Metadata to players (they can't even edit thtem).
If they click on a journal, they shoud see the journal IMHO,,

I would support this featire request. There is no sense in showing PDF Metadata to players (they can't even edit thtem).
If they click on a journal, they shoud see the journal IMHO,,

Created a pull request for that topic.
If the user is owner of that PDF journal it will open the configuration of that journal entry, else (observer and lower) it will oben the PDF directly. This change is a very small one, should be easy to be reviewed I guess.

Created a pull request for that topic.
If the user is owner of that PDF journal it will open the configuration of that journal entry, else (observer and lower) it will oben the PDF directly. This change is a very small one, should be easy to be reviewed I guess.

This will be included in the next version. It is a small fix so likely I will not push an update just for it alone.

This will be included in the next version. It is a small fix so likely I will not push an update just for it alone.

I hope this is not underestimated. I have been struggling and repeating to my players to press on the PDF icon and not the journal entry.
It may sound silly for you, advanced user and owners, but for players and UX perspective, it is not so minor.
Just my two cents! Thanks for addressing this.

I hope this is not underestimated. I have been struggling and repeating to my players to press on the PDF icon and not the journal entry.
It may sound silly for you, advanced user and owners, but for players and UX perspective, it is not so minor.
Just my two cents! Thanks for addressing this.

I am thinking the same.
@saif-ellafi : I am already using my change. If you are in despreate need already, you can install it via my repo with
https://gitlab.com/gbrockhaus/foundry_pdfoundry/-/raw/master/module.json

I am thinking the same.
@saif-ellafi : I am already using my change. If you are in despreate need already, you can install it via my repo with
https://gitlab.com/gbrockhaus/foundry_pdfoundry/-/raw/master/module.json


Zeit now deploys fail after version 0.7.0.

I'm not sure if this is related to now, but since upgrading react-scripts to anything above 0.7.0, my build is now failing on the now deployment.
Here are the logs:
> ▲ npm run build
>
>   - index.js:47 Compiler.<anonymous>
>     [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/index.js:47:40
>
> Error Error: Command react-scripts build ended with code 1
>     at ChildProcess.<anonymous> (/usr/lib/node_modules/@zeit/ace/build/lib/run.js:1:599)
>     at emitTwo (events.js:106:13)
>     at ChildProcess.emit (events.js:191:7)
>     at maybeClose (internal/child_process.js:877:16)
>     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

And the webpack file error that's being served:
TypeError: Cannot read property '0' of undefined

  - ExternalModuleFactoryPlugin.js:18 ExternalModuleFactoryPlugin.
    [src]/[6b8981c7f0f59e57253f8dd5b1728ea3f444414d]/lib/ExternalModuleFactoryPl    ugin.js:18:38

  - NormalModuleFactory.js:159
    [src]/[0a79c0ca287eb47d24f1da61b5f91b43ad6b29d8]/lib/NormalModuleFactory.js:    159:3

  - Tapable.js:75 NormalModuleFactory.applyPluginsAsyncWaterfall
    [src]/[83d7d57e3d1ba8fe04c1aff2eddd6e9eb2c9743c]/lib/Tapable.js:75:69

  - NormalModuleFactory.js:144 NormalModuleFactory.create
    [src]/[0a79c0ca287eb47d24f1da61b5f91b43ad6b29d8]/lib/NormalModuleFactory.js:    144:8

  - Compilation.js:356 Compilation.process [as _addModuleChain]
    [src]/[0a79c0ca287eb47d24f1da61b5f91b43ad6b29d8]/lib/Compilation.js:356:16

  - Compilation.js:424 Compilation.process [as addEntry]
    [src]/[0a79c0ca287eb47d24f1da61b5f91b43ad6b29d8]/lib/Compilation.js:424:7

  - SingleEntryPlugin.js:22 SingleEntryPlugin.
    [src]/[6b8981c7f0f59e57253f8dd5b1728ea3f444414d]/lib/SingleEntryPlugin.js:22    :15

  - Tapable.js:107 Compiler.applyPluginsParallel
    [src]/[83d7d57e3d1ba8fe04c1aff2eddd6e9eb2c9743c]/lib/Tapable.js:107:14

  - Compiler.js:394 Compiler.compile
    [src]/[0a79c0ca287eb47d24f1da61b5f91b43ad6b29d8]/lib/Compiler.js:394:7

  - Compiler.js:203 Compiler.runAsChild
    [src]/[0a79c0ca287eb47d24f1da61b5f91b43ad6b29d8]/lib/Compiler.js:203:7

  - compiler.js:70
    [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/lib/compiler.js:70:19

  - debuggability.js:299 Promise._execute
    [src]/[953ea8d4badc1212d26071638946cd40c7f53f6b]/js/release/debuggability.js    :299:9

  - promise.js:481 Promise._resolveFromExecutor
    [src]/[953ea8d4badc1212d26071638946cd40c7f53f6b]/js/release/promise.js:481:1    8

  - promise.js:77 new Promise
    [src]/[953ea8d4badc1212d26071638946cd40c7f53f6b]/js/release/promise.js:77:14
  - compiler.js:69 Object.compileTemplate
    [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/lib/compiler.js:69:10

  - index.js:47 Compiler.
    [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/index.js:47:40

These are as good of logs I can get right now unless there's a more verbose logging in react-scripts build.
This may be a Zeit now issue, but the fact that it worked prior to 0.8.x makes me want to bring it up here.
Environment

npm ls react-scripts (if you haven’t ejected<EMAIL_ADDRESS>node -v: v7.1.0 or v7.0.0
npm -v: 3.10.9
yarn --version: 0.17.4
now --version: 𝚫 now 0.35.0
package.json: (note "list" and "now-start")

{
  "name": "example",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "react-scripts": "0.8.1"
  },
  "dependencies": {
    "list": "^0.9.0",
    "react": "^15.4.1",
    "react-dom": "^15.4.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "now-start": "list ./build --single"
  }
}

How to reproduce
$ create-react-app example
$ yarn add list
$ ... add "now-start": "list ./build --single" to scripts
$ cd example
$ now

Now to make it actually work
$ yarn upgrade<EMAIL_ADDRESS>$ now

Does npm run build work?

Can you provide a project and an exact sequence of steps to reproduce this?

@gaearon Hey, I just updated with the steps.  I went through them 1 by 1 again and they are accurate.

@j
Can you please reply to:

Does npm run build work?

@gaearon yes, "npm run build" works.. However, with Zeit, I can't log into their environment to run that command.
I've tried using USE_YARN=no, removing the yarn.lock file, hardcoding the userYarn to be false, just to see if it's because now doesn't have yarn support yet.  I'm able to get this version to work when deploying a Dockerfile to now.  Just not with their node support.  I'm not sure which side the issue belongs to.

I know they are looking into it also.

If npm run build works it's likely not on our side.

The fact that I can roll back to 0.7.0, it made me believe something happened here.

It could be relying on some private API or implementation detail.
Could be our fault, too.
Let’s keep it open here but we’ll need somebody to respond on their side.

Right on.  I tried digging into it line by line, but I'm unable to get the full output of what's going on on the now instance because once the build fails, it ends up serving the broken webpack error which isn't helpful.
Thanks!

Just wanted to voice a +1 here, same thing happens to me as well. Interested to see how this could be resolved.

Same problem here:
Html Webpack Plugin:
  TypeError: Cannot read property '0' of undefined

  - ExternalModuleFactoryPlugin.js:18 ExternalModuleFactoryPlugin.
    [src]/[6b8981c7f0f59e57253f8dd5b1728ea3f444414d]/lib/ExternalModuleFactoryPl    ugin.js:18:38

  - NormalModuleFactory.js:159
    [src]/[2f29e5542c7b2eaf895a8e435bde063c6e9eba0d]/lib/NormalModuleFactory.js:    159:3

  - Tapable.js:75 NormalModuleFactory.applyPluginsAsyncWaterfall
    [src]/[83d7d57e3d1ba8fe04c1aff2eddd6e9eb2c9743c]/lib/Tapable.js:75:69

  - NormalModuleFactory.js:144 NormalModuleFactory.create
    [src]/[2f29e5542c7b2eaf895a8e435bde063c6e9eba0d]/lib/NormalModuleFactory.js:    144:8

  - Compilation.js:356 Compilation.process [as _addModuleChain]
    [src]/[2f29e5542c7b2eaf895a8e435bde063c6e9eba0d]/lib/Compilation.js:356:16

  - Compilation.js:424 Compilation.process [as addEntry]
    [src]/[2f29e5542c7b2eaf895a8e435bde063c6e9eba0d]/lib/Compilation.js:424:7

  - SingleEntryPlugin.js:22 SingleEntryPlugin.
    [src]/[6b8981c7f0f59e57253f8dd5b1728ea3f444414d]/lib/SingleEntryPlugin.js:22    :15

  - Tapable.js:107 Compiler.applyPluginsParallel
    [src]/[83d7d57e3d1ba8fe04c1aff2eddd6e9eb2c9743c]/lib/Tapable.js:107:14

  - Compiler.js:394 Compiler.compile
    [src]/[2f29e5542c7b2eaf895a8e435bde063c6e9eba0d]/lib/Compiler.js:394:7

  - Compiler.js:203 Compiler.runAsChild
    [src]/[2f29e5542c7b2eaf895a8e435bde063c6e9eba0d]/lib/Compiler.js:203:7

  - compiler.js:70
    [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/lib/compiler.js:70:19

  - debuggability.js:299 Promise._execute
    [src]/[953ea8d4badc1212d26071638946cd40c7f53f6b]/js/release/debuggability.js    :299:9

  - promise.js:481 Promise._resolveFromExecutor
    [src]/[953ea8d4badc1212d26071638946cd40c7f53f6b]/js/release/promise.js:481:1    8

  - promise.js:77 new Promise
    [src]/[953ea8d4badc1212d26071638946cd40c7f53f6b]/js/release/promise.js:77:14
  - compiler.js:69 Object.compileTemplate
    [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/lib/compiler.js:69:10

  - index.js:47 Compiler.
    [src]/[b6a523076d54485fee7b51e624a717feb64ba053]/index.js:47:40

https://github.com/zeit/now-cli/issues/160#issuecomment-266106867

Apologies for the delay with the fix, the underlying issue in now has been fixed and react-create-apps seems to be building properly in now
Demo/poc app here: https://react-create-app-demo-zqahqhmybz.now.sh/
and src here: https://react-create-app-demo-zqahqhmybz.now.sh/_src/?f=package.json

Sounds great!

Just started to get this issue, however I do not use now.sh. Both yarn build/start and npm run build/start produce the same error. Downgrading to 0.7.0 fixes the issue. I tried 0.8.0, and that gave me the same error. Only thing I did between a working build and a non-working build was to add css-loader and style-loader to my dev-dependencies for my server code, which I have since removed, but the error remains.
Tried all the normal stuff, deleted node_modules and the yarn cache. Unsure of what to try next.

Thanks for the tips @vidarc.  I also experienced a similar issue after making some package changes – a mix of add and remove.  I'm not using now either. I was able to get past this with:
$ rm -rf node_modules
$ rm yarn.lock
$ yarn cache clean
$ yarn install


Fix couch_replicator_changes_reader:process_change

Overview
The size of the tuple was changed in all clauses of process_change but one.
Remove TS argument from #doc_info{id = <<>>} clause of process_change.
Testing recommendations
make eunit
Checklist

[x] Code is written and works correctly;
[ ] Changes are covered by tests;
[ ] Documentation reflects the changes;

This is a fixup for https://github.com/apache/couchdb/commit/571a2fc0b7445df0f6ad4626f6172bfe6c8c9a7c

+1


Set IDF int/prod portal to 4x30GB

Merged, deployed in int, looks fine, will deploy to prod during usual maint window.


ColliderParent component

Ease of access for finding the rigid body associated with the collider.

Is ColliderParent the best term for this? I'm mostly mimicking the ColliderSet::set_parent(collider, rigid_body, ...) api atm.

Thank you for this PR! What use-case does this new component serve?
I’m not sure it should have any side-effect (when moved or removed) regarding the collider’s parent since this is based only on the entity hierarchy. I’m also worried of the performance implications of collect_collider_hierarchy_changes acting on all topology changes.
If the goal is only to easily find the entity of a collider’s parent rigid-body, we have the method RapierContext::collider_parent.

I don't think we ever updated the collider parent if the entity was moved in the hierarchy though which was part of the point of this.
I also kind of think collider_parent should be more first class usage, I've ran into plenty of bugs where I accidentally assumed that the Collider entity I got back from a shape cast/ray cast would also be the rigid body, but maybe that is more of a documentation issue?

Some ways I think we could minimize the performance implications is by having a ColliderLink marker component and then checking for Query<Entity, (With<ColliderLink>, Changed<Parent>)>. This should also let us more properly update child collider positions in rapier.

This fixes #337 as well.

This should be ready to merge now.

Thank you for this PR! What use-case does this new component serve?

Entity hierarchy changes are not reflected in the Collider::parent, that means if a collider is re-parented to another entity it will still be considered parented to the previous RigidBody entity. This also

I’m not sure it should have any side-effect (when moved or removed) regarding the collider’s parent since this is based only on the entity hierarchy.

I'm a bit confused on this, we base the parent initially on the entity hierarchy so I'd assume we'd want to keep it updated to that standard.

I’m also worried of the performance implications of collect_collider_hierarchy_changes acting on all topology changes.

Topology changes should be relatively infrequent so I'm not too worried here. There are some improvements we could make by mimicking transform propagation and only operating on Parent changes to any entity between the Collider entity and RigidBody entity. But this gets much more error-prone and I feel like might be premature optimization in this case.

If the goal is only to easily find the entity of a collider’s parent rigid-body, we have the method RapierContext::collider_parent.

The method is super useful, but I think it lacks a bit of discoverability, I don't think I've seen any uses of rapier in the wild where it was correctly used instead of just assuming that the Collider entity was also the RigidBody entity.
Even inside of bevy_rapier I realized recently that CollidingEntities also assumes this, which makes the usage of CollidingEntities a bit confusing as well if you have child colliders.

I'm a bit confused on this, we base the parent initially on the entity hierarchy so I'd assume we'd want to keep it updated to that standard.

I was worried about the user adding or removing the ColliderParent component manually. Though that seems unlikely since that component can’t be constructed manually.
Since it is not supposed to be modified by the user, I wonder if we should call this ReadColliderParent (similar to ReadMassProperties)? I’m also not sure about whether this is worth the added code complexity considering we already have RapierContext::collider_parent. But I will deffer to your judgement on these remarks.
Otherwise that looks good!

I'm a bit confused on this, we base the parent initially on the entity hierarchy so I'd assume we'd want to keep it updated to that standard.

I was worried about the user adding or removing the ColliderParent component manually. Though that seems unlikely since that component can’t be constructed manually.
Since it is not supposed to be modified by the user, I wonder if we should call this ReadColliderParent (similar to ReadMassProperties)? I’m also not sure about whether this is worth the added code complexity considering we already have RapierContext::collider_parent. But I will deffer to your judgement on these remarks.
Otherwise that looks good!

I think just ColliderParent should be fine, Parent for bevy is similar in that you shouldn't modify it manually, but instead through commands.
I think it is worthwhile just for consistency over changes to the ECS world.
We could also do it by directly setting the collider parent in the RapierContext, but I think this is more idiomatic for how bevy users see game entities. Plus this has some benefits in the future when bevy finally gets relations added.