refactor!: unwrap BasicBlock enum

BREAKING_CHANGES: DFB and Exit are now standalone structs. A level of nesting in serialization is also removed for these operations.

Ok, so the cunning followup which might make this DataflowParent trait (currently unused) really fly, is to provide an
impl<T: DataflowParent> ValidateOp for T {...}

noting that all impls (for such T) have the same validity_flags and I think that the differences in validate_op_children are captured exacttly by inner_signature....

My other thought is nomenclature. How about DFB -> BasicBlock and Exit -> ExitBlock? (DFB is very similar to DFG, I admit, but the one character that's different doesn't quite seem right)

Yeah those new names seem a bit nicer - but that's definitely a broader spec-inclusive issue

Ok, so - on the naming front: the spec says DFB and Exit are the two types of Basic Block; this PR keeps DFB and Exit but largely drops the notion of "Basic Block"! So I think it would be fine to do some name changes in the code (with appropriate references to the spec - struct DataflowBlock is (in the spec) the dataflow subtype of Basic Block, and struct ExitBlock is (in the spec) the exit subtype of Basic Block).
But, generally, I'm happy to fold this into #754 and then follow up with a renaming PR. (The ideal would probably be to unwrap basicblock and rename in a first PR and then do #754 after, but I'm not going to make you do that!)

(I think we should not put #754 in without this, because of the rather dubious inner-signature for exit blocks)

I've taken your suggestion and reordered the PRs, this one is being closed in favour of #781


Bug Report: compiler error

so I'm trying to compile the game and I'm getting these

I'm kinda stumped as I'm new to this and have no idea what to do.

There is no assistance here, hand over your library versions
also try comparing your source code to the repo. if you got all the right library versions then you might've tweaked some things before compiling.

i had tweaked some things, but tired the unedited source code. I did the same thing and it gave me this error.

this should be a discussion
@KadeDev close pls


Helm installation error for ms-scorecard microservice

Getting CrashLoopBackOff error
NAME                                READY   STATUS             RESTARTS      AGE
db-load-8x6n9                       1/1     Running            0             3m1s
express-server-78d668c9bc-h69rc     1/1     Running            0             21d
ms-compitem-crud-6877499cf5-hqvsl   1/1     Running            0             3m1s
ms-dep-pkg-cud-64f677ff8-fwcl7      1/1     Running            0             3m1s
ms-dep-pkg-r-86b565b988-dxrpt       1/1     Running            0             3m1s
ms-general-6b845f65c9-f25tg         1/1     Running            0             3m
ms-nginx-7b6f68d8f9-tznvn           1/1     Running            0             3m1s
ms-scorecard-767975d67c-286xq       0/1     CrashLoopBackOff   4 (78s ago)   3m
ms-textfile-crud-59cb9947bc-2j99h   1/1     Running            0             3m
ms-ui-5d5b99fff9-qdp6c              1/1     Running            0             3m
ms-validate-user-6fd5d95f9-88gkx    1/1     Running            0             3m1s

after following these installations
helm repo add ortelius https://ortelius.github.io/ortelius-charts/
helm install my-release ortelius/ortelius --set ms-general.dbpass=my_db_password --set ms-nginx.ingress.type=ssloff --set ms-general.dbhost=orteliusdb.us-east-1.rds.amazonaws.com

LMK if anyone has encountered this kind of trouble. Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/app/uvicorn": stat /app/uvicorn: no such file or directory: unknown
Thanks
cc @sbtaylor15

@afzal442 The scorecard image has been fixed.  Please use helm chart version 10.0.280 and upgrade your cluster.

Hi I tried installing the helm chart by following this and it has spun up the cluster with the pods running stage.
 helm install my-ortelius ortelius/ortelius --version 10.0.280 --set ms-general.dbpass=my_db_password --set ms-nginx.ingress.type=ssloff --set ms-general.dbhost=orteliusdb.us-east-1.rds.amazonaws.com
But when I Kubectl port forward, I am able to view the UI. It;s getting failed. After Kubectl describe I am gettin Liveness probe failed: HTTP probe failed with statuscode: 503
After some point of time,
db-load-pkwvx                       1/1     Running            0               36m
ms-compitem-crud-59cc9555d6-cvd54   0/1     CrashLoopBackOff   7 (3m58s ago)   36m
ms-dep-pkg-cud-5cd5595bbd-5ql5t     0/1     CrashLoopBackOff   7 (3m58s ago)   36m
ms-dep-pkg-r-5f46b855f5-xwvmq       0/1     CrashLoopBackOff   7 (3m57s ago)   35m
ms-general-6b845f65c9-5sbh7         1/1     Running            0               35m
ms-nginx-7b6f68d8f9-qnvdw           1/1     Running            0               36m
ms-scorecard-67d5b6ffb9-wtc75       0/1     CrashLoopBackOff   7 (3m58s ago)   35m
ms-textfile-crud-59cb9947bc-sg2xp   0/1     CrashLoopBackOff   7 (3m58s ago)   36m
ms-ui-5d5b99fff9-r959m              1/1     Running            0               35m
ms-validate-user-6fd5d95f9-sqsm8    0/1     CrashLoopBackOff   7 (3m58s ago)   36m

@afzal442 Postgres has ssl enabled by default on AWS. Please add --set "ms-general.dhname=postgres?ssl=true".  Let me know if that solves the issue.

Thanks again. That resolves the pods being CrashLoopBackOff, but UI doesn't comes up.   Are you using Kubernetes proxy to access Ortelius UI?

Sorry @sbtaylor15 ! I am using Linode Cluster. I am not sure abt using Kubernetes proxy here.

@afzal442  Run kubectl get ingress -A and post the output.  We need to see if the ingress is up and running correctly.

her you go!
kubectl get ingress -A
NAMESPACE   NAME       CLASS   HOSTS   ADDRESS   PORTS   AGE
default     ms-nginx   nginx   *                 80      2m11s

@afzal442 Can you please send me the info on how you setup your Linode Cluster?  It looks like the Ingress is not resolving an Address that routes the host traffic into the Ortelius service.

Thanks for that. I followed this https://www.linode.com/docs/products/compute/kubernetes/get-started/#create-an-lke-cluster

However, I tried out killercoda environment, I still failed to capture. Could you tell me how do you set up?
helm install my-ortelius ortelius/ortelius --version 10.0.280 --set ms-general.dbpass=my_db_password --set ms-nginx.ingress.type=ssloff --set ms-general.dbhost=orteliusdb.us-east-1.rds.amazonaws.com --set "ms-general.dhname=postgres?ssl=true"

Then, k port-forward svc/ms-nginx 8080:80

@afzal442 we have added additional setup instructions in the helm chart readme  for:

Kind Cluster
k3s on KillerCoda
GKE
EKS

We were not able to get the ingress to work correctly under the Killercoda Kubernetes playground.  It will work on Killercoda Ubuntu under K3S.
Please use 10.0.310 of the helm chart.

Hi @sbtaylor15 I tried out k3s on KillerCoda pg. It didn't work for me. Could you look into that? The scenario for this is https://killercoda.com/k3s/
Error: INSTALLATION FAILED: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp <IP_ADDRESS>:8080: connect: connection refused

@afzal442 we have updated the instructions for Killercoda.  Basically, you will need to use a nodePort and then access the UI using the nodePort in the Killercoda Traffic/Ports page.  See the instructions for details.

Hi @afzal442 can this be closed now?

Sorry @bradmccoydev, Still investigating. I will close it as soon as I get it.

Thanks to @sbtaylor15 for making it up after tinkering around it. I thought of documenting as part of blogathon. BTW we can create a killercoda lab exercise for this like falco. 😉

@afzal442 please create a new issue in the ortelius/ortelius repo for the doc updates.  That repo is where we keep all of the issues for easy management.


Resolved the issue

Solved issue #(your issue number)
In Language- (your used language)

[ ] Updated README Link
[ ] Added code with comments

Thanks for contributing!

Please mention issue number

Please mention issue number

Issue #643
https://github.com/adityabisoi/ds-algo-solutions/issues/643#issuecomment-753413885
@adityabisoi

Issue #643
https://github.com/adityabisoi/ds-algo-solutions/issues/643#issuecomment-753413885
@adityabisoi

Add pallindrome index solution and correct the link in readme.

Add pallindrome index solution and correct the link in readme.


increased threshold for number of frames to calculate MSD

A very small change to prevent the MSD calculation when there are too few frames.

Please merge this.


Add more docs re: Rails

Add a bit more documentation around the isolation_level change from #219, including an example to retain the default behavior in Rails.
My concern is that with Rails <= 7.1.3 database connections are checked out until the response is sent back to the client. So, if you have a limited connection pool (as you might on Heroku etc) you might exhaust your limit unexpectedly if you have long-running fibers. In the future, Rails is likely to improve connection pool handling so this shouldn't be an issue in practice for long, but for now it seems prudent to document.
See #219 and #218 for more context, note links to other issues with other potential workarounds such as wrapping database queries in a with_connection block.
Types of Changes

Documentation

Contribution

[x] I agree to the Developer's Certificate of Origin 1.1.

Gotcha. I updated with a bit more detail and added an example about the with_connection workaround.
Please let me know if you'd like me to squash these into a single commit or make any other tweaks!

This is looking better and better. However, I think we should be explicit with the downside using :threads isolation causes w.r.t. transactions being shared across requests. Happy to merge this and revisit that in a separate PR, LMK what you prefer.

Hmm, I'm not clear on the issue w.r.t transactions being shared across requests (sounds bad!) so perhaps you want to add to this, or merge and adjust/expand as you'd like?

Perhaps we can close https://github.com/socketry/falcon-rails-example/issues/2 once we get this documented?
Also, somewhat related to this and https://github.com/rails/rails/pull/50917, see also https://github.com/socketry/falcon-rails-example/issues/1 -- let me know if you'd like me to work on more documentation or a generator or something. I'd be happy to pitch in here if helpful!

Just to report back after a Rails 7.0.8 -> 7.1.3 upgrade today, I had some unexpected errors in production when running in :thread mode here: https://github.com/rails/rails/blob/main/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb#L68 and then here: https://github.com/rails/rails/blob/main/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L870 showing up as NoMethodErrors where results and then result were nil. I also had a smattering of ActiveModel::MissingAttributeError and ActiveRecord::SubclassNotFound errors that I hadn't seen before.
I checked with a Rails Slack group I'm in and heard that this has come up before, and that it seems to be related to multiple fibers sharing an Active Record connection. So, I implemented the with_connection block workaround and enabled :fiber isolation and things seem much better. I'm also happy to see that my db connection pool usage has barely increased. (I suppose checking the connection back in ASAP works just fine in practice.)
So, I wonder if we should remove the :thread workaround or perhaps add a caveat that leaving `:thread' in place seems to cause sporadic, difficult to understand/isolate issues like I experienced when using Rails 7.1.3.

That makes total sense to me - if you want to cut another PR to update the documentation that would be awesome!

Updated here! https://github.com/socketry/falcon/pull/221
Please let me know how that looks and/or if you'd like any tweaks. Thanks again for your patience here, but I'm glad to share my experience in practice here and I hope it'll help others!


Sceneform 1.15 occlusion

Hello,
like i already mentioned in the ticket #167 the occlusion is not working on android 10 devices. But now i have also noticed that this is not a Android 10 problem. I have also the same bad results on One Plus 6T. On all other devices that i have tested the occlusion is working.
I am using this material for the occlusion:
material {
    name : "Occlusion material",
    shadingModel : unlit,
    colorWrite : false,
    depthWrite : true
}

fragment {
    void material(inout MaterialInputs material) {
        prepareMaterial(material);
        material.baseColor = vec4(0.0);
    }
}

I have modified the example project so far to be able to show what happens (sceneform version 1.13). What i have done is to place a plane with the occlusion material in front of the andy object. In Addition i set the camera render priority to:
arFragment.getArSceneView().setCameraStreamRenderPriority(Renderable.RENDER_PRIORITY_FIRST);

The render priority of the plane (with the occlusion material) is set to:
occluder.setRenderPriority(ModelRenderable.RENDER_PRIORITY_DEFAULT - 1)

This is the result on all other devices that i have tested (Samsung S7, Nokia 7.1, Huawei P20):

And this is look like on pixel and on plus:

It would be nice if someone from the people in charge (or someone who has an idea) would post something. I have the feeling that this repo is no longer noticed. That would be a damn shame because the framework works fine otherwise.
Ps. The augmented face demo is working fine also on the pixel. There is also an occluder material used. I also tested it by getting the material from the SFB (sceneform_face_mesh_occluder.sfb) but the result was the same like posted above.

It seems to be a 1.13 issue because the same code is working on the version 1.12

@nvictornvictor @tpsiaki
Still not working on Scenefrom 1.14 ... c'mon guys :(

@nvictornvictor @tpsiaki
Guys any news?

@nvictornvictor @tpsiaki
Still the same error also on 1.15 ... wow

@nvictornvictor @tpsiaki
The bug must be in this module -> com.google.ar.sceneform:filament-android:1.12.0
Please take a look on this or make the code open source so someone can fixed that.
For those who want to use the rest as 1.15.0 I recommend the following gradle config:
implementation "com.google.ar:core:1.15.0"
implementation ("com.google.ar.sceneform:core:1.15.0") {
        exclude group: 'com.google.ar.sceneform', module: 'filament-android'
}
implementation "com.google.ar.sceneform:assets:1.15.0"
implementation group: 'com.google.ar.sceneform', name: 'filament-android', version: '1.12.0'

//for those who use the ux dependency
implementation ("com.google.ar.sceneform.ux:sceneform-ux:1.15.0") {
        exclude group: 'com.google.ar.sceneform', module: 'core'
}

Do you still have this problem? I am also looking to create an occluding material

How would one go about making an occluding material in 1.16? Now that support for SFB & the SFB Sceneform Android Studio plugin is deprecated


[ai-form-recognizer] Separation of internal and public tests into separate folders

Packages -

[ ] "@azure/ai-form-recognizer"

Min-max dependency testing needs to be enabled on all packages and it works on public APIs.

The test/public folder should contain usage of ONLY the public exported APIs

Careful and manual code separaton of these tests need to be done

Example of folder separation done on keyvault-secrets - https://github.com/Azure/azure-sdk-for-js/pull/9211/files

Who are expected to do this for storage?


Katie promises example

added the full example folder

I figured out how to get the correct example back in, I think it should have everything if the pull request keeps up with all the commits


GraphQL doesn't respect draft argument

Link to reproduction
No response
Describe the Bug
Passing draft: false to a versioned GraphQL list type has no effect. The only way to filter out drafts is to use a where clause on _status.
query {
  # ❌ incorrectly returns drafts
  shouldntReturnDrafts: Posts(draft: false) {
    docs {
      _status
    }
  }

  # ✅ doesnt return drafts
  doesntReturnDrafts: Posts(where: {
    _status: {
      equals: published
    }
  }) {
    docs {
      _status
    }
  }
}

I noticed this bug in the process of isolating #6800, and I'm wondering if they might be related; if the graphQL query doesn't match the underlying db query, it could cause "invalid" return values resulting in the type of Cannot return null for non-nullable field X errors that I detailed in the other ticket.
To Reproduce

Make a new draft post in the public demo
Run the above query in the playground or with curl
Note that shouldntReturnDrafts does indeed return your draft document

`curl 'https://demo.payloadcms.com/api/graphql' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://demo.payloadcms.com' --data-binary '{"query":"# Write your queryquer or mutation here\nquery {\n  shouldntReturnDrafts: Posts(draft: false) {\n    docs {\n      _status\n    }\n  }\n  \n  doesntReturnDrafts: Posts(where: {\n    _status: {\n      equals: published\n    }\n  }) {\n    docs {\n      _status\n    }\n  }\n}"}' --compressed`

Payload Version
2.20.0
Adapters and Plugins
No response

@wkentdag I think this might be working as intended. When you query with draft: true, really that is getting the most recent version for each document. The most recent one could be in state published or draft. The docs touch on this a little bit: https://payloadcms.com/docs/versions/drafts#reading-drafts-vs-published-documents
Can you confirm that this is what you are experiencing?

@JarrodMFlesch my question is why drafts are still returned when you specify draft: false in the query. Per the docs you linked:

If draft is set to true while reading a document, Payload will automatically replace returned document(s) with their newest drafts if any newer drafts are available.

If you simply fetch your created document using a find or findByID operation, your published document will be returned and the drafts will be ignored.

I read that as "the result set will not include drafts unless you explicitly specify draft: true". Am I misinterpreting something? Because that does not match what I'm seeing, where drafts are always returned unless I pass in a full where clause to omit them.
I should also clarify that I'm talking about new drafts (ie, no published version). Toggling the draft arg on/off does work as expected for changed documents (published version w/ some draft updates). However, it seems like new draft documents are slipping through the cracks.

Experiencing the same, executing the following returns draft docs as well while I'm not expecting those:
    const result = await payload.find({
      collection: 'pages',
      locale: 'all',
      draft: false,
    });

Per discussion in discord, it sounds like this is expected behavior:

draft: false will ... return the last published, or the earliest draft if no published versions exist (if you have multiple drafts and no published, I’m not sure which one will return, newest or first 🤔)


Are you really listening your users ?

 A "run" with an, upper char ? Sometime a parameter with a ":" and sometime with a space ? 14 chars for the android target ? really ??
dotnet build -t:Run -f net6.0-android
dotnet build -t:Run -f net6.0-ios
dotnet build -t:Run -f net6.0-maccatalyst

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

ID: 3275e223-a9cc-1efb-07ec-01c8501d7a46
Version Independent ID: 538673ca-22c5-2a5c-97c0-1552ae9f7b79
Content: Migrate your app from Xamarin.Forms to .NET MAUI - .NET MAUI
Content Source: docs/get-started/migrate.md
Product: dotnet-mobile
Technology: dotnet-maui
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Hi @softlion
Afraid you'd be better directing that feedback to https://developercommunity.visualstudio.com/home
Thanks!

plz replace dotnet build -t:Run with dotnet run AT LEAST

Afraid that doc has just been replaced completely, following a request from the product team.


is it possible that paste json as types command works in remote development？

I know the main issue here is we can not get the local clipboard text into remote, so i use open quick type for json command as a work round, is it possible that paste json as types command works in remote develop？
I use the Remote Development extension to work in remote machine.

I also fiind it confusing that it shows Could not get clipboard contents when in remote.

This sounds like a VS Code issue—if you cannot access the clipboard during remote development. Anyway, it should be on the https://github.com/quicktype/quicktype-vscode repo if it's a bug with the quicktype plugin itself.


Browser security issue prevents workbench from displaying

Category

[x] Bug

Expected or Desired Behavior
The local workbench should open without any error when running the gulp serve.
Observed Behavior
Will not connect to HTTPS://localhost:xxxx/temp/workbench.html due to “the site uses outdated or unsafe TLS security settings”.  This occurs using Edge, Chrome, Firefox
Steps to Reproduce
Install SPFx framework following the instructions on https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment
Using windows 10 home. (although I am getting the same error on my work computer which is Win 10 professional, and I have admin privileges on that computer as well – and ran everything on that computer in admin mode.

What I have done…

Followed instructions on MS page above – did not work
Ran in Admin mode  - did not work
Added certs to trusted root – did not work
Set all browsers to accept all forms of TLS – did not work
Basically, I have tried everything I have found on web searches.. save reinstalling windows.

Thanks for your contribution! Sharing is caring.

Are you able to share a bit more information on the environment, i.e your SharePoint framework version as well as the targeted SharePoint version (SP16, SP19 or SPO)?

My Targeted SP Version is SP16, not sure the framework version, however, the issue is not with the targeted version of SP or the framework.  I can't even get to the workbench.  I get a certificate error / site not trusted error.

Please check #4485 - it seems to be the same scenario. I’ve managed to workaround it by changing the configuration in the serve.json config file.

You can always check your installed version of SPFx by running the following command in your console.
npm list --depth=0 -g
You'll be looking for the line that says
<EMAIL_ADDRESS>:)

oh, okay...  maybe this helps..
NPM version - 6.9.0
Node version - 10.16.3
Yoeman version - 3.1.0
Glup CLI version - 2.2.0
Microsoft-Generator version - 1.9.1

here is some more information
PS C:\Users\jotow\Desktop\sp> gulp trust-dev-cert
Build target: DEBUG
[07:53:24] Using gulpfile ~\Desktop\sp\gulpfile.js
[07:53:24] Starting gulp
[07:53:24] Starting 'trust-dev-cert'...
[07:53:24] Starting subtask 'trust-cert'...
[07:53:24] Finished subtask 'trust-cert' after 77 ms
[07:53:24] Finished 'trust-dev-cert' after 78 ms
[07:53:25] ==================[ Finished ]==================
[07:53:25] Project sp version: 0.0.1
[07:53:25] Build tools version: 2.5.3
[07:53:25] Node version: v10.16.3
[07:53:25] Total duration: 3.17 s
PS C:\Users\jotow\Desktop\sp> gulp serve
Build target: DEBUG
[07:53:48] Using gulpfile ~\Desktop\sp\gulpfile.js
[07:53:48] Starting gulp
[07:53:48] Starting 'serve'...
[07:53:48] Starting subtask 'pre-copy'...
[07:53:48] Finished subtask 'pre-copy' after 11 ms
[07:53:48] Starting subtask 'copy-static-assets'...
[07:53:48] Starting subtask 'sass'...
[07:53:49] Finished subtask 'copy-static-assets' after 766 ms
[07:53:49] Finished subtask 'sass' after 757 ms
[07:53:49] Starting subtask 'tslint'...
[07:53:49] Starting subtask 'typescript'...
[07:53:49] [typescript] TypeScript version: 2.2.2
[07:53:50] Finished subtask 'tslint' after 1.25 s
[07:53:50] Finished subtask 'typescript' after 1.25 s
[07:53:50] Starting subtask 'ts-npm-lint'...
[07:53:50] Finished subtask 'ts-npm-lint' after 18 ms
[07:53:50] Starting subtask 'api-extractor'...
[07:53:50] Finished subtask 'api-extractor' after 946 μs
[07:53:50] Starting subtask 'post-copy'...
[07:53:50] Finished subtask 'post-copy' after 706 μs
[07:53:50] Starting subtask 'collectLocalizedResources'...
[07:53:50] Finished subtask 'collectLocalizedResources' after 3.99 ms
[07:53:50] Starting subtask 'configure-webpack'...
[07:53:51] Finished subtask 'configure-webpack' after 591 ms
[07:53:51] Starting subtask 'webpack'...
(node:13396) DeprecationWarning: loaderUtils.parseQuery() received a non-string value which can be problematic, see https://github.com/webpack/loader-utils/issues/56
parseQuery() will be replaced with getOptions() in the next major version of loader-utils.
[07:53:51] Finished subtask 'webpack' after 570 ms
[07:53:51] Starting subtask 'configure-webpack-external-bundling'...
[07:53:51] Finished subtask 'configure-webpack-external-bundling' after 899 μs
[07:53:51] Starting subtask 'copy-assets'...
[07:53:51] Finished subtask 'copy-assets' after 47 ms
[07:53:51] Starting subtask 'write-manifests'...
[07:53:52] Finished subtask 'write-manifests' after 510 ms
[07:53:52] Starting subtask 'serve'...
Starting api server on port 5432.
Registring api: /getwebparts
Registring api: /.
Registring api: /workbench
[07:53:52] Finished subtask 'serve' after 434 ms
[07:53:52] Finished 'serve' after 4.24 s
[07:53:52] Server started https://localhost:4321
[07:53:52] LiveReload started on port 35729
[07:53:52] Opening https://localhost:5432/workbench using the default OS app
[07:53:53] ==================[ Finished ]==================
Request: [::1] '/workbench'
[07:53:53] Project sp version: 0.0.1
[07:53:53] Build tools version: 2.5.3
[07:53:53] Node version: v10.16.3
[07:53:53] Total duration: 7.15 s

@BassemNKhalil  -  I went in and edited the serve.json to below...
{
"$schema": "https://developer.microsoft.com/json-schemas/core-build/serve.schema.json",
"port": 4321,
"https": false,
"initialPage": "http://localhost:5432/workbench",
"api": {
"port": 5432,
"entryPath": "node_modules/@microsoft/sp-webpart-workbench/lib/api/"
}
}

I was able to get to the workbench using just http... so, my next question, is it a big deal that I cannot get to the https?  Will I still be able to fully develop webparts without the https?

Hi @jaamp, the settings in serve.json are only used when you’re using gulp serve so it doesn’t affect the WebPart when deployed later on to SharePoint.
Since I found #4485 I’ve been developing a WebPart locally on the workbench then deployed it for good measures to SharePoint online, SP2016 as well as Microsoft teams.
I’m hoping someone from the community can shed some light as to why this behaviour happens and hopefully Microsoft can change it in a following release.

@jaamp
Have you taken a look at the first two entries under the Troubleshooting section here?
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment#troubleshooting
When you are creating the project, even though it's running on your local workbench, did you choose the SP2016 environment when creating the project? If so, check that first one.
Changing the local webserver to use HTTP and not HTTPS, while it may get around the issue, doesn't fix it. It is not really a solution IMHO...

Hi,
Prior to starting I removed the .gcb-serve-data folder. Set the Environment Variable to: NODE_NO_HTTP2=1
Then when creating the project is selected, in Yeoman, "SharePoint 2016 onwards, including 2019 and SharePoint Online"
ran glup trust-dev-cert
than glup serve -- still no joy

By chance have you tried a SharePoint Online target environment and then tried running the local workbench?

Couple other ideas... chance you are behind a proxy?
Did you have your A/V enabled when you installed the original NPM dependencies (SPFx generator, Yeoman, Gulp) or when you initially created the project and ran npm install?

Apologize for the delayed response, was finalizing other projects... So no proxy, did a toolchain build with A/V and Firewall off .. still did not work in local host.  From the same build, I changes the gulp serve config to point to my SP dev tenant workbench, this seems to work with the https://.sharepoint.com/sites//_layouts/15/workbench.aspx
So maybe that might be the only way I will get there is to work directly in the SP instead of localhost.

Have you been able to navigate to localhost for other projects (like ASP.NET)?

Hi, I am unable to get to HTTPS with ASP.NET (same error site cannot provide secured connection).  I also went to extremes... I completely reset my windows 10.  Then downloaded only VS code, Node LTS, and CMDER, did the tool chain, and still received the same results...
I am sure I am missing something...

In that case this isn't specific to SPFx, rather it's something going on with your machine. When you say ASP.NET, unclear if you are talking about doing this from VSCode (dotnet core) or Visual Studio.  Regardless, I saw this that has a lot of steps on how to investigate and trust a cert from the browser.
See if this helps... we have a lot of these issues in the list & I'm trying to find common root causes to create the definitive guide on how to resolve it... please let me know how this works for you. You can likely ignore the IIS Express stuff, rather use the parts that have you inspect the certs installed, deleting them, and manually trusting it from the browser:
https://www.pluralsight.com/guides/visual-studio-2017-resolving-ssl-tls-connections-problems-with-iis-express

Those are two completely different certs. Visual Studio 2019 has it's own... there isn't a VS Code cert... an NPM package that the SPFx project is relying on via the workbench has it's own cert.
My point was to follow the same process of manually trusting the cert via VS Code & the browser that the article went through with a Visual Studio solution.

I have found the issue at least with me... there is a bug in the @microsoft-gulp-core-build-serve.  In
<EMAIL_ADDRESS>the first line is
///
it should be
//
the three slashed are like a double negative.. where I think MS wanted to comment out, it actually re-commented it in.... anyway, I removed the extra forward slash, saved the file, ran gulp trust-dev-cert, then gulp serve.. and like a charm the workbench opened in my local host https...
You can consider this closed and I hope this helps others...

Never letting things be... here is an addendum... The above error I identified, is not the problem, it is still an error, but not the problem.  When AC asked earlier "By chance have you tried a SharePoint Online target environment and then tried running the local workbench?" it failed.  However, when testing today that is what worked, building a 365 only with edits to
<EMAIL_ADDRESS>So, I built a new 365 only without making edits to the .. _\node_modules ... and it still worked,,, great, so the problem was not the error in ... _\node_modules ... .
Then I build a 2019 and above, again built like a charm https and everything, again no changes to the  ... _\node_modules ... .
Finally, I build a 2016 and above,  there I ran into the cert issue again.  I tried it with changing, and with out changing  ... _\node_modules ... .
I don't think the issue is with my computer or trusting the certs, it is somewhere deep in the @microsoft-gulp-core-build, way beyond my level of experience.
as another addendum - when I was looking deeper into the @microsoft-gulp-core-build I found a few more errors in the "Rush" area (not sure what that is)
I don't want to re-open the issue, I can work fine with the 365, for my work, we will be on 2016 prem at the end of the year, and by end of next year we plan to be on 365, so what I learn now is good, and will set me up for our eventual move.

I think I finally figured this one out: the NODE_NO_HTTP2 environment variable was added in NodeJS v8, but removed in NodeJS v10. I can't find anything in v10+ that enables a user to force HTTP1 from the CLI. Thus... you are stuck using NodeJS v8 if you are using SPFx v1.1 for SharePoint Server 2016.
I've updated the SPFx docs & they've been merged to master, but won't go live for a few more days.
More:
https://www.andrewconnell.com/blog/spfx-which-version-of-spfx-generator-to-install/

Thank you for continuing to look at this issue.  We are migrating to SP2016 on prem, in a few weeks, I look forward to testing out the SPFx


Many RTSP connections

Hello,
I want to display many VlcControls with the same rtsp connection. The creation of the controls works perfectly, but when i want to play all created controls some of them keep the black color. It is always different which controls are playing.
I got a copy of my Vlc api logs:
-- logger module started --
main debug: VLC media player - 2.1.5 Rincewind
main debug: Copyright © 1996-2014 the VideoLAN team
main debug: revision 2.1.5-9-gb3fd0af
main debug: configured with ../extras/package/win32/../../../configure  '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '--enable-quicktime' '--enable-avcodec' '--enable-merge-ffmpeg' '--enable-dca' '--enable-mpc' '--enable-libass' '--enable-x264' '--enable-schroedinger' '--enable-realrtsp' '--enable-live555' '--enable-dvdread' '--enable-shout' '--enable-goom' '--enable-caca' '--disable-sdl' '--enable-qt' '--enable-skins2' '--enable-sse' '--enable-mmx' '--enable-libcddb' '--enable-zvbi' '--disable-telx' '--enable-nls' '--disable-dirac' '--host=i686-w64-mingw32' 'host_alias=i686-w64-mingw32'
main debug: using interface module "logger"
main debug: Creating an input for 'rtsp://IP'
main debug: using timeshift granularity of 50 MiB, in path 'C:\Users\spt\AppData\Local\Temp'
main debug: rtsp://IP' gives access rtsp' demux ' path IP'
main debug: creating demux: access='rtsp' demux='' location='IP' file='\IP'
main debug: looking for access_demux module matching "rtsp": 12 candidates
live555 debug: version 2014.05.27
live555 debug: connection timeout
live555 error: Failed to connect with rtsp://IP
main debug: no access_demux modules matched
main debug: creating access 'rtsp' location='IP', path='\IP'
main debug: looking for access module matching "rtsp": 20 candidates
main debug: net: connecting to IP port 554
main debug: connection succeeded (socket = 2924)
access_realrtsp debug: rtsp connected
access_realrtsp warning: only real/helix rtsp servers supported for now
main debug: no access modules matched
main error: open of `rtsp://IP' failed
main error: Your input can't be opened
main error: VLC is unable to open the MRL 'rtsp://IP'. Check the log for details.
Thank you and best regards

live555 debug: connection timeout

Looks like your camera doesn't support that many streams at one time. maybe you could have any improvement by using RTP multicast, but I can't guarantee anything. Otherwise, you should probably avoid displaying the same stream on several controls, or try to find hacking Vlc.DotNet to make the Vlc instance display on several HWND handles (don't know if that would even work...)


fixes for new sklearn

decovered as working on sklearn master

floor is yours @larsoner :)

Backported, thanks @agramfort


[Question] Unable to Pick Up Objects in the Simulator

I am facing an issue where the robotic arm in the simulator cannot pick up objects. The arm successfully moves to the target grasp position, closes the gripper, but the object remains stationary and is not lifted.
https://github.com/user-attachments/assets/159beff9-dd53-4e5b-ab5a-6d46b2e56d0e
The agent class is:
# ManiSkill
from mani_skill.agents.base_agent import BaseAgent, Keyframe
from mani_skill.agents.registration import register_agent
from mani_skill.agents.controllers import PDJointPosControllerConfig, PDJointPosMimicControllerConfig, \
                                          PDJointPosVelControllerConfig, \
                                          deepcopy_dict
from mani_skill.agents.utils import get_active_joint_indices
from mani_skill.utils import common, sapien_utils

import torch

# Typing
from mani_skill.utils.structs.actor import Actor

@register_agent()
class A1Arm(BaseAgent):
    uid = "a1arm"
    urdf_path = "./data/robot_description/a1arm_description/urdf/a1arm.urdf"
    urdf_config = dict(
        _materials=dict(
            gripper=dict(static_friction=2.0, dynamic_friction=2.0, restitution=0.1)
        ),
        link=dict(
            gripper1_axis=dict(
                material="gripper", patch_radius=0.1, min_patch_radius=0.1
            ),
            gripper2_axis=dict(
                material="gripper", patch_radius=0.1, min_patch_radius=0.1
            ),
        ),
    )

    fix_root_link = True
    load_multiple_collisions = True

    keyframes = dict()
    arm_joint_names = [
        "arm_joint1",
        "arm_joint2",
        "arm_joint3",
        "arm_joint4",
        "arm_joint5",
        "arm_joint6",
    ]
    gripper_joint_names = [
        "gripper1_axis",
        "gripper2_axis"
    ]
    ee_link_name = "arm_seg6"

    arm_stiffness = 1e3
    arm_damping = 2e2
    arm_force_limit = 100.0

    gripper_stiffness = 1e3
    gripper_damping = 2e2
    gripper_force_limit = 100.0

    @property
    def _controller_configs(self):
        # -------------------------------------------------------------------------- #
        # Arm
        # -------------------------------------------------------------------------- #
        arm_pd_joint_pos = PDJointPosControllerConfig(
            self.arm_joint_names,
            lower=None,
            upper=None,
            stiffness=self.arm_stiffness,
            damping=self.arm_damping,
            force_limit=self.arm_force_limit,
            normalize_action=False,
        )
        arm_pd_joint_pos_vel = PDJointPosVelControllerConfig(
            self.arm_joint_names,
            lower=-0.1,
            upper=0.1,
            stiffness=self.arm_stiffness,
            damping=self.arm_damping,
            force_limit=self.arm_force_limit,
            normalize_action=False,
        )
        # -------------------------------------------------------------------------- #
        # Gripper
        # -------------------------------------------------------------------------- #
        # NOTE(jigu): IssacGym uses large P and D but with force limit
        # However, tune a good force limit to have a good mimic behavior
        gripper_pd_joint_pos = PDJointPosMimicControllerConfig(
            self.gripper_joint_names,
            lower=None,  # a trick to have force when the object is thin
            upper=None,
            stiffness=self.gripper_stiffness,
            damping=self.gripper_damping,
            force_limit=self.gripper_force_limit,
            normalize_action=False,
        )

        controller_configs = dict(
            pd_joint_pos=dict(arm=arm_pd_joint_pos, gripper=gripper_pd_joint_pos),
            pd_joint_pos_vel=dict(arm=arm_pd_joint_pos_vel, gripper=gripper_pd_joint_pos),
        )

        return deepcopy_dict(controller_configs)

    def _after_init(self):
        self.gripper1_link = sapien_utils.get_obj_by_name(
            self.robot.get_links(), "gripper1"
        )
        self.gripper2_link = sapien_utils.get_obj_by_name(
            self.robot.get_links(), "gripper2"
        )
        # Disable collision between the gripper
        for link in [self.gripper1_link, self.gripper2_link]:
            link.set_collision_group_bit(group=2, bit_idx=30, bit=1)

        self.arm_joint_indices = get_active_joint_indices(self.robot, self.arm_joint_names)
        self.gripper_joint_indices = get_active_joint_indices(self.robot, self.gripper_joint_names)

        self.ee_link = sapien_utils.get_obj_by_name(
            self.robot.get_links(), self.ee_link_name
        )

    def is_grasping(self, object: Actor, min_force: float = 0.5, max_angle: float = 85):
        """Check if the robot is grasping an object

        Args:
            object (Actor): The object to check if the robot is grasping
            min_force (float, optional): Minimum force before the robot is considered to be grasping the object in Newtons. Defaults to 0.5.
            max_angle (int, optional): Maximum angle of contact to consider grasping. Defaults to 85.
        """
        l_contact_forces = self.scene.get_pairwise_contact_forces(
            self.gripper1_link, object
        )
        r_contact_forces = self.scene.get_pairwise_contact_forces(
            self.gripper2_link, object
        )
        lforce = torch.linalg.norm(l_contact_forces, axis=1)
        rforce = torch.linalg.norm(r_contact_forces, axis=1)

        # direction to open the gripper
        ldirection = self.gripper1_link.pose.to_transformation_matrix()[..., :3, 1]
        rdirection = -self.gripper2_link.pose.to_transformation_matrix()[..., :3, 1]
        langle = common.compute_angle_between(ldirection, l_contact_forces)
        rangle = common.compute_angle_between(rdirection, r_contact_forces)
        lflag = torch.logical_and(
            lforce >= min_force, torch.rad2deg(langle) <= max_angle
        )
        rflag = torch.logical_and(
            rforce >= min_force, torch.rad2deg(rangle) <= max_angle
        )
        return torch.logical_and(lflag, rflag)

The urdf file is:
a1arm_description_.zip
The gripper property is:

I use such code to create actor:
# create obj model asset
def create_obj(
    scene: ManiSkillScene,
    scene_idxs: list[int],
    pose: Union[Pose, sapien.Pose],
    modelname: str,
    convex: bool = False, # 凸分解
    is_static: bool = False, # 静态物体
    model_id: int = 0, # 模型id
    z_axis_protect: bool = False, # 将物体平放在桌子表面
    z_axis_protect_value: float = 0.74, # 将物体平放在桌子表面
) -> Actor:
    file_name = get_obj_path(modelname, model_id)
    json_file_path = get_model_data_path(modelname, model_id)

    try:
        with open(json_file_path, 'r') as file:
            model_data = json.load(file)
        scale = model_data["scale"]
    except:
        model_data = None

    if z_axis_protect:
        if isinstance(pose, Pose):
            xy = pose.get_p()[..., :2]
            rot_matrix = quaternion_to_matrix(pose.get_q())
            N = xy.size(0)

            extents = torch.from_numpy(np.asarray(model_data["extents"])).unsqueeze(0).repeat([N, 1])
            scale = torch.from_numpy(np.asarray(model_data["scale"])).unsqueeze(0).repeat([N, 1])
            z = z_axis_protect_value +  (rot_matrix @ (extents * scale).t()).t()[..., [2]] / 2
            pose.set_p(torch.cat([xy, z], dim=-1))
        if isinstance(pose, sapien.Pose):
            xy = pose.get_p()[:2].tolist()
            z = z_axis_protect + (t3d.quaternions.quat2mat(pose.get_q()) @ (np.array(model_data["extents"]) * np.array(model_data["scale"])))[2] / 2
            pose.set_p([*xy, z])

    builder = scene.create_actor_builder()
    builder.set_scene_idxs(scene_idxs)
    if is_static:
        builder.set_physx_body_type("static")
    else:
        builder.set_physx_body_type("dynamic")
    if convex:
        builder.add_multiple_convex_collisions_from_file(filename=file_name, scale=scale)
    else:
        builder.add_nonconvex_collision_from_file(filename=file_name, scale=scale)
    builder.add_visual_from_file(filename=file_name, scale=scale)
    builder.set_initial_pose(pose)
    mesh = builder.build(name=modelname)
    mesh.set_pose(pose)

    return mesh, model_data

# create glb model asset
def create_glb(
    scene: ManiSkillScene,
    scene_idxs: list[int],
    pose: Union[Pose, sapien.Pose],
    modelname: str,
    convex: bool = False, # 凸分解
    is_static: bool = False, # 静摩擦 or 动摩擦
    model_id: int = 0, # 模型id
    z_axis_protect: bool = False, # 将物体平放在桌子表面
    z_axis_protect_value: float = 0.74, # 将物体平放在桌子表面
) -> tuple[Actor, dict]:
    file_name = get_glb_path(modelname, model_id)
    json_file_path = get_model_data_path(modelname, model_id)

    try:
        with open(json_file_path, 'r') as file:
            model_data = json.load(file)
        scale = model_data["scale"]
    except:
        model_data = None

    if z_axis_protect:
        if isinstance(pose, Pose):
            xy = pose.get_p()[..., :2]
            rot_matrix = quaternion_to_matrix(pose.get_q())
            N = xy.size(0)

            extents = torch.from_numpy(np.asarray(model_data["extents"])).unsqueeze(0).repeat([N, 1])
            scale = torch.from_numpy(np.asarray(model_data["scale"])).unsqueeze(0).repeat([N, 1])
            z = z_axis_protect_value +  (rot_matrix @ (extents * scale).t()).t()[..., [2]] / 2
            pose.set_p(torch.cat([xy, z], dim=-1))
        if isinstance(pose, sapien.Pose):
            xy = pose.get_p()[:2].tolist()
            z = z_axis_protect + (t3d.quaternions.quat2mat(pose.get_q()) @ (np.array(model_data["extents"]) * np.array(model_data["scale"])))[2] / 2
            pose.set_p([*xy, z])

    builder = scene.create_actor_builder()
    builder.set_scene_idxs(scene_idxs)
    if is_static:
        builder.set_physx_body_type("static")
    else:
        builder.set_physx_body_type("dynamic")
    if convex:
        builder.add_multiple_convex_collisions_from_file(filename=file_name, scale=scale)
    else:
        builder.add_nonconvex_collision_from_file(filename=file_name, scale=scale,)
    builder.add_visual_from_file(filename=file_name, scale=scale)
    builder.set_initial_pose(pose)
    mesh = builder.build(name=modelname)
    mesh.set_pose(pose)

    return mesh, model_data

def create_actor(
    scene: ManiSkillScene,
    scene_idxs: list[int],
    pose: Union[Pose, sapien.Pose],
    modelname: str,
    convex: bool = False, # 凸分解
    is_static: bool = False, # 静摩擦 or 动摩擦
    model_id: int = 0, # 模型id
    z_axis_protect: bool = False, # 将物体平放在桌子表面
    z_axis_protect_value: float = 0.74, # 将物体平放在桌子表面
) -> tuple[Actor, dict]:
    try:
        return create_glb(
            scene = scene,
            scene_idxs=scene_idxs,
            pose = pose,
            modelname = modelname,
            convex = convex,
            is_static = is_static,
            model_id = model_id,
            z_axis_protect=z_axis_protect,
            z_axis_protect_value=z_axis_protect_value,
        )
    except:
        try:
            return create_obj(
                scene = scene,
                scene_idxs=scene_idxs,
                pose = pose,
                modelname = modelname,
                convex = convex,
                is_static = is_static,
                model_id = model_id,
                z_axis_protect=z_axis_protect,
                z_val_protect_value = z_axis_protect_value,
            )
        except:
            print(modelname, 'is not exsist model file!')
            return None, None

self.container, self.container_data = create_actor(
            self.scene,
            [0],
            container_pose,
            "002_container",
            model_id=np.random.choice(list(range(10))),
            z_axis_protect=True,
        )
        self.container.set_mass(0.01)

The object file is:
7.zip
The object property is:

I sincerely apologize for the mistake in the code I previously uploaded. I've corrected the error and updated the repository with the modified code.
Unfortunately, it seems that the problem still persists even after the fix.
The agent class is:
# ManiSkill
from mani_skill.agents.base_agent import BaseAgent, Keyframe
from mani_skill.agents.registration import register_agent
from mani_skill.agents.controllers import PDJointPosControllerConfig, PDJointPosMimicControllerConfig, \
                                          PDJointPosVelControllerConfig, \
                                          deepcopy_dict
from mani_skill.agents.utils import get_active_joint_indices
from mani_skill.utils import common, sapien_utils

import torch

# Typing
from mani_skill.utils.structs.actor import Actor

@register_agent()
class A1Arm(BaseAgent):
    uid = "a1arm"
    urdf_path = "./data/robot_description/a1arm_description/urdf/a1arm.urdf"
    urdf_config = dict(
        _materials=dict(
            gripper=dict(static_friction=2.0, dynamic_friction=2.0, restitution=0.1)
        ),
        link=dict(
            gripper1=dict( # ----- I fix this error -----
                material="gripper", patch_radius=0.1, min_patch_radius=0.1
            ),
            gripper2=dict( # ----- I fix this error -----
                material="gripper", patch_radius=0.1, min_patch_radius=0.1
            ),
        ),
    )

    fix_root_link = True
    load_multiple_collisions = True

    keyframes = dict()
    arm_joint_names = [
        "arm_joint1",
        "arm_joint2",
        "arm_joint3",
        "arm_joint4",
        "arm_joint5",
        "arm_joint6",
    ]
    gripper_joint_names = [
        "gripper1_axis",
        "gripper2_axis"
    ]
    ee_link_name = "arm_seg6"

    arm_stiffness = 1e3
    arm_damping = 2e2
    arm_force_limit = 100.0

    gripper_stiffness = 1e3
    gripper_damping = 2e2
    gripper_force_limit = 100.0

    @property
    def _controller_configs(self):
        # -------------------------------------------------------------------------- #
        # Arm
        # -------------------------------------------------------------------------- #
        arm_pd_joint_pos = PDJointPosControllerConfig(
            self.arm_joint_names,
            lower=None,
            upper=None,
            stiffness=self.arm_stiffness,
            damping=self.arm_damping,
            force_limit=self.arm_force_limit,
            normalize_action=False,
        )
        arm_pd_joint_pos_vel = PDJointPosVelControllerConfig(
            self.arm_joint_names,
            lower=-0.1,
            upper=0.1,
            stiffness=self.arm_stiffness,
            damping=self.arm_damping,
            force_limit=self.arm_force_limit,
            normalize_action=False,
        )
        # -------------------------------------------------------------------------- #
        # Gripper
        # -------------------------------------------------------------------------- #
        # NOTE(jigu): IssacGym uses large P and D but with force limit
        # However, tune a good force limit to have a good mimic behavior
        gripper_pd_joint_pos = PDJointPosMimicControllerConfig(
            self.gripper_joint_names,
            lower=None,  # a trick to have force when the object is thin
            upper=None,
            stiffness=self.gripper_stiffness,
            damping=self.gripper_damping,
            force_limit=self.gripper_force_limit,
            normalize_action=False,
        )

        controller_configs = dict(
            pd_joint_pos=dict(arm=arm_pd_joint_pos, gripper=gripper_pd_joint_pos),
            pd_joint_pos_vel=dict(arm=arm_pd_joint_pos_vel, gripper=gripper_pd_joint_pos),
        )

        return deepcopy_dict(controller_configs)

    def _after_init(self):
        self.gripper1_link = sapien_utils.get_obj_by_name(
            self.robot.get_links(), "gripper1"
        )
        self.gripper2_link = sapien_utils.get_obj_by_name(
            self.robot.get_links(), "gripper2"
        )
        # Disable collision between the gripper
        for link in [self.gripper1_link, self.gripper2_link]:
            link.set_collision_group_bit(group=2, bit_idx=30, bit=1)

        self.arm_joint_indices = get_active_joint_indices(self.robot, self.arm_joint_names)
        self.gripper_joint_indices = get_active_joint_indices(self.robot, self.gripper_joint_names)

        self.ee_link = sapien_utils.get_obj_by_name(
            self.robot.get_links(), self.ee_link_name
        )

    def is_grasping(self, object: Actor, min_force: float = 0.5, max_angle: float = 85):
        """Check if the robot is grasping an object

        Args:
            object (Actor): The object to check if the robot is grasping
            min_force (float, optional): Minimum force before the robot is considered to be grasping the object in Newtons. Defaults to 0.5.
            max_angle (int, optional): Maximum angle of contact to consider grasping. Defaults to 85.
        """
        l_contact_forces = self.scene.get_pairwise_contact_forces(
            self.gripper1_link, object
        )
        r_contact_forces = self.scene.get_pairwise_contact_forces(
            self.gripper2_link, object
        )
        lforce = torch.linalg.norm(l_contact_forces, axis=1)
        rforce = torch.linalg.norm(r_contact_forces, axis=1)

        # direction to open the gripper
        ldirection = self.gripper1_link.pose.to_transformation_matrix()[..., :3, 1]
        rdirection = -self.gripper2_link.pose.to_transformation_matrix()[..., :3, 1]
        langle = common.compute_angle_between(ldirection, l_contact_forces)
        rangle = common.compute_angle_between(rdirection, r_contact_forces)
        lflag = torch.logical_and(
            lforce >= min_force, torch.rad2deg(langle) <= max_angle
        )
        rflag = torch.logical_and(
            rforce >= min_force, torch.rad2deg(rangle) <= max_angle
        )
        return torch.logical_and(lflag, rflag)

The robot property is:

Can you share a video of what occurs?
And is the object you are picking up dynamic or static or kinematic?

The video is:
https://github.com/user-attachments/assets/59143fef-a155-49ad-b78d-321d9a9b849c
And the object is dynamic i think, becaure i use such code to create it builder.set_physx_body_type("dynamic")

I tried with a cube (density 1000, volume 0.04^3).

Looks fine to me, lifted up correctly. It is possible the object you are trying to pick up is too heavy. If you really want to pick up something that is heavy you may need to modify controller.
Note is that if you are using position control, you should try to set the gripper position to a smaller value (e.g. -0.01 is okay as well, we do this for panda), it should try and exert more force to get a closed grip on the object.
Another note is that the gripper's collision mesh is overly complicated. Try to simplify it to a flat box shape. It may also improve the grasping, I didn't look too carefully but the gripper mesh could be somewhat wrong.

I’ve noticed another issue: in my code based on SAPIEN, I can easily grasp the object. Below are the parameter differences between the configurations in SAPIEN and ManiSkill:
The Gripper property in SAPIEN is:

The Gripper property in ManiSkill is:

The Object to pick property in SAPIEN is:

The Object to pick property in ManiSkill is:

I’ve noticed another issue: in my code based on SAPIEN, I can easily grasp the object. Below are the parameter differences between the configurations in SAPIEN and ManiSkill:
The Gripper property in SAPIEN is:

The Gripper property in ManiSkill is:

The Object to Pick property in SAPIEN is:

The Object to Pick property in ManiSkill is:

I would like to ask which of these parameters might significantly affect the grasping performance? Are there any specific ones I should prioritize when tuning?
Additionally, I plan to migrate the code to the ManiSkill framework for further experiments. Could you provide guidance on how to modify these parameters within ManiSkill?
Your insights would be highly valuable for narrowing down the potential cause. Thank you!

@StoneT2000


draggable row is wrap his size in table

Try to add new style for class .row-dragging like this:
`.row-dragging.related-requirement-list-row {
z-index: 2001;
cursor: move;
display: flex;
td {
padding: 10px 16px;
&.brd-name {
  position: relative;

  .child-index {
    position: absolute;
    left: 0;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
  }
}

}
.brd-name {
width: 42%;
}
.brd-status {
width: 23%;
}
.brd-reporter {
width: 19%;
}
.brd-action {
width: 16%;
}
}`
Because this HOC component make a copy of the draggable row in your root node when you are dragging it. So, if the css selectors of your rows have parent selectors,  those css selectors won't match those cloned rows.

Try to add new style for class .row-dragging like this:
`
.row-dragging.related-requirement-list-row {
z-index: 2001;
cursor: move;
display: flex;
td {
padding: 10px 16px;
&.brd-name {
position: relative;
.child-index {
position: absolute;
left: 0;
font-weight: 600;
color: rgba(0, 0, 0, 0.85);
}
}
}
.brd-name {
width: 42%;
}
.brd-status {
width: 23%;
}
.brd-reporter {
width: 19%;
}
.brd-action {
width: 16%;
}
}
`
Because this HOC component make a copy of the draggable row in your root node when you are dragging it. So, if the css selectors of your rows have parent selectors, those css selectors won't match those cloned rows.

Try to add new style for class .row-dragging like this:
`
.row-dragging.related-requirement-list-row {
z-index: 2001;
cursor: move;
display: flex;
td {
padding: 10px 16px;
&.brd-name {
  position: relative;

  .child-index {
    position: absolute;
    left: 0;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
  }
}

}
.brd-name {
width: 42%;
}
.brd-status {
width: 23%;
}
.brd-reporter {
width: 19%;
}
.brd-action {
width: 16%;
}
}
`
Because this HOC component make a copy of the draggable row in your root node when you are dragging it. So, if the css selectors of your rows have parent selectors, those css selectors won't match those cloned rows.

same here


Sending navigation to PCM

Hi, would it be possible to send navigation route to PCM? MyPorsche app has the ability to plan route and send it to vehicle. I want to create route via Google Maps and then send it to PCM :)

That would have been a nice feature, but I don't think any of the current contributors to the project have the time to implement it. Should you work out a solution, don't hesitate to file a PR.

In such a case, why are you closing this issue? I think it should stayed opened, as it is a valid request, right? :)


Version pinning

Fixes #2236.
WIP; implemented for the website for now.
Mostly straightforward, but there's one interesting subproblem I had to solve: while installing multiple versions of components is possible with pnpm aliases, aliases for the version that's identical to the version in the monorepo don't work correctly.
While<EMAIL_ADDRESS>gets installed from NPM, since it depends on<EMAIL_ADDRESS>and it's the same version that's already present in the monorepo, pnpm links that version to the local copy.
I solved this by bumping all versions to 0.8.5-dev (and @quri/ui to 0.1.4-dev). I've checked that changeset version will bump 0.8.5-dev to 0.8.5, which is great. But we probably will have to do the increment to (n+1)-dev after each release.
There must be some way to automate this, either with a custom script or with some changesets mode, but I'm not sure yet.
In any case, this PR will increase the number of actions we will have to do on each release:

add a new pnpm alias in website/ and hub/ (maybe I will abstract the versioned playground from these two packages when I finish this PR, not sure yet)
update versions in VersionedPlayground.tsx
bump versions to -dev, as I described above

This is 90% done, but it will have to wait until 0.8.5 release.
The reason is that "exports" field was broken in several packages. I've pushed 999c3223679fd79b02ff0fe1095b18bf07727078 to fix it in main, and another fix for prettier-plugin is in #2233 PR.
But 0.8.4 would be hard to fix, so it'll be easier to release this with 0.8.5 as the earliest available option.

Btw, DO NOT MERGE, Prisma migration is needed first.

I see that now, the Playground just has one version called "dev". I take it that later there would be more versions? "dev" probably means "most recent development version"?

Obvious flag that we might well want to version our documentation soon, too.  Maybe it would be good to have versions for the Website as a whole, instead. That said, I'd guess that this is definitely the main improvement, probably fine for now.

I suggest modifying the README to include details on the new Repo, and discuss a bit of how to manage it.
Overall this seems interesting, but I'm worried about the maintainability of it.

I see that now, the Playground just has one version called "dev". I take it that later there would be more versions? "dev" probably means "most recent development version"?

Yes. For 0.8.5 to appear, I'll have to:

merge this PR
then run the "Release" action to bump the version to 0.8.6-0

I had it working locally and it should be fine, but I wanted to test that automation works, so I rolled back 0.8.5 support to test it.

Obvious flag that we might well want to version our documentation soon, too. Maybe it would be good to have versions for the Website as a whole, instead.

I'm keeping an eye on https://github.com/shuding/nextra/issues/20 for this.
Option (1) in https://github.com/shuding/nextra/issues/20#issuecomment-1240034715 is the easiest solution, but will lead to working copy bloat and slow deployments eventually.
We could also keep around old Vercel deployments for each release.

I suggest modifying the README to include details on the new Repo, and discuss a bit of how to manage it.

I'll update https://github.com/quantified-uncertainty/squiggle/wiki/Releases after we deploy this.

Readonly versions:

("unknown" will go away after I bump versions with GitHub Action, after the merge)
Version Update Policy (in Hub only, doesn't show in Playground):

And now there's no version picker on the "New Model" page.
Is there anything else you want me to change before merge?


Comparing parsedatetime to dateparser?

Hi, there is a library called "scrapinghub/dateparser" that seem to have comparable goals. What would
be some reasons to choose one over the other?

That project does look very similar and from scanning the code, they seem to be a much newer class driven implementation with some overlap to what our library does. They also do seem to have much more locales involved and use some of the more common modules now (pytz for example)
I would say there isn't any huge reason to pick ours over that one if their interface works for your data


Change hasUoM to hasUnitOfMeasure

(and deprecate hasUoM). This is a constant source of aggravation, since the class is UnitOfMeasure. I would at least expect hasUofM, but even that is hard to remember.
When we deprecate hasUoM we should create an equivalent property relationship to the new property. This also helps document the change so that if there are cascading changes we can make them when the deprecated property is removed.

Can be done as part of https://github.com/semanticarts/gist/issues/188.


Incorrect Compiler Identification

symbolResolverCreate has some logic to determine what type of compiler/toolchain was used. The function hasRichheader is used to determine whether MSVC or GCC was used on Windows.
The function hasRichHeader is pure magic with no documentation. Unfortunately it appears to be an incomplete function. For my exe that function is returning false and the GCC toolchain is selected. This results in no symbols being loaded for my binary.
However my binary was built by MSVC. And if I modify source to force the toolchain to MSVC the symbols are correctly loaded. I'm not sure what hasRichHeader is doing wrong.
Unfortunately I can not share my exe as it's is proprietary and internal. :(

It goes through the whole loop to determine roffset, doesn't find the magic value 0x68636952, and returns 0. https://github.com/milostosic/rdebug/blob/master/src/symbols.cpp#L84
Here's the values it did read:
0x0eba1f0e
0xcd09b400
0x4c01b821
0x685421cd
0x70207369
0x72676f72
0x63206d61
0x6f6e6e61
0x65622074
0x6e757220
0x206e6920
0x20534f44
0x65646f6d
0x0000242e

suggestions welcome! :)

Unfortunately I do not. I've never delved into the internals of the PE file format before. :( But here's what ChatGPT suggested? :) https://chat.openai.com/share/1a419c22-24e9-4312-8ed0-c1e3f92f103d

The 'rich header' appears to be an artifact of link.exe. Binaries linked with lld-link.exe (despite objects being compiled with msvc) do not seem to possess it.


Support non-bundler setups

We rely on the bundlers to generate stats for us to upload, but this means we have no current solution for bundlerless setups.
What we can do is to wrap rollup ourselves in a separate package and export a CLI tool that will take some input files, run it through rollup, and send the bundle stats to Sentry. This will mean that tree-shaking also gets automatically applied, which is important to keep in mind.
Usage:
// package.json
{
  "scripts": {
    // supplying package.json is optional, it'll attempt to search for one
    "codecov-bundle-analyze": "@codecov/bundle-analyze --package=./package.json"
  },
}

Under the hood @codecov/bundle-analyze first will look for package.json (if it's not already set) and check if it's defined in it's main, module, and exports fields. See the module docs for more info about those fields. These become the main bundles that we analyze.
For each bundle, we call a small rollup script that takes in the entrypoint and outputs stats. To maintain accuracy we enable preserveModules and don't do any polyfilling or replacements, which means we basically just use rollup to treeshake and walk the dependency tree (and get stats as a side effect hoho).
Let's look at an example, the dotenv package: https://github.com/motdotla/dotenv.
https://github.com/motdotla/dotenv/blob/f6e87eb03705e4b8abcc159ef88e4c0f2992ced4/package.json#L5-L20
Based on the package.json
{
  "main": "lib/main.js",
  "types": "lib/main.d.ts",
  "exports": {
    ".": {
      "types": "./lib/main.d.ts",
      "require": "./lib/main.js",
      "default": "./lib/main.js"
    },
    "./config": "./config.js",
    "./config.js": "./config.js",
    "./lib/env-options": "./lib/env-options.js",
    "./lib/env-options.js": "./lib/env-options.js",
    "./lib/cli-options": "./lib/cli-options.js",
    "./lib/cli-options.js": "./lib/cli-options.js",
    "./package.json": "./package.json"
  },
}

We'd get the following bundles: lib_main.js, config_js, lib_env-options.js, lob-cli-options.js.
edge cases:

JSX/Typescript/non-js file extensions: I would ignore them for now

I did an experiment for this here: https://github.com/codecov/codecov-javascript-bundler-plugins/pull/71
What I found was that introducing a bundler to a project without one might not be the best approach here. What we probably want to do is the following:

For browser projects with a super simple bundling/minification process, we just expose a CLI that reads all files in a output directory (ignoring sourcemaps) and collect sizes for it. This is great for folks who are just using gulp, hardcoding scripts for a wordpress app or using https://github.com/vercel/ncc.

For node/server-side projects we can have to stick with the approach I did in #71, or you can also just report sizes for everything and put it all in one big chunk/asset. The main issue here is that there is not much of a bundle...

I really really like this idea, and glad someone mentioned it 😂
This is where I wish we had an esbuild integration to bring down the bundle times like crazy for insanely large apps, or for people who don't have a bundle step. I wonder if it would be worth looking into this in the future once we have a working support for esbuild.


Project hook in .git-ps/hooks/isolate_post_checkout is not found

When I create a the hook at .git-ps/hooks/isolate_post_checkout it says the hook was not found.

I figured it out,,, all the patches before the patch that introduced the repository's hook did not yet include the hook, so once I got to the patch with the hook it ran ;)


Testing on Aerial Dataset data

Hello,
I am currently trying to test MVSNet on the Aerial dataset. The scene I am using for testing contains 226 images of 1280 × 720. I resized them to 1280 × 900 prior using MVSNet.
The 00000000_cam.txt looks like this:
extrinsic
-0.781098 0.61589 0.102788 -1.16349
0.278708 0.491198 -0.825255 -1.00648
-0.558756 -0.615958 -0.555327 16.4424
0.0 0.0 0.0 1.0
intrinsic
2307.27 0 640
0 2307.27 360
0 0 1
8 0.05
I also added information in the pair.txt file by computing feature similarly between the pictures and selecting the top 10 results (for that I simply computed the RMSE between images and choose the lowest 10 results).  The depth range for the input images is between 8~17. So I select a depth_interval of 0.05. I am also using a max_d of 192 and interval_scale of 1.
The output looks:

Clearly, the result is very off the original input image which looks like:

If you could please provide some guidance about the depth reconstruction or whether you ever assessed MVSNet on Aerial it would be great!
Thank you!

Hi @cecca46,
How did you resize the images? I am not sure whether the test script handles f_x != f_y so please keep the aspect ratio when you do the resizing. You could use cropping to change the aspect ratio. (For your case 1280x720 -> 1600x900 -> 1280x900)
Also reminber to change camera intrinsics after resizing / cropping images. You may refer to the preprocessing part in test.py for implementations.
Yao


docs: add woofy and yfi addresses

add woofy and yfi scan addresses for fantom and ethereum

new page added

it's in Polygon too, same address for Woofy

added polygon addresses


Explain ActivateAndServe Asshole

https://godoc.org/github.com/miekg/dns#Server.ActivateAndServe
reads
ActivateAndServe starts a nameserver with the PacketConn or Listener configured in *Server. Its main use is to start a server from systemd.
Fine. Do you have an example in which context systemd plays a role there or how to use this function in conjunction with systemd? I'm guessing you mean socket activation.
Do you just do the usualy socket and service combo and listen via net.Conn and pass it to the server?


Tables with "alias" as a column name error on word.replace

In the instance of a table with a column value of "alias" word.replace will error due to "alias", at this point, is an object.
A slight modification to the property check here from:
    if(table.alias) {
      txt.push(this.quote(table.alias));
    } else {
    }

to
    if(typeof table.alias === 'string') {
      txt.push(this.quote(table.alias));
    } else {
    }

Seems to have remedy the issue.
Thoughts?

My thought is this is awesome and I'm super happy you put this PR in!! also sorry it took me a while to get to it...i been slammed recently/always. :heart: Merging and pushing a new minor version now.


Implementation: Information Exchange Feature

[ ] Copy the Template. Go to the Feature Wiki and Copy/Paste the Feature Template into a new page.

[ ] Fill out the Template. Fill out the basic information for the feature in the template. Use the template to document your plan for implementation and major design decisions; if anything changes along the way, update the documentation as you go.

[ ] Create a new Feature file. Create a new file in the folder feature_engine/features. The name of the file should be NAME_features.py, where NAME is the name of your feature.

[ ] Code your feature. Write the code for the feature.

[ ] Evaluate/Unit Test. Come up with a method of evaluating your feature. How do you know that the feature is 'correct?' For simple features, this may be trivial; for more complex ones, you may need to break down each sub-function and unit test them separately, or validate on external data. Add your unit tests to feature_engine/test_featurize.py.

Updated this issue with the Feature Implementation template! @Candicecao8 please make sure to start a wiki page for your feature :)

Z score should be calculated both on the conversation level (e.g., within your team) and at the overall level (e.g., across everyone). Does a conversation-level version of this score make sense at all?
See: https://github.com/Watts-Lab/team-process-map/commit/2652e0a0f7a32041d9026316f26b9cefefdf35fd


What if the PC has an AV effect?

Can you please elaborate on your question.

Can you please elaborate on your question.

thanks your reply.
bro,i just want to know:
If the anti-virus software is installed on the PC, can it still work normally?
Or is there any way to bypass this?

Depends on the anti virus software and how it reacts.
If it blocks any unknown USB device, you first need to confirm that it's harmless.

Sir, no anti-virus helps against deauthing. The deauther is the perfect wi-fi jammer, bro.

OK . Thanks


The bubbles overlaps the y-axis when user change the y axis indicator

SEVERITY:  Major
MODULE: Bubble Chart
Platform: Windows 7 / Firefox 44.0
STEPS TO REPRODUCE:

Navigate to the URL: http://gapminder.org/tools/bubbles
Bubble Chart will be loaded.
Click options
Click X and Y
Select infrastructure --> Traffic--> Cars, trucks, buses for x axis indicator
Select infrastructure --> Traffic--> Cars, trucks, buses for Y axis indicator

ACTUAL RESULTS:
The bubbles overlaps the y axis line when user change the indicator
EXPECTED RESULTS:
The bubble should not overlaps the y axis line when user change the indicator
NOTE: When user click the follow bubbles the bubbles place ajusted and no overlaping remain
SCREENSHOT:

same problem as #1640


useSignals not working with Astro js

When you install and use this package(@preact/signals-react) on a React component, and this component is within an Astro component, doesn't work, I mean, the reactivity doesn't trigger. Do you have a workaround or can take a look?

Did you use an Astro directive like client:load on the React Component that is placed within the Astro component? The Javascript won't load without the directive.
Template Directives

Yes, I used it and doens't work

Please provide a reproduction.

@ajomuch92 do you use babel plugin for signals?

No, I'm not using that plugin. I will create a repo or sandbox to show you how is my configuration

Here you will find a repo with the basic configuration using Astro + React + Signals

You're not calling useSignals() or the using the Babel plugin. Gotta use one.
Please read the docs: https://github.com/preactjs/signals/tree/main/packages/react#react-integration

Even using useSignal is not working, and Astro uses esbuild instead of Babel, any idea?

useSignals(), not useSignal().


Make Reveal Scrollable

Well, I know there are a lot of issues with the current reveal implementation. One of the biggest challanges for me is, that I have so much content inside the reveal, that it doesn't fit the viewport on small mobile devices. Therefore I would need scrolling inside the reveal, which isn't possible at the moment.
I would suggest to limit the hight of the reveal when loading to amount that is left for the reveal at the bottom of the page. Maybe the behaviour will be better when the top position is improved, but I guess this is something for a later step. Maybe there is also a CSS solution with 100vh.
As I couldn't get the reveal to work properly in my setup I moved to a solution with only full modals and setting the max-height to 100vh. But this is only a temporary workaround as I would like to use normal modals.

Yep. Duplicate issue, resolved with a feature branch that will be merged soon.


Large image is not resized within the editor (preview mode)

Hi, there. When I'm trying to put in a large image (pixel size) into the editor, it squeeze down the textarea until it's completely gone. Take this image for example https://i.imgur.com/22PMF8I.jpg

Note that the horizontal scroll bar is already in left most position. Is there a way to instead scale the image to fit the preview window size (width, and keep the ratio ofc)?
Thanks!

Please upgrade to 2.1.3.


comprehensive format+sector check instructions

I noticed that this page includes only instructions for running h2test as if it's on a new card. These instructions include formatting help, which should clear up any sd card issues that may be present.

Move, to your computer, as much of your own data as you can.
Could this not just be Back up the contents of your SD card to your PC? Just saying the former would get some user to not back up their Nintendo 3DS folder or the like

I don't really think this makes sense as a location for formatting instructions (it is just to check the SD for issues prior to the guide), plus the language used in the PR is not consistent with that of the rest of the guide.


Revert "ci: add e2e test workflow"

Reverts kubeclipper/kubeclipper#333
pr need fix some issue before merge

/release-note-none


[Package Issue]: Notepad++.Notepad++ silent uninstall bug

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Other
Brief description of your issue
Uninstalling with the --silent flag isn't silent, the uninstaller opens, and winget reports a successful uninstall.
Steps to reproduce

Install Notepad++
Issue command winget uninstall Notepad++.Notepad++ --silent

Actual behavior
Notepad++ uninstaller opens in foreground, and waits for user input to go trough the casual next-next-finish flow.
Expected behavior
Notepad++ should uninstall without any user input (except for UAC prompt maybe)
Environment
PS > winget --info
Windows Package Manager v1.1.13405
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22000.527
Package: Microsoft.DesktopAppInstaller v1.16.13405.0

Screenshots and Logs

Currently winget is able to silently uninstall nullsoft and inno setup application that register QuietUninstallString in Registry and Notepad++ here does not do that, this can either be fixed by requesting developer to add it or once when the feature at https://github.com/microsoft/winget-cli/issues/1885 implemented.


Peer to peer code review

Hi @david30-maker,
You have made an effort on this project! 👍
Highlight

Your code is clean 👍
You have followed the best peactice of javaScript. 👍

Suggestion

We have a little suggestion about your peoject. It would be better if you close the previously created issue once you are done. 😄

Cheers and Happy coding! 😄

Hello @Yidnekachew-cmd,
You have done a great job making issue #8. It would be better to follow the correct spelling. And I strongly believe that If someone uses Grammarly they won't mistake.

Hello @AbdusSattar-70,
Thank you! 👍


RpcProxyFactory.getProxy(Class rpcInterface) should use array parameters

RpcProxyFactory.getProxy(Class[] rpcInterfaces)  is more appropriate.

Rethink again, it is not a must so stay the same.


Fixed DictFile.append(), Glidein logging, and added logserver

Fixed and disabled DictFile.append(), replaced by add_environment()
append was used only for environment variables in the condor submit file and was causing a malformed submit file.
add_environment was already used at times and is a better method. append was fixed and is still there commented in case we'd like to use it for other attributes in the future.

@namrathaurs Sorry for the after-review changes. Testing the RPM installed version I noticed that there were some missing parts (only in my manual deployment) and I improved also the error checking.


Add alpha channel to ScatterView

It adds the possibility to give a transparency channel in addition to the value.
A minimal example to see its behaviour:
import numpy as np
from silx import config
from silx import sx
from silx.gui.plot.ScatterView import ScatterView

samps = 1000
levels = 100
fwhm = 50
cen = 500

x = np.random.rand(samps)*levels
y = np.random.rand(samps)*levels
v = np.random.rand(samps)*levels
x0, y0 = x[cen], y[cen]
a = np.exp(-4*np.log(2) * ((x-x0)**2 + (y-y0)**2) / fwhm**2)

config.DEFAULT_COLORMAP_NAME = 'viridis'

#without transparency
s1 = ScatterView()
s1.setData(x, y, v)
s1.show()
#with transparency
s2 = ScatterView()
s2.setData(x, y, v, alpha=a)
s2.show()

I would support these cases:

Alpha between 0 and 1 -> Float
Alpha as integer in the range [0, 255]
Alpha given as color (I think that was already in)

Please do nothing and wait for @t20100 opinion.
Should we allow something similar for images at same Z order? After all we aim at having most of the functionalities common between scatter plots and images.

Note that,, AFAIK, this will add transparency to possibly existing transparency set with item.setAlpha (https://github.com/silx-kit/silx/blob/master/silx/gui/plot/items/core.py#L708), which currently only supports a float in range 0--1. We need to keep the APIs consistent, so we should also change setAlpha if we decide to support integers in range 0--255.

I think it is fine with alpha in [0, 1].
I'll add a few checks in the setter and change the blending of alpha with rgbacolors (using multiply).

I made a pull request on your branch (https://github.com/maurov/silx/pull/2) which:

fixes the test
changes the way to apply the transparency (by multiplying it)
adds some checks/conversion of alpha in setData


Revert "Apply peer action when there are gossip validation errors"

This reverts commit 060918ecf2c8b2c1dbe02ea2ca2100f2efeb2b18.
Motivation
There are a lot of missed attestations in v0.35.0-beta.0
Description

This PR https://github.com/ChainSafe/lodestar/pull/3781 apply peer actions when we receive invalid gossip messages
The hypothesis is a node with more long-lived subnets have more chance to send invalid gossip messages to us, and with the PR we'll likely get peers with less long-lived subnets
The consequence is we have to search for subnet peers a lot during PeerManager.heartbeat()

Closes #3825
TODO

[x] Test this branch on a node with 250 validators => testing on contabo-18
[ ] Test this branch on a node with > 900 validators

@dapplion  I have tested this branch in contabo-18, contabo-19, contabo-20 for >36h (250 validators each) and haven't seen "epoch delta" < 0 so far

Things look much better yes!
Block inclusion is > 0 always in the last 36h for contabo-18,19,20.


IOS , what happen if user used app to screen record

what happen if user used app to screen record  like DR Recorder in IOS ,
can provide AutoPopWidget if screen record detected like Secure Player app in IOS ,
thank for your time bro .

Not at the moment.
I will add it to the backlog thanks for the suggestion


Feature/gh actions

introduced github-actions

Expected CI failure post this merge.. not ready for release


Add ES6 Generators

Generators are one of the marquee ES6 features, and should be added

+1

+1

+1

How come this have just a few votes? Generators are one of the main features of ECMAScript 2015 specs and are around for quite a while now.

+1

+1

+1

Now available at https://caniuse.com/#feat=es6-generators


It is allowed to have less than 2 points

A gradient color is invalid when it has less than 2 points so the case should not be allowed.
Cheers

Thanks, Release 1.3.0


vector iterator not incrementable

cocos2x : 3.14.1
platform：win32
IDE: vs2015
My English is not very good. In win32 , i have encountered a problem in which the animation can not be played. But iOS and Android will not happen.
Debug Assertion Failed!
Program: C:\Windows\SYSTEM32\MSVCP140D.dll
File: f:\microsoft visual studio 14.0\vc\include\vector
Line: 101
Expression: vector iterator not incrementable
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
I modified the official demo.
my code:
        _armatureDisplay = _factory.buildArmatureDisplay("DragonBoy");

        const auto center = cocos2d::Director::getInstance()->getVisibleSize();
        _armatureDisplay->setPosition(center.width * 0.5f, center.height * 0.5f);
        _armatureDisplay->setScale(_armatureScale);
        this->addChild(_armatureDisplay);

        _armatureDisplay->getAnimation().play("stand");

        _armatureDisplay->getEventDispatcher()->setEnabled(true);
        _armatureDisplay->getEventDispatcher()->addCustomEventListener(EventObject::COMPLETE, [=] (EventCustom *event) {
            const auto eventObject = (dragonBones::EventObject*)event->getUserData();
			eventObject->armature->getAnimation().play("walk");

        });

The program will stop here.
Armature.h
        if (!_events.empty())
        {
            for (const auto event : _events)    //debug stop here
            {
                if (EventObject::_soundEventManager && event->type == EventObject::SOUND_EVENT)
                {
                    EventObject::_soundEventManager->_dispatchEvent(event);
                }
                else
                {
                    _display->_dispatchEvent(event);
                }

                event->returnToPool();
            }

            _events.clear();
        }

I don't know why  it happened .
Help. Thanks!

......I found.
for (const auto event : _events)
modify：
for (unsigned int i = 0; i < _events.size(); i++)
{
      EventObject* event = _events[i];
      ......
}


Links to Valkey documentation

Many links in the doc and the source code still point to Redis doc. We can't just point to Vakey's doc in most cases, because Valkey is missing a lot of content.
We can't point to Redis doc forever, so we need to understand how Valkey intends to handle this, maybe we can help.

You can point to files in the valkey-doc repo on github if you want. Example URL: https://github.com/valkey-io/valkey-doc/blob/main/topics/cluster-tutorial.md
It might be better to wait for it to be up on the Valkey website though.
Another option is to refer to valkey man pages names. These will most likely be distributed in debian, fedora, etc. You can try 'make install' of the valkey-doc (see the README).

I think we can wait until the website is updated and change the links then.

@aiven-sal - Valkey is migrating its website to a new static site generator. As far as I understand, the content in valkey-io/valkey-docs will probably move to valkey-io/valkey-io.github.io.
This is a fairly big move so yes, I'd hold off until that's done.

@celestehorgan No, the website is not the owner of the docs. As much as you may want to put the docs in the website repo, developers want it to be in the code repo (because features are developed and documented by the same developers at the same time) and distro packagers want the docs for building man pages.


OPENPROJECT | Update to 14.1.0

Update to 14.1.0

/automerge

@alexbelgium I think is me, but the docker image is not build

maybe with the automerge this is not triggered?

Build is not completed yet? You can check in the Actions if it was completef

mmmm I think that wasn't triggered
when should that be triggered? on merge

@alexbelgium how did you fix this? so next time I'll try to do without messing with you ;)

hehe I forced the image update by changing the addon version number :-) I didn't check but we can see at your next automerge if it starts the script correctly :-)


Blackbird Crash in Kraken sell limit order

Hi, i have been running blackbird for a couple of weeks now testing parameters and tracking frequency etc. with trades being made successfully using the test expose of $25. Over the last day or so however, blackbird keeps crashing when it finds an exit, doing the Kraken sell (selling btc back into dollar). There appears to be enough btc and it should be more than the Kraken minimum also.
This is what the error looks like:
<Kraken> Trying to send a "sell" limit order: 0.002820 @ $8878.10... {"error": ["EOrder:Insufficient funds"]}
Any idea why this is happening and if there is a way around it?

Seems that the balance on my Kraken account vs what blackbird is storing and attempting to use is the issue. In Kraken it shows i have 0.00281 btc, while blackbird thinks it is 0.00282 btc and is try to trade with that ammount.
Im thinking there may be a rounding error or inconsistency somewhere then.


Bump version to 2.0.0dev6

Codecov Report

Merging #1992 into v2 will decrease coverage by 0.09%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##               v2    #1992     +/-   ##
=========================================
- Coverage   92.62%   92.53%   -0.1%
=========================================
  Files          58       58
  Lines       10495    10367    -128
=========================================
- Hits         9721     9593    -128
  Misses        774      774

Impacted Files
Coverage Δ

botocore/__init__.py
100% <100%> (ø)
:arrow_up:

botocore/model.py
97.82% <0%> (-0.25%)
:arrow_down:

botocore/docs/bcdoc/restdoc.py
96.26% <0%> (-0.17%)
:arrow_down:

botocore/compat.py
91.51% <0%> (-0.11%)
:arrow_down:

botocore/retries/bucket.py
98.48% <0%> (-0.09%)
:arrow_down:

botocore/validate.py
98.74% <0%> (-0.07%)
:arrow_down:

botocore/client.py
98.63% <0%> (-0.04%)
:arrow_down:

botocore/loaders.py
99.24% <0%> (-0.04%)
:arrow_down:

botocore/docs/bcdoc/style.py
95.45% <0%> (-0.04%)
:arrow_down:

botocore/paginate.py
97.8% <0%> (-0.03%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f304d9d...f5c7f21. Read the comment docs.


testing doc-builder changes

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Update Gradle to 8.10.2

Description
Update Gradle to 8.10.2
Related Issues
N/A

Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[X] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Hi @reta ,
Assuming we are not backport to 2.x?
Thanks.

Assuming we are not backport to 2.x?

I will backport only Gradle changes


An abstraction exists to facilitate MSSQL sslmode integration tests

Description
sslmode integration tests will need to assert on the propagation of parameters between secretless and the target service.
At present we have a method called propagateParams in our integration tests. This method uses a mock server in this format [client => secretless-the-binary => mock server]. It allows us to send something from the client and make assertions on what is received on the mock server.
This issue requires that we extend propagateParams a little bit to allow us to test different combinations of params. secretless-the-binary is constrained and relies on the source of truth being Secretless config, which can't be reasonably modified at run time. The suggestion here is to switch the middle component from secretless-the-binary to just an invocation of the connector. This change gives us dynamic control of credentials passed to the connector while everything else sort of stays the same. This allows us to meet our goes of testing different combinations of sslmode parameters in-process.
AC:

[ ] A user of this abstraction can input connection params  and expect in return a structure with all the data that the server sees throughout the lifecycle of the request. The user can then make assertions on this returned data.

@doodlesbykumbi I don't think this is in the epic / milestone yet - can you please add it?


Give server the control over the exact error payload.

The idea is that error reporting will not depend on the client updating to the latest version. What do you think @rad-cord @ramnik-cord ?

Corresponding BE PR: https://github.com/encord-team/cord-backend/pull/798

Will look at the test failures tomorrow. Are they being maintained?

Would this be a breaking change for the users when they upgrade from older version to the new? cc @rad-cord @denis-cord

Will need to get back to this in a bit - seems like making this work without breaking some functionality will need some digging and verifying

I am trying to solve too many problems here. Closing this in favour of other PRs.

https://github.com/encord-team/encord-client-python/pull/137 Created now


Ability to create windows

Hey,
is there any way to allow creating windows while being in lock-task mode?
My exact problem is that when I'm trying to connect to a bluetooth device/update app, android wants to render a dialog for PIN code/ actualization process, but this window is automatically blocked by lock-task mode.. :/

I'm not sure that this is possible, but you can definitely unlock a regular screen without a PIN code

Yeah..
Well, I fixed it quite badly but it's working. If anyone want to find a solution I did it like this:
When user should be prompted about pin code fe. I'll disable kiosk mode but also disable back button. The App is set to be "Home" app, so when user press the home/action button it will immediately send him back to the app 😄


Explore using systemd-nspawn to run our instance

systemd-nspawn is a simpler tool to congfiure a container which supports systemd in container natively. It may make our instance more like a real VM.

The LXD is better for us.


Somaliland shows up as "undefined"

See this screenshot.

Somaliland is in the northern part of Somalia and apparently considered a separate country. When you hover over it, it shows up as "undefined".
https://en.wikipedia.org/wiki/Somaliland

There datamaps source we are using does not give Somaliland an id, that's why it show up as undefined. Apparently there is no official country code for it according to this https://stackoverflow.com/questions/16170385/somaliland-country-abbreviation


Typed utils

Summary
Convert to utils/utils.jsx typescript. As a result of some compile errors, I also converted utils/constants.jsx to typescript. My approach was to err on the side of looser types and allowing type assertions in order to not have any behavior changes in run time code, even if that means that some places that are likely bugs continue being bugs. Since its not a change in behavior and since the number of files changed is large, I think this is a safer approach.
Ticket Link
https://mattermost.atlassian.net/browse/MM-43721
Release Note
NONE

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/189186

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/189367


Add feature flag for QueryPhaseSearcher

Description
Added feature flag neural_search_hybrid_search_enabled for query phase searcher. This is required as a safeguard in case concurrent search feature is enabled and another implementation of query phase searcher is registered.
This new flag can be set as system property or in opensearch.yml (with use of transport.features), by default flag is false (feature is disabled). Enable flag for integ tests.
Issues Resolved
https://github.com/opensearch-project/neural-search/issues/194
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has javadoc added
[X] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

happy to see all checks succeeding. This is happening after a long time

@martin-gaievski tests are failing.


Make ccm great(installable as package) again

added the psutil that was missing
run shell script were missing when used as installed package

taking it for a spin in BYO:
https://jenkins.scylladb.com/job/scylla-master/job/manual-and-scheduled-tests/job/byo_build_tests_dtest/589/console

Ok - you can merge if BYO says it works

BYO said yes


api: User ID is required when updating a company or customer status

Watchman Version: v0.18.1
What were you trying to do?
Update an SDN customer or company status using PUT /ofac/companies/{companyID} or /ofac/customers/{customerID} without specifying a X-User-ID in the request header.
What did you expect to see?
No response body, and an updated status for the given entity.
What did you see?
A {"error":"no userID (X-User-Id header) found"} response and no change in the entity's status.
How can we reproduce the problem?
curl -X PUT -d '{"status": "exception", "notes":"random note"}' localhost:8084/ofac/companies/2831
Note
I'm not sure if this is by design, and the documentation is just outdated.

This is by design so that a bit of an audit trail can be collected. However I see those endpoints requiring x-user-id a bit too often.

@nlakritz I created https://github.com/moov-io/watchman/pull/347 which removes the x-user-id usages outside of this bug. That status update still requires it (which is something we could look at removing).

I'm open to making this optional, but would like more community input.

Removed in v0.26.0


Accessibility: Date number and time slider are not accessible with keyboard

Hello,
We are failing on accessibility testing due to date number and time slider are not accessible with keyboard. I can add tabindex = 0 to those td elements but I couldn't involve onClick event , same issue with the time slider. Can we get those fixed ?
Thanks !

Do you have any update on it ?


Review starvation rules

A lot of complainings about monsters death if not fed in 20 hours.
Should we worry about it if we are going to go mobile and people will be able to feed on anywhere?

increased to 72 hours total (36 hours for hunger bar and 36 hours of hp starvation) -- yet to be reviewed when mobile versions comes out.


Option to randomly assign a resource when requested by label

What feature do you want to see added?
It appears that currently if multiple instances of a resource exist and when requesting a resource by label, the first available resource is assigned, based on its index.
It would be beneficial to offer to randomize the allocated resource, in cases like mine where these resources have a limited lifecycle. To even out the wear.
I think it would be acceptable to start with just a global parameter. Although random is not more wrong than the current method, it should probably not be the default behavior as it could break other people's workflow if they unknowingly depend on some sort of induced determinism.
Upstream changes
No response

lock(label: 'mylabel', resourceSelectStrategy: 'random') {
    // some block
}

Works for me.

The strategy used to chose which available resources get locked. By default, the strategy will be "sequential" and resources are locked following the order in the lockable resources list. Set the strategy to "random" to randomize the order in which resources are locked.

Apologies, I only looked at the LR Jenkins Plugin page. Thank you for highlighting this.
Should this feature request juste be transformed into a documentation update request?


Addition of Flutter Photo Manager

Addition of Flutter Photo Manager under Photos and Videos section
Flutter plugin is a powerful tool for developers looking to handle media files across different operating systems without dealing with the specifics of each platform’s file management system. The plugin abstracts these details, providing a unified API to access and manage images, videos, and audio files, while leaving the UI design and integration entirely up to the developer.

Only open source flutter apps have to be added.