Unable to retrieve multiple layers from GML using in-memory file-like objects

Referring to:
https://github.com/Toblerity/Fiona/pull/587 and https://github.com/Toblerity/Fiona/issues/409
I am trying to use Fiona to process a GML file containing two layers, POINT_LAYER and LINE_LAYER.
While the layer names are retrieved correctly, the same layer is always loaded when calling:
 fiona.open(input_file, layer=layer_name)
Expected behavior and actual behavior.
Expected: I expect that the layer specified in the layer parameter will be loaded.
Actual: The same layer is loaded when using a file-like object, regardless of the specified layer
Steps to reproduce the problem.
If layers_file.xml is a GML file containing two layers, POINT_LAYER and LINE_LAYER, then:

# This is a GML file containing two feature types
input_file = "./layers.xml"

# Try with actual file reading
print("################################")
print("Processing using an actual file:")
print("################################")
file_layers = fiona.listlayers(input_file)
for layer_name in file_layers:
    with fiona.open(input_file, layer=layer_name) as schema:
        print(layer_name == schema.name)
        print(layer_name)
        print(schema.name)

print("################################")
print("Processing using BytesIO:")
print("################################")
source = io.BytesIO(open(input_file, "rb").read())
file_layers = fiona.listlayers(source)
source.seek(0)
for layer_name in file_layers:
    with fiona.open(source, layer=layer_name) as layer:
        print(layer_name == schema.name)
        print(layer_name)
        print(schema.name)
        source.seek(0)

Output will be:
################################
Processing using an actual file:
################################
True
POINT_LAYER
POINT_LAYER
True
LINE_LAYER
LINE_LAYER
################################
Processing using BytesIO:
################################
False
POINT_LAYER
LINE_LAYER
True
LINE_LAYER
LINE_LAYER
I have also tried using fiona.BytesCollection, fiona.io.MemoryFile and a standard lib TemporaryFile with the same results. Writing the raw bytes out to a real file and reading it works, so this seems to be specific to in-memory file objects.
Operating system
Mac OS X 10.15.7.
Fiona and GDAL version and provenance
Fiona 1.8.18, installed from PyPi using pip version 20.2.3
GDAL 3.2.0 installed via Homebrew

Turns out this is a duplicate of: https://github.com/Toblerity/Fiona/issues/781 - installing from master resolves it.


cloud/README.txt with text from project walkthrough

See #480
This new readme incorporates a concise view of the cloud package and the Reconciler interface, and refers to the Kubicorn project walkthrough for details.
It does not yet have a "how to add a new cloud" detailed description, though it's a step towards that direction.

Thank you very much for the contribution, we really appreciate it!


Bot should not launch when hosted in Express, Firebase etc.

Hello,
Thank you for that amazing project. It is exactly what I was looking for. But, it looks weird that the plugin launches bot in any case.
https://github.com/bukhalo/nestjs-telegraf/blob/26cc474726737cd1514773c7f30ed5d12995f3fc/lib/utils/create-bot-factory.util.ts#L10
For example, I'm running my bot on the Firebase and I don't need to launch the bot itself since all requests are handled by the Firebase function and from my end, only bot.handleUpdate() will be used.
It would be really handy if I could disable launching anyhow. I think the options object is an appropriate place for it.
Thank you

Hello, @toolstik! That's a great point, I really didn't think about the possibility of working in a serverless environment. It will take me a little time to think through how best to do it. I'll write later. PR's also welcome.


pipe_on_data_available (132): GOT ERROR nread -5, i/o error

adb daemon runs in terminal 1 like ./build/adbd, adb shell xxx for adb shell test commands run in terminal 2 like adb shell date. It works fine in terminal 2 when I enter a valid adb shell command(such as adb shell date, adb shell ifconfig, adb shell ls and so on). However, something strange happens here, terminal1(adb daemon) shows the error message, pipe_on_data_available (132): GOT ERROR nread -5, i/o error. At the same time, I tried more adb shell command for testing, which seems to have the same effect, prompts an error in terminal 1, please refer to the following for the error message(I added more log for debug):
name is shell:ifconfig
adb_service_open (354): ########### name is shell:ifconfig
shell_service (263): cmd = ifconfig
shell_service (312): argv[0] sh
shell_service (313): argv[1] -c
shell_service (314): argv[2] ifconfig
shell_service (315): argv[3] (null)
adb_register_service (339): id=3, peer=1433
on_child_exit (93): shell 3<->1433 exited with status 0, signal 0
pipe_on_data_available (132): GOT ERROR nread -5, i/o error

In addition, when I enter an incomplete adb shell command in terminal 2, such as adb she, and then I enter the tab key in terminal 2 to complete my test command, terminal 2 shows the command completions, such as adb shell, and error messages in terminal 1,  please refer to the following for error message:
name is shell:exit
adb_service_open (354): ########### name is shell:exit
shell_service (263): cmd = exit
shell_service (312): argv[0] sh
shell_service (313): argv[1] -c
shell_service (314): argv[2] exit
shell_service (315): argv[3] (null)
adb_register_service (339): id=8, peer=1470
pipe_on_data_available (132): GOT ERROR nread -5, i/o error
name is shell:getprop log.redirect-stdio
adb_service_open (354): ########### name is shell:getprop log.redirect-stdio
shell_service (263): cmd = getprop log.redirect-stdio
shell_service (312): argv[0] sh
shell_service (313): argv[1] -c
shell_service (314): argv[2] getprop log.redirect-stdio
shell_service (315): argv[3] (null)
adb_register_service (339): id=9, peer=1474
on_child_exit (93): shell 9<->1474 exited with status 127, signal 0
pipe_on_data_available (132): GOT ERROR nread -5, i/o error

I checked the libuv documentation here, nread is 5 corresponds to UV_EIO, and the corresponding description is i/o error.
In summary:

I'm not sure why the i/o error occurs here, the error message is too confusing, do you have a better way to fix it?
If this is not a problem, do we need to ignore this error message? If you agree with this, I can submit a PR to ignore it.

adb daemon runs in terminal 1 like ./build/adbd, adb shell xxx for adb shell test commands run in terminal 2 like adb shell date. It works fine in terminal 2 when I enter a valid adb shell command(such as adb shell date, adb shell ifconfig, adb shell ls and so on). However, something strange happens here, terminal1(adb daemon) shows the error message, pipe_on_data_available (132): GOT ERROR nread -5, i/o error. At the same time, I tried more adb shell command for testing, which seems to have the same effect, prompts an error in terminal 1, please refer to the following for the error message(I added more log for debug):
name is shell:ifconfig
adb_service_open (354): ########### name is shell:ifconfig
shell_service (263): cmd = ifconfig
shell_service (312): argv[0] sh
shell_service (313): argv[1] -c
shell_service (314): argv[2] ifconfig
shell_service (315): argv[3] (null)
adb_register_service (339): id=3, peer=1433
on_child_exit (93): shell 3<->1433 exited with status 0, signal 0
pipe_on_data_available (132): GOT ERROR nread -5, i/o error

In addition, when I enter an incomplete adb shell command in terminal 2, such as adb she, and then I enter the tab key in terminal 2 to complete my test command, terminal 2 shows the command completions, such as adb shell, and error messages in terminal 1, please refer to the following for error message:
name is shell:exit
adb_service_open (354): ########### name is shell:exit
shell_service (263): cmd = exit
shell_service (312): argv[0] sh
shell_service (313): argv[1] -c
shell_service (314): argv[2] exit
shell_service (315): argv[3] (null)
adb_register_service (339): id=8, peer=1470
pipe_on_data_available (132): GOT ERROR nread -5, i/o error
name is shell:getprop log.redirect-stdio
adb_service_open (354): ########### name is shell:getprop log.redirect-stdio
shell_service (263): cmd = getprop log.redirect-stdio
shell_service (312): argv[0] sh
shell_service (313): argv[1] -c
shell_service (314): argv[2] getprop log.redirect-stdio
shell_service (315): argv[3] (null)
adb_register_service (339): id=9, peer=1474
on_child_exit (93): shell 9<->1474 exited with status 127, signal 0
pipe_on_data_available (132): GOT ERROR nread -5, i/o error

I checked the libuv documentation here, nread is 5 corresponds to UV_EIO, and the corresponding description is i/o error.
In summary:

I'm not sure why the i/o error occurs here, the error message is too confusing, do you have a better way to fix it?
If this is not a problem, do we need to ignore this error message? If you agree with this, I can submit a PR to ignore it.

Attachment description: The test environment is ubuntu 18.04

I know this is not a right place to ask my question but is this microADB implements also adb server and client (host side) or just the daemon ?
Thanks


[Suggestion] Hide/Remove users who are no longer in the server when using [p]top

Currently, [p]top will display users who are no longer in the server.
It would be nice to detect if a user is no longer in the server and hide/remove their entry or have some way to manually flush users from the db using a command to clear out anyone who's left the server.

cbf1ef316fcef6046796d98b18c35b81a07bcaa1 makes it so people no longer in the server will not be displayed on top commands. Later there will be a command to remove a user from the db, and I am keeping this open until then.


Fix trailing slash

This is what finally fixed my nextcloud not syncing with the desktop client. Maybe it sometimes uses URLs with double trailing slashes?

Thanks. Is there a reason it's in its own capture group?

No, it's probably because I'm no regex expert and only found this working after hours trying :smile:


Fix for Microsoft Teams Channel Message Text

we get "botname logon" in the Microsoft Teams Channel message text. so it is better to check for contains instead of equals.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


4.0 rc1 hang with jarjar plugin

The following build.gradle seems to hang with 4.0 rc1. It used to work in 4.0 M1. Running build, it hangs resolving the files of packaging configuration (I stopped it after 4 minutes, there's no useful info in --info).
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.anarres.jarjar:jarjar-gradle:1.0.0'
}
}
repositories {
jcenter()
}
apply plugin: 'java'
apply plugin: 'org.anarres.jarjar'
ext {
protobufVersion = '3.0.0'
grpcVersion = '1.0.3'
// We need to package in our own copy of netty dependencies, since Studio
// can manually update its own netty library separately from us.
// See also: https://mvnrepository.com/artifact/io.grpc/grpc-netty/1.0.3
nettyVersion = '4.1.6.Final'
}
configurations {
packaging
}
dependencies {
packaging "com.google.protobuf:protobuf-java:$protobufVersion"
packaging "io.grpc:grpc-auth:$grpcVersion"
packaging "io.grpc:grpc-context:$grpcVersion"
packaging "io.grpc:grpc-core:$grpcVersion"
packaging "io.grpc:grpc-netty:$grpcVersion"
packaging "io.netty:netty-handler-proxy:$nettyVersion"
packaging "io.netty:netty-codec-http2:$nettyVersion"
packaging "io.netty:netty-transport:$nettyVersion"
packaging "io.netty:netty-codec-socks:$nettyVersion"
packaging "io.netty:netty-codec-http:$nettyVersion"
packaging "io.netty:netty-handler:$nettyVersion"
packaging "io.netty:netty-buffer:$nettyVersion"
packaging "io.netty:netty-resolver:$nettyVersion"
packaging "io.netty:netty-codec:$nettyVersion"
packaging "io.netty:netty-common:$nettyVersion"
packaging "io.grpc:grpc-okhttp:$grpcVersion"
packaging "io.grpc:grpc-protobuf:$grpcVersion"
packaging "io.grpc:grpc-protobuf-lite:$grpcVersion"
packaging "io.grpc:grpc-protobuf-nano:$grpcVersion"
packaging "io.grpc:grpc-stub:$grpcVersion"
compile "com.google.protobuf:protobuf-java:$protobufVersion"
compile "io.grpc:grpc-all:$grpcVersion"
}
jarjar.repackage('jarjarLibs') {
destinationName = archivesBaseName + '-' + version + '-jarjar.jar'
from configurations.packaging
from sourceSets.main.output.classesDirs
classRename 'com.google.protobuf.', 'com.google.protobuf3jarjar.@1'
classRename 'io.netty.', 'io.nettyjarjar.@1'
}
artifacts {
archives(jarjarLibs.destinationPath) {
name 'ProfilerServerApi'
type 'jar'
builtBy jarjarLibs
}
}

The issue here is that the 'org.anarres.jarjar` plugin contains a task that is exposing a filtered view of the source files of the task as an output.  The build above then adds a configuration as part of the source files of the task (which is totally reasonable).  When we are traversing the task graph, we are resolving the outputs of the task which is then in turn causing that configuration to be resolved.
Looking at the implementation of that task, it really seems wrong to me that they would set up this property as a task output.  In fact, I can't imagine a use case where a resolved configuration would ever be a task output.  I've opened up an issue with the plugin author suggesting how this task should be improved.
On the Gradle side, we should handle this more gracefully and not deadlock.  https://github.com/gradle/gradle/pull/2253 seeks to address this by failing fast when we detect a situation that will lead to this sort of deadlock.

The fix is now on release.


/api/packages 200 Response link header incorrect serialization

Link header is returned as the below
<https://api.pulsar-edit.dev/api/packages?page=1&sort=downloads&order=desc>; rel="self", <https://api.pulsar-edit.dev/api/packages?page=[object Object]&sort=downloads&order=desc>; rel="last", <https://api.pulsar-edit.dev/api/packages?page=1&sort=downloads&order=desc>; rel="next"

Note the [object Object] and it also appears that next isn't calculating at all either since it says 1, and not 2
They may be fixed at the same time, however, if next uses last to determine if it needs to be added

Thanks for the issue report, I'll go ahead and look into this, glad it was caught before we tried adding pagination to the package site

I've gone ahead and fixed the issue on the codebase. But will leave this issue open until the production instance is updated.

Seems syncing the fork caused this be automatically closed, but the production site still has not been updated. So I will leave this open

As this is now in the public instance, I'll close this issue


Question: Example pointing to node_modules and now the example code

Hi, Sorry to bother again,
First, thanks for this lib :)
I am trying to run you example in my machine (angular2 + material) but the example is pointing to the "@ng2-dynamic-forms" (in node_modules folder) and not the code it self. Is there any place where i can change that?
I want to see how this works and if i can add custom components.
Thanks :)

@sadplace No problem! If you'd like to change the library code itself and test it, please run npm run build from the root of your project folder and wait for your browser window to reload automatically.

ok thx, i'll try that :D

I was able to put it running, thanks for that :)
I have 2 questions:

in the input, the inputType does not seems to be working, i say a input is of type password and nothing happens,
i try to add another control and i get an error "Unexpected token <". i think i need to add the component to the bundle, can you give me some hints ?

Thanks :)

@sadplace

in the input, the inputType does not seems to be working, i say a input is of type password and nothing happens

It seems to be working fine for me. The corresponding property is named inputType:
    new DynamicInputModel({

        id: "basicInput",
        inputType: "password",
        label: "Example Input",
        placeholder: "example input",
    })

i try to add another control and i get an error "Unexpected token <". i think i need to add the component to the bundle, can you give me some hints ?

Can you describe a bit more in detail what you are doing? Adding a new type of DynamicFormModel always requires a corresponding component to be added to a UI template file.


Modify settings and refactor

Loop over "settings [which] provide a dynamic range of some 9-10 stops, with a decent low- and highlight frame which is sufficient to grab good data on most scenes, including shiny for a medium camera operating at 0.7m-1.2m-ish"
https://zividlabs.atlassian.net/browse/CS-266

@torbsorb I think this is ready to go. Not sure if Trym's comments are resolved. Please review my changes, run it to make sure it works as you planned and check that nothing is left what you planned to modify.

Trym is out of office so I've added @eskaur for the final review.

@eskaur can you review this so we can merge?


Driver baseUrl parameter not being used and throwing error

It seems the baseUrl parameter isn't being used by the root method in step_definitions/ext/navigation.js.
I am on version 1.0.0 and have the following configuration:
var mink = require('cucumber-mink');

var parameters = {
  driver: {
    baseUrl: 'https://example.local/',
    port: 3001,
    desiredCapabilities: {
      browserName: 'phantomjs'
    }
  }
};

module.exports = function () {
  mink.init(this, parameters);
};

Using the step And I am on the homepage I get:
Error: Please provide a base url to use root functions !
    at [object Object].exports.root (/path/to/node_modules/cucumber-mink/lib/step_definitions/ext/navigation.js:17:14)
    at Object.<anonymous> (/path/to/features/support/scenarios/auth.js:7:5)
    at process._tickDomainCallback (node.js:381:11)

And using And I am on "/" I get:
TypeError: Parameter 'url' must be a string, not object
    at Url.parse (url.js:110:11)
    at urlParse (url.js:104:5)
    at Object.urlResolve [as resolve] (url.js:437:10)
    at [object Object].exports.browse (/path/to/node_modules/cucumber-mink/lib/step_definitions/ext/navigation.js:24:23)
    at Object.<anonymous> (/path/to/features/support/scenarios/auth.js:7:5)
    at process._tickDomainCallback (node.js:381:11)

Should I not pass it in as a paramter but set it using the a baseUrl() method in step_definitions/ext/utility.js? At what point should that be called?

Hi, thanks for your feedback !
Indeed, the parameter isn't correctly handled, i'll post a fix right away
I never came across this because i usually start by test with
  Background:
    Given I browse "http://localhost:3000"

witch basically do this.driver.baseUrl = "http://localhost:3000";
anyway, thx for your issue :)

Dunno why it was automatically closed... anyway, i published a patch : https://github.com/Adezandee/cucumber-mink/releases/tag/v1.0.1

Thank you for the quick response and fix! I've updated and it reaches the homepage correctly now.
It does seem to never get to the next step though, I'll have a look into that. If it's not my fault I'll post up a new issue. Thanks :)


Optimized URL encoding

I don't know whether this has been already discussed here,
I found no issues regarding this, so I create a new one.
Relating to this article and post (credits to them):
https://codepen.io/Tigt/blog/optimizing-svgs-in-data-uris
https://codepen.io/Tigt/blog/optimizing-svgs-in-data-uris#comment-id-2068
I ported this to a node module that encodes a text file (SVG file) string by this optimized way:
https://github.com/strarsis/inline-urlescape
Maybe this could be used for encoding the SVGs in grunticon for inline usage?
With best regards

I think base64 encoding is not being used anymore since version 0.1.6: https://github.com/filamentgroup/grunticon/blob/master/README.md#release-history


updated sample host config file

fixes issue #2982
updated sample host config file
how verified:
verified with sample adaptive cards jsons.
Microsoft Reviewers: Open in CodeFlow

AAh so was this a sample issue ?

yes!

In reply to: 496726513 [](ancestors = 496726513)


Outdated dependencies

Hi @TyrealGray
Nice work on this repository.
I want to know if you have plans of updating the dependencies of this project.
I'm planning of modifying this app to use it as part of another electron app.

Glad to hear this app is helpful. I am using this for my side project, so I might be also updating the dependencies. But you are feel to do anything with this project, also it will be nice if you find something out of date and make a PR or just let me know which one needs to update : )


Update request: docker 20.10.21 → 23.0.1

Docker 23 have some important bugfixes, specially on buildkit that make it a must-have.

Package name: docker
Latest released version: 23.0.1

Current version on the unstable channel: 20.10.23

Current version on the stable/release channel: 20.10.21

[X] Checked the nixpkgs pull requests

Notify maintainers
@offlinehacker @tailhook
Note for maintainers: Please tag this issue in your PR.

Notifying additional maintainers: @vdemeester @periklis @mikroskeem @maxeaubrey


Rewrite entity pipe character in JsonEntityId

Unfortunately cannot test if entity actually starts up. entityRef.tell(Command()) also works when name is illegal.

Unfortunately cannot test if entity actually starts up. entityRef.tell(Command()) also works when name is illegal.

did you try an EventSourced entity? I think this issue only arises there (when trying to recover)

@mariussoutier in this case it's easiest to test it using the  net.sc8s.akka.components.testkit.ClusterComponentTestKitSpec in the akka-components-testkit module. I've added an example in https://github.com/an-tex/sc8s/pull/411/commits/bd925e1370180768384a58a16d7d389ba9d0e6cd feel free to change/extend it

I've added an example in bd925e1 feel free to change/extend it

I've played around with it and I think it's enough to test it.

thx @mariussoutier !


Inability to access parent resolver params in child resolver

I've read the documentation extensively to find any mention of this, but my use-case is the following:
parentResolver(someParam: ...) {
    field1
    field2
    field3Resolver() {
      //need access to someParam here
    }

The docs state that parameters in the execution context are available in the info parameter. However, info.variable_values seems to be an empty dictionary. Is this feature not implemented or am I reading the docs incorrectly?

how are you querying the data?
info.variable_values should represent the variables passed to the operation, if I remember correctly

For more detail, in my main query schema:
#Make the query object for the song session
@strawberry.type
class MyQuery:

	@strawberry.field
	def first_resolver(self, input_params: custom_input) -> MyObject: //here custom_input is my own strawberry.input definition
		...
                return MyObject(....)

graphql_schema = strawberry.Schema(query=MyQuery)

Then, the definition of MyObject goes as:
@strawberry.type
class MyObject:
    param1: int
    param2Resolver(self, info:Info):
        //info.variable_values here does not give me access to custom_input

Here's an example how how variable_values work:
import strawberry

from typing import List

@strawberry.type
class User:
    name: str

    @strawberry.field
    def example(self, info) -> str:
      return info.variable_values['name']

def get_users(name: str):
  return [User("Patrick")]

@strawberry.type
class Query:
   users: List[User] = strawberry.field(get_users)

schema = strawberry.Schema(Query)

print(
  schema.execute_sync(
    'query ($name: String!) { users(name: $name) { name, example } }',
    variable_values={"name": "Marco"}
  )
)

They will only return variables passed to the operation. So if you pass a literal directly, like so:
query { users(name: "Patrick") { name, example } }

your variable values will be empty :)
hope this make sense. Maybe you can put the variables on the context object? /cc @jkimbo is this something you ever needed to do?

@navyamehta what might help you is strawberry.Private which lets you attach extra information to your MyObject type without it being exposed in the schema (we really need to document this).
So your example becomes:
@strawberry.type
class MyQuery:

	@strawberry.field
	def first_resolver(self, input_params: custom_input) -> MyObject:
		...
        return MyObject(param1=3, input_params=input_params) # pass the input params to your object (or the subset that it cares about)

@strawberry.type
class MyObject:
	input_params: strawberry.Private[custom_input]
    param1: int

	@strawberry.field
	def param2Resolver(self, info:Info):
		# access the input params on self.input_params

The benefit of this is that your MyObject doesn't need to be explicitly aware of context "above" it in the graph and it could be reused somewhere else in the graph.

Side note: info.variable_values is poorly named. It should probably be called operation_variables or something like that.

@navyamehta can we close this issue now?


nested menu metadata regression

Bug Report
Describe the bug
#10 has regressed, likely due to new menu doczrc feature.
A clear and concise description of what the bug is.
To Reproduce
// doczrc.js
    menu: [
        "Home",
        "Guides",
        {
            name: "Components",
            menu: [
                "Core",
                "Datetime",
                "Icons",
                "Select",
                "Table",
                "Timezone",
                "Labs",
            ],
        },
        "Resources",
    ]

// alert.mdx
---
menu: Components/Core
name: Alert
---

# Alert

Expected behavior
Components > Core > Alert
Actual Behavior
Components/Core > Alert
Additional context/Screenshots

Is anyone working on this one? I can take it, because I need the same feature for one of my projects.

There's no way yet for a third level menu, we're launching v1, after the release that's one of our goal. Pr are welcome @EmaSuriano ;)

Any update on this?

I ended up with a simpler solution using only a 2 level menu. So I didn't implement this feature.

I want to use Docz, but for me its a requirement to have at least 3 levels of navigation in the sidebar. Is there any way of doing this in the latest version? I see this bug is closed, it seems it was possible but the bug has never been resolved?


wolfssl: 5.3.0 -> 5.4.0

Description of changes
https://github.com/wolfSSL/wolfssl/releases/tag/v5.4.0-stable
CVE-2020-12966: https://www.amd.com/en/corporate/product-security/bulletin/amd-sb-1013
CVE-2021-46744: https://www.amd.com/en/corporate/product-security/bulletin/amd-sb-1033

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This seems to break the virtualbox build

CVE-2022-34293

@ajs124 seems to work for me - what error are you seeing?
@ofborg build virtualbox
nixpkgs-review happy for me, macos 10.15 & nixos x86_64. Builds, nixos aarch64. pkgsMusl and pkgsCross.aarch64-multiplatform variants build.
Looking at the release notes, there is a lot in this release. Not that comfortable about the auto-backport...

@ajs124 seems to work for me - what error are you seeing?

kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/crypto/tsp-init.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/dbg/dbg.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/crypto/x509-file.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/crypto/tsp-sanity.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/dbg/dbgmodldr.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/dbg/dbgmodexports.cpp
The failing command:
$(QUIET)$(REDIRECT) -wo $@ -- $(SED) -f $< $(filter %.h,$^)
kmk: *** Deleting file '/build/VirtualBox-6.1.34/out/linux.amd64/release/obj/Runtime/errmsgdata.h'
kBuild: Generating /build/VirtualBox-6.1.34/out/linux.amd64/release/obj/Runtime/errmsgdata.h
kmk: *** [/build/VirtualBox-6.1.34/src/VBox/Runtime/Makefile.kmk:3685: /build/VirtualBox-6.1.34/out/linux.amd64/release/obj/Runtime/errmsgdata.h] Segmentation fault
kmk: *** Waiting for unfinished jobs....
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/dbg/dbgmodcontainer.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/dbg/dbgmoddeferred.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/dbg/dbgmodmapsym.cpp
kBuild: Compiling RuntimeBldProg - /build/VirtualBox-6.1.34/src/VBox/Runtime/common/err/errinfo-alloc.cpp

although I seem to remember that this might just be a hardened kernel issue with virtualbox.
if it builds fine for other on x86_64-linux, then disregard.

Unless we can find another system where this is failing I think we should merge this.


'ScalarResult' object has no attribute 'yield_per'

Great project.
Running your minimal example, I get this error:
collection.py:305
AttributeError: 'ScalarResult' object has no attribute 'yield_per'

Oops. Reinstalled and it resolved itself!


Routing topic updates

Fixes #8763
Fixes #9570

Versioning this for the 2.2 topic to only explain the endpoint routing scenario. The bit at the top on EnableEndpointRouting says that to learn more about legacy routing to see the 2.1 version of the topic.
URI/URL ... I didn't make radical changes; but AFAICT, this needs work. Should I convert all instances of "URL" to the more general "URI" then you can flag the ones that go back to "URL"? Otherwise, let me know which "URL" mentions are better as URI.
No doubt some of the versioning and member descriptions are incorrect in spots. I couldn't tell in some cases if/how the member works with endpoint routing. There be 🐉 dragons 🐉 in my guesses!
Normally, we try not to refer to specific versions; however, this is a case where it can't be easily avoided: The endpoint routing paradigm prompts enough shifts in dev thinking that we probably need to point out the deltas explicitly. In some future version ... ASP.NET Core 3.0 is a logical time ... I think these callouts for 'this is new in 2.2' can be removed. I created #9552 to track the work for 3.0.
IMO, the docs are 🎷 jam'in 2.2 updates 🎸, so we're not in a super-major-crazy hurry for the reviews.
Let's avoid the 🎄 holiday rush 🎅 and take the sample to 2.2 now. I'll mark it on the sample update tracking issue shortly.

@JamesNK is this something you could review if @rynowak 	is too busy?

Thanks @JamesNK

Nice! Nothing major

Not so many 🐉 after all is good news. Let's tell management that I'm getting better ... well ... we do live in the age of alternative facts 😝 ... so we should be able to get away with it. 😨
It probably needs a bit more work on a couple of those touch-ups. For example, the bit in the Routing basics section may need more work.

I'll be adding something this morning (in a few hours) to address feedback on #9570. I'll WIP this until then.

I'll need an engineering sign-off in order to proceed. No giant rush tho ... AFAICT, we're look'in real good on 2.2 work.

I'll need an engineering sign-off in order to proceed. No giant rush tho ... AFAICT, we're look'in real good on 2.2 work.

I'm looking now 👍 - sorry for the delay I was on vacation

Thanks @scottaddie ... I just need to hear back on that one section under routing basics. I ended up trying to change the existing text as little as possible. They like that section in the current version of the topic, so I reverted several of my updates in favor of what they had there. I think I licked everything else u listed.

@scottaddie I'll give it one more pass in the morning ... see if I spot any sneaky 🐞 in here.

I should take a final look at the "URI" vs "URL" situation. I thought there were at least a couple of spots where URI worked better and would be more consistent with notes and prior text. I'll ping u tomorrow @scottaddie with the commit (if there is one), and we can take a look at anything I find that might need to change.

@rynowak @JamesNK Pain point here groking "URI" (25 instances) vs. "URL" (95 instances) in all contexts down the doc. For example, in the URL generation section, it starts with 'generating a URL' language ...

routing can create a URL path

separation between your endpoints and the URLs that access them

... flips over to URI ...

they generate a URI containing

generate a URI in the context of

... with extension methods named with "URI" ... GetUriByAddress.
Next section ...

this code generates a URI of /blog/ReadPost/17

... but that's a relative URL only valid in the context of an actual URL with a protocol.
Later in the topic, we're back to "URL" generation lingo ...

URL generation is the process by which routing can create a URL path based on a set of route values.

btw -- Should Url.Action and Url.Page be IUrlHelper.Action and IUrlHelper.Page?
The TL;DR Question :smile:
What approach should be taken here to assess "URL" and "URI" in the topic, if anything? If you reviewed with this in mind and are ok with what you saw, then we can go ahead and merge this. I'm a bit concerned about it tho ... interchangeable back-and-forth use of them anyway, if that's what's happening in spots.

@guardrex 	do what's need to get @scottaddie 	to approve then merge. You could create a P3 issue on URI vs URL, but I don't think that's necessary.

I like it ... let's do that. It's obviously not a 2.2 priority, even if there is work to do on that aspect.
@scottaddie I think your feedback has been addressed. Anything else to do?


vNext Task - Investigate raising additional events for a InputActions

Overview
It was suggested that we may also want to call actions for when inputs reach their max/min values or have a specific value.
For example the Xbox Dpad outputs a single Vector 2 value, where as Users want to be able to assign different actions based on the Dpad up / DPad down / etc
This however translate differently based on what the input is, so the user might want a different action for the directions on a touchpad, e.g. N / NW / W / SW / S / SE / E / NE
Currently this is only way to process the directions is in the handler, as shown below.
public void OnPositionInputChanged(InputEventData<Vector2> eventData)
{
    if(eventData.InputData.x == 1)
    {
        // Right Press
    }

    if(eventData.InputData.x == -1)
    {
        // Left Press
    }

    if(eventData.InputData.y == 1)
    {
        // Up Press
    }

    if(eventData.InputData.y == -1)
    {
        // Down Press
    }
}

Ideally, there should be an editor configuration screen to be able to add the ability to configure these translations / re-directions of input actions
Requires

A new capability to be able to execute additional actions based on an input actions data value (_Core or SDK?)
Code documentation
Supporting user documentation

Acceptance Criteria

[ ] I can configure 4 or more different input actions for each direction, from a input action received from a Dpad (Dual Axis)
[ ] I can configure 8 or more different input actions for each direction, from a input action received from a Thumbstick (Dual Axis)
[ ] I can configure 8 or more different input actions for each direction, from a input action received from a Touchpad (Dual Axis)
[ ] I can configure different Input actions for pressure received from a single axis / float input action
[ ] I can configure different Input actions for rotations received from a 3Dof or 6Dof input action
[ ] I can configure different Input actions for positions received from a 3Dof or 6Dof input action

Updated Task to be a little more generic.  Aim is to provide a "Helper" editor component for users who "don't code", but want a way to generate new actions based on an existing input actions value

Revised task based of (post)shiproom discussions on the implementation.


Azure AD has been renamed to Microsoft Entra ID

Description
see What names aren't changing?

Azure AD has been renamed to Microsoft Entra ID, can this page please be updated with the current product name? More information here: https://learn.microsoft.com/en-us/entra/fundamentals/new-name

Page URL
https://learn.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?view=aspnetcore-8.0
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/security/key-vault-configuration.md
Document ID
efe5ae5e-ff64-f1c7-6920-4512fc8f36d1
Article author
@Rick-Anderson

Per What names aren't changing?, these names didn't change.


Updated Amazon Webservices for Dummy link

It was returning 404 on the dummies.com website, but the amazon.com link should be permanent.

Trying to access their store form their own site, http://www.dummies.com/programming/cloud-computing/amazon-web-services/amazon-web-services-for-dummies/, also returns a 404, it points to the same link.
I'd go with the Amazon link.

Confirmed. Good catch-- thanks!


Flash through firmware tool

This is probably not quite ready to land, because tools/firmware doesn't work well on Windows yet.

This is now ready for review. We need to get an SDK version out that uses an updated version of pkg-host for tools/firmware before this will work on Windows.

TBR'ed. Will try to get a pre-release (v1.7.8) ready.


Popover flashing issue on version 0.13.4

Hi,
Please check the plunker for the issue:
http://plnkr.co/edit/YgyaSyrAbvUzIEGhoAtd?p=preview
There a flash effect before popover showed on correct position, I guess it appended to body before setting its position?
UPDATE: this issue may not happened each time, but in most time, you can see a flash on top-left corner of document body

This issue has been fixed in master.  In the future, please make an effort to search existing issues, both open and closed, before creating a new issue as this bug in particular has been reported literally dozens of times.


AptPackageIndexUpdate fails and can not apt-get update manually

A brief description
AptPackageIndexUpdate opened and failed(err http ) and I went into bash to  apt-get update manually
it also failed.
Expected results
Inform me when to update and update successfully.
Actual results (with terminal output if applicable)

/mnt/c/Windows/System32$ apt-get update
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Your Windows build number
10.0.14393

Looks like you are not running the command with sudo. Apt-get update requires root (it says so in the error message above).

Please reopen if "sudo apt-get update" does not work for you.

When running sudo apt-get update, I'm getting the following errors:
.
.
.
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-backports/restricted/binary-amd64/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::21). - connect (13: Permission denied) [IP: 2001:67c:1360:8001::21 80]

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-backports/universe/binary-amd64/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::21). - connect (13: Permission denied) [IP: 2001:67c:1360:8001::21 80]

W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-backports/multiverse/binary-amd64/Packages  Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1360:8001::21). - connect (13: Permission denied) [IP: 2001:67c:1360:8001::21 80]

These are just the last 3.
I am able to ssh to other servers and I can also ping www.google.com for example.
But every time I try to install something with apt-get or update, I get the error:
connect (13: Permission denied) [IP: 2001:67c:1360:8001::21 80]

Let me know if you need any more info.

Maybe it's better if I open a new issue? Or can we re-open this one?

Opened issue 1720

Hey @sam-castaneda -- thanks!  FYI, if you prefix an issue number with '#' (for example, #1720 ), it automatically links to the issue so future readers can jump right to the new issue.


ISPN-12477 Remove IRAC sender thread

https://issues.redhat.com/browse/ISPN-12477

updated:

added SegmentAwareKey (better name?) to keep the key & segment together.
emoved backoffSleep()

@wburns CI looks fine.

Integrated into master, thanks @pruivo !


Can't access nodes over the network

Hi,
When I run the bringup code, I cannot see the nodes on the network. If I SSH into the robot and run it I can control the robot, view it in Rviz2, etc. However, I cannot access the nodes elsewhere on the network. I have tried it over ethernet and over WiFi (with a USB WiFi adapter) but cannot see them. Has anyone else had this issue? It might be a CycloneDDS configuration issue but I am not sure.
Thanks

Hi @tgodfrey0
You probably have to configure cyclone in an xml file to make the data available through other interfaces, since I think the default configuration of the robot only allows it to see the data through its eth.

Hi,
I've looked at the cyclonedds.xml file on the robot and it already has eth0 as a listed interface. Did you have to add another wired interface here?

Hi!
We don't have any xml configuration with that right now, but I encourage you to try to make one that works over wifi or both interfaces and share it here.
Regards.

I've got this working over ethernet. Even after enabling the wireless interface in the cyclonedds.xml file on the Go2, the nodes are still only pushed over eth0. I'll keep working on getting wireless working.
I've also created a Dockerfile that automatically configures everything to allow for easier use of this SDK.

I've got this working over ethernet. Even after enabling the wireless interface in the cyclonedds.xml file on the Go2, the nodes are still only pushed over eth0. I'll keep working on getting wireless working.
I've also created a Dockerfile that automatically configures everything to allow for easier use of this SDK.

Hello, did you manage do make it work over wireless network? i also tried adding wireless interface in cyclonedds.xml but it did not work

I have this working over wireless now. But I am having an issue with the SDK, even when run on the Jetson, the topics from this package, e.g. /joint_states exist but do not publish any messages. Do you have any ideas about this @Juancams? Thanks
@judy33a I had to add wlan0 to the cyclonedds.xml file, but due to my insitution's network setup I have to run the Go2 wifi adapter in AP mode to create it's own WiFi network. I have  Dockerfile which should just work when you build it with the wireless interface.  My fork is here.

I'm not sure of the exact model, it's an old linksys one we had in the lab.


Add support for inspecting standard OTP and elixir collections in debugger Variables

MapSet, :array, :queue, etc

Not mach value in it. Those terms can be inspected with existing functionality. Besides it's not always possible to guess the exact type of erlang collections. Only some of them implement checks like is_array/1


[BUG] RuntimeError: cuDF failure : Unsupported type_id conversion to cudf

Bug description

RuntimeError: cuDF failure at: /opt/rapids/src/cudf/cpp/src/interop/from_arrow.cu:86: Unsupported type_id conversion to cudf
Steps/Code to reproduce bug

please run the notebook at Transformers4Rec/examples/getting-started-session-based/01-ETL-with-NVTabular.ipynb
the cell below "Feature Engineering with NVTabular" will pop this error.
it was caused by " dataset = nvt.Dataset(df)"

Expected behavior

Environment details

Transformers4Rec version:  23.2.0
Platform: Debian 4.19.269-1
Python version: 3.8.10
Huggingface Transformers version: 4.18.0
PyTorch version (GPU?): 2.0.0 (yes support GPU)
Tensorflow version (GPU?):

Additional context

RuntimeError                              Traceback (most recent call last)
Cell In[24], line 53
49 seq_feats_list = filtered_sessions['item_id-list', 'category-list', 'age_days-list', 'weekday_sin-list'] >>  nvt.ops.ValueCount()
51 workflow = nvt.Workflow(filtered_sessions['session_id', 'day-first'] + seq_feats_list)
---> 53 dataset = nvt.Dataset(df)
55 # Generate statistics for the features and export parquet files
56 # this step will generate the schema file
57 workflow.fit_transform(dataset).to_parquet(os.path.join(INPUT_DATA_DIR, "processed_nvt"))
File /usr/local/lib/python3.8/dist-packages/merlin/io/dataset.py:265, in Dataset.init(self, path_or_source, engine, npartitions, part_size, part_mem_fraction, storage_options, dtypes, client, cpu, base_dataset, schema, **kwargs)
259 npartitions = npartitions or 1
260 if isinstance(path_or_source, dask.dataframe.DataFrame) or is_dataframe_object(
261     path_or_source
262 ):
263     # User is passing in a <dask.dataframe|cudf|pd>.DataFrame
264     # Use DataFrameDatasetEngine
--> 265     _path_or_source = convert_data(
266         path_or_source, cpu=self.cpu, to_collection=True, npartitions=npartitions
267     )
268     # Check if this is a collection that has now moved between host <-> device
269     moved_collection = isinstance(path_or_source, dask.dataframe.DataFrame) and (
270         not isinstance(_path_or_source._meta, type(path_or_source._meta))
271     )
File /usr/local/lib/python3.8/dist-packages/merlin/core/dispatch.py:603, in convert_data(x, cpu, to_collection, npartitions)
601     _x = cudf.DataFrame.from_arrow(x)
602 elif isinstance(x, pd.DataFrame):
--> 603     _x = cudf.DataFrame.from_pandas(x)
604 # Output a collection if to_collection=True
605 return (
606     dask_cudf.from_cudf(_x, sort=False, npartitions=npartitions)
607     if to_collection
608     else _x
609 )
File /usr/local/lib/python3.8/dist-packages/nvtx/nvtx.py:101, in annotate.call..inner(*args, **kwargs)
98 @wraps(func)
99 def inner(*args, **kwargs):
100     libnvtx_push_range(self.attributes, self.domain.handle)
--> 101     result = func(*args, **kwargs)
102     libnvtx_pop_range(self.domain.handle)
103     return result
File /usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py:4819, in DataFrame.from_pandas(cls, dataframe, nan_as_null)
4815 for col_name, col_value in dataframe.items():
4816     # necessary because multi-index can return multiple
4817     # columns for a single key
4818     if len(col_value.shape) == 1:
-> 4819         data[col_name] = column.as_column(
4820             col_value.array, nan_as_null=nan_as_null
4821         )
4822     else:
4823         vals = col_value.values.T
File /usr/local/lib/python3.8/dist-packages/cudf/core/column/column.py:1987, in as_column(arbitrary, nan_as_null, dtype, length)
1985     data = as_column(pa.Array.from_pandas(arbitrary), dtype=arb_dtype)
1986 else:
-> 1987     data = as_column(
1988         pa.array(
1989             arbitrary,
1990             from_pandas=True if nan_as_null is None else nan_as_null,
1991         ),
1992         nan_as_null=nan_as_null,
1993     )
1994 if dtype is not None:
1995     data = data.astype(dtype)
File /usr/local/lib/python3.8/dist-packages/cudf/core/column/column.py:1769, in as_column(arbitrary, nan_as_null, dtype, length)
1763 if isinstance(arbitrary, pa.lib.HalfFloatArray):
1764     raise NotImplementedError(
1765         "Type casting from float16 to float32 is not "
1766         "yet supported in pyarrow, see: "
1767         "https://issues.apache.org/jira/browse/ARROW-3802"
1768     )
-> 1769 col = ColumnBase.from_arrow(arbitrary)
1771 if isinstance(arbitrary, pa.NullArray):
1772     new_dtype = cudf.dtype(arbitrary.type.to_pandas_dtype())
File /usr/local/lib/python3.8/dist-packages/cudf/core/column/column.py:296, in ColumnBase.from_arrow(cls, array)
291 elif isinstance(
292     array.type, pd.core.arrays._arrow_utils.ArrowIntervalType
293 ):
294     return cudf.core.column.IntervalColumn.from_arrow(array)
--> 296 result = libcudf.interop.from_arrow(data)[0]
298 return result._with_type_metadata(cudf_dtype_from_pa_type(array.type))
File interop.pyx:150, in cudf._lib.interop.from_arrow()
RuntimeError: cuDF failure at: /opt/rapids/src/cudf/cpp/src/interop/from_arrow.cu:86: Unsupported type_id conversion to cudf

@mtnt-2022  we need to know how did you install Merlin, cudf and dask_cudf first?

are you using merlin-pytorch:23.02 docker image? if not did you install Merlin libs, cudf and dask_cudf with pip? if yes how?
what's your GPU specs?
where do you run this notebook? on a WS or on a cloud instance? if the latter which one?
thanks.

@rnyak
Q: are you using merlin-pytorch:23.02 docker image? if not did you install Merlin libs, cudf and dask_cudf with pip? if yes how?
A: yes, nvcr.io/nvidia/merlin/merlin-pytorch:23.02. All cudf libs were installed by GCP by default.
Q: what's your GPU specs?
A: NVIDIA T4
Q: where do you run this notebook? on a WS or on a cloud instance? if the latter which one?
A: GCP Vertex AI workbench virtual machine.
thanks.

@mtnt-2022

yes, nvcr.io/nvidia/merlin/merlin-pytorch:23.02. All cudf libs were installed by GCP by default.
what's that mean all cudf libs installed by GCP by default? all cudfs should be installed in the docker image, you should not install any cudf or dask_cudf if you are using merlin docker image.

can you please share your cudf and dask_cudf and all merlin lib versions?  this is our support matrix, you can check the lib versions that you need to have in 23.02 pytorch image.

@rnyak
please see the libs that I have:
cudf   :                  22.8.0a0+304.g6ca81bbc78.dirty
dask-cudf  :         22.8.0a0+304.g6ca81bbc78.dirty
CUDA Version:    11.8
NVIDIA-SMI        510.47.03
Driver Version:  510.47.03
merlin                                1.9.1
merlin-core                           0.5.0
merlin-dataloader                     0.0.3
merlin-models                         23.2.0
merlin-systems                        23.2.0
nvidia-cublas-cu11                    <IP_ADDRESS>
nvidia-cuda-cupti-cu11                11.7.101
nvidia-cuda-nvrtc-cu11                11.7.99
nvidia-cuda-runtime-cu11              11.7.99
nvidia-cudnn-cu11                     <IP_ADDRESS>
nvidia-cufft-cu11                     <IP_ADDRESS>
nvidia-curand-cu11                    <IP_ADDRESS>
nvidia-cusolver-cu11                  <IP_ADDRESS>
nvidia-cusparse-cu11                  <IP_ADDRESS>
nvidia-nccl-cu11                      2.14.3
nvidia-nvtx-cu11                      11.7.91
nvidia-pyindex                        1.0.9
nvtabular                             23.2.0
GPU :   Tesla T4
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
triton                                2.0.0
tritonclient                          2.32.0
Ubuntu          20.04.5 LTS
rmm               22.8.0a0+62.gf6bf047.dirty
torch                                 2.0.0

@mtnt-2022 are you running the [Transformers4Rec](https://github.com/NVIDIA-Merlin/Transformers4Rec)/[examples](https://github.com/NVIDIA-Merlin/Transformers4Rec/tree/main/examples)/[getting-started-session-based](https://github.com/NVIDIA-Merlin/Transformers4Rec/tree/main/examples/getting-started-session-based)/01-ETL-with-NVTabular.ipynb as it is or with your custom dataset?

@rnyak , yes,  I am running this nb as it is.

@rnyak , yes, I am running this nb as it is.

thanks. any chance you can get a GPU instance where the driver is > =  515.65.01 ?

@rnyak ,
Currently, we are using NVIDIA T4 GPU. The driver may be different for different GPU instance ?  Please let me know how to update the driver version ?
Also, based on https://rapids.ai/pip.html,
CUDA & NVIDIA Drivers: One of the following supported versions:
CUDA 11.2 with Driver 460.27.03 or newer
CUDA 11.4 with Driver 470.42.01 or newer
CUDA 11.5 with Driver 495.29.05 or newer
CUDA 11.8 with Driver 520.61.05 or newer
Because our CUDA is 11.8, so the Driver must be >= 520.61.05 ? Otherwise, RAPIDS (including cudf) will not work correctly on GCP ?  thanks

@rnyak , I have tried other GPU instances: NVIDIA Tesla P4, Tesla V100 and got the same error. They all have the GPU driver:
NVIDIA-SMI 510.47.03    Driver Version: 510.47.03    CUDA Version: 11.8
I got the same error.

@mtnt-2022 can you please test if you are able to do import cudf and then test if you can create a cudf df, and then run a simple nvt workflow
import cudf
import nvtabular as nvt
df = cudf.DataFrame({'a_user_id': ["User_A","User_E","User_B","User_C","User_A","User_B","User_B","User_C","User_B","User_A"],
                    'media':[3, 3, 12, 17, 3, 1, 1, 0, 1, 12], 'language': ['en', 'en', 'spn', 'fr', 'spn', 'en', 'fr', 'ch', 'ch', 'en']})

print(df)

dataset = nvt.Dataset(df)
cats= (['a_user_id','media', 'language']) >> nvt.ops.Categorify()

workflow = nvt.Workflow(cats)
workflow.fit(dataset)
new_gdf = workflow.transform(dataset).to_ddf().compute()
new_gdf.head()

we have some instructions for you to start a GCP instance and install Merlin libs there.
https://github.com/MarkMoTrin/merlin-install-gcp/blob/main/README.md
you can follow the steps in the readme above but you need to pull the correct container:
sudo docker pull nvcr.io/nvidia/merlin/merlin-pytorch:23.04
sudo docker run --rm -it --runtime=nvidia --gpus all -p 8888:8888 -p 8797:8787 -p 8796:8786 nvcr.io/nvidia/merlin/merlin-pytorch:23.04 /bin/bash

@mtnt-2022 I am closing this ticket due to low activity. please reopen if you have further questions.


Blue Wallet and UR2 fix

fix bw for handling invalid psbt
fix for ur2 to not use checksum during decode until ur2 lib is fixed
add exclusion of "src/seedsigner.egg-info/" to .gitignore for test suite

Appreciate these.


Sidebar lacks colos in light mode

Describe the bug
Using Stump in an iframe with dark background, the aside:first-child div element does not have a background color set, resulting in rgba(0,0,0,0) and in black font text displayed onto the dark background.
To Reproduce

Put stump into an iframe with a dark background.
Observe the text is not readable like in this screenshot:

Expected behavior
The text should be readable in light mode as it is in dark mode, where font color and background have contrast.
I suggest you assign a white background to the div element contained in aside.

Thanks.
Sure thing, I'll add styling glitches here if I catch any other.

This should be fixed in the latest nightly now 👍


docs: add pre-rendered smpl motions link in README

Please put the explanation related to data in a separate subdirectory.


brew cask install

Currently set up on my own taps repo.
PR to homebrew: https://github.com/Homebrew/homebrew-cask/pull/81197

In the main homebrew repo now!


By default, mermaid2 works only with the material theme

Issue #11 showed that the mermaid2 plugin works ("out of the box") only with the material theme.
This was documented in version 0.4.2, but this is not ideal for the "ease of use" of the plugin.
As @kerrerain mentioned:

As a user, it might feel easier to not bother with the pymdownx.superfences block in the configuration file. I don't know. There might be another easier solution. For the moment, as long as it is mentioned in the documentation, there's a working solution available. So, this very issue is solved but there might be an improvement possible.

As a pointer: by default, mkdocs converts fenced code blocks into pre / code blocks:

graph TD
    hello --> world
    world --> world2

(actual output, prettyfied)
whereas the mermaid2.fence_mermaid function converts to a div sequence, which would be this:

graph TD
    hello --> world
    world --> world2

The javascript library accepts both forms, but I guess the div approach is more robust, since it works in several themes (default, material, Windmill).
I am not sure where the problem occurs in the HTML production chain (the plugin is only a part of the process), but this may be relevant.
Any help would be appreciated.

Thanks for the summary.
I think that the major issue is the interference between the mermaid plugin and the syntax highlighters.
 block triggers highlight.js. Unfortunately, highlight.js acts before mermaid.js in the HTML page.
The sequence of events seems to be:

MkDocs creates a
 block.
Highlight.js creates is triggered and adds , , etc, blocks.
Mermaid.js tries to render a diagram from these invalid code blocks, which results in a syntax error.

So, even if mermaid.js accepts both forms (
 and
), the
 form triggers highlight.js. Setting highlightjs: false in the mkdocs.yml configuration file is a way to test the mermaid mkdocs plugin without interfering with this syntax highlighter.
I don't know much about MkDocs plugins. I think that I understand what is going on and that I can handle this improvement, but I will have to learn a bit to avoid providing a poor solution.
So, after learning more about MkDocs and MkDocs plugins, I'm going to open a pull request. Feel free to make a torough review of it when I will submit the first version.

Come to think about it, there could be a simple fix of this issue for the plugin: to convert all mermaid code blocks on the fly to div. In that way, we would cut all the complexity.
That would still allow the use of superfences and its custom fences, for advanced users.

@kerrerain : this issue is solved in v.0.5.0: now other themes shoud work out of the box.
If you have a spare minute, would you let me know if this works for you?

@fralau Yes I have. That was easy to test.
0) Device
Tested on macOS High Sierra 10.13.6 with Chrome 85.0.4183.83 (64 bits).
1) Setup MkDocs

Created a new workspace.
Created a new virtualenv with python -m venv .venv at the root of this workspace.
Ran pip install mkdocs mkdocs-material.
Ran mkdocs new mkdocs-test.
Configured mkdocs.yml:

site_name: My Docs
plugins:
  - search
  - mermaid2

Added a mermaid diagram in the default home page.
Cloned the mkdocs-mermaid2-plugin repository locally.
Ran pip install -e . at the root of the plugin's folder.

2) Test the old version

Checked out the 069ec9e70ba82324 commit.
Ran the mkdocs server => a syntax error was displayed instead of the diagram.
Added theme: material to mkdocs.yml.
Ran the mkdocs server => the diagram was displayed.

3) Test the new version

Checked out the master ref of the repository.
Ran the mkdocs server => the diagram was displayed.
Added theme: material to mkdocs.yml.
Ran the mkdocs server => the diagram was displayed.

@kerrerain Wow. This was impressive.
So we can close the issue?

@fralau I think we can. Thanks for this fix and the plugin ;)


Core creds plugin alternative

The notification that the metadata is ready is now a fixed callback.
This design is less flexible (especially for testing) but may be
easier to integrate for wrapped languages.

Is this PR in a good working shape? I'd like to try prototyping C# wrapping around the C core API to see how would the result feel.

I haven't tested anything so I cannot really guarantee that it works but I'm moderately confident that it will.

For the record, I do not have a preference between this option and the other in terms of wrapping it in Node. It looks like it will just be the difference between passing around an opaque pointer and passing around two opaque pointers hidden by a single opaque pointer.

Abandoning the alternative as agreed with the team.


Redesigning the courses pages like web development to make it more attractive and impressive to learn.

please assign me this work @yatulearn


Force no warnings in test phase

Add annotations to disallow warnings when testing, based upon https://github.com/rust-unofficial/patterns/blob/master/anti_patterns/deny-warnings.md.
Also change the build script, as test already includes build and removing --all permits to leverage caching if it is ever implemented on the backend.
Fixed a dependency (gcc => cc) to remove warnings, and fixed the way-cooler part.
Related: #589

Done.
This implies lots of changes though, some of which you may not like (i.e. using let _ = when the value is really useless). It was why I commented it at first.


color_syncnet_train.py

So, I have preprocessed a part of the AVSpeech dataset and ran the command for color_syncnet_train.py. The filelists (train.txt, and val.txt) are properly done as well but the output  is like this:
python color_syncnet_train.py --data_root preprocess --checkpoint_dir checkpoints/
use_cuda: True
total trainable params 19881059
0it [00:00, ?it/s]Saved checkpoint: checkpoints/checkpoint_step000000001.pth
Loss: 1.0145502090454102: : 1it [16:59, 1019.31s/it]
0it [00:00, ?it/s]
Is this going on fine? why is it going for 1 it?
There are around 49 entries in train.txt and 26 in val.txt (all of them preprocessed). The folder paths look fine to me as well, not sure what am I messing up.

you need to collect more dataset and preprocessing them

Alright, but now I am getting an error after running this for sometime:
python color_syncnet_train.py --data_root preprocessedData/ --checkpoint_dir checkpoints
use_cuda: True
total trainable params 19881059
0it [00:00, ?it/s]Saved checkpoint: checkpoints/checkpoint_step000000001.pth
Loss: 1.130293607711792: : 1it [12:44, 764.86s/it]
Loss: 0.9026422500610352: : 1it [14:37, 877.93s/it]
Loss: 1.0647838115692139: : 1it [14:40, 880.54s/it]
Loss: 1.0123388767242432: : 1it [15:36, 936.53s/it]
Loss: 0.9266862869262695: : 1it [15:00, 900.80s/it]
Loss: 0.8942291140556335: : 1it [13:57, 837.86s/it]
Loss: 1.0073713064193726: : 1it [15:19, 919.58s/it]
Loss: 1.0768300294876099: : 1it [15:41, 941.04s/it]
Loss: 0.9291326999664307: : 1it [16:07, 967.90s/it]
Loss: 0.9046692848205566: : 1it [13:43, 823.88s/it]
Loss: 0.6578884720802307: : 1it [16:10, 970.35s/it]
Loss: 1.1847789287567139: : 1it [12:44, 764.03s/it]
Loss: 1.0758931636810303: : 1it [12:53, 773.66s/it]
Loss: 0.9432123899459839: : 1it [13:43, 823.22s/it]
Loss: 1.0592972040176392: : 1it [14:08, 848.07s/it]
Loss: 0.8582468032836914: : 1it [16:44, 1004.22s/it]
Loss: 0.9379435777664185: : 1it [14:03, 843.51s/it]
0it [00:00, ?it/s]/pytorch/aten/src/ATen/native/cuda/Loss.cu:115: operator(): block: [0,0,0], thread: [37,0,0] Assertion input_val >= zero && input_val <= one failed.
0it [16:28, ?it/s]
Traceback (most recent call last):
File "color_syncnet_train.py", line 279, in
nepochs=hparams.nepochs)
File "color_syncnet_train.py", line 162, in train
loss.backward()
File "/home/Wav2Lip/env/lib/python3.6/site-packages/torch/_tensor.py", line 307, in backward
torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)
File "/home/Wav2Lip/env/lib/python3.6/site-packages/torch/autograd/init.py", line 156, in backward
allow_unreachable=True, accumulate_grad=True) # allow_unreachable flag
RuntimeError: CUDA error: device-side assert triggered
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

changing BCE Loss, to BCE Loss with logita solved the issue

I have been running this script for 2 days now, but the checkpoint hasnt updated since the first named: checkpoint_step000000001.pth

you need to check your code, how many epochs your code will automatically save the model?

Hi @Quanta-of-solitude! Did you resolve the problem with no checkpoint being saved? I'm running the training for 15 hours now and only the checkpoint_step000000001.pth was saved. Loss is going down, but very slow (started from 0.8 now it is 0.68). I changed the loss function to nn.BCEWithLogitsLoss()

don't use bcewithlogit, I need to understand fully about this function. It maybe have effect your training

Hi @primepake! Okay, I suspected that, but if not using it, I'm getting negative values on loss.backward() call. You actually advised to use it in https://github.com/primepake/wav2lip_288x288/issues/13 - I wonder how you trained the color_syncnet_train.py otherwise?

@hannarud I wasn't able to solve it...

Hi @Quanta-of-solitude! I actually solved that! First, in hparams.py it is set that the checkpoint is saved every 10000 steps (syncnet_checkpoint_interval parameter), so you can set the checkpoint to be saved more often. Next, BCEwithLogits was necessary because for some reason PReLU was set as activation in Conv2D, need to change it back to ReLU.
But even I did it all I'm still not able to train the model =) the loss is either stuck at 0.69 or model starts to overfit (training loss drops up to 0.4, but val is at 0.8-1.1)

Hi @Quanta-of-solitude! I actually solved that! First, in hparams.py it is set that the checkpoint is saved every 10000 steps (syncnet_checkpoint_interval parameter), so you can set the checkpoint to be saved more often. Next, BCEwithLogits was necessary because for some reason PReLU was set as activation in Conv2D, need to change it back to ReLU. But even I did it all I'm still not able to train the model =) the loss is either stuck at 0.69 or model starts to overfit (training loss drops up to 0.4, but val is at 0.8-1.1)

Hello @hannarud . Finally, did you find out how to train the model successfully?
Please, if you know how to solve it, could you share how to fix it?
Thank you!


No Build Folder after VCPKG?

I installed via vcpkg after installing MKL separately.
This created a directory :
/home/username/vcpkg/buildtrees/flashlight-cpu/src/f7e2b796ad-7f3c690730.clean/
Inside here is a bindings, cmake, docs, flashlight and scripts folder.
However, I am looking for the _ctc files that are usually in flashlight/build/bin/asr/_ctc
Is there a reason these aren't built when doing ./vcpkg flashlight-cpu ?
To clarify, I am specifically looking for the following set of files at the end of my VCPKG Installation :
fl_asr_align   fl_asr_tutorial_finetune_ctc
fl_asr_decode  fl_asr_tutorial_inference_ctc
fl_asr_test    fl_asr_voice_activity_detection_ctc
fl_asr_train

These will be found in the [vcpkg install dir]/bin rather than in a build directory.


Add a GA to deploy the playground on AWS automatically

Prerequisites: #886
We have planed to do this for a long time, but AliCloud has terrible network access to ghcr.io, which takes tens of minutes to pull images.
After we migrate to AWS, we don't need to worry about the network access problem anymore.


Fix process_protein to only call the callback once

There was a logic error in process_protein that was causing the
callback to be called twice. In a previous patch, the function was
augmented to call callback(null) when the protein couldn't be parsed
properly. This is reasonable, but callback(null) was being executed
even after a successful callback(protein), because of where the
callback(null) was (after the catch block.

Version 0.1.9 published to npm.


how to get moooncoins into your mooncoincore wallet?

please help

After synchronizing the wallet with peers, you add mooncoin to the wallet by sending the mooncoin to a core wallet receive address.


Serving the API on the unversioned base URL

This PR is an attempt at accommodating the various views in #277 for how version negotiation between server and client should be done, and what should be allowed and not with regards to serving the API on the unversioned base URL.
Closes #277

New version pushed that makes the CSV header mandatory, and which adds a SHOULD requirement for HTTP error handling of missing versioned endpoints; which from the discussions in #277 appear to be very useful for future-proofing of the API.

Ok, the PR is updated according to all feedback. Please re-review.

@sauliusg, @merkys, @giovannipizzi Quite large changes pushed to also introduce the api_hint parameter we've in #277 concluded is useful if, and only if, introduced now in v1.0.

@sauliusg This is ready to be re-reviewed.
Other things drew my attention away from this for a few days. However, one thing I started to think about is: we have now very carefully considered backward-breaking upgrades of the major version. But, should we also take a quick look at upgrades of the minor version to make sure we haven't missed anything there?
I see no issues for a single specific database. It will only get "more features" at point release upgrades. So all types of perma-links etc. should be fine. (As long as they are against an endpoint under the versioned base URL for the major version, e.g. /v1/... or under the unversioned base URL. People should, however, generally avoid storing links under versioned URLs for specific minor versions, e.g. /v1.1/..., since those should be expected to be dropped, and the specification then mandates an error in response.)
However, it gets a bit more tricky for a client sending one query to multiple databases, when we have a new v1.1, which, e.g., standardizes a few new /structure fields, adds a /properties endpoint, and maybe adds another feature to the filtering language? Let's say, exmpl1 only supports v1.0 and exmpl2 supports v1.1.
According to our negotiation protocol, a careful client trying to send one query to both these databases would do this, right?:

Deduce the required subversion of the query; is it a v1.1-type query, or can it be represented under v1.0?
Go to each database base URL and request v1/info.
Compare the version of the query with the reported version of the implementation.
Back out, if the supported minor version < the required minor version for the query.
Otherwise submit the query and fetch the results.

Alternatively, I suppose we could try to devise some scheme that makes it possible for a v1.0 server to know, without any version hint from the client, that a given query would be servable by a newer version than is supported (as opposed to, e.g., a syntax error.) so that it can respond with a detectable error for this. This seems difficult.
As a third alternative, would maybe allowing also minor versions in api_hint be a good idea? Then the server can do the version comparison and decide if it can serve the query. But it overloads that parameter a bit.

However, it gets a bit more tricky for a client sending one query to multiple databases, when we have a new v1.1, which, e.g., standardizes a few new /structure fields, adds a /properties endpoint, and maybe adds another feature to the filtering language? Let's say, exmpl1 only supports v1.0 and exmpl2 supports v1.1.
According to our negotiation protocol, a careful client trying to send one query to both these databases would do this, right?:

Indeed, you algorithm is extra-cautious and should work, but I expect implementers to take some shortcuts (I would...):

1. Deduce the required subversion of the query; is it a `v1.1`-type query, or can it be represented under `v1.0`?

This is tricky to decide in general; the only sure way is to try to service the query under v1.0 and see if it works (correctly...). For a client to do this it will have to contain at least partial server implementation, which seems to be an overkill. So most probably the client will just send the query to the server and (hopefully!) correctly process any error responses it gets.

2. Go to each database base URL and request `v1/info`.

True, except that this adds extra query for every DB. Of course the response can (should?) be cached.

3. Compare the version of the query with the reported version of the implementation.

4. Back out, if the supported minor version < the required minor version for the query.

Since we have troubles in the client to determine if the query can be serviced by a lower minor (see comment on p.1), and since in general supporting old versions is a tedious work that does not pay well, I suspect that the more realistic scenario would be the following:
4'. IF the supported minor version < the required minor of the client, THEN issue a warning that the minor version is not what the client in general needs;

5. Otherwise submit the query and fetch the results.

5'. Submit the query regardless of the 4' check (the user has been warned!). If the query succeeds, return the result (caveat emptor); if the server returns an error, we report that error (and we can do no better anyway). The client can add additional explanation that the error may be caused by the minor version incompatibility.

I see no issues for a single specific database. It will only get "more features" at point release upgrades. So all types of perma-links etc. should be fine. (As long as they are against an endpoint under the versioned base URL for the major version, e.g. /v1/... or under the unversioned base URL. People should, however, generally avoid storing links under versioned URLs for specific minor versions, e.g. /v1.1/..., since those should be expected to be dropped, and the specification then mandates an error in response.)

True, I think we should be very explicit that minor version endpoints are mostly for development, testing and migration, and once the new minor is fully implemented and tested it should migrate to the vMAJOR endpoint.

However, it gets a bit more tricky for a client sending one query to multiple databases, when we have a new v1.1, which, e.g., standardizes a few new /structure fields, adds a /properties endpoint, and maybe adds another feature to the filtering language? Let's say, exmpl1 only supports v1.0 and exmpl2 supports v1.1.

Hmmm... indeed, this is a problem. With the current spec. we will end up in:

different servers serving different minors (v1.0, v1.1, v1.2);

some queries, that require v1.1 features, will be processed with an error if sent to a v1.0 server...

One can mitigate these spurious errors by specifying a desired API  version in the client; e.g. my hypothetical CLI client would have and option
optimade-query --filter='nelements=2 AND elements HAS "Si" AND featureX = "kva" --api=v1.1'

and the client would only send this query to servers supporting OPTIMADE v1.1 or higher. This is completely client specific and does not need to be specified in the OPTIMADE spec (maybe only mentioned as an implementation hint).
Are we OK with such scenario? That is, a query may fail because of minor version incompatibility, in addition to other reasons, and it is up to the client to select appropriate servers using /versions and /info.
If yes, then I think the current spec is OK.

With the current spec. we will end up in:

different servers serving different minors (v1.0, v1.1, v1.2);
some queries, that require v1.1 features, will be processed with an error if sent to a v1.0 server...

One can mitigate these spurious errors by specifying a desired API version in the client; e.g. my hypothetical CLI client would have and option
optimade-query --filter='nelements=2 AND elements HAS "Si" AND featureX="kva" --api=v1.1'

and the client would only send this query to servers supporting OPTIMADE v1.1 or higher, the ones I know support the featureX. This is completely client specific and does not need to be specified in the OPTIMADE spec (maybe only mentioned as an implementation hint).
Are we OK with such scenario? That is, a query may fail because of minor version incompatibility, in addition to other reasons, and it is up to the client to select appropriate servers using /versions and /info.
If yes, then I think the current spec is OK.

Based on this discussion, I think allowing minor versions in api_hint makes a lot of sense. But if we want that, it needs to go in the specification now. Otherwise a v1.0 server will be confused by future clients specifying, e.g., api_hint=v1.1.
So, I updated this PR to allow an optional minor version in api_hint.
This means that there is another way for you to implement your CLI client:

optimade-query --filter='nelements=2 AND elements HAS "Si" AND featureX="kva" --api=v1.1'

It can now translate that into requests on the following form:
https://example.com/optimade/structures?filter=nelements=2 AND elements HAS "Si" AND featureX="kva"&api_hint=v1.1

This makes client behavior more streamlined, as it does not need to crawl through /info endpoints to decide who gets the request and who does not or try to intelligently parse errors to figure out which ones are caused by obsolete versions. Instead the responsibility ends up on the database to "do the best thing possible" for this v1.1-hinted request. I think this is better.
I am quite happy about the solution in the PR right now. The only thing that irks me is that since servers are allowed a lot of freedom in interpreting api_hint, there is no way for a client to be more firm: "This is a v1.1 query. Either serve it with v1.X with X>=1 or return 551 Version not supported".

Based on this discussion, I think allowing minor versions in api_hint makes a lot of sense. But if we want that, it needs to go in the specification now. Otherwise a v1.0 server will be confused by future clients specifying, e.g., api_hint=v1.1.

I agree.

This means that there is another way for you to implement your CLI client:

optimade-query --filter='nelements=2 AND elements HAS "Si" AND featureX="kva" --api=v1.1'

It can now translate that into requests on the following form:
https://example.com/optimade/structures?filter=nelements=2 AND elements HAS "Si" AND featureX="kva"&api_hint=v1.1

This is a possible scenario, but it is not an equivalent transformation. The 'client --api=v1.1' can choose not to send a query to a server that does not for sure support v1.1 or a higher minor version. This will eliminate error messages from servers that can not serve a request, but may miss some data.
The ..&api_hint=v1.1 variant will presumably send the query to unversioned endpoints of all servers, and may get extra error messages, but it may get some more useful data (if, for instance, a v2.0 supports the featureX property in its queries, and the filter syntax is not radically changed :).
Both scenarios have merits and drawbacks in real life, IMHO.

This makes client behavior more streamlined, as it does not need to crawl through /info endpoints to decide who gets the request and who does not or try to intelligently parse errors to figure out which ones are caused by obsolete versions. Instead the responsibility ends up on the database to "do the best thing possible" for this v1.1-hinted request. I think this is better.

I though crawling /versions + /info was the standard intended way to ensure compatibility, and the only way to proceed prior to standardization of unversioned endpoints. So its probably not a drawback? In any case, client has a choice...

I am quite happy about the solution in the PR right now. The only thing that irks me is that since servers are allowed a lot of freedom in interpreting api_hint, there is no way for a client to be more firm: "This is a v1.1 query. Either serve it with v1.X with X>=1 or return 551 Version not supported".

I would not include this feature in a server since it can be fully implemented in a client, and the Unix principle which I follow tells us to split functionality and not to include extra function into a program it if can be fully implemented in a separate program :).

To do such a firm request, the client still has to crawl /info,

Yes, but, as discussed, crawling /info was a standard procedure, wasn't it? And, since it can be done in a client, and the response can be cached, I would leave it to clients, and not overload the spec and the server. In any case, if it would be a MUST feature, OPTIMADE servers would become even more complicated, and a SHOULD/MAY feature will probably be left unimplemented by most servers...

or rely on the assumption that servers return version info in their responses (which right now is a SHOULD and not a MUST.)

Opps... What was the reason it was set to SHOULD? I would argue for MUST. Does any implementation have problems in including API support level info?

or rely on the assumption that servers return version info in their responses (which right now is a SHOULD and not a MUST.)

Opps... What was the reason it was set to SHOULD? I would argue for MUST. Does any implementation have problems in including API support level info?

I think it may just have followed along from the corresponding requirement in JSON API. Our JSON response format mandates that there SHOULD be 'meta' and 'data' fields in the outermost response and at least one MUST be provided. We can consider changing that SHOULD to MUST. But then we probably need to soften up what MUST be present in the meta field. Because, e.g., time_stamp isn't trivial for endpoints served from static files. The solution to that problem, for now, have been to exclude the meta field.

@sauliusg, I just responded to your final comment in the thread above. Please consider my argument; and if you still think it would be better to adjust the text to allow warnings based on api_hint on versioned endpoints, I'll make the change.

@sauliusg, I just responded to your final comment in the thread above. Please consider my argument; and if you still think it would be better to adjust the text to allow warnings based on api_hint on versioned endpoints, I'll make the change.

Answered in the thread above...

@sauliusg, @giovannipizzi, @merkys, @CasperWA
I think we are at the final version of this now (?). Please take a final look.
Please don't merge this until v1.0.0-rc.2 is out. Rather, please at your earliest convenience also go to #293 and approve that one.

The latest version has been available for review since yesterday and has now been sitting idle for 7 hours. I'll merge, and if someone comes with something to change, we'll take that as a separate PR.


Proper way for remove Access Token if I have no Refresh Tokens

Hello.
I was faced with the fact that I can't directly remove the Access Token:
https://github.com/spring-projects/spring-security-oauth/blob/fed554e6daaf7b086c2d5f22fa7b72494b6ab40f/spring-security-oauth2/src/main/java/org/springframework/security/oauth2/provider/token/store/JwtTokenStore.java#L93
Please advise the best way to remove the Access Token in the case where I have no Refresh Tokens.

hmm...
judging by the contents of the code,
it seems that when using spring-security-jwt actually no storage of tokens...
and if there is no storage, and nowhere to remove


Added ShiftDecoder to notebook

I will add permutation decoder after #456 is merged.

Nice addition.
I will note some issues I found after a quick read:
I believe it is "Caesar cipher" - not "ceasar cipher". Aside from the misspelling, I believe it should be capitalized as it is named after a person. Also, in most of the writing (at least online) "Caesar" is capitalized.
I think there is a singular/plural issue in your text, but I'm not sure:
"These are a very basic form of cipher" - I'm not knowledgeable of the use of 'cipher' in scientific literature, but in normal text it is singular. So it should be 'ciphers', since you are talking about many of them.
A couple of other minor issues:

"message text(also known as plaintext)" - There should be a space before the first parenthesis.

"shifter by 3 yields" - It should be 'shifted'.

@MrDupin Thanks for the review. I'm still not sure about the "These are a very basic form of cipher". I've changed the line to "These are primitive forms of cipher". Do suggest any improvement.

The new line is better, thanks.


Hide icon in menu bar (macOS)

Add possibility to hide icon from the menu bar (macOS).

This can already be done in the preferences:

Would be nice if Franz was also hidden from the Dock and the Task Switcher, when it's minimized to the system tray. IMHO it's the main reason for why it should be in the system tray / manu bar.

@AllanLRH you can always open a feature request for that ;)


feat(n-iamge-preview): adds downaload tool

close https://github.com/tusen-ai/naive-ui/issues/4302

Codecov Report
Patch coverage: 33.33% and project coverage change: -0.01 :warning:

Comparison is base (9c4cc6c) 62.45% compared to head (46fab4a) 62.44%.

:exclamation: Current head 46fab4a differs from pull request most recent head de8d729. Consider uploading reports for the commit de8d729 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4864      +/-   ##
==========================================
- Coverage   62.45%   62.44%   -0.01%
==========================================
  Files        1071     1071
  Lines       22454    22462       +8
  Branches     5888     5889       +1
==========================================
+ Hits        14023    14027       +4
- Misses       6901     6907       +6
+ Partials     1530     1528       -2

Impacted Files
Coverage Δ

src/locales/common/arDZ.ts
40.00% <ø> (ø)

src/locales/common/deDE.ts
40.00% <ø> (ø)

src/locales/common/enGB.ts
40.00% <ø> (ø)

src/locales/common/enUS.ts
80.00% <ø> (ø)

src/locales/common/eo.ts
40.00% <ø> (ø)

src/locales/common/esAR.ts
40.00% <ø> (ø)

src/locales/common/faIR.ts
40.00% <ø> (ø)

src/locales/common/frFR.ts
40.00% <ø> (ø)

src/locales/common/idID.ts
40.00% <ø> (ø)

src/locales/common/itIT.ts
40.00% <ø> (ø)

... and 16 more

... and 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


UI: cannot add multiple admin role (on multiple realms) to an invited user (subject id)

If you invite the same user to multiple realms, when the user logs in, only the first realm on which admin/developer was placed appears.
It can switch to the other realm by changing the url.
But the problem is that if you want to add the ADMIN role for the second realm (with the invitation only the DEVELOPER is activated by default), you can't because the toggle is already active on another realm.

Switching the realm in the dev console happens via a dropdown selector on the side menu: click on the realm name and select a new realm to switch the context.
Updating the authorities works: it is possible to enable/disable roles and the context is correct. Only the visualization is broken, due to a missing filter.


is <videogular vg-plays-inline="config.playsInline"... working with ionic ios ?

Is there perhaps an example app or snippet that I can test with ionic?
I can't seem to get this working.

Is Videogular working with your Ionic project?
We have this issue and we need more info about it: https://github.com/2fdevs/videogular/issues/195
It would be great if you can shed some light on it.
About your issue, I really don't know, I need to test Videogular with Ionic first.

I think it's related to an issue in ionic
"...this doesn't work because the app inherits the settings from Ionic view, which doesn't have the correct preferences set to allow inline video playback."
https://github.com/driftyco/ionic-view-issues/issues/126

Makes sense.
Good to know, thanks.


Build error "All declarations of 'WeakMap' must have identical type parameters"

I'm submitting a ...  (check one with "x")
[ x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see use [gitter](https://gitter.im/mgechev/angular2-seed) or [stackoverflow](https://stackoverflow.com/questions/tagged/angular2)

Current behavior

After merging the latest seed I'm now getting a compile error on lodash type:
/node_modules/@types/lodash/index.d.ts(19449,15): error TS2428: All declarations of 'WeakMap' must have identical type parameters.

@types/lodash version = 4.14.37
Even if I run yarn and bring @types/lodash to the latest version (4.14.52), I still get the same error!
(FYI, that error does not affect my app building and running, just a nuisance at this point)
Expected behavior
no compile errors
Minimal reproduction of the problem with instructions
just do npm start
Please tell us about your environment:
OS X 11.6, VSCode 1.9.1, tsc 2.1.6

Angular Seed Version: 10c7272

Node: node --version = 7.4.0, npm = 4.0.5

I am having the same problem for a few weeks now and can't build for prod.
I seems that this issue is affecting a lot of lodash based projects according to search made on Google.
Is there a work around to this ?

Have you guys tried this potential solution?:
https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14324#issuecomment-277754823
It does appear to be an issue with lodash.

@NathanWalker -
I have checked that.
I changed the<EMAIL_ADDRESS>to reflect the weakmap definition change to comply with TS 2.2
declare global {
interface Set { }
interface Map<K, V> { }
interface WeakSet { }
// interface WeakMap<K, V> {
interface WeakMap<K extends object, V> { }
}
After that, i could build.prod my project.

@rernens @NathanWalker that works, but changing node_modules is a big no no.
it sure is a workaround to enable prod build, but definitely not a solution.
probably need to wait for a future lodash version that fixes that.

I found a work around here https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14324#issuecomment-277738061
@NathanWalker I thought that adding skipLibCheck: true to tsconfig.json should fix the problem but turned out that your script is not using tsconfig.json during production build. Looks like a bug to me?
@fourctv Just modify build.js.prod.ts (line 22) and add

skipLibCheck: true

as tsconfig to makeTsProject
 let tsProject = makeTsProject({ skipLibCheck: true }, Config.TMP_DIR);
then it should work

@nghiado It does use the tsconfig durning the prod build there are just multiple configs that need to have skipLibCheck added:
tsconfig.json
nativescript/tsconfig.json
src/client/tsconfig.json

I am no longer seeing this on latest master 👍

Hi @NathanWalker, I just downloaded this seed and it occurred for me on gulp build.tns:


Add optional echoing back for request ids in response headers

See https://medium.com/@apechkurov/hi-gustavo-273b1de1d1f

Created https://github.com/puzpuzpuz/cls-rtracer/tree/feature/echo-header branch to accumulate changes in all middlewares/plugins. Thanks to @pyrho Koa support is already there (see #41).
Contributions for other middlewares/plugins are welcome.


Win32 exeption

Got this exeption by opening setup wizard:
Win32Exception: ApplicationName='node', CommandLine='-v', CurrentDirectory='', Native error= The system cannot find the file specified. Node.js is installed.

If node is installed but you are getting this error, node may not be in the PATH. I will try to handle this gracefully.
I am aware that Quick Start wizard is under-developed right now. It will do more useful things in the future but right now only thing it does is:

Run npm init react-unity from project root. This will create a npm project in react folder in project root with dependencies set up.

So for now please do this manually if the setup wizard does not work for you.

Thank. Is it possible use Material UI ?

It is not possible to use Material UI. It is DOM based and this package does not support DOM. Think of this package as React Native, but for Unity.
Which features of Material UI are you interested in?

Well, everything UI - scrolls,buttons,toggels,tables etc.


raw disk

I see Project:M36 currently saves its state in memory or to a file. I don't know how hard it would be, but it would be nice to use an Intel 3D XPoint or some other sort of fast non volatile memory directly. Possibly better performance due to being able to optimize further, and operating system independent. This would also solve the chicken and the egg problem of new operating systems without hierarchical file systems.

Indeed, I am excited about new storage technologies as well. Project:M36 has a bunch of low-hanging fruit to implement in this context. I hope that you have seen "UltraRAM" as well. It's not immediately clear, at least to me, how/when the operating system will discern between temporary and permanent storage and the current APIs will probably not suffice, so I'm keeping an eye on this.

Note that Project:M36 currently uses essential and common file system features:

journaled fs metadata- enables durability of ACID
fsync/fdatasync- enables durability of ACID
parallel writing to disk


Sublime Text CodeLens for running tests is not showing up

Here's my lsp config:
{
  "show_inlay_hints": true,
  "semantic_highlighting": true,
  "show_code_lens": "phantom", // tried both phantom and annotation
  "clients":
  {
    "ruby-lsp": {
      "enabled": true,
      "command": ["ruby-lsp"],
      "selector": "source.ruby",
      "initializationOptions": {
        "experimentalFeaturesEnabled": true
      }
    }
  }
}

Almost everything works:

✅ Showing model schema on hover
✅ All ruby-lsp features (e.g. rubocop issues)
❌ CodeLens to run tests

The gem ruby-lsp is outside of Gemfile.
The gem ruby-lsp-rails is in development group of Gemfile.
Both current versions:
ruby-lsp (0.12.3)
ruby-lsp-rails (0.2.7)

Nothing new shows up when I open test files, even though they're vanilla rails model/controller tests inheriting from ActiveSupport::TestCase and ActionDispatch::IntegrationTest.
I'm not seeing any codelens-related interaction in the LSP logs. Sublime Text supposedly supports CodeLenses. Any idea why it may not be working?
Update: It's hard to tell what's at fault, the server, the editor, or me. But I just checked, and seems ruby-lsp's own Minitest CodeLens is not showing up either. Maybe this is the wrong place to open the issue.

To get code lenses to work, you need to write python glue code to handle the code lens’ command. A JSON configuration like the above is not sufficient. There are some existing python helper packages that handle code lenses.


tests: exclude a test on linux rather than xfail it.

The test is not deterministic on linux and can actually pass in some cases.

@swift-ci Please smoke test and merge


Documentation for GPT Feature

General:
While using CLI Surf, I decided to use my own API key instead of relying on gpt4free and felt that there could be additional documentation added for, especially if gpt4free goes under after being sued.

[ ✓ ] Have you followed the guidelines in our Contributing document?
[ ✓ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Code:

[✓ ] Have you added an explanation of what your changes do?

Summary by Sourcery
Document the process for using OpenAI's GPT models in cli-surf to generate personalized surf reports, providing guidance on obtaining an API key, configuring the environment, and customizing the GPT prompt.
Documentation:

Add documentation for enabling GPT Surf Reports using OpenAI's GPT models, including steps to obtain an API key, update the .env file, and use the GPT argument.
Include customization options for the GPT prompt and notes on usage, such as API costs, response time, and model selection.

The gpt definitely needed more documentation, thanks for detailing its usage. Looks great. I was a little worried about the long-term usage of gpt4free, haha
Merging now 👍

@all-contributors please add @vsingk for documentation


How to handle binary data?

I'm having issues handling binary data and there doesn't look to be any examples in the docs.
My struct
#[derive(Serialize, Deserialize)]
struct Message {
    #[serde(deserialize_with = "Base64Standard::deserialize")]
    encrypted: Vec<u8>,

    #[serde(deserialize_with = "Base64Standard::deserialize")]
    signature: Vec<u8>,

    #[serde(deserialize_with = "Base64Standard::deserialize")]
    public_key: Vec<u8>,

    #[serde(deserialize_with = "Base64Standard::deserialize")]
    nonce: Vec<u8>,
}

Calling code
let client = DynamoDbClient::new(Region::UsEast1);
    client
        .put_item(PutItemInput {
            table_name: "clipboard".to_string(),
            item: to_item(msg)?,
            ..Default::default()
        })
        .await?;

The error
One or more parameter values were invalid: Type mismatch for key public_key expected: B actual: L

It looks like Vec<u8> is being interpreted as a List. How do I tell serde_dynamo to send it as binary?

I also tried

#[derive(Serialize)]
struct ByteMessage<'a> {
    encrypted: &'a [u8],
    signature: &'a [u8],
    public_key: &'a [u8],
    nonce: &'a [u8],
}

impl<'a> From<&'a Message> for ByteMessage<'a> {
    fn from(msg: &'a Message) -> Self {
        ByteMessage {
            encrypted: &msg.encrypted,
            signature: &msg.signature,
            public_key: &msg.public_key,
            nonce: &msg.nonce,
        }
    }
}

    let client = DynamoDbClient::new(Region::UsEast1);
    client
        .put_item(PutItemInput {
            table_name: "clipboard".to_string(),
            item: to_item(ByteMessage::from(&msg))?,
            ..Default::default()
        })
        .await?;

but no change.

You need to use serde_bytes as the wrapper for Vec<u8> in order to serialize bytes to DynamoDb.
The following code worked for me. Maybe you can adapt it to work for you?
use serde::{Deserialize, Serialize};
use serde_dynamo::to_item;

#[derive(Serialize, Deserialize)]
struct Message {
    #[serde(with = "serde_bytes")]
    encrypted: Vec<u8>,

    #[serde(with = "serde_bytes")]
    signature: Vec<u8>,

    #[serde(with = "serde_bytes")]
    public_key: Vec<u8>,

    #[serde(with = "serde_bytes")]
    nonce: Vec<u8>,
}

let message = Message {
    encrypted: vec![42, 42, 42, 42],
    signature: vec![3],
    public_key: vec![0x54, 0x45, 0x53, 0x54],
    nonce: vec![4, 2, 1],
};

let item = to_item(message).unwrap();
println!("{:#?}", item);

I think this is because serde handles Vec<_> generically as a list of things, so it can't determine that Vec<u8> specifically should be binary and not a list of numbers.
The serde_bytes docs say this:

Without specialization, Rust forces Serde to treat &[u8] just like any other slice and Vec<u8> just like any other vector. In reality this particular slice and vector can often be serialized and deserialized in a more efficient, compact representation in many formats.

That worked, thank you.
Should probably be documented somewhere.