Question this version change

In process_input function, this code is insertion.
predictions = session.run(tf.sparse_tensor_to_dense(outputs[0], default_value=len(_CHAR_MAP),
validate_indices=True))
transcribed_text = self.transcribe_from_prediction(predictions)
I think that model.prediction of previous version code is not merge same CTC label. I don't know problem's reason. How is this line run? Could you explain this line and previous code?

In the previous code we had :
outputs = session.run(output_feed, input_feed)
transcribed_text = self.transcribe_from_prediction(outputs[0])
it was working but only if the session processed 1 file at a time. The result we get in outputs is not a dense tensor, its a sparse one. In this previous version you can see that the transcribe_from_prediction method was also different. It was not using the input directly as a dense tensor, it was using prediction.values.
In a sparse tensor every value different from 0 is in values. As we had only one result we were using the fact that every value was ordered in the sparse tensor so we could simply read it from the values field in the given order.
The new version allow to process a batch of multiple files so we can no longer process this way. Now the values field of the sparse tensor contain each value from each row. We can't easily know when we start the transcription from a new file. And we are definitely not sure that the data is ordered one file at a time, we could have 2 letters from the first file and then the first letter from the second file, etc... It would required to parse the indices field at the same time to set the value to the correct file and the correct position in the sentence.
Instead I chose to convert the sparse tensor to a dense one with :
tf.sparse_tensor_to_dense(outputs[0], default_value=len(_CHAR_MAP), validate_indices=True)
I set the default value in the dense tensor to len(_CHAR_MAP) which allow to "find the end" of each sentence in the transcribe_from_prediction method.
In fact each row in the dense tensor can be as long as "max_target_seq_length", but it usually isn't that long and in a dense tensor we now need to distinguish real values from default ones.

Thank you for your kindly answer.
One more question. is " if 0 <= index < len(_CHAR_MAP)" need in code? is index out of range?

Yes in fact because the default value for the sparse_to_dense method is len(_CHAR_MAP) so if an audio file correspond to a sentence with 156 characters then for the corresponding row in the dense tensor columns from 157 to "max_target_seq_length-1" will contain the value len(_CHAR_MAP) which is out of range. This is a trick because at this point we don't have the real length of each sentence. In the sparse tensor you can think of the non-explicit values as if they where 'null', we set them to len(_CHAR_MAP) in the dense tensor in order to be able to find the end of each sentence.
A more explicit way would have been to exploit the indices field to find the max of each row and use it in combination with the values field to reconstruct each sentence. But I think this way is faster, although I didn't measured it.


Fixup pyproject.toml

Thanks for this too. I have included it in my own commit, as don't want the email address in there.


rebase

Pull request for issue: #
Related issue(s): # #
Checklist for Pull request or lib adding request issue follows the conventions.
Note that if you are using a distribution purpose repository/package, please also provide the url and other related info like popularity of the source code repo/package.
Profile of the lib

Git repository (required):
Official website (optional, not the repository):
NPM package url (optional):
License and its reference:
GitHub / Bitbucket popularity (required):

Count of watchers:
Count of stars:
Count of forks:

NPM download stats (optional):

Downloads in the last day:
Downloads in the last week:
Downloads in the last month:

Essential checklist

[ ] I'm the author of this library

[ ] I would like to add link to the page of this library on CDNJS on website / readme

[ ] This lib was not found on cdnjs repo
[ ] No already exist / duplicated issue and PR
[ ] The lib has notable popularity

[ ] More than 100 [Stars / Watchers / Forks] on [GitHub / Bitbucket]
[ ] More than 500 downloads stats per month on npm registry

[ ] Project has public repository on famous online hosting platform (or been hosted on npm)

Auto-update checklist

[ ] Has valid tags for each versions (for git auto-update)
[ ] Auto-update setup
[ ] Auto-update target/source is valid.
[ ] Auto-update filemap is correct.

Git commit checklist

[ ] The first line of commit message is less then 50 chars, be clean and clear, easy to understand.
[ ] The parent of the commit(s) in the PR is not old than 3 days.
[ ] Pull request is sending from a non-master branch with meaningful name.
[ ] Separate unrelated changes into different commits.
[ ] Use rebase to squash/fixup dummy/unnecessary commits into only one commit.
[ ] Close corresponding issue in commit message
[ ] Mention related issue(s), people in commit message, comment.

not merging


Quality control on unsplitted pVCF

Hello @eugenegardner, so I'm trying to do some QC on the pVCF exome data and I'm looking at the approach you took. I wonder if you have an idea on how much would be the cost of analyzing the pVCF chuncks as they were provided by the UKB-RAP. Also how do you calculate instance allocation of resources? I'm very new to analyzing data in the RAP systems and I'm still unsure on how to do this.
Thanks in advance!

Hello,
Depending on if you can get low or high priority instances (see https://dnanexus.gitbook.io/uk-biobank-rap/working-on-the-research-analysis-platform/managing-job-priority) it can range from ~£700 - ~£3000.
I would recommend taking a look at my other repository to see how the full workflow proceeds, and supplement this information with information from the individual READMEs as you go along.
To be clear, you will need some computational expertise to be able to do this, but I've tried to simplify the process as much as possible. I see your other comment in #3, and I would advise that you brush up on basic UNIX/BASH/Terminal before working on this project.

@ejgardner-adrestia thanks for your reply. I have some computational experience just not use to cloud computing. All of our previous pipelines were developed in SoS and in tested and ran in a cluster. So translating everything to WDL seems like a task that's going to take a while to learn and also allocating the correct computing seems also like a hard job (i've been experimenting with small working examples and I got the to run in RAP so I guess that's good news).
I have another question. Would you not recommend running the pVCF as UKB provided them? I understand thats a 2.5x increase in sample size but how much more resources does it take to run? Not sure if you started your analysis by processing these big chunks and if you can share a little of your experience. I would a appreciate a lot.
Thank you

Hello @dianacornejo,
Apologies for the incorrect assumption and I shouldn't have assumed, it was just a bit difficult to tell from the other issue you posted.
I wouldn't consider the RAP 'cloud computing' in the traditional AWS sense. I kind of consider it abstracted cloud computing, as DNANexus allows you to click and point your way to some analyses, or to bypass this and write your own applets (as I have done) which requires a fairly deep knowledge of how to interface with the dxpy APYI and app toolkit. My hope is the QC workflow bit I mention above can provide a reasonable interface to replicate what I have done.
I did not use the pVCF as UKB provided them and instead generated this 'bcfsplitter applet' as they:

are too big to debug when I was doing initial development.
would take a very long time to run, require a lengthy time on a single cloud instance, and thus cost more money.
potentially crash VEP when loading in >5k variants since VEP is written in perl and generally has bad memory management for files this large.

You may be able to, in theory, skip the splitbcf step and run the pVCF directly through, but your milage may vary. Happy to answer any more questions you may have.


Any role can be set during share invite request

Describe the bug
Creating a share with roles such as Uploader, Viewer, Editor, Manager, or Co-owner is possible. However, when attempting to send an API request to update roles, a "400 Bad Request" error is encountered.
Steps to reproduce

send share invitation of file.txt with any roles result successful share invite
try to update the role to manager/co-owner/uploader/Editor(for file or folder) results 400 status code

try to change role from Co Owner to Uploader
curl --location --request PATCH 'https://ocis.owncloud.test/graph/v1beta1/drives/drive-id/items/item-id/permissions/permission-id' \
--header 'Authorization: Bearer eyJhbVKA' \
--data '{
    "roles": [
        "1c996275-f1c9-4e71-abdf-a42f6495e960"
    ]
}'

{
    "error": {
        "code": "invalidRequest",
        "innererror": {
            "date": "2024-01-04T11:55:00Z",
            "request-id": "8bce2c34615e/b9ocmAsArN-002634"
        },
        "message": "cannot set the requested permissions on that type of resource"
    }
}

Cases

Role while creating share
Role to update
Result

Manager/Viewer/Co Owner
Editor
✅ Success

Manager/Editor/Co Owner
Viewer
✅ Success

Manager/Editor/Viewer/Uploader
Co-owner
400 Status

Manager/Co Owner/Editor/Viewer
Uploader
400 Status

Expected behavior
We cannot use all roles on all resource types.
The roles have conditions. Some can only be applied to space roots some only to shares.
During share invite, only allowed role should be set
Actual behavior
Can set any role during share invite.
Personal Drive File resource should not allowed to create share invite with role Co owner/Uploader
Setup
Please describe how you started the server and provide a list of relevant environment variables or configuration files.

OCIS_Version= 5.1.0-prealpha+0f9f996ab

Additional context
Add any other context about the problem here.

The expected behavior is not correct.
We cannot use all roles on all resource types.
The roles have conditions. Some can only be applied to space roots some only to shares.
but the clients do not need any Knowledge about that. Before creating or updating a permission, they should check what is possible on that specific resource. This is the needed api call https://owncloud.dev/libre-graph-api/#/drives.permissions/ListPermissions

closing in response of above comment

Should owner allowed to create share invites with all role like Manager/Co-owner/Uploader even resource doesn't support that role type?
If roles are specified according to resource type then during share invite user should not allowed to set role that resource doesn't support like

Resource Type
Role Allowed
Role Not Allowed

Personal Drive File
Editor/Viewer
Manager/Co Owner/Uploader/Editor(File or Folder)

Personal Drive Folder
Uploader/Viewer/Editor(File or Folder)
Manager/Co owner

What is the response of  api call https://owncloud.dev/libre-graph-api/#/drives.permissions/ListPermissions on the two different cases?
IMO the test should use the response from  api call https://owncloud.dev/libre-graph-api/#/drives.permissions/ListPermissions and check if the allowed roles are possible to apply.

create file abc.txt
send list permission API request response with role Co-Owner/Manger/Uploader/Editor/Viewer
curl -vk 'https://host.docker.internal:9200/graph/v1beta1/drives/{drives-id}/items/{items-id}/permissions'

{
<EMAIL_ADDRESS>[
        "libre.graph/driveItem/permissions/create",
        "libre.graph/driveItem/children/create",
        "libre.graph/driveItem/standard/delete",
        "libre.graph/driveItem/path/read",
        "libre.graph/driveItem/quota/read",
        "libre.graph/driveItem/content/read",
        "libre.graph/driveItem/upload/create",
        "libre.graph/driveItem/permissions/read",
        "libre.graph/driveItem/children/read",
        "libre.graph/driveItem/versions/read",
        "libre.graph/driveItem/deleted/read",
        "libre.graph/driveItem/path/update",
        "libre.graph/driveItem/permissions/delete",
        "libre.graph/driveItem/deleted/delete",
        "libre.graph/driveItem/versions/update",
        "libre.graph/driveItem/deleted/update",
        "libre.graph/driveItem/basic/read",
        "libre.graph/driveItem/permissions/update",
        "libre.graph/driveItem/permissions/deny"
    ],
<EMAIL_ADDRESS>[
        {
<EMAIL_ADDRESS>1,
            "description": "Allows upload file or folder",
            "displayName": "Uploader",
            "id": "1c996275-f1c9-4e71-abdf-a42f6495e960"
        },
        {
<EMAIL_ADDRESS>2,
            "description": "Allows reading the shared file or folder",
            "displayName": "Viewer",
            "id": "b1e2218d-eef8-4d4c-b82d-0f1a1b48f3b5"
        },
        {
<EMAIL_ADDRESS>3,
            "description": "Allows reading and updating file",
            "displayName": "Editor",
            "id": "2d00ce52-1fc2-4dbc-8b95-a73b73395f5a"
        },
        {
<EMAIL_ADDRESS>4,
            "description": "Allows creating, reading, updating and deleting the shared file or folder",
            "displayName": "Editor",
            "id": "fb6c3e19-e378-47e5-b277-9732f9de6e21"
        },
        {
<EMAIL_ADDRESS>5,
            "description": "Grants co-owner permissions on a resource",
            "displayName": "Co Owner",
            "id": "3a4ba8e9-6a0d-4235-9140-0e7a34007abe"
        },
        {
<EMAIL_ADDRESS>6,
            "description": "Grants manager permissions on a resource. Semantically equivalent to co-owner",
            "displayName": "Manager",
            "id": "312c0871-5ef7-4b3a-85b6-0e4074c64049"
        }
    ]
}

send invite with role Co-Owner
curl -vk 'https://host.docker.internal:9200/graph/v1beta1/drives/{drive-id}/items/{item-id}/invite' \ --data '{ "recipients": [  {    "objectId": "dc3b93f7-f77f-4551-a783-625504af7d77"  } ], "roles": [  "3a4ba8e9-6a0d-4235-9140-0e7a34007abe" ] }'

{
    "value": [
        {
            "grantedToV2": {
                "user": {
                    "displayName": "amy stha",
                    "id": "dc3b93f7-f77f-4551-a783-625504af7d77"
                }
            },
            "id": "3802a234-6247-4ab1-8dfd-a74d53a99809:48762040-79ba-4933-b433-ecb2474fc367:230ecb1d-d30e-4f61-8fc8-c1b6bfe73ede",
            "roles": [
                "3a4ba8e9-6a0d-4235-9140-0e7a34007abe"
            ]
        }
    ]
}
4. again send request listpermission then `co-owner` role will be displayed as set role
`curl -vk 'https://host.docker.internal:9200/graph/v1beta1/drives/{drives-id}/items/{items-id}/permissions`

{
<EMAIL_ADDRESS>[
"libre.graph/driveItem/permissions/create",
"libre.graph/driveItem/children/create",
"libre.graph/driveItem/standard/delete",
"libre.graph/driveItem/path/read",
"libre.graph/driveItem/quota/read",
"libre.graph/driveItem/content/read",
"libre.graph/driveItem/upload/create",
"libre.graph/driveItem/permissions/read",
"libre.graph/driveItem/children/read",
"libre.graph/driveItem/versions/read",
"libre.graph/driveItem/deleted/read",
"libre.graph/driveItem/path/update",
"libre.graph/driveItem/permissions/delete",
"libre.graph/driveItem/deleted/delete",
"libre.graph/driveItem/versions/update",
"libre.graph/driveItem/deleted/update",
"libre.graph/driveItem/basic/read",
"libre.graph/driveItem/permissions/update",
"libre.graph/driveItem/permissions/deny"
],
<EMAIL_ADDRESS>[
{
<EMAIL_ADDRESS>1,
"description": "Allows upload file or folder",
"displayName": "Uploader",
"id": "1c996275-f1c9-4e71-abdf-a42f6495e960"
},
{
<EMAIL_ADDRESS>2,
"description": "Allows reading the shared file or folder",
"displayName": "Viewer",
"id": "b1e2218d-eef8-4d4c-b82d-0f1a1b48f3b5"
},
{
<EMAIL_ADDRESS>3,
"description": "Allows reading and updating file",
"displayName": "Editor",
"id": "2d00ce52-1fc2-4dbc-8b95-a73b73395f5a"
},
{
<EMAIL_ADDRESS>4,
"description": "Allows creating, reading, updating and deleting the shared file or folder",
"displayName": "Editor",
"id": "fb6c3e19-e378-47e5-b277-9732f9de6e21"
},
{
<EMAIL_ADDRESS>5,
"description": "Grants co-owner permissions on a resource",
"displayName": "Co Owner",
"id": "3a4ba8e9-6a0d-4235-9140-0e7a34007abe"
},
{
<EMAIL_ADDRESS>6,
"description": "Grants manager permissions on a resource. Semantically equivalent to co-owner",
"displayName": "Manager",
"id": "312c0871-5ef7-4b3a-85b6-0e4074c64049"
}
],
"value": [
{
"grantedToV2": {
"user": {
"displayName": "amy stha",
"id": "dc3b93f7-f77f-4551-a783-625504af7d77"
}
},
"id": "3802a234-6247-4ab1-8dfd-a74d53a99809:48762040-79ba-4933-b433-ecb2474fc367:230ecb1d-d30e-4f61-8fc8-c1b6bfe73ede",
"roles": [
"3a4ba8e9-6a0d-4235-9140-0e7a34007abe"
]
}
]
}

@rhafer seems that our allowed roles are not yet scoped.

related #6993

Seems there are two bugs here:

In reva when creating a share we're missing a plausibility check, to prevent creating shares with the CreateContainer, Move or Delete grants on File resources (those grants are only meant for Directories)
In the graph API there's bug on the definition of the constraints for the Space specific roles.


LOG4J2-2725 - Added try/finally around event.execute() for RingBufferLogEventHandler

Added try/finally around event.execute() for RingBufferLogEventHandler to clear memory correctly in case of exception/error

Thanks for your contribution @anikosss!


Suggestion: Backport to Json.NET 11.x.x, 10.x.x, 9.x.x, and 8.x.x

Description

This project is lacking for the users who do not want to update their projects to target a Json..NET 12.0.1. Suggesting to downgrade all the way down to 8.0.3. Of course all provided as the usual UPM provider and others.
This includes:

[ ] 11.0.2
11.0.1
[ ] 10.0.3
10.0.2
10.0.1
[ ] 9.0.1
[ ] 8.0.3
8.0.2
8.0.1

Edit: Will not backport 8.0.1 nor 8.0.2 in favor of instead only supporting 8.0.3, as they are only minor patches of the same version, and are fully backwards compatible. Same goes for 10.0.1, 10.0.2, and 11.0.1.
Why we need this

To gain more users. More users equals more bug reports. More bug reports equals more bugfixes. More bugfixes equals better repository.
Suggested solution

For each old version, create a new release, and revert the changes made from for example 11.0.2 to 12.0.1. Important to keep track of the conflicting changes.
Deployment can perhaps be automated with making a backport branch with deployment jobs of the CI/CD enabled. Or just doing it manually.

Thank you for your hard work.
I have problem with this package when I try to plug google.apis.sheets.v4 with Unity 2019.2.13.
Error: Could not load signature of Google.Apis.Auth.GoogleJsonWebSignature+<>c:<GetGoogleCertsFromJson>b__16_0 due to: Could not load file or assembly 'Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. assembly:Newtonsoft.Json, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed type:<unknown type> member:(null) signature:<none>

google.apis.sheets.v4 is latest v<IP_ADDRESS>.1791 with proper dependencies acquired via nuget.
its dependency chain includes newtonsoft.json >= <IP_ADDRESS>
(And this is the point I don't get it why higher version is not working)
Api Compatibility Level - unfortunately both 4.x / 2.0 fails with your package
IDE reports zero problem, confirmed References, even build was succeeded
But in Unity, same error occurs and unloads broken Google.Apis.Core and Google.Apis.Auth

The only solution that worked I found was;

Use .NET 2.0 for every google DLLs
Use Newtonsoft.Json.10.0.2 for .Net 2.0 from NuGet
At least Unity Editor working flawlessly
Both Api Compatibility Level 2.0 and 4.x are working

Since working dll is untouched, I guess I would face AOT problem later.
I wonder if there's any workaround or backport / net2.0 support may solve this problem.
Thanks again for your time and effort.

@tsweeper Big thank you for too wanting to put time into finding solutions for this :) I'm glad to see others even try to debug these things.
Due to being somewhat unrelated to this issue #16, I've therefore moved your comment into a issue of its own, #26, where conversation can continue.

Change of mind, will not some versions. Note added to description:

"Will not backport 8.0.1 nor 8.0.2 in favor of instead only supporting 8.0.3, as they are only minor patches of the same version, and are fully backwards compatible. Same goes for 10.0.1, 10.0.2, and 11.0.1."

Hi, your marked the comment from tsweeper as off-topic , but would porting to newtonsoft json 10.0.x solve the issue ? (We're encountering this same issue on Google but also Jira, both dll can't load the json dll)

@Nanorock
Yes it would! Actually it's just the version number that's the problem. I've not found the time to start backporting. Hopefully soon.

@jilleJr  Please keep us informes, as SinglaR is using Newtonsoft
Assembly 'Assets/Plugins/Microsoft.AspNetCore.SignalR.Common.dll' will not be loaded due to errors:
Microsoft.AspNetCore.SignalR.Common references strong named Newtonsoft.Json in a different folder, versions has to match. Assembly references: <IP_ADDRESS> Found in project: <IP_ADDRESS>.
We could offer you beer to boost your deliveries ;)

@xabio Ooo nice that you're using SignalR :o
I must though counter with my list of excuses:

This is a "boring" task, just tedious and I personally don't expect it to be fun.

That being said, I did actually kind of expect Unity's fork of my repo to add backporting, but I must've misunderstood them. Seems like they never will add backports.
I'll take a closer look at this, see if it's really that difficult and tedious.
Side note: I currently don't take beer as a payment ;) I am accepting donations for coffee, though I'm currently getting more money than I'm spending on coffee (OpenCollective ensures I only spend money on stuff I'm accepting donations for). Odd problem to have.

@jilleJr  and is there some way to tell Unity to take that Newtonsoft you have created, as it was the 11.0.0 version ?
Some kind of binding redirect ? Many thanks, you job is really awesome , cannot understand how you got to that degree of knowing about Newtonsoft internal side

@xabio sorry to say that binding redirections are not supported in Unity. Which also means you can only use 1 version of Newtonsoft.Json at a time.

@xabio I tried and backporting to 11.0.2 was not that difficult actually. I think mostly because 11.0.2 and 12.0.3 are differenciating in more or less bug fixes only. I'm honestly quite scared of attempting this for 10.0.3, but as Json .NET 10.x has been so frequently requested, I will at least make an honest attempt on it.
I didn't think about the upm branch that I have set up, so I kind of messed that one up. The latest version on the upm branch is currently the 11.0.202, which is misleading as 12.x is the latest. I will probably set up some new branch, like upm-11.0.2 or something. Don't think I can add upm/11.0.2 though due to Git restrictions.
Newtonsoft.Json-for-Unity 11.0.202 (based on Newtonsoft.Json 11.0.2) has just been released and is available via the Cloudsmith and OpenUPM registries already

Cloudsmith: https://cloudsmith.io/~jillejr/repos/newtonsoft-json-for-unity/packages/detail/npm/jillejr.newtonsoft.json-for-unity/11.0.202/#readme
OpenUPM: https://openupm.com/packages/jillejr.newtonsoft.json-for-unity/?subPage=versions

Happy news!
Now the package has both a Json .NET v11.0.2 and a v10.0.3 backports!
@tsweeper It is 473 days later, so I assume you may have moved on to a different project like 3 consecutive times by now, but as they say: Better late than never :sweat_smile: You should now be able to use google.apis.sheets.v4 with this package :)
It's much less relevant nowadays as since their Google.Apis.Core v1.44.0 they switched to using Newtonsoft.Json 12.0.x.
I'm pulling the breaks here on the backporting. I'm not going to backport any further unless someone really needs it. It was since Json .NET 10.0.x that they started using the new SDK styled csproj format, and the older format is such an extreme headache to work with.
If anyone needs Json.NET v9.0.x or lower, then open a new issue
To be extra clear: It's not planned, but I will consider it if anyone needs it. I want to get to work on other stuff for this repo. This issue has been dragging my mind for too long.


data-dir from config.yaml is not honored for extracted binaries

While validating on k3s version v1.19.3+k3s-58b5b21f, found the behavior is different while passing data-dir and passing data-dir through config file
Node OS: Ubuntu 20.04, sudo user
Using data-dir flag in cli, alternate location is used and /var/lib/rancher does not exist
ubuntu@ip-172-31-34-47:~$ ls /var/lib/rancher
ls: cannot access '/var/lib/rancher': No such file or directory
ubuntu@ip-172-31-34-47:~$ ls /mnt
agent                      client-kube-proxy.crt  containerd                kubelet.kubeconfig    server-ca.crt
client-ca.crt              client-kube-proxy.key  data                      kubeproxy.kubeconfig  serving-kubelet.crt
client-k3s-controller.crt  client-kubelet.crt     etc                       pod-manifests         serving-kubelet.key
client-k3s-controller.key  client-kubelet.key     k3scontroller.kubeconfig  server

Using config file, /var/lib/rancher contains k3s/data dir
cat /etc/rancher/k3s/config.yaml
data-dir: /mnt
 ls /var/lib/rancher/k3s/data/
76b839842c85db78d477b73c3dcb656159d31d91081517102614dad69c3a340c  current
ls /mnt
agent                      client-k3s-controller.key  client-kubelet.crt  etc                       kubeproxy.kubeconfig  server-ca.crt
client-ca.crt              client-kube-proxy.crt      client-kubelet.key  k3scontroller.kubeconfig  pod-manifests         serving-kubelet.crt
client-k3s-controller.crt  client-kube-proxy.key      containerd          kubelet.kubeconfig        server                serving-kubelet.key

Originally posted by @ShylajaDevadiga in https://github.com/rancher/rke2/issues/474#issuecomment-724524195

I am thinking that a method to fix this would be to enhance the parser (configfilearg) to essentially "whitelist" certain flags, and essentially call it twice, once at the cmd/k3s/main.go app.Run() and once at the actual server or agent start. We should only define a whitelist for the initial run for data-dir because we don't necessarily want the config file parser to start appending unrelated flags to our packaged/bubbled up commands like kubectl etc. but still need to define a --data-dir for other commands like k3s kubectl etc.

The wrapped commands don't need to have data-dir or any other flags loaded from the config file passed through. The wrapper just needs to respect the setting itself.

Ah I see. I misinterpreted the original issue.
Makes sense that the wrapper needs to respect the data-dir from the config file.
I think there is another issue here in that I don't think that it is possible to call k3s kubectl when using an alternate --data-dir without having it extracting things to /var/lib/rancher/k3s/data even when using CLI flags. This should be fixed by making the wrapper respect data-dir itself whether it comes from config or from flag.

Yep, that's it exactly!

This isn't going to make the cut to v1.19.5+k3s1 release. Changed milestone to v1.19.6 (January 2021)

k3s version v1.20.0-rc5+k3s1
While passing data-dir using cli, unable to get the resources due to the location of lock file
curl -fL https://get.k3s.io | INSTALL_K3S_VERSION=v1.20.0-rc5+k3s1 sh -s - server --data-dir=/mnt

$ ls /var/lib/rancher
ls: cannot access '/var/lib/rancher': No such file or directory

$ ls /mnt
agent  data  server

$ kubectl get nodes
INFO[0000] Acquiring lock file /var/lib/rancher/k3s/data/.lock
FATA[0000] extracting data: no such file or directory

Logs:
Dec 21 20:18:41 ip-172-31-9-45 systemd[1]: Starting Lightweight Kubernetes...
Dec 21 20:18:41 ip-172-31-9-45 k3s[2214]: time="2020-12-21T20:18:41Z" level=info msg="Acquiring lock file /mnt/data/.lock"
Dec 21 20:18:41 ip-172-31-9-45 k3s[2214]: time="2020-12-21T20:18:41Z" level=info msg="Preparing data dir /mnt/data/d40bea6786bc2f9f9396304611b5dc9be4a6f4bf85ebd7ef704fa5a94339290e"

For comparison on k3s version v1.19.5+k3s2, lock is acquired from the user home dir
$ k3s -v
k3s version v1.19.5+k3s2
$ kubectl get nodes
INFO[0000] Acquiring lock file /home/ubuntu/.rancher/k3s/data/.lock
INFO[0000] Preparing data dir /home/ubuntu/.rancher/k3s/data/b9574be94e4edbdbb93a39a2cb1f4e4df3ba699171a8b86863d1e8c421c91f63
NAME               STATUS   ROLES    AGE   VERSION
ip-172-31-11-109   Ready    master   20s   v1.19.5+k3s2

Validated in k3s version v1.20.0-rc5+k3s1
Passing data-dir using config.yaml
$ cat /etc/rancher/k3s/config.yaml
data-dir: /mnt

$ ls /var/lib/rancher
ls: cannot access '/var/lib/rancher': No such file or directory

$ ls /mnt
agent  data  server

$ kubectl get nodes
NAME             STATUS   ROLES                  AGE   VERSION
ip-172-31-0-45   Ready    control-plane,master   26m   v1.20.0-rc5+k3s1

$ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   local-path-provisioner-7c458769fb-hgrmw   1/1     Running     0          26m
kube-system   metrics-server-86cbb8457f-9255x           1/1     Running     0          26m
kube-system   coredns-854c77959c-snbx7                  1/1     Running     0          26m
kube-system   helm-install-traefik-qwqhq                0/1     Completed   0          26m
kube-system   svclb-traefik-ftbg5                       2/2     Running     0          25m
kube-system   traefik-6f9cbd9bd4-lhb4x                  1/1     Running     0          25m

While passing data-dir in cli, missed to pass data to kubectl. Works as expected.
$ k3s --data-dir=/mnt kubectl get nodes
NAME             STATUS   ROLES                  AGE   VERSION
ip-172-31-9-45   Ready    control-plane,master   53m   v1.20.0-rc5+k3s1

Same while passing data-dir in config:
$ k3s --data-dir=/mnt kubectl get nodes
NAME             STATUS   ROLES                  AGE   VERSION
ip-172-31-0-45   Ready    control-plane,master   68m   v1.20.0-rc5+k3s1


Update create-data-lake-storage-account.md

Added a condition that data protection cannot be enabled for ADLS Gen 2

@NandanHegde15 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@NandanHegde15 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

#sign-off


File upload Request

I am using below graphql package for uploading images.
https://github.com/Ecodev/graphql-upload
The package works proper and altair shows correct schema documentation
The query looks something like this in altair
mutation{
testUpload(text: "test", file: ______)
}
My question is how can I specify a file input type from the tool?

@gohelkiran30 I'm not sure I understand your question. Also are you sure it's not better to ask the question to the folks over at the graphql-upload package?

The graphql back-end is already ready and I can use Curl to execute the request.  I want to use the altair tool for sending files, which I am unable to understand how can I send a file object using this tool

Any data you can send with a JSON request to the server would work using altair. If you can structure your request as a JSON payload, then I can help you figure it out. Altair can't handle it if it can't be structured in a JSON format.

I'm assuming this question has been answered, since I haven't heard back from you.

no, its not resolved yet. I can't use this extension for graphql file uploads. I want to send a file as variable with mutipart/formdata, which I cannot do now. I have to use a curl command from console. It will be a nice feature to add  file upload support as a variable

Hi @imolorhe, thanks for this amazing tool. I have the same issue that @gohelkiran30 when try to upload a file as binary with multipart/form-data. When the file has small size i can use perfectly a base64 string but when the file size begins to grow up, the best choice to upload file is as binary through multipart/form-data.
The insomnia tool allow this.


Inheritance Wiki

Hello,
I'm trying to generate a schema with inheritance.
I try the sample code in the wiki (Animal, Dog) but the schema generated is different from the wiki (9.12.7).
I get the result below. Nno oneOf but mappings instead. Why?
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Container",
"type": "object",
"additionalProperties": false,
"properties": {
"Animal": {
"$ref": "#/definitions/Animal"
}
},
"definitions": {
"Animal": {
"type": "object",
"discriminator": {
"propertyName": "discriminator",
"mapping": {
"Dog": "#/definitions/Dog"
}
},
"additionalProperties": false,
"required": [
"discriminator"
],
"properties": {
"discriminator": {
"type": "string"
},
"Foo": {
"type": "string"
}
}
},
"Dog": {
"allOf": [
{
"$ref": "#/definitions/Animal"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"Bar": {
"type": "string"
}
}
}
]
}
Thanks in advance for your help.
Regards
alb3ric

Im pretty sure thats the spec, no? Have you tried codegen it back to see what would it generate to?

This is as expected: Swagger uses all of with the first element the base schema and the second the schema itself

Hello,
Ok, thanks for your answers.
I had in my sample a class called "Cat" extending Animal.
What I would have like as a result is this (see below). Is this against the specs?
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Container",
"type": "object",
"additionalProperties": false,
"properties": {
"Animal": {
"oneOf": [
{
"$ref": "#/definitions/Dog"
},
{
"$ref": "#/definitions/Cat"
}
]
}
},
"definitions": {
"Animal": {
"type": "object",
"discriminator": {
"propertyName": "discriminator",
"mapping": {
"Dog": "#/definitions/Dog",
"Cat": "#/definitions/Cat"
}
},
"x-abstract": true,
"additionalProperties": false,
"required": [
"discriminator"
],
"properties": {
"Foo": {
"type": [
"null",
"string"
]
},
"discriminator": {
"type": "string"
}
}
},
"Dog": {
"allOf": [
{
"$ref": "#/definitions/Animal"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"Ouaf": {
"type": [
"null",
"string"
]
}
}
}
]
},
"Cat": {
"allOf": [
{
"$ref": "#/definitions/Animal"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"Miaou": {
"type": [
"null",
"string"
]
}
}
}
]
}
}
}

BTW: This only works for swagger/openapi. For json schema validation you’d indeed need oneof inheritance - there’s an open issue for that:

Ok, I'm in a json schema case.
I'll have a look at the open issue
Thx!


Replacement-value is presumably passed by reference instead of being passed by value

I am observing weird behavior during dereference, which I am wary to call a 'bug', because most probably it's a result of JS limitations and not an algorithmic flaw.
In a

YAML

asyncapi: 3.0.0
info:
  title: Example Service
  version: 1.0.0
  description: Example Service.
channels:
  commentLikedChannel:
    $ref: './test/integration/bundle/channels.yaml#/channels/commentLikedChannel'
  userSignedup:
    address: 'user/signedup'
    messages:
      userSignedUpMessage:
        $ref: './test/integration/bundle/messages.yaml#/messages/UserSignedUp'
  test:
    address: '/test'
    messages:
      testMessage:
        $ref: '#/components/messages/TestMessage'
operations:
  UserSignedUp:
    action: send
    channel:
      $ref: '#/channels/userSignedup'
    messages:
      - $ref: '#/channels/userSignedup/messages/userSignedUpMessage'
  TestOpp:
    action: send
    channel:
      $ref: '#/channels/test'
    messages:
      - $ref: '#/channels/test/messages/testMessage'
components:
  messages:
    TestMessage:
      payload:
        type: string

an additional property is saved both to objects BEING dereferenced and THAT CONTAINS information attached in place of a $ref.

dereferenced YAML

asyncapi: 3.0.0
info:
  title: Example Service
  version: 1.0.0
  description: Example Service.
channels:
  commentLikedChannel:
    address: comment/liked
    x-origin: ./channels.yaml#/channels/commentLikedChannel
  userSignedup:
    address: user/signedup
    messages:
      userSignedUpMessage:
        payload:
          type: object
          properties:
            displayName:
              type: string
              description: Name of the user
            email:
              type: string
              format: email
              description: Email of the user
        x-origin: ./messages.yaml#/messages/UserSignedUp
  test:
    address: /test
    messages:
      testMessage:
        payload:                                        # | <-- object from below,
          type: string                                  # | <-- dereferencing is done correctly
        x-origin: '#/components/messages/TestMessage'   # | this property is expected to be added
operations:
  UserSignedUp:
    action: send
    channel:
      $ref: '#/channels/userSignedup'
    messages:
      - $ref: '#/channels/userSignedup/messages/userSignedUpMessage'
  TestOpp:
    action: send
    channel:
      $ref: '#/channels/test'
    messages:
      - $ref: '#/channels/test/messages/testMessage'
components:
  messages:
    TestMessage:
      payload:
        type: string
      x-origin: '#/components/messages/TestMessage'     # <-- but this property shouldn't be here after dereference of the above object

I suspect the reason for such behavior is that the replacement-value is passed to the object being dereferenced by reference and not by value. I think so, because I tried changing the names of both objects so they are not the same (to exclude the possibility that the second object is hitting a cache entry in a Set() and thus is being served back the same value) and changes to one object are still mirrored to the other one.
I have traced this behavior up to the crawl() function. Before it, the YAML was still intact, and after it, it already contained this unexpected change.
If my guess of passing an object by reference gets confirmed, I would suggest replacing objects' assignments with cloning using the ECMAScript 2022's structuredClone() method that creates a deep clone of a given value using the structured clone algorithm.
The code used for dereferencing: https://github.com/asyncapi/bundler/blob/master/src/parser.ts#L45
I have to differentiate internal JSON Pointers into those that SHOULD be dereferenced and those that SHOULD NOT, so I use dereference with conditions instead of unconditional bundle.
(x-origin is a property containing the historical value of a dereferenced $ref, meant mainly for humans' reference where the $ref came from, thus it's not important for the story)

Is there an update on this issue?


X-Touch with two extenders

Configuration:
Cubase 13.020
Main Device with two extenders connected via ethernet using rtpMIDI
Device: {"extender", "extender", "main"}
Everything seems to be connected very well, parameter are set correctly on all controllers (rarely a fader is wrong) but one of the three controllers cannot send any parameter to the DAW (no Fader, buttons nor pan)
In most of the cases it is the first extender, which cannot send parameter but it is always reflecting the correct status, e.g. if I click "Solo" on another controller the mute state appears on all controllers correctly.
The reload of the script in the MIDI Remote Manager doesn't help.

I have resolved the problem and it is not related to the script itself.
Obviously, the script does a much quicker communication than the Mackie controller, which I have used before in Cubase. Therefore the response did not came in the right timing (I guess). I have finally change the communication speed of rtpMIDI. This fixed all issues, like wrong fader position and not responding controllers. Maybe this is an helpful information for other users, who are using the X-Touch via ethernet.
So I apologize for any confusion.

This is awesome news @Pendejo10 – thanks so much for sharing it! I've heard of similar issues from other rtpMIDI users, so your finding might also help them (@JDubs73?) :tada:
If I were to add a troubleshooting entry for this, are there any specific instructions I should provide for changing the speed?

I set the "Standard-Bitrate" to 250000. Important to know is, that there is a bug in the UI of rtpMIDI. The bitrate is not reflected in the UI properly, although the value is set to maximum it always shows the lowest value. But if it has been set once, the value is stored correctly.
BTW, the parameters are stored in the registry (Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Tobias Erichsen\rtpMIDI).

I appreciate the tips, thanks! Sent from my iPhoneOn Feb 6, 2024, at 2:35 PM, Pendejo10 @.***> wrote:
I set the "Standard-Bitrate" to 250000. Important to know is, that there is a bug in the UI of rtpMIDI. The bitrate is not reflected in the UI properly, although the value is set to maximum it always shows the lowest value. But if it has been set once, the value is stored correctly.
BTW, the parameters are stored in the registry (Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Tobias Erichsen\rtpMIDI).
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Separate Repository for each Account in aft-account-customizations

Describe the outcome you'd like
New account customizations repo created for every new account requested. For example, accountA-customization, accountB-customization, etc..
Is your feature request related to a problem you are currently experiencing? If so, please describe.
We need ability for team to take ownership of each account customization created via AFT rather than a centralized repo "aft-account-customizations" that manage every account created. This would put burden on approvers of "aft-account-customizations" repo where they have to review every change for every account that owned by different team.
Additional context
Add any other context or screenshots about the feature request here.

Hey @vinceoan , thanks for bringing this up. I've created a backlog item to look into this feature.

Hey @vinceoan  , thanks for bringing this up. I've created a backlog item to look into this feature.


A few ideas, FrameRate additions.

Hi, this is a great project. Thanks for doing this! I've started integrating the framework into my project and everything I believe is working as intended. I did have a few things which I needed that I didn't see which I'll put below as some ideas. I'm not sure if I somehow overlooked these options, but I don't think so.
In particular I think a common format list is useful for displaying in a UI. Not very common to list 120 DF for example.
I have the situation where I don't know a frame rate until I open a video and all I've got from that is a floatValue. I'm not actually sure if there is a way to tell if it's drop frame or not? In any case, the floatValue init seems like I think I need in that case.
• Common Format List
• floatValue for FrameRate
• init FrameRate from a floatValue
If you're interested in these, I'd be happy to PR them in context, but this is what I'm using at the moment, Thanks!
Ryan
extension Timecode.FrameRate {
    public static var commonFormats: [Timecode.FrameRate] {
        [._23_976,
         ._24,
         ._25,
         ._29_97,
         ._29_97_drop,
         ._30,
         ._30_drop,
         ._50,
         ._59_94,
         ._59_94_drop,
         ._60,
         ._60_drop]
    }

    public var floatValue: Float {
        switch self {
        case ._23_976:
            return 24.0 / 1.001
        case ._24:
            return 24.0
        case ._24_98:
            return 25.0 / 1.001
        case ._25:
            return 25.0
        case ._29_97, ._29_97_drop, ._30_drop:
            return 30.0 / 1.001
        case ._30:
            return 30.0
        case ._47_952:
            return 48.0 / 1.001
        case ._48:
            return 48.0
        case ._50:
            return 50.0
        case ._59_94, ._59_94_drop, ._60_drop:
            return 60.0 / 1.001
        case ._60:
            return 60.0
        case ._100:
            return 100.0
        case ._120:
            return 120.0
        case ._120_drop, ._119_88, ._119_88_drop:
            return 120.0 / 1.001
        }
    }

    public var truncatedFloatValue: Float {
        floatValue.truncated(decimalPlaces: 3)
    }

    public init?(floatValue: Float, restrictToCommonFormats: Bool = true, favorDropFrame: Bool = false) {
        let collection = restrictToCommonFormats ? Self.commonFormats : Self.allCases

        let findMatches = collection.filter {
            $0.truncatedFloatValue == floatValue.truncated(decimalPlaces: 3)
        }

        // in cases where it's not clear which frame rate it is based off the floatValue
        // we will have more than one match
        if favorDropFrame, findMatches.count > 1 {
            if let firstDrop = findMatches.first(where: {
                $0.isDrop
            }) {
                self = firstDrop
                return
            }
        }

        if let firstMatch = findMatches.first {
            self = firstMatch
        } else {
            return nil
        }
    }
}

Thanks for the interest! It took a few weeks of research and testing to put the library together and ensure its accuracy.

In particular I think a common format list is useful for displaying in a UI. Not very common to list 120 DF for example.
public static var commonFormats: [Timecode.FrameRate] {
  [ ... ]
}

There's a few vestigial parts of the library left over from subjective / specific use cases I had added for software I'm developing, such as . The nomenclature of "DF" / "DNF" could be changed to something more standardized in the stringValue property.
Although I feel a commonFormats property falls under subjective features. The developer adopting the library can determine what frame rates they want to use or not use, since what constitutes a "common format" is subjective, AFAIK. So you'd be free to have this property as an extension on Timecode as you've illustrated, but in your app.
That said, I would alter your method to be:
public init?(floatValue: Float, restrictTo: [FrameRate], favorDropFrame: Bool = false)

and then just pass in your own commonFormats array to the method whenever you call it:
FrameRate(floatValue: x, restrictTo: FrameRate.commonFormats, favorDropFrame: true)

I have the situation where I don't know a frame rate until I open a video and all I've got from that is a floatValue. I'm not actually sure if there is a way to tell if it's drop frame or not?

I'm not sure I fully understand. Whatever API you're using to read/open video files is only supplying float value of the frame rate? The question about drop or non-drop is tricky - is it designed to be deterministic? The way you've implemented definition and discovery of float value seems heuristic in nature. For example, would 29.97 vs 29.97d produce different float values? At the very least I'd check the documentation of the video API you're using, and I'd want to externally generate/acquire video files in all frame rates (known frame rate) then see what your API produces as float values to compare.
I also found that 30df/60df/120df are not treated as actual drop-frame rates in most contexts, so on cursory glance I'm not sure your code is correct.
Is float value a standard in video libraries? Or is it just endemic to the one you're using? That may gauge the viability of including a float value in TimecodeKit. I just want to understand it first and avoid including novel features where they may not be appropriate for most contexts.
But now you've got me curious so I'd love to see this figured out!

oh i didn't notice ProTools added the higher frame rates. Disregard my comment in that regard then!
if i use common formats, then yes that makes sense to make that an application level thing and doesn't need to be in your API.
About the Float float frame rate:
I'm using Apple's AVPlayer for video and that will report a video's frame rate as a Float, yeah. In my particular application, this value isn't super telling given something like this. These FrameRate's of yours all have the same numerical value:
        case ._29_97, ._29_97_drop, ._30_drop:
            return 30.0 / 1.001

        case ._59_94, ._59_94_drop, ._60_drop:
            return 60.0 / 1.001

        case ._120_drop, ._119_88, ._119_88_drop:
            return 120.0 / 1.001

So in that case, how would you know which should be the specific Timecode.FrameRate - or can you? Or, did I miss something? As far as I can tell, all you can get from the AVPlayer is the AVAssetTrack.nominalFrameRate, which is a Float.
    /**
    	@property		nominalFrameRate
    	@abstract		For tracks that carry a full frame per media sample, indicates the frame rate of the track in units of frames per second.
    	@discussion		For field-based video tracks that carry one field per media sample, the value of this property is the field rate, not the frame rate.
    */
    open var nominalFrameRate: Float { get }

So what I'm doing at the moment is limiting the frame rate selection to the ones I'm sure have the approximated base floatValue, and the user could select drop or non-drop. I'm unsure if it's possible to really know more than that in that case. Here's a screenshot of what that looks like:

For the particular video, encoded in Premiere, I encoded as 29.97 - premiere doesn't offer any info on export beyond that, but it does export as 29.97 DF. That's the only export preset that exports DF.
So, opening that video in AVPlayer says the frame rate is "29.970032".
Any advice?

If curious, here's some frame rate selectors I had a look at to see how others are labeling these.
Premiere 2020

Logic

Final Cut Pro

ProTools

I'm using Apple's AVPlayer for video

Ok, I figured it was 1st-party API. I wouldn't mind playing around with AVPlayer and seeing what it's doing.

These FrameRate's of yours all have the same numerical value
   case ._29_97, ._29_97_drop, ._30_drop:
       return 30.0 / 1.001

   case ._59_94, ._59_94_drop, ._60_drop:
       return 60.0 / 1.001

   case ._120_drop, ._119_88, ._119_88_drop:
       return 120.0 / 1.001

This is your code, not the library. Internally in the library, these are calculated differently and are not quite parallelized or reduced in this way. 30d/60d/120d are calculated differently even though they are labelled as a "drop" frame rate. You'll notice in Logic's frame rate selection list, these rates are in bold and italics to show they are not traditional frame rates but actually modern adaptation rates.
Here's the issue as I see it: The reason why boiling video encoding frame rates down to a float value is obscure is that drop rates technically have fewer "frames" but as you likely know, only certain frames are dropped. What you would end up with would be an average, if it were a float value. But it does not mean that there are that many frames per second in any given second of time. My guess is that AVPlayer may produce a float value that averages the per-second frame count across an entire hour or something, and then flatten it out to a "per-second" frame rate float value. Which would be kind of stupid, but possible I suppose.
Since I'm not familiar with AVPlayer, from a quick Google search I'm guessing nominalFrameRate has to do with the overall video/GPU playback rate which may be misleading. I did read that AVAssetReader can possibly determine media's encoding frame rate with better precision. Have you looked into that?

As an aside, in retrospect I think I will update the Timecode.FrameRate.stringValue property and add a verbose version so it's more flexible for use in human-readable UI.
I'll update stringValue to produce short Logic-style strings. Then add another property called stringValueVerbose with longer style strings like Pro Tools.
ie:
/// Returns human-readable frame rate string.
public var stringValue: String {
    switch self {
        ...
    case ._29_97:       return "29.97"
    case ._29_97_drop:  return "29.97d"
        ...
    }
}

/// Returns human-readable frame rate string in long form.
public var stringValueVerbose: String {
    switch self {
        ...
    case ._29_97:       return "29.97 fps"
    case ._29_97_drop:  return "29.97 fps drop"
        ...
}

I played around with AVFoundation a bit and the only mechanism I could find for reading frame rate was the nominalFrameRate property as you mentioned.
Also keep in mind that this value can be an arbitrary value that doesn't correspond to a concrete frame rate, if a video file is encoded as Variable frame rate. For example, I did a screen recording video and it was encoded as AVC Variable rate. When read by AVAssetTrack, it returns 55.473682 as the nominalFrameRate value. Not sure how you want to handle that, but just an FYI in case you haven't run into that yet.
I'll keep digging and see if there's a reasonable solution to the drop/nondrop float value issue.

So from what I can tell, nominalFrameRate may be producing a value based on total number of frames contained in the video track divided by total time duration. That may throw a wrench into trying to convert a float value to an encoding frame rate.
Considering that below are actual, concrete, numbers for total number of frames in 24 hours, that math could produce overlapping results:
23_976:       2073600
24:           2073600
24_98:        2160000
25:           2160000
29_97:        2592000
29_97_drop:   2589408
30:           2592000
30_drop:      2589408
47_952:       4147200
48:           4147200
50:           4320000
59_94:        5184000
59_94_drop:   5178816
60:           5184000
60_drop:      5178816
100:          8640000
119_88:       10368000
119_88_drop:  10357632
120:          10368000
120_drop:     10357632

I think TL;DR: Drop-frame is specific to timecode referencing, not an actual video frame rate. So ultimately a fps float value will not tell you whether the rate is drop or not.

I have a video file known to be 29.97d and I ran a few tests.
File meta data's frame rate is shown as "29.970 FPS" as read in Invisor.app
Also, nominalFrameRate is read as exactly float value 29.97.
So from that, you cannot know whether timecode display should be drop or non-drop. Essentially, the user has to specify it.

So from that, you cannot know whether timecode display should be drop or non-drop. Essentially, the user has to specify it.

Right yeah. that was what I had decided as well. Which isn't really such a big deal, but good to know you came to the same conclusion.

As an aside, in retrospect I think I will update the Timecode.FrameRate.stringValue property and add a verbose version so it's more flexible for use in human-readable UI.

oh that's good. Actually I added this same idea as well like this:
    /// Returns human-readable frame rate string.
    public var stringValueUILabel: String {
        switch self {
        case ._23_976:      return "23.976"
        case ._24:          return "24"
        case ._24_98:       return "24.98"
        case ._25:          return "25"
        case ._29_97:       return "29.97"
        case ._29_97_drop:  return "29.97 Drop"
        case ._30:          return "30"
        case ._30_drop:     return "30 Drop"
        case ._47_952:      return "47.952"
        case ._48:          return "48"
        case ._50:          return "50"
        case ._59_94:       return "59.94"
        case ._59_94_drop:  return "59.94 Drop"
        case ._60:          return "60"
        case ._60_drop:     return "60 Drop"
        case ._100:         return "100"
        case ._119_88:      return "119.88"
        case ._119_88_drop: return "119.88 Drop"
        case ._120:         return "120"
        case ._120_drop:    return "120 Drop"
        }
    }

Definitely seeing all those DF and NDF's isn't the best look in a selector.

I think the conclusion is that float value is not a standard value for timecode expression frame rate, so adding a floatValue property or init to the library will be ambiguous given what we know here.

This is your code, not the library. Internally in the library, these are calculated differently and are not quite parallelized or reduced in this way. 30d/60d/120d are calculated differently even though they are labelled as a "drop" frame rate. You'll notice in Logic's frame rate selection list, these rates are in bold and italics to show they are not traditional frame rates but actually modern adaptation rates.

oh ok. actually i was looking at :
frameRateForRealTimeCalculation
In that switch the values are as I have them. I am doing a lot of realtime conversion myself as I'm deriving the timecode from a seconds value. Is there another way to do that?

I think the conclusion is that float value is not a standard value for timecode expression frame rate, so adding a floatValue property or init to the library will be ambiguous given what we know here.

that's fine. though, regardless of that, I still have to do it. But it doesn't need to be in your API, I just wanted to bring it up as something I'm looking at. In all videos I've tested the rates are close enough - but that is why in my init for floatValue I'm just taking a truncated version and setting the selector to the possible rates. Given that, it doesn't have to be a 100% confident result, but limiting the frame rate in this way gets it at least to the rates that matter.
I hope.

I am doing a lot of realtime conversion myself as I'm deriving the timecode from a seconds value. Is there another way to do that?

Assuming you are supplied a seconds float for current video playback position, this is the most obvious way:
// x == position in seconds
// fr == FrameRate

Timecode(TimeValue(seconds: x), at: fr, limit: ._24hours)

Timecode(TimeValue(seconds: x), at: fr, limit: ._24hours)

cool, that's essentially what I did though am using the toTimecode convenience.

I'll push the stringValue / stringValueVerbose update shortly.
Also while I'm at it, I will flesh out the README.md with some basic code examples since I've been meaning to get around to it.
And thanks again for bringing up the float fps issue - something I hadn't dug into before and it was a good consideration to explore.
If you have any other ideas for improvements or additions, feel free to post more Issue tickets.

cool, thanks!

@ryanfrancesconi pushed release version 1.0.3 to main with updates.


Set specific volumes in psp

https://github.com/NetApp/trident/blob/94e34e8f6db39386ef2db4dd11f1787dce172fa9/helm/trident-operator/templates/podsecuritypolicy.yaml#L18
Could this be more specific? It would be best to follow least privilege here.

Join to the question.
I found two psp that need to get the least privilege
tridentoperatorpods     false               RunAsAny   RunAsAny           RunAsAny    RunAsAny    false            *
tridentpods             true    SYS_ADMIN   RunAsAny   RunAsAny           RunAsAny    RunAsAny    false            *


parseInternalLinks corrections for double digit ids

Description
While rendering a linked browserModule using $block->wysiwyg('field'), the logic picks only single digit of the id. For eg.
if this is the href of a link #twillInternalLink::App\Models\Category#23, the current logic will only pick 2 as id instead of 23
Another issue is, the current logic only query for published records. It doesn't handle a scenario when a linked published record gets unpublished.
This PR handles both the scenarios by

correcting the regex
adding a 404 when the model is not found

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


IdentityServer4

What should we add or change to make your life better?
Yarp should have the capacity to execute OIDC with identityServer4
Why is this important to you?
Having a reverse proxy in front of my applications with this cross curting concern will enable reusability and identity integration between diferent applications of the same system.

YARP plugs into the AspNetCore pipeline so you should also be able to plug in IdentityServer4 along side it. What support do you anticipate needing that's proxy specific? Can you try this with preview 1 and let us know how far you get?
RE: Authorization per proxy route https://github.com/microsoft/reverse-proxy/issues/122

Triage: No response for 1+ year, closing.


Change charts to use HanSolo's SteelSeries charts

This will provide greater flexibility and a better look.
https://github.com/HanSolo/SteelSeries-Canvas

As requested here are my modifications to your dashboard code to use the steelseries gauges.
steelseries_dashboard.zip
I have only just started working on the trend indicators so these are not working yet.
I hope you find this of some help.

Looking forward to seeing this implemented.


Fixing tab bar color when showTabs is false

This closes https://github.com/sdras/night-owl-vscode-theme/issues/99
Here how it looks:

This looks good :+1:

Looks great! Thanks.


Update README and tweak package.json

Note that IE 11 is actually supported due to proxy polyfill.
Remove no-longer true statements from README lede. Coverage is not
far off 100% though.
Add istanbul config to ignore non-library files as part of coverage.
Correct people field short form for author.
Move dependencies field and remove self-reference.
Fix a few spelling errors.

Thank you 🚀


Support revised documents/collections in Jekyll 3 (v2)

@parkr It works! I think originally I wasn't too sure because this now uses the site's posts object instead of ours, but they should be the same anyways.
@paulrobertlloyd I've kept your commits in here since we do still need the checks when constructing the archives by year. Thanks for your work on this!

@alfredxing Not a problem! Learnt a few things while making the changes too, which is no bad thing 😀


Allow CORS

Thanks for the PR, but we are deprecating weinre and we won't do more releases, so we won't merge this. Sorry


throw error when queryRaw with unsupported columns

Bug description
I want to query data by queryRaw method, but I had few columns with unsupported type.
When I use the code like below to query data
await prisma.$queryRaw<Array<listing>>`
    SELECT *
    FROM listing
`

The prisma will throw error
PrismaClientKnownRequestError:
Invalid `prisma.queryRaw()` invocation:

  Raw query failed. Code: `N/A`. Message: `error deserializing column 43: cannot convert between the Rust type `core::option::Option<alloc::string::String>` and the Postgres type `point``
    at cb (/Users/liaojiwei/Desktop/funwoo/backyard-api/node_modules/@prisma/client/runtime/index.js:38688:17) {
  code: 'P2010',
  clientVersion: '3.7.0',
  meta: {
    code: 'N/A',
    message: 'error deserializing column 43: cannot convert between the Rust type `core::option::Option<alloc::string::String>` and the Postgres type `point`'
  }
}

How to reproduce

Create a Prisma Postgresql db with model containing one or more columns with unsupported type.
Use queryRaw method to select all columns from the table.
Prisma will throw the error I was mention above.

Expected behavior
Get data with all columns without error
Prisma information
Relevant model:
model listing {
  id                            String                    @id @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  location_latlon               Unsupported("point")?
  location_geopoint             Unsupported
}

Relevant queries:
const listings = await prisma.$queryRaw<Array<listing>>`
    SELECT *
    FROM listing
`

Environment & setup

OS: Mac OS 12.3.1
Database: PostgreSQL
Node.js version: 16.13.0

Prisma Version
prisma                  : 3.7.0
@prisma/client          : 3.7.0
Current platform        : darwin
Query Engine (Node-API) : libquery-engine 8746e055198f517658c08a0c426c7eec87f5a85f (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 8746e055198f517658c08a0c426c7eec87f5a85f (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core 8746e055198f517658c08a0c426c7eec87f5a85f (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt 8746e055198f517658c08a0c426c7eec87f5a85f (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : 8746e055198f517658c08a0c426c7eec87f5a85f
Studio                  : 0.445.0
Preview Features        : filterJson

Hey @liaojiwei666,
This is unfortunately not a bug. You're column location_latlon is marked as Unsupported. This means, among other things, that Prisma does not know how to serialize/deserialize your type.
There is a workaround though: you can cast your column to a type that's supported by Prisma, like String. On Postgres, that'd be text (SELECT my_column::text FROM "Table").
If you do not actually need to select the column of type point, removing it from the selection set is also an option.
Next release will include two things:

A more user-friendly error for your issue. 👇:Failed to deserialize column of type 'point'. If you're using $queryRaw and this column is explicitly marked as 'Unsupported' in your Prisma schema, try casting this column to any supported Prisma type such as 'String'.

Better documentation that explains the available workarounds

I'm now closing your issue in favor of https://github.com/prisma/prisma/issues/13203.
Thank you for reporting 🙏


polymer linter: missing an error message

I think we lost the warning:
the <template> of a custom element does not support "if", "iterate" or "repeat". However, you can create
 another template node that is a child node, for example: ...
since it still applies, might be good to restore it?

assumed very very stale

This issue has been moved to dart-lang/polymer-dart#364.


Unable to Generate Report

Describe the bug
Unable to generate report output when running jMeterReport
To Reproduce
Steps to reproduce the behavior:

set up tasks 'runJMeter' and 'jMeterReport'
add 'deleteResults=true' and 'generateReport=true' to the 'runJMeter' task
run ./gradlew runJMeter
Error appears: Error generating the report: org.apache.jmeter.report.dashboard.GenerationException: Error while processing samples: Consumer failed with message :Consumer failed with message :Consumer failed with message :Consumer failed with message :Begin size 0 is not equal to fixed size 5

Expected behavior
I expect a report to be generated and appear in the 'reports' subdirectory.
System (please complete the following information):

OS: Mac
OS-Version: Ventura 13.2.1
Gradle-Version: 8.0.2
Plugin-Version: 2.4.0

Additional context
We had an older plugin we were using. It had problems, which was why we switched. But it was able to generate the report.
When I looked up the error message online, it referenced a problem with Java 17 (which we're using). But, as I said, we've gotten the reports to work with the older plugin.
When I just run the report task, there's no error. But there's also no report.

This bug can be closed. My instance wasn't running the 5.5 version of jmeter by default. I had to add that specifically using the 'tool' configuration mentioned in the README.


fix: typo in README.md

fixes a typo in the README.md where PersistentVolumeClaim was spelled as PersistentVolumeClain

(P.S. Thanks for creating this tool!)

@arthur0 noticed this typo in the README, so here's a quick PR to fix it. Have a great day!


Update for 1910

Could the page be updated with 1910 version? The computer restart settings don't match anything discussed here

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

ID: c3f43b73-de34-a8b0-13c6-c647724161e0
Version Independent ID: 39e43e5b-626b-b5b9-67de-f7f7a39950cd
Content: Device restart notifications - Configuration Manager
Content Source: sccm/core/clients/deploy/device-restart-notifications.md
Product: configuration-manager
Technology: configmgr-client
GitHub Login: @mestew
Microsoft Alias: mstewart

Thanks @xtcw255 for the feedback. I talked with the PM for the feature, he said "Only the strings on the client settings (we simplified them to be more user-friendly)." We'll work on getting those revisions published.

Just made a big revision to this, the changes should publish today.


connect/token fails with mapping error when ClientProperties has more than one property with the same key

The database schema allows multiple values with the same key to be added as client properties, for example:
INSERT INTO ClientProperties (ClientId, [Key], Value)
SELECT Id, k, v
FROM Clients c
  CROSS JOIN (
    SELECT 'foo' AS k, 'bar' AS v
    UNION
    SELECT 'foo' AS k, 'buz' AS v
) p

However, when running identity server and attempting to call connect/token (for an existing client) the endpoint returns Internal server error. The reason is a mapping problem.

Can't afford it.

It's free (assuming you make less than 1M USD revenue a year)...

Isn't it $1,500 for the most crippled version?


Code cleanup for pgserver repo

Run a formatter on pgserver codebase to align with standard Python and Pixeltable code conventions
Correct various other code style issues
Add typechecking with mypy and fix any type errors

This change is


modernized the lib and the examples too

hi @bbx10 , i created that pr to renew the codebase technology, please check it, thanks!


self-hosted IR - Azure VM or on-prem machine?

Can you please help me understand what factors drive to install IR in Azure VM?
The document recommend to install IR in a separate machine, so that does not compete resource with data source.
What are the considerations to install IR in a on-prem machine vs install IR in Azure VM.
I guess when IR running in on-prem VM, it's close to on-prem data source.
when IR running in Azure VM, it's close to sink or target.

The self-hosted integration runtime doesn't need to be on the same machine as the data source. However, having the self-hosted integration runtime close to the data source reduces the time for the self-hosted integration runtime to connect to the data source.
https://docs.microsoft.com/en-us/azure/data-factory/create-self-hosted-integration-runtime#considerations-for-using-a-self-hosted-ir
[Enter feedback here]

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

ID: 32785d15-8202-6e44-f1d2-420ef0600f3f
Version Independent ID: 3af5fa49-7bd4-18ce-f8dc-aa4a2b8c6478
Content: Create a self-hosted integration runtime - Azure Data Factory
Content Source: articles/data-factory/create-self-hosted-integration-runtime.md
Service: data-factory
GitHub Login: @nabhishek
Microsoft Alias: abnarain

@RonnieQuan Thanks for the feedback! We are currently investigating and will update you shortly.

@RonnieQuan The self-hosted IR can be set up either on-premises or on an Azure VM
to access your data stores. Setting it up on an Azure VM
for the ease of manageability and network setup compared to the on-premise machine.

@RonnieQuan  We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


[Core] Allow specifying custom Executor

This PR allows the user to pass in their custom Executor and TokenizerGroup classes if they so desire. This allows easy experimentation and customized deployments.

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

/ready

@Yard1 I'm kind of wary about making this pluggable since it's something additional that needs to be supported and may hamper our ability to evolve the architecture of these parts. Are there concrete examples / use cases of this that can be shared?
If it's just for the purpose of experimentation, it's not difficult to do that with custom changes in a separate branch?

@Yard1 I'm kind of wary about making this pluggable since it's something additional that needs to be supported and may hamper our ability to evolve the architecture of these parts.

I consider this is not a big issue because of the following reasons:

This PR only provides a more flexible way to accept custom executors without changing any existing behaviors.
As mentioned in the PR description, it's mainly for development convenience, meaning that we won't encourage users to implement their custom executors. It implies that custom executors shouldn't block future architecture evolution, as custom executors are not upstreamed, after all.

Are there concrete examples / use cases of this that can be shared?
If it's just for the purpose of experimentation, it's not difficult to do that with custom changes in a separate branch?

I could provide 2 use cases as examples:

We may need to develop a feature in executor/worker/model runner that would take a few weeks. However, since executor/worker/runner are the core components in vLLM and frequently changed/updated. As a result, we suffer from merging conflicts, and we have 2 options to solve this: (1) do not merge main branch until we finish developing; (2) use custom executor during the development process. We don't prefer (1) because it's hard to perform integration testing along with new feature in the other components of the upstream.
We may have a custom executor/worker/model runner that cannot be upstreamed easily, mainly due to a temporary hacky solution for particular business use cases. In this case, our upstream steps are usually (1) delivering business needs; (2) making the solution less hacky and more general; (3) propose an RFC to the community; (4) upstreaming the code. This process may take a few months, and it would be super tedious if we use a separate branch.

Thanks.

@comaniac @Yard1 ok fair enough! I guess we should clearly document that this isn't for general use though and could change/break at any point in future.

It implies that custom executors shouldn't block future architecture evolution, as custom executors are not upstreamed, after all.

I meant in terms of us having to avoid changing the executor structure such that it would break others' custom executors.

We may need to develop a feature in executor/worker/model runner that would take a few weeks. However, since executor/worker/runner are the core components in vLLM and frequently changed/updated. As a result, we suffer from merging conflicts

I thought that this was vLLM BAU :-) I'm not sure how the executor is special in this regard. Any large change that takes time to get merged ends up having to be regularly kept up-to-date with main (which I agree is very painful). We've had some PRs that took multiple months to get merged and required countless nontrivial conflict resolutions over that time (for example the multiproc executor, soft prompt support, ...)

@comaniac @Yard1 ok fair enough! I guess we should clearly document that this isn't for general use though and could change/break at any point in future.

👍

I meant in terms of us having to avoid changing the executor structure such that it would break others' custom executors.

Understood. IMO it's not the OSS community's responsibility to make sure the change of executor structure won't break other's downstream custom executors.

I thought that this was vLLM BAU :-) I'm not sure how the executor is special in this regard. Any large change that takes time to get merged ends up having to be regularly kept up-to-date with main (which I agree is very painful). We've had some PRs that took multiple months to get merged and required countless nontrivial conflict resolutions over that time (for example the multiproc executor, soft prompt support, ...)

I totally understand, and that's also the motivation of this PR. Hopefully this could make our life less painful lol

Added a comment to arg_utils!


Feature request: auto routing?

Might it be possible to add auto routing to this plugin or document and example of how to get it working?
I'd love to get out of the business of manually writing routes. Instead, I love the Nuxt.js approach to auto-generate routes from pages/**/*.vue files, but I'd rather use the standard Vue toolchain as much as possible.
Alternatives attempted:

I've found Nuxt.js to be unreliable and lacking good documentation, so I'm exploring alternatives.
I tried integrating the vue-auto-routing project, but I can't get anything to build after this plugin is installed.

I was able to get things somewhat working with the ktsn/vue-route-generator library and and script that runs before ssr:serve and ssr:build to generate a routes.js file from all Vue files found in the src/pages directory.
It still has problems and feels a bit hacky, but a proof of concept is in this vue-ssr-auto-routes repo.
I think having this work as a reliable CLI plugin would be a great benefit to people trying to do something like Nuxt but without giving up the Vue CLI.


Is this still maintained?

Type:

[ ] bug
[ ] feature
[ ] enhancement
[x] question

Description:
Do you have time to maintain this package or would you like some help?
Cheers!

I don't think. coz it still has peer deps as webpack 4

can someone recommend an alternative?

@GorvGoyl We just started maintaining it at https://github.com/SimplifyJobs/webpack-ext-reloader/


documentation: add ipvlan and rewrite macvlan

Describe macvlan in more detail since ipvlan is derived from macvlan,
and can be nicely explained by pointing out the differences between
the two.
Additionally the ipvlan example shows a more complex way to configure
the host-local ipam plugin with IPv6.
Fixes #922.

General nit: please follow convention of the rest of the doc and don't wrap text

A few comments, but looks good overall. Dunno if @eyakubovich wants to weigh in ;-)

LGTM, thanks!


Updated Readme

[x] Added contributing.md
[x] Added code_of_conduct.md
[x] Provided links to contributing.md and code_of_conduct.md in Readme.md.

.env file should be gitignored
Could you update it?


Document connect meter command line arguments

Define the command line argument and how to use.
v1.0.3 release...

already documented in https://github.com/ava-labs/avalanche-docs/pull/216


Fix slow js compile

This should fix the slow JS compile times.
Before this change, JS files were being read in as a ByteString and turned into a [Word8].  Because the ByteString is like 100kb, this becomes a very long [Word8].  I think GHC was taking a long time to compile this.
This PR changes it so that JS files are read in as a ByteString, but decoded to a UTF8 String.  I don't think that it is alright to assume that JS files are UTF8-encoded, but I'm not sure of the best way to represent an array of arbitrary bytes (a ByteString) in a Haskell src file.
@arowM Can you test this out and make sure it is working?

@arowM I've given you access to this repository, as well the hackage page: https://hackage.haskell.org/package/servant-static-th
If you confirm that this PR is working for you, feel free to update the version number, create a new git tag, and upload to hackage.

It reduces compile time dramatically. Thanks a lot.


python38Packages.jupyter_console: 6.2.0 -> 6.3.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.jupyter_console is: "Jupyter terminal console"
meta.homepage for python38Packages.jupyter_console is: "https://jupyter.org/"
meta.changelog for python38Packages.jupyter_console is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 6.3.0 with grep in /nix/store/5d1r8py0zs0r1wfr01fzn5xxmm7a433n-python3.8-jupyter_console-6.3.0

directory tree listing: https://gist.github.com/c27a8c6d9e48e8c9f820b670b924adaf

du listing: https://gist.github.com/8efc1d7ba4ad1d6cf69cc746f3150598

Rebuild report (if merged into master) (click to expand)

38 total rebuild path(s)

11 package rebuild(s)

10 x86_64-linux rebuild(s)
9 i686-linux rebuild(s)
10 x86_64-darwin rebuild(s)
9 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
ihaskell
python38Packages.ansible-kernel
python38Packages.jupyter
python38Packages.jupyter_console
python38Packages.skein
python38Packages.vega
python39Packages.ansible-kernel
python39Packages.jupyter
python39Packages.jupyter_console
python39Packages.skein
python39Packages.vega

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5d1r8py0zs0r1wfr01fzn5xxmm7a433n-python3.8-jupyter_console-6.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.jupyter_console https://github.com/r-ryantm/nixpkgs/archive/5dda0ad91279003c185280577d631a924052b84e.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5d1r8py0zs0r1wfr01fzn5xxmm7a433n-python3.8-jupyter_console-6.3.0
ls -la /nix/store/5d1r8py0zs0r1wfr01fzn5xxmm7a433n-python3.8-jupyter_console-6.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages marked as broken and skipped:

ihaskell
python38Packages.skein
python39Packages.skein

7 packages built:

python38Packages.ansible-kernel
python38Packages.jupyter
python38Packages.jupyter_console
python38Packages.vega
python39Packages.jupyter
python39Packages.jupyter_console
python39Packages.vega

Maintainer pings

Result of nixpkgs-review pr 116815 at 5dda0ad9 run on aarch64-linux 1

2 packages marked as broken and skipped:

python38Packages.skein
python39Packages.skein

7 packages built successfully:

python38Packages.ansible-kernel
python38Packages.jupyter
python38Packages.jupyter_console
python38Packages.vega
python39Packages.jupyter
python39Packages.jupyter_console
python39Packages.vega

1 suggestion:

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/development/python-modules/jupyter_console/default.nix:40:3:
   |
40 |   meta = {
   |   ^


Impl Debug for Row

https://github.com/jgallagher/rusqlite/issues/572

https://github.com/jgallagher/rusqlite/issues/605#issuecomment-569764259

Definitely. But we have to be careful in case there is a 1 Gb Blob...
Either print only some bytes or by default, dump only the blob size not its content ?

Hi, would love a way to debug print rows without having to individually .get each column when rapid prototyping. Any chance this is getting merged in or is there a better approach we should be using?

I think its reasonable to print out the values. For postgres doing so might be more costly, for us they're probably already in memory anyway.
It's not like Vec<u8> only prints out the size and not the contents, even though it might be gigabytes.

for those looking for this functionality, within a #cfg[test] module you can add a helper utility that achieves basic functionality (haven't added blob support yet):
#cfg[test]
pub fn print_rows(conn: &mut Connection, sql: &str) {
    let mut stmt = conn.prepare(sql).unwrap();
    println!("{}", stmt.column_names().iter().map(|c| format!("{: >15}", c)).collect::<Vec<String>>().join(", "));
    let col_cnt = stmt.column_count();
    let mut rows = stmt.query([]).unwrap();

    while let Ok(Some(row)) = rows.next() {
      let mut cols: Vec<String> = vec![];
      for c in 0..col_cnt {
        cols.push(match row.get::<_, Value>(c).unwrap() {
          Value::Null => "NULL".to_string(),
          Value::Integer(i64) => i64.to_string(),
          Value::Real(f64) => f64.to_string(),
          Value::Text(string) => string,
          Value::Blob(v) => "vec".to_string(),
        });
      }
      println!("{}", cols.iter().map(|c| format!("{: >15}", c)).collect::<Vec<String>>().join(", "));
    }
  }


fix parameter destination

With this fix, the parameters (specified on the command line OR in the parameters file) will now be set as environment variables inside the invocation container.

depends on https://github.com/projectriff/cnab-k8s-installer-base/pull/55

super-ceded by: https://github.com/projectriff/cnab-riff/pull/31


Consider adding  .watch to the project

It could defer to the TS compiler's built-in watching algorithms, this way it can watch all files in the project (including imports and configs) - not just those found via processing the input files list/includes/excludes.
It would also be the last public method to make the project into a full and complete vinyl provider, AFAIK.

TS compiler's built-in watching algorithms, this way it can watch all files in the project (including imports and configs)

⛔ given my experience with tsserver and file watching


Natasha/deephyper initial

This has been tested with PathDSP and GraphDRP. A readme is provided that I think is pretty clear, but let me know if there are suggestions/comments.

@nkoussa As far as I see, all changes are related to workflows/deephyper except for a small change in config/base. I think we can go ahead and merge this.

@nkoussa As far as I see, all changes are related to workflows/deephyper except for a small change in config/base. I think we can go ahead and merge this.

Yeah. Can you approve?

@nkoussa As far as I see, all changes are related to workflows/deephyper except for a small change in config/base. I think we can go ahead and merge this.

Yeah. Can you approve?

@nkoussa Did you see my comment regarding exist_ok=True on line 739?

@adpartin No, there are no unresolved conversations. Am I missing something?


buttonPrimaryLabel and buttonPrimaryUrl is broken

buttonPrimaryLabel and buttonPrimaryUrl does not work on gmcl_gdiscord_win64.dll

This was fixed in #17 and I forgot to create a new release for it - sorry about that.
If you update your binary module to use release 1.2.1 (https://github.com/fluffy-servers/gmod-discord-rpc/releases/tag/1.2.1) the issues should be resolved.


[Linux] Server doesn't response

I use omnisharp-vim and get error.

Capture log
2022-03-19 08:05:50,512 ERROR Could not connect to OmniSharp server: http://localhost:34507/checkalivestatus
Traceback (most recent call last):
File "/usr/lib/python3.10/urllib/request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,

File "/usr/lib/python3.10/http/client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)

File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)

File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)

File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)

File "/usr/lib/python3.10/http/client.py", line 975, in send
self.connect()

File "/usr/lib/python3.10/http/client.py", line 941, in connect
self.sock = self._create_connection(

File "/usr/lib/python3.10/socket.py", line 845, in create_connection
raise err

File "/usr/lib/python3.10/socket.py", line 833, in create_connection
sock.connect(sa)

ConnectionRefusedError: [Errno 111] Connection refused

Software:
OS: ArchLinux
Editor: neovim v0.6.1
Plugin: omnisharp-vim
My settings from init.vim
let g:OmniSharp_server_stdio = 0
let g:OmniSharp_server_use_mono = 1

Steps to reproduce:

Launch neovim
Open file.cs
Install OmniSharp via command :OmniSharpInstall
Open Log via :OmniSharpOpenLog

Is there a reason you're using the python server instead of the stdio server? It's harder to get working and has quite limited functionality. It's basically obsolete.

@nickspoons Thank you for your reply. I did not think about using stdio server. I've reinstalled OmniSharp with stdio server. That worked for me.Thank you


Graph Editor Breadcrumbs

To be tested after #8068.
GE breadcrumbs should show the "stack trace" of the currently displayed graph. When clicked at crumb, all crumbs on the right should be grayed out, and we should jump to definition represented by crumb (updating the execution context accordingly).
For details, see how it works in the old GUI.

Refinement notes:

We need to have a component for displaying breadcrumbs in general, used by Documentation Panel and Graph Editor.


Sorry for doing this again

the discord thing bugged out or something I don't know but sorry for doing this again https://github.com/discordlinux/rules/issues/48
What is your username and discriminator?
fisu#2405
Why did you join Discord Linux?
To get help and help others if I can
Where did you hear about Discord Linux?
programming discord
What is the passphrase that was assigned to you by the bot?
sudo -i cut-resident-quarrelsome-committee

From simonizor#0420 :
Looks good. I gave you a temporary role so you can enter the passphrase in the welcome channel.


UTF-16 to UTF-16 with replacement

Implement a UTF-16 correction function which replaces bad surrogate pairs with the replacement character.

Something similar to String.prototype.toWellFormed (ref: https://chromium.googlesource.com/v8/v8.git/+/refs/heads/12.9.16/src/builtins/string-towellformed.tq) or Node.js' toUSVString would be a perfect fit for simdutf.

This shouldn't be too hard to whip up.

I sketched something as part of a blog post (with actual code): https://lemire.me/blog/2024/12/29/efficient-in-place-utf-16-unicode-correction-with-arm-neon/
I suspect that it should be possible to do much better (maybe 2x better). But it is already decent.


Update wechatwebdevtools to 0.17.172600

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] If the sha256 changed but the version didn’t,
provide public confirmation by the developer: {{link}}

You left out the most important part.

Sorry I missed the public confirmation of sha256 change. It is confirmed by codesign (VirusTotal), and can be found on: https://www.virustotal.com/en/file/cbe73da09f9503ebc4d5ae449bcfafbcd61bbc88626e328b9aef653c4ea0961a/analysis/

Thank you.


Child Nvim doesn't respond to any command.

This code hangs on the nvim.command line.
import neovim

def getNvim():
    nvimPath = "/home/jmhjr/nvim"
    return neovim.attach("child", argv=[nvimPath, "nvim", "--embed"])

nvim = getNvim()
nvim.command("w /home/jmhjr/nvimOutput.txt")

print("finished!")

The same thing happens no matter what command I send to nvim, or if I connect in the python IDLE, rather than in a script.

what could have happened is that nvim gets stuck at a message prompt, either at startup or when you :write (overwritten file?). if you execute some command instead of save, like nohlsearch does it still hang?

Yeah, you hit the nail right on the head. It's working fine now. Thanks for your help!


Add support for "@" notation

As a CLI User
I want to use "@" notation for "--to" and "--body"
So that I can specify plain value or file location (@) without using different arguments
./sendgrid.phar send --to @emails  --body @email-body

fixed as part of #4


Load and Save Profiles Error

aleappGUI -> open the load/save profile dialog and click the X or cancel causes the app to crash in Linux.
$ python3 aleappGUI.py
Traceback (most recent call last):
  File "/home/joshua/Documents/projects/ALEAPP/aleappGUI.py", line 160, in <module>
    if destination_path is not None and os.path.exists(destination_path):
  File "/usr/lib/python3.10/genericpath.py", line 19, in exists
    os.stat(path)
TypeError: stat: path should be string, bytes, os.PathLike or integer, not tuple

Tried setting destination_path manually, printing the type, didn't work.
The error seems to be with sg.popup_get_file returning something odd.

Weirdly this was only a problem for the save operation on Windows...
Either way, this is fixed as of 0fd97ab2a159f05c9854b52ba2af1757e8214633 I think? Can we close?

The fix worked on all my tests, and the update was ported to i/rleapp.


NO-ISSUE - Add CA retrieve option

What type of PR is this?
This is a feature because it adds the following functionality: To retrieve the CA.
What does this do?
It adds an option to retrieve the signing CA i.e. intermediate CA. This is currently needed for mutual TLS.
Which issue(s) does this PR fix/relate to?
N/A
Have you included tests for your changes?
Yes.
Did you document any new/modified features?
No.
Notes

How is viewing CA different from any other certificate?

Normally they are generated during initialization and there is no implemented method to retrieve or view them.


⚠ Rumah123 has degraded performance

In 3fae1ee, Rumah123 (https://www.rumah123.com) experienced degraded performance:

HTTP code: 504
Response time: 20860 ms

Resolved: Rumah123 performance has improved in b7a1d14.


Fixed a bug on coping ndarray.

At current code, just reference was copied.
and so modifying newStateValue affected stateValue also.
As a result, np.sum(np.abs(newStateValue - stateValue)) was always 0 at the 2nd time of the loop.

Thanks very much for pointing this out. I just came from C++. Once I thought numpy has an overload for = operation between ndarray ... It seems I need to check all my code. Hope I don't need too much changes, I remember I also use np.copy in many places. Thanks again!

Thanks god it seems only this example has this bug. If I reinitialize newStateValue in while loop, this bug can also be avoided -- Before using np.copy, I did so in many other examples. Thanks a lot!

Thank you for merging the code. The project is really helpful to understand the book and reinforcement learning.

Hi kentan, would you mind giving me your name and email address? I wanna add you to the contributor list at the header of this file

That would be nice.
name : Kenta Shimada
email address<EMAIL_ADDRESS>


(PUP-8183) Update puppet device documentation for --user

Prior to the commits for PUP-1391 and PUP-8108 it was neccessary
for --user=root be set when puppet device was creating certs.
This commit updates the puppet device man page to reflect this is
no longer needed.

CLA signed by all contributors.

I think the failure is because 4.10.x doesn't support changes in ruby 2.4.x, but for some reason this PR is testing against that ruby version even though it's not in appveyor.yml or .travis.yml. I'm going to close and reopen the PR.