Accuracy measure

Required Info

Camera Model
{ SR305 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
{Win 10

Platform
PC

SDK Version
2.28.0

Language
{C++ }

Issue Description
Hello,
I am measuring the distance between the centers of the circles of the image. I get the pixel center in the color image and use rs2_deproject_pixel_to_point function to get point.

I have four cameras. The measures between circles' center are different for each camera (the difference is about 4 mm). Is that normal? or there are a way to precalibrate SR305 before use it? I need more accuracy to join four cloud points, but each camera gives to me different measures and I can't get the corretct transformation to apply to my cloud points.
The distance of the cameras to the objects are between 40 and 70 cm
Thanks in advance.

Where are the cameras placed, please?   Is each of the four cameras placed in the triangles in the center, looking outwards to the circles?
I would expect there to be some difference in the measurements for each camera.  No one camera has exactly the same intrinsics due to differences introduced during the camera's manufacturing process.
A way to align point clouds is to take the point cloud from every one of the cameras and then do an Affine Transform.  Basically, just rotate and move the point clouds, in 3D space, and then once you've done that, you append the point clouds together and just have one large point cloud.

Hi, @MartyG-RealSense , thanks for your answer.
The cameras are placed just behind each circle, looking at the center of the table.
I do affine transform to obtain the large point cloud. But this affine transform it depend of the position of the circles' center. If the posion is not accurate, I can't get a good final point cloud. I need acuracy in the point cloud because I have to get exact measures of the object.
Here is a capture of the position of center from one circle (each color refers to each camera):

I would imagine that the accuracy of the measurements on the drawing would be an important factor.   For example with the two small circles, if the cameras were not at the exact same distance from the center point then that in itself could introduce a variation in the distance measurement  Also, if the center square is not at the exact center and measures the same all the way around, the center-point may be further or nearer the camera depending on what side of the center-square the camera is viewing.

The color images I get for the circles are 1920 x 1080. The cameras are placed carefully symmetrical from the center of board. Should I assume that measurement error (around 5 mm) as a cameras tolerance? I would like obtain more accuracy.

Could you try using a lower color resolution please such as 640x480 and see if it improves your accuracy?

I've been testing 640x480 but it doesn't improve accuracy. Seems to get worse.

The RealSense Viewer has an Accuracy option under the 'Controls' options side-panel section for increasing accuracy by increasing "the number of patterns projected per frame.  The higher the accuracy value, the more patterns projected. Increasing the number of patterns helps to achieve better accuracy. Note that this control affects the depth FPS".
I'm not sure how this function is accessed in code in the current RealSense SDK 2.0 - a member of Intel on this forum could help with advising on that if the RealSense Viewer's accuracy control gives you better results.

I am working with an accuracy value of 3 (maximum). And the maximum frame rate supported too (60FPS with 640x480 or 30FPS with 1920x1080).

It is possible that you may be at the limits of the SR300 technology.  The SR300 has better accuracy than the 400 Series at very close range, otherwise the 400 Series cameras have higher accuracy.  For example, the 400 Series can achieve less than 1% error under optimum conditions (2% may be more realistic), whilst a figure quoted in the past for the older technology generation the SR300 comes from is around 5%.

I was working before with four cameras d415, but the accuracy wasn't good and I thougth it was becasue I am in a close range (1% or 2% of 500mm is 5 or 10mm, too much for my pretensions) . I decided change the d415 and buy SR305 for that reason. Now I have less noise in the cloud points, but accuracy seems similar to d415.

SR300 does better than the 400 Series at very close range because it has a smaller scale of depth units (1/32 of a mm).  The 400 Series uses a larger depth scale that helps it to see a greater distance but disadvantages it at very close range compared to the SR300.  You can reduce the 400 Series' depth units scale from its 1 mm default scale to get it closer to the SR300's, but not get it as small as the SR300's scale.

An approach you could try is to minimize the D415's depth scale as far as it will go, and use the camera's High Accuracy preset configuration too.

I did this before buying SR305. I think I have to assume that I am at the bound of accuracy.

There is a Short Range preset for the 400 Series camera called ShortRangePreset.json that is not built into the Viewer.  You can download it from the link below.  Visit the highlighted section and right-click on the 'ShortRangePreset' link and select Save Link As (or whatever option your browser has for saving files connected to a link, such as Save Target As).  Once the file is downloaded, you can drag-and-drop it onto the RealSense Viewer window to load it in.
https://github.com/IntelRealSense/librealsense/wiki/D400-Series-Visual-Presets#preset-table

As a final resort, you could try turning off auto-exposure and let the Viewer use manual exposure values.

Hi @JonaPR,
SR305 measurement accuracy indeed has its limit even though it's in a closed range. And, the different SR305 has different tolerance per their own factory calibration.
Do you also try different SR305 preset values and see how it works?

Hi @MartyG-RealSense , @RealSenseCustomerSupport ,
I apreciate both of your answers. Yes, I had been testing all these options, but each camera always see the circles in diferent positions (around 5mm). I guess I am at the accuracy bound of the camera, because my range is 40-70 cm, and the 1% of this distance is about 4 and 7 mm.

Hi @JonaPR,
Your result should be within our spec. You probably can have the correlation of each camera's distance measurement with the ground truth and then have its deviation/bias trend for each camera. Consider if the fix of the deviation/bias of each camera can help your use case.

@JonaPR,
I will close this if no other concern.


Rail integration

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--aem-assets-boilerplate--hlxsites.hlx.page/aem-asset-selector
After: https://--aem-assets-boilerplate--hlxsites.hlx.page/aem-asset-selector

Closed in favor of https://github.com/hlxsites/aem-assets/pull/47


Vantage

Idea: Implement https://github.com/dthree/vantage/ to let alacon be
a) a "get input - get results" (as now)
b) run > alasql con or > alasql console to get a sql console where you can write several statements (and it keeps data in memory). It will be possible to "ssh" via vantage to the console
c) call > alasql server to initiate what is now the alaserver. It will be possible to "ssh" via vantage to the server status output.

This is still a great idea

:+1:


[WIP] Angular simple example with Storage API

This is a super simple example using appwrite Storage API.
TODOs for me

[ ] write tutorial
[ ] screenshots
[ ] go through the code again and simplify if needed

@benceHornyak please let me know when the PR is ready for review and i'll assign a team member to review it.

@eldadfux ready for a review. Thanks!

@benceHornyak thanks for the PR, did I already send you the SWAG form?


NOSSUE - Sync API Dcoumentation

Signed-off-by: b1ackd0t<EMAIL_ADDRESS>What does this do?
Sync the swagger API documentation with what is implemented on the HTTP API layer
Which issue(s) does this PR fix/relate to?
NOISSUE
List any changes that modify/break current functionality
None
Have you included tests for your changes?
No
Did you document any new/modified functionality?
No
Notes
N/A

Codecov Report

:exclamation: No coverage uploaded for pull request base (clients@235a29e). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             clients    #1754   +/-   ##
==========================================
  Coverage           ?   62.63%
==========================================
  Files              ?      122
  Lines              ?     8923
  Branches           ?        0
==========================================
  Hits               ?     5589
  Misses             ?     2772
  Partials           ?      562

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


chore: release main

:rock: I've created a release for you
opentelemetry: 2.0.8
2.0.8 (2024-09-02)
Bug Fixes

bump the opentelemetry group across 2 directories with 4 updates (4961d6d)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

opentelemetry-v2.0.8
:sunflower:


Clicking buttons in UI -> "not found"

After OTA Update from 0.4.1 to 0.5 I get these:

Tried it 3 times - cleared caches, used other browser etc.

I might be wront but this seems life littlefs issue.
Can you check if you executed command like below for littlefs.bin after firmware.bin ota?
espota.py -r -i <IP_ADDRESS> -a homespan-ota -s -f .pio/build/c3/littlefs.bin
Try executing ota with above command for littlefs.bin.


Issue #53: get_balance_snapshots() fails with production account

Certain AccountBalanceSnapshot weren't present in production accounts. As a result, calling get_balance_snapshots() in production would fail. Made the following fields optional per discussion with Graham in issue #53.
Changes tested locally and they work!

Sorry.  I saw your comment and applied the changes to the correct class (AccountBalanceSnapshot) and reverted (AccountBalance). I re-tested the changes in production and the Tasty dev environment.

Great! Thanks for this. Could you check and see if the bug you found applies to AccountBalance as well? I suspect it may

Also, it looks like your changes are failing the lint tests, there should be two blank lines between classes.

Merging, but I'll leave the issue open pending verification that this bug doesn't apply to AccountBalance as well.

Hello. I verified  Account->get_balances() works in production and the test environment. It doesnt appear to have the same issue as get_balance_snapshots() did in production.

Shall we close this?

Thanks! I'll close the issue.


Make users confirm their email addresses

Taking a look through the database, I noticed that some people signed
up with junk email addresses. I'd like to put a stop to that.
I loosely followed the :confirmable guide on the Devise wiki.
Fixes #119

I threw this up on staging and created a new account. I actually had my work cut out for me, because my staging environment was running with RAILS_ENV=production. In any event, got that all sorted out. This should be good-to-go.


1.12.2 version released？

Hi:
I can install 1.12.2 version by
pip install onnxconverter-common==1.12.2
But I note that on the home page I can only see the release information of version 1.9.0，
I cannot found any tags/branch information about 1.12.2 except commit.
I am curious about the release process of  onnxconverter-coommon
And I relly want to known  compared to the 1.9 version. what is eleases note of 1.12.2
Thank You!

https://github.com/microsoft/onnxconverter-common/releases/tag/v1.13.0 released


CI: merge NAT46x64 and L4LB GH actions

Both Github actions need to run on Fedora VM (due to the cgroupv2 only requirement) which is provisioned with Vagrant. Currently, only the OSX GH runner supports a nested virtualization. Unfortunately, there are more strict limitations for concurrent OSX runners in the free tier [1].
Another motivation for the merge is that both GH action manifest files used to share almost identical content. With the merge we reduce the boilerplate.
[1]: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
Related: #19264

/ci-l4lb

(lgtm, still needs removal of old workflow file)

/ci-l4lb

/ci-l4lb

GH job has passed - https://github.com/cilium/cilium/runs/6253035105.

@brb This job appears to be required for new PRs, but it doesn't seem to get triggered by /test for some reason. Do you have any ideas why? The workflow declaration seems right at a glance, but I didn't look too closely.
More specifically, we see the following in https://github.com/cilium/cilium/pull/17460 after running /test:

Furthermore, looking at the tree which that PR is opened from, it seems to have the commits from this branch, so I don't think it's just a rebase issue:
https://github.com/cilium/cilium/commits/9f5f0fbc41dadbcc6a5c659d755019d31e7fd92a

@joestringer given this has been merged into just L4LB GH action, we probably just need to disable this action in the cilium project settings to not list this anymore for PRs.

@borkmann okay, thanks for the confirmation. I've removed it from the "required jobs" to merge a PR.


Modelica.Fluid.Examples.HeatExchanger.BaseClasses.WallConstProps Mistake

Reported by falk.cudok on 15 Dec 2014 13:58 UTC
In the model "modelica.Fluid.Examples.HeatExchanger.BaseClasses.WallConstProps" is a mistake in the equations in line 51 and 52. Here the thickness of the Wall must be s/2 instead of s, because here only the half of the whole temperature difference is used.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1633

Comment by beutlich on 19 Mar 2015 09:44 UTC
See source:Modelica/branches/maintenance/3.2.1/Modelica/Fluid/Examples/HeatExchanger.mo@8012#L472

Changelog removed by beutlich on 19 Mar 2015 09:44 UTC

Comment by rfranke on 23 Jun 2015 06:48 UTC
Thank you for the bug report. It was not seen so far because this wall model is just a local sub-component of an example. Unfortunately we don't have general wall models and materials packages in the Modelica Standard Library yet.
SVN 504bde2a146915fc4f55368a7eaf90fabe312292 introduces the fix.

Modified by rfranke on 23 Jun 2015 06:49 UTC


Fix pushed to master.


Change installation instructions to new package name

I noticed we forgot this step! Not a big deal but seemed like a good opportunity to drop you a PR :smile:

ah sweet looks like we both had the same idea at the same time lol


Does this support PY3? Ran into issues using it in maya 2024

Hi, was just curious if this tool confirmed works with Python3 in maya2024?
Was just testing the tool out, i installed the dependencies with the installer, got as far as inputting all my poses, audio and text into the tool.
When I executed "Generate Keyframes" it errored out by the end of the process. I will attach my log:
AutoLipSyncErrorLog.txt
Thank you for your time Joaen!

I found the problem!
It involves words not being inside the libre lexicon, so names like peter, and griffin are not in there.. Used chat gpt to generate additional words I need in ARPAbet transcription code.


Issue with Food Ontology Class Casting

Hello! I am having issues loading food ontology (using owltools), as documented here: https://github.com/RTXteam/RTX-KG2/issues/300.
I'm having trouble tracking down where in the Food Ontology this is occurring, so I wanted to post an issue here, since you might have a better idea of where to look. Here's the specific exception:
Exception in thread "main" java.lang.ClassCastException: class uk.ac.manchester.cs.owl.owlapi.OWLObjectInverseOfImpl cannot be cast to class org.semanticweb.owlapi.model.OWLObjectProperty (uk.ac.manchester.cs.owl.owlapi.OWLObjectInverseOfImpl and org.semanticweb.owlapi.model.OWLObjectProperty are in unnamed module of loader 'app')
	at org.geneontology.obographs.owlapi.FromOwl.getDRBuilder(FromOwl.java:597)
	at org.geneontology.obographs.owlapi.FromOwl.generateGraph(FromOwl.java:212)
	at org.geneontology.obographs.owlapi.FromOwl.generateGraphDocument(FromOwl.java:112)
	at owltools.io.ParserWrapper.saveOWL(ParserWrapper.java:264)
	at owltools.io.ParserWrapper.saveOWL(ParserWrapper.java:209)
	at owltools.cli.CommandRunner.runSingleIteration(CommandRunner.java:3712)
	at owltools.cli.CommandRunnerBase.run(CommandRunnerBase.java:76)
	at owltools.cli.CommandRunnerBase.run(CommandRunnerBase.java:68)
	at owltools.cli.CommandLineInterface.main(CommandLineInterface.java:12)

Thank you!

Thank you for your quick response! I did try using a previous version of foodon, but that didn't work. It still doesn't work (same error).

Can you use Apache jena riot to validate?  That tool has ability to validate and identify in one swoop any owl file syntax issues via:
riot --validate [path to]/foodon.owl
If using some other tool, you have to turn on verbose error reporting in your parser if possible to have a chance at diagnosing which part of owl file is triggering this.  The OWL API "Exception in thread "main" " isn't enough to go on, and usually its the verbose log line before that hints at what phrase or line couldn't be parsed.
Right now with master branch foodon.owl I'm not getting any errors. I just uploaded a version of it with a few tweaks so I'd be dumfounded if you weren't able to load that.  What tool are you using?

I can confirm that the current foodon.owl in the master branch, i.e., this file, seems to validate with Jena riot,
(venv) sramsey-laptop:Desktop sramsey$ export JVM_ARGS="-Djdk.xml.totalEntitySizeLimit=0 -Djdk.xml.entityExpansionLimit=0"
(venv) sramsey-laptop:Desktop sramsey$ riot --validate foodon.owl
WARNING: java.io.tmpdir directory does not exist

(assuming that riot follows the UNIX philosophy of no output means it ran successfully; I am a first-time user of this tool).

I suspect this issue may be an issue with conversion of foodon.owl to obograph JSON. Specifically, in our workflow, we are trying to do:
./owltools foodon.owl -o -f json foodon.json

and this is causing errors, as shown here:
sramsey$ ./owltools foodon.owl -o -f json foodon.json
Exception in thread "main" java.lang.ClassCastException: class uk.ac.manchester.cs.owl.owlapi.OWLObjectInverseOfImpl cannot be cast to class org.semanticweb.owlapi.model.OWLObjectProperty (uk.ac.manchester.cs.owl.owlapi.OWLObjectInverseOfImpl and org.semanticweb.owlapi.model.OWLObjectProperty are in unnamed module of loader 'app')
	at org.geneontology.obographs.owlapi.FromOwl.getDRBuilder(FromOwl.java:597)
	at org.geneontology.obographs.owlapi.FromOwl.generateGraph(FromOwl.java:212)
	at org.geneontology.obographs.owlapi.FromOwl.generateGraphDocument(FromOwl.java:112)
	at owltools.io.ParserWrapper.saveOWL(ParserWrapper.java:264)
	at owltools.io.ParserWrapper.saveOWL(ParserWrapper.java:209)
	at owltools.cli.CommandRunner.runSingleIteration(CommandRunner.java:3712)
	at owltools.cli.CommandRunnerBase.run(CommandRunnerBase.java:76)
	at owltools.cli.CommandRunnerBase.run(CommandRunnerBase.java:68)
	at owltools.cli.CommandLineInterface.main(CommandLineInterface.java:12)

Similarly if I try to do the conversion using robot, I get an error:
/robot convert --input foodon.owl --output foodon.json
OBO GRAPH ERROR Could not convert ontology to OBO Graph (see https://github.com/geneontology/obographs)
For details see: http://robot.obolibrary.org/errors#obo-graph-error
Use the -vvv option to show the stack trace.
Use the --help option to see usage information.

So there may just be an issue that foodon.owl is using an OWL feature that is not supported by obograph JSON. So I think we may be able to use the technique described on this page to work around it, using robot remove. In the short term, we can use foodon-base.owl which both owltools and robot can convert to obograph JSON with no issues.

Ahh.  I run your robot convert command with -vvv and it indicates it can load the ontology, but not save it.  We could check with the robot folks about that.  Indeed, it is not indicating why it can't save in obo format, but good news is it seems to pass rdf validation such that it can load.

I see now, perhaps there are some terms with two definitions by accident etc.  that would cause error on obo save.  We will be implementing ODK soon on the foodon site that should bring some of the obo format specific error reporting into our build pipeline so we can solve that.  In the meantime I'd appreciate if you could let us know if your "robot remove" strategy works.

I'm also seeing this issue with FOODON v2024-02-21 - it does not appear to convert to obojson with ROBOT, and the usual robot remove strategies (those described in the robot docs) do not help.


Docs: clarify AWS instructions on upgrading

In the Upgrading Deis page, it has this to say about AWS:

On AWS, Deis enables the PROXY protocol by default. If an in-place upgrade is required, run deisctl config router set proxyProtocol=1, enable PROXY protocol for ports 80 and 443 on the ELB, add a TCP 443:443 listener, and change existing targets and health checks from HTTP to TCP.

I think it should be clarified a little further.

Do you really need to enable PROXY protocol? Shouldn't this have already been enabled for you when you first installed Deis? If not, how do you enable it? As far as I know, it's not a straight-forward process; there aren't controls for this in the AWS web console.

deisctl config router set proxyProtocol=1 probably needs to be ran before the uprgade, so this note should be higher up the page.

It says to "change existing targets and health checks from HTTP to TCP.", but not exactly what to configure here (like what port.

I almost messed up an upgrade here because ELB thought my nodes are dead; I changed the health check to TCP and it thought my nodes are dead, haha.
For reference, it looks like this in the AWS web console:

Shouldn't this have already been enabled for you when you first installed Deis? If not, how do you enable it?

Yes. At the the end of the AWS install script, deisctl makes a call to enable proxy protocol for you. This section of the docs only applies to users upgrading from v1.5.0 and earlier, since v1.6.0 enables proxy protocol by default.
If you have a cluster newer than v1.5.0, this section of the docs does not apply.

Closed by #5036. Thanks @rstacruz!


Added a navigation bar

Pull Request Type
What kind of change does this PR introduce?
[x] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
Issue Number: #1541

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


"processFilesForTarget" function gets to process .ts files from node_modules

Hi, "angular-compilers" when compiling project processing .ts files from node_modules. It seems that not correct.
Steps to reproduce it:

Get bare project from examples directory
Add new package, which contains .ts file, for example @types/meteor-collection-hooks
Start project via meteor npm start
See errors

> @ start /home/iperevozchikov/Sources/test-pro
> meteor run

[[[[[ ~/Sources/test-pro ]]]]]

=> Started proxy.
[client]: ES2015 modules Compilation: 1038.347ms
node_modules/meteor-typings/1.4/test/test.ts (467, 8): Property '_localStorage' does not exist on type 'typeof Meteor'.
node_modules/meteor-typings/1.4/test/test.ts (468, 8): Property '_localStorage' does not exist on type 'typeof Meteor'.
node_modules/meteor-typings/1.4/test/test.ts (469, 8): Property '_localStorage' does not exist on type 'typeof Meteor'.
node_modules/meteor-typings/1.4/test/test.ts (737, 24): Type '(userId: string) => boolean' has no properties in common with type 'Matcher'.
[client]: TypeScript Files Compilation: 3153.892ms
[client]: HTML Files Compilation: 12.694ms   \
[client]: SCSS Files Compilation: 3.157ms    \
[server]: ES2015 modules Compilation: 555.509ms
node_modules/meteor-typings/1.4/test/test.ts (467, 8): Property '_localStorage' does not exist on type 'typeof Meteor'.
node_modules/meteor-typings/1.4/test/test.ts (468, 8): Property '_localStorage' does not exist on type 'typeof Meteor'.
node_modules/meteor-typings/1.4/test/test.ts (469, 8): Property '_localStorage' does not exist on type 'typeof Meteor'.
node_modules/meteor-typings/1.4/test/test.ts (737, 24): Type '(userId: string) => boolean' has no properties in common with type 'Matcher'.
[server]: TypeScript Files Compilation: 1101.867ms
[server]: HTML Files Compilation: 0.017ms    -
=> Started MongoDB.
=> Started your app.

=> App running at: http://localhost:3000/

My environment:

meteor 1.6.1
<EMAIL_ADDRESS>
I found that "processFilesForTarget" function exclude only angular based dependencies like rxjs, angular, tsickle, etc.
Also was ignored section "exclude" from tsconfig and it's strange undocumented behavior.
Because package would need to integrate into the typescript way of compilation, but don't ignore.

Yes, this is expected behavior which is not well-documented as you said. We added this feature to solve some problems with ES2015 modules which is not bundled for CommonJS, but it causes an ignorance for field exclude in tsconfig.json. This is about external dependency meteor-typescript that we will investigate a solution for this. This post will be updated.
Thank you for your collaboration!

Hi @ardatan . I composed the list of errors in my app and it was be next:

node_modules/ng2-material-dropdown/demo/home/components/dropdown-container.ts;
node_modules/meteor-typings/1.4/test/test.ts;
node_modules/ng-lazyload-image/src/lazyload-image.module.ngfactory.ts;
node_modules/sift/test.ts.

Errors above were perfect be grouped into 3 categories:

test
demo
src

If the src category does not look unambiguous, because it may have really important information for your app.
But others categories may be excluded without any problem for your app by rules based on detecting demo and tests contents.
Also, would be great to enable some custom section in tsconfig.json for the user-based excluding rules, for example
angularTypescript: {
    exclude: [
        "node_modules/**/*/test.ts"
    ]
}


failed to parse sm2 key encryped by legacy or 1.1.1

OpenSSL version：master
Command line test：
openssl genpkey -algorithm SM2  -out  sig.key
openssl ec -in sig.key -sm4 -out sig.key.enc
openssl ec -noout -text -in sig.key.enc
Result：
Could not find key etc. of private key from sig.key.enc

marking as inactive, will be closed at the completion of 3.4 dev without further input


[Idea] Create Apollo on Dependency Injection level

TL;DR: An InjectionToken for options of the default ApolloClient as an alternative way to initialize Apollo, a replacement for Apollo.create (both will be supported).
An example:
import {NgModule} from '@angular/core';
import {HttpClientModule} from '@angular/common/http';
import {ApolloOptionsToken, ApolloModule} from 'apollo-angular';
import {HttpLink, HttpLinkModule} from 'apollo-angular-link-http';
import {InMemoryCache} from 'apollo-cache-inmemory';

@NgModule({
  imports: [HttpClientModule, ApolloModule, HttpLinkModule],
  providers: [
    {
      provide: ApolloOptionsToken,
      useFactory: httpLink => {
        return {
          link: httpLink.create({uri: 'https://api.example.com/graphql'}),
          cache: new InMemoryCache(),
        };
      },
      deps: [HttpLink],
    },
  ],
})
class AppModule {}

Details
Why?
Why we didn't do it in a first place? For one reason, it's way more complex and not all of Angular Developers are familiar with how Dependency Injection's work and how to provide a service other than just put a class in an Array (NgModules.providers). Apollo.create is way simpler and easier to get started with Apollo for everyone and I think it's the best approach.
Do you like it? I already prepared a branch with those changes.

@kamilkisiela any idea when this will be added? I have been running into same issue as @patricknazar with lazy loading routes returning Client has not been defined yet

@nate-snaptech I have gotten past the issue by creating a shared module using the forRoot technique described in the link I posted. You include it into your app module with .forRoot () and without it in the lazy loaded module. The shared module has a constructor that injects apollo and that's where I create the Client. Works well.

@patricknazar figured it out after reading through  https://alligator.io/angular/providers-shared-modules/. The issue was resolved from removing ApolloModule imports/exports on sub modules. Perhaps apollo client was being overwritten of reset upon duplicate imports on lazy loaded modules.  Thanks for the article

Here is an example repo for anyone wanting to see how this works.

@kamilkisiela, first, thanks for all your work on Apollo Angular!
Q: Could Apollo Angular Modules also support something like "Feature Module State Composition" from NGRX?
Feature Module State Composition
// feature.module.ts
import { StoreModule, ActionReducerMap } from '@ngrx/store';

export const reducers: ActionReducerMap<any> = {
  subFeatureA: featureAReducer,
  subFeatureB: featureBReducer,
};

@NgModule({
  imports: [
    StoreModule.forFeature('featureName', reducers)
  ]
})
export class FeatureModule {}

I am a big fan of NGRX, however I feel like Apollo and GraphQL might be even better. While I understand you are working on getting them to work together I have been exploring apollo-link-state as a store for local values. I really like the fact it normalises the way data is fetched throughout the app.
As my app grows I ideally want the code for seperate sections to be lazy loaded.
Currently I have two local state variables, the theme selected and the search value set. While I want the theme globally available and am happy to load it in the root module not everyone would need the search query variable.
// my current Apollo Module just loaded in the root
export class GraphQLModule {
  constructor(
    private apollo: Apollo,
    private httpLink: HttpLink
  ) {
    const cache = new InMemoryCache();
    const remoteHttpLink = httpLink.create({uri});

    const stateLinkConfig = {
      cache,
        defaults: {
    ...themeDefault,
    ...searchQueryDefault
    },
      resolvers: {
        Mutation: {
        ...themeResolverMutation,
        ...searchQueryResolverMutation,
        }
      },
    };

    const stateLink = withClientState(stateLinkConfig as any);

    const apolloLink = ApolloLink.from([
      stateLink,
      remoteHttpLink,
    ] as any);

    apollo.create({
      link: apolloLink,
      cache: cache,
    } as any);
  }
}

I was thinking about using apollo.create(options, 'featureName'), I am just not sure this is the best approach.
Ideally I want a GraphQLBase module that would contain my theme state and my primary remoteHttpLink and then a SearchGraphQL module that would contain the search state. I would still want access to the base remoteHttpLink. So maybe I need to use schema stitching?
What are your thoughts? Would this fit into the work you are doing on modules.
Let me know if there is any specific way I can help out. I tried pulling the repo to play around but I was getting loads of typescript errors after using yarn link.

@vespertilian Here's an example of that: https://github.com/kamilkisiela/apollo-angular-lazy-modules

Also @vespertilian , if I remember correctly, when you StoreModule.forRoot({foo: fooReducer}), it creates an object, called state with foo as a property. Then StoreModule.forFeature('bar', reducers) puts bar property in that object. It means that you share the state throughout entire app.

@vespertilian Right now it's impossible to has multiple caches in one ApolloClient and I don't think it will be ever available, it's just better to create multiple ApolloClients so they manage their own cache.

@kamilkisiela Thank you for your quick reply and the sample repository, it's very helpful.
So initially I did go down the route of creating multiple clients. The issue I had was that Apollo-Dev-Tools don't seem to play well with that setup so I figured I must have been doing it wrong. You don't get to see the store, or the queries you run, as I was really keen to use the dev-tools I backed off from this approach.
I noticed the fact you can create named clients in the Angular documentation apollo.create(options, name?) and there is an issue to Switch between multiple clients in Github for the apollo-client-devtools so maybe I should follow that up. The named clients seem to work better with the dev tools than multiple clients.
However reading this thread for the main apollo-client module seems to imply schema stitching is the direction the team is heading.
I am going to look into schema stitching and see if that works, I will report back soon, any additional thoughts welcome.

@kamilkisiela similar discussion I added to over at apollo-link-state
I think I will see where that one goes.

is this going to happen and publish a new version?

@kamilkisiela
Hello Kamil
Referring to your repo above, am I correct if I say each lazily loaded module creates its own copy of Apollo Client?
Doesn’t this cause to have a separate cache per Apollo Client?
I’m facing a problem now which is I define Apollo Client on app level and I inject Apollo client into components inside lazily loaded module the query is not being stored in cache. So my assumption might be injecting Apollo client in lazily loaded modules might be creating a new instance of the client and hence a new cache.


Added jQuery Tutorial

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
It is jQuery Tutorial.
Why is this valuable (or not)?
It is very easy to understand and useful for begginers.
How do we know it's really free?
It is W3school official page.
For book lists, is it a book? For course lists, is it a course? etc.
It is a Tutorial.
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

@davorpa
fixed the link please check it again !!


Version compatibility detection wrong in 2.1.0.BUILD-SNAPSHOT (Tue Apr 28 00:37:19 EEST 2015)

I'm getting the following warning in my log.
15/04/29 10:04:38 WARN rdd.EsSpark: Incorrect classpath detected; Elasticsearch Spark compiled for Spark 1.0-1.2 but used with Spark 1.3.1
I checked the code and it's using the absence of org.elasticsearch.spark.sql.EsSchemaRDDWriter to detect that this library was compiled for Spark 1.3.1.
In the snapshot I have that library does, indeed, exist.

What is your environment? The behaviour you are describing is correct - EsSchemaRDDWriter is available only in the jar for Spark 1.0-1.2.
It's not clear from this report what is the issue...

This specific Jar, https://oss.sonatype.org/content/repositories/snapshots/org/elasticsearch/elasticsearch-hadoop/2.1.0.BUILD-SNAPSHOT/elasticsearch-hadoop-2.1.0.BUILD-20150427.213847-382.jar, is what I'm using at the moment (because we need the conf change to use spark.es.nodes, etc.).
Are the snapshots not built for 1.3.1?

It is however that is an old snapshot which by mistake, incorporated both Spark 1.2 and 1.3 code into one jar. Try the latest one (typically sbt, maven,gradle will automatically download the latest snapshots) or Beta4.

Great, you're correct. The latest snapshot makes that message go away. I'll close this.
I'll note, in parsing, that I've currently seeing errors with the Spark SQL auto schema discovery but I'll figure out a minimal repro for that.

Cheers!

WARN EsSpark: Incorrect classpath detected; Elasticsearch Spark compiled for Spark 1.3 (or higher) but used with Spark 2.0.0
`lazy val root = (project in file(".")).settings(
organization := "com.fp",
name := "MySbtScalaProject",
version := "1.0",
sbtVersion := "0.13.12",
scalaVersion := "2.11.8", // for %% operator
parallelExecution in Test := true
)
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "2.0.0",
"org.apache.spark" %% "spark-sql" % "2.0.0",
"org.apache.spark" %% "spark-streaming" % "2.0.0",
"org.apache.spark" %% "spark-streaming-kafka" % "1.6.2",
"com.typesafe" % "config" % "1.3.0",
"org.scalactic" %% "scalactic" % "3.0.0",
"org.scalatest" %% "scalatest" % "3.0.0" % "test",
"org.scalamock" %% "scalamock-scalatest-support" % "3.2.2" % "test",
"com.microsoft.sqlserver" % "sqljdbc4" % "4.0",
"org.elasticsearch" %% "elasticsearch-spark-20" % "5.0.0-alpha5",
"com.databricks" %% "spark-csv" % "1.4.0"
)`

@fpopic - Good find! The compatibility check code assumes Spark 1.3 compatibility in the case that EsSchemaRDDWriter is absent. This class was only present in the old es-spark 1.0-1.2 compatibility packages. Since the 1.0-1.2 packages have been removed with the advent of Spark 2.0, the check now erroneously assumes that every version run is es-spark 1.3 compatibility. This is not a blocker, as it simply prints a warning log, but it is indeed confusing.
Could you kindly open a new Github issue for this so that we may track it separately from this currently closed one? Thanks.

Thanks, I did it: https://github.com/elastic/elasticsearch-hadoop/issues/824 (it my first ever :) )


socket.gaierror: [Errno -2] Name or service not known

Dear Robin,
When I run your script I get the following error:
Traceback (most recent call last):
File “bme680-air-quality-RC.py”, line 24, in
client.connect(broker)
File “/home/pi/.local/lib/python2.7/site-packages/paho/mqtt/client.py”, line 941, in connect
return self.reconnect()
File “/home/pi/.local/lib/python2.7/site-packages/paho/mqtt/client.py”, line 1075, in reconnect
sock = self._create_socket_connection()
File “/home/pi/.local/lib/python2.7/site-packages/paho/mqtt/client.py”, line 3546, in _create_socket_connection
return socket.create_connection(addr, source_address=source, timeout=self._keepalive)
File “/usr/lib/python2.7/socket.py”, line 557, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
I searched the internet but the error mainly has something to do with no Internet/DNS problems, which shouldn’t be possible because the Pi is connected to the internet, and the MQTT server is hosted on http://<IP_ADDRESS>:8123/ 1 (My Home Assistant Pi). Do you have any idea/solution?

For a start you should try python3

Thanks for the tip, with python3 I get more or less the same error:
Traceback (most recent call last):
File "bme680-air-quality-RC.py", line 24, in
client.connect(broker)
File "/home/pi/.local/lib/python3.7/site-packages/paho/mqtt/client.py", line 941, in connect
return self.reconnect()
File "/home/pi/.local/lib/python3.7/site-packages/paho/mqtt/client.py", line 1075, in reconnect
sock = self._create_socket_connection()
File "/home/pi/.local/lib/python3.7/site-packages/paho/mqtt/client.py", line 3546, in _create_socket_connection
return socket.create_connection(addr, source_address=source, timeout=self._keepalive)
File "/usr/lib/python3.7/socket.py", line 707, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
Any idea what it could be?

I have not run this code in a while, perhaps there was a change in a dependency that caused it - only googling would answer that.  Deleted that and now it works. Thank you for your help!


Release notes for 2.0.0 point to moma..

https://github.com/fastlane/fastlane-plugin-firebase_app_distribution/releases/tag/v0.2.0
The first 2 links in the description point to
https://firebase.devsite.corp.google.com/docs/app-distribution/android/distribute-fastlane
https://firebase.devsite.corp.google.com/docs/app-distribution/ios/distribute-fastlane
which displays a site like this:

Hi @compojoom - thanks for the heads up. The links have been fixed.
Lee


GRPC not working with https

Expected Behavior
Be able to call GRPC server with https endpoint.
Actual Behavior
When running GRPC server in .NET the endpoint will be https://localhost:XXXX, the current parser does not allow to specify https and the connection fails.
Error invoking remote method 'grpc.loadMethodsFromReflection': Error: 14 UNAVAILABLE: Name resolution failed for target dns:https://localhost:51811
The server is running properly since Postman has no issues, insomnia can't connect at all. Replacing https with grpcs does not work.
Reproduction Steps
No response
Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
8.6.1
What operating system are you using?
Windows
Operating System Version
Windows 11
Installation method
insomnia.rest
Last Known Working Insomnia version
No response

This seems to be more of a DNS problem that a TLS problem. Can you try to consume https://<IP_ADDRESS>:51811 ?

I've tried that, but gave it another try

any update on this?

AFAIK it's atypical to use a http protocol to connect to a grpc server. Without a proxy gRPC server is expecting grpc://.
Please provide screenshots of both postman and insomnia including the request and response panes

There isn't much to show, it simply works with Postman

The implementation is done by Microsoft under https://github.com/grpc/grpc-dotnet
Tried with
<IP_ADDRESS>:51811
Error: 1 CANCELLED: Call cancelled
https://<IP_ADDRESS>:51811
Error: 14 UNAVAILABLE: Name resolution failed for target dns:https://<IP_ADDRESS>:51811
grpcs://<IP_ADDRESS>:51811
Error: 14 UNAVAILABLE: No connection established. Last error: unable to verify the first certificate (2024-04-26T21:44:31.816Z)

Postman is a closed source project. So I can't compare their implementation to insomnia, if you could try grpcurl or grpcui and it works for you that would be a huge help for us to solve this for you.

here's the endpoint tried via grpcurl

here's the endpoint tried via postman,

here's the error in insomnia,

@jackkav any feedback based on the last comments?

Same here.

You must provide grpcs:// in order to use gRPC TLS.

gRPC's use of HTTP/2 is considered complex. It makes it impossible to implement a gRPC client in the browser, instead requiring a proxy. - wikipedia

gRPC/S is not reachable over HTTP/S. From your screenshot I see that in postman you don't provide a protocol fragment in your url and it is assuming you have TLS enabled. Insomnia works similarly but we assume you are not using TLS if you don't provide the protocol.
export const parseGrpcUrl = (grpcUrl: string): { url: string; enableTls: boolean } => {
  if (!grpcUrl) {
    return { url: '', enableTls: false };
  }
  const lower = grpcUrl.toLowerCase();
  if (lower.startsWith('grpc://')) {
    return { url: lower.slice(7), enableTls: false };
  }
  if (lower.startsWith('grpcs://')) {
    return { url: lower.slice(8), enableTls: true };
  }
  return { url: lower, enableTls: false };
};

As you can see TLS is only enabled when grpcs is provided. gRPC doesn't gracefully downgrade, so insomnia needs to know if your server has TLS enabled or not and the grpcs:// prefix implicitly tells it that.
I'm not sure changing this default will be desirable for our existing users. I'm also unsure of any UX that would make this clearer without introducing more inconsistency between various request types.
As in the case of @Gradlon providing the protocol is the solution here.

@AdrianoAE were you able to get it to work with the two other open source grpc clients I listed above?

Last error: unable to verify the first certificate
How are you configuring the TLS "first certificate"? Is it automatically provided by your API framework?

According to this issue, and the linked article, there are 2 forms of gRPC TLS. Insomnia only currently supports insecure and service side TLS. It is possible your server is expecting a mutual TLS connection. If that were the case, we would need to wire up a cert config to both HTTP and gRPC requests and you would need to provide insomnia with a 3 certificate files to pass to the server.
I can take a look and see if we can add mTLS support in #8002 but I'm still not sure this is the issue you are facing since its not clear if you have implemented server side TLS or mutual TLS.

Hello, @jackkav.
I am trying the same of the guys above.
I created a gRPC endpoint that is exposed using HTTPS. There is greet.proto file.
syntax = "proto3";

service Greeter {
    rpc SayHello (HelloRequest) returns (HelloReply);
}

message HelloRequest {
    string name = 1;
}

message HelloReply {
    string message = 1;
}

I tried using grpccurl in a Docker container using the following command:
$ docker run fullstorydev/grpcurl host.docker.internal:5001 Greeter/SayHello

Then I received the following error:
Failed to dial target host "host.docker.internal:5001": tls: failed to verify certificate: x509: certificate is valid for localhost, not host.docker.internal

In that case this is right, because I have not added the "host.docker.internal" to the self-signed certificate.
Now I added it and ran the same command again, then I received the following error.
Failed to dial target host "host.docker.internal:5001": tls: failed to verify certificate: x509: certificate signed by unknown authority

Ok, now I have to configure grpccurl to do insecure request. I just needed to add -insecure as argument and it worked.
$ docker run fullstorydev/grpcurl -insecure host.docker.internal:5001 "Greeter/SayHello"
{
  "message": "Olá"
}

Additionally, I saw in .NET console that when a request WORKS, I get the following logs:
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[39]
      Connection id "0HN6TMLPNB386" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[1]
      Connection id "0HN6TMLPNB386" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[3]
      Connection 0HN6TMLPNB386 established using the following protocol: Tls13
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/2 POST https://localhost:5001/Greeter/SayHello application/grpc -
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      3 candidate(s) found for the request path '/Greeter/SayHello'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint 'gRPC - /Greeter/SayHello' with route pattern '/Greeter/SayHello' is valid for the request path '/Greeter/SayHello'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint 'gRPC - Unimplemented method for Greeter' with route pattern 'Greeter/{unimplementedMethod:grpcunimplemented}' is valid for the request path '/Greeter/SayHello'
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1005]
      Endpoint 'gRPC - Unimplemented service' with route pattern '{unimplementedService}/{unimplementedMethod:grpcunimplemented}' is valid for the request path '/Greeter/SayHello'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint 'gRPC - /Greeter/SayHello'
dbug: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[15]
      Static files was skipped as the request already matched an endpoint.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'gRPC - /Greeter/SayHello'
dbug: Grpc.AspNetCore.Server.ServerCallHandler[10]
      Reading message.
dbug: Microsoft.AspNetCore.Server.Kestrel[25]
      Connection id "0HN6TMLPNB386", Request id "0HN6TMLPNB386:00000001": started reading request body.
dbug: Microsoft.AspNetCore.Server.Kestrel[26]
      Connection id "0HN6TMLPNB386", Request id "0HN6TMLPNB386:00000001": done reading request body.
dbug: Grpc.AspNetCore.Server.ServerCallHandler[15]
      Sending message.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'gRPC - /Greeter/SayHello'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/2 POST https://localhost:5001/Greeter/SayHello application/grpc - - 200 - application/grpc 18.3435ms

However, when I call from Insomnia, I got these logs.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[39]
      Connection id "0HN6TMLPNB387" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[1]
      Connection id "0HN6TMLPNB387" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HN6TMLPNB387" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[39]
      Connection id "0HN6TMLPNB388" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[1]
      Connection id "0HN6TMLPNB388" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HN6TMLPNB388" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
      System.IO.IOException:  Received an unexpected EOF or 0 bytes from the transport stream.
         at System.Net.Security.SslStream.<FillHandshakeBufferAsync>g__InternalFillHandshakeBufferAsync|189_0[TIOAdapter](TIOAdapter adap, ValueTask`1 task, Int32 minSize)
         at System.Net.Security.SslStream.ReceiveBlobAsync[TIOAdapter](TIOAdapter adapter)
         at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
         at System.Net.Security.SslStream.ProcessAuthenticationWithTelemetryAsync(Boolean isAsync, Boolean isApm, CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.OnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
      System.IO.IOException:  Received an unexpected EOF or 0 bytes from the transport stream.
         at System.Net.Security.SslStream.<FillHandshakeBufferAsync>g__InternalFillHandshakeBufferAsync|189_0[TIOAdapter](TIOAdapter adap, ValueTask`1 task, Int32 minSize)
         at System.Net.Security.SslStream.ReceiveBlobAsync[TIOAdapter](TIOAdapter adapter)
         at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
         at System.Net.Security.SslStream.ProcessAuthenticationWithTelemetryAsync(Boolean isAsync, Boolean isApm, CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.OnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[2]
      Connection id "0HN6TMLPNB387" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[2]
      Connection id "0HN6TMLPNB388" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HN6TMLPNB387" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HN6TMLPNB388" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[39]
      Connection id "0HN6TMLPNB389" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[1]
      Connection id "0HN6TMLPNB389" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HN6TMLPNB389" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
      System.IO.IOException:  Received an unexpected EOF or 0 bytes from the transport stream.
         at System.Net.Security.SslStream.<FillHandshakeBufferAsync>g__InternalFillHandshakeBufferAsync|189_0[TIOAdapter](TIOAdapter adap, ValueTask`1 task, Int32 minSize)
         at System.Net.Security.SslStream.ReceiveBlobAsync[TIOAdapter](TIOAdapter adapter)
         at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
         at System.Net.Security.SslStream.ProcessAuthenticationWithTelemetryAsync(Boolean isAsync, Boolean isApm, CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.OnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[2]
      Connection id "0HN6TMLPNB389" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HN6TMLPNB389" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[39]
      Connection id "0HN6TMLPNB38A" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[1]
      Connection id "0HN6TMLPNB38A" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HN6TMLPNB38A" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
      System.IO.IOException:  Received an unexpected EOF or 0 bytes from the transport stream.
         at System.Net.Security.SslStream.<FillHandshakeBufferAsync>g__InternalFillHandshakeBufferAsync|189_0[TIOAdapter](TIOAdapter adap, ValueTask`1 task, Int32 minSize)
         at System.Net.Security.SslStream.ReceiveBlobAsync[TIOAdapter](TIOAdapter adapter)
         at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
         at System.Net.Security.SslStream.ProcessAuthenticationWithTelemetryAsync(Boolean isAsync, Boolean isApm, CancellationToken cancellationToken)
         at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.OnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel.Connections[2]
      Connection id "0HN6TMLPNB38A" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HN6TMLPNB38A" sending FIN because: "The Socket transport's send loop completed gracefully."

I got the logs from Insomnia logs folder. Holpe it helps.
[2024-09-25 22:42:43.265] [info]  [gRPC] connecting to url=localhost:5001 with TLS
[2024-09-25 22:42:43.731] [error] Error occurred in handler for 'grpc.loadMethodsFromReflection': Error: 14 UNAVAILABLE: No connection established. Last error: connect ECONNREFUSED <IP_ADDRESS>:5001 (2024-09-26T01:42:43.731Z)
    at callErrorFromStatus (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\@grpc\grpc-js\build\src\call.js:31:19)
    at Object.onReceiveStatus (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\@grpc\grpc-js\build\src\client.js:421:73)
    at Object.onReceiveStatus (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\@grpc\grpc-js\build\src\client-interceptors.js:323:181)
    at C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\@grpc\grpc-js\build\src\resolving-call.js:129:78
    at processTicksAndRejections (node:internal/process/task_queues:77:11)
    at runNextTicks (node:internal/process/task_queues:64:3)
    at process.processImmediate (node:internal/timers:454:9)
for call at
    at ServiceClientImpl.makeBidiStreamRequest (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\@grpc\grpc-js\build\src\client.js:405:32)
    at ServiceClientImpl.serverReflectionInfo (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\@grpc\grpc-js\build\src\make-client.js:105:19)
    at C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\grpc-reflection-js\build\src\client.js:55:46
    at new Promise (<anonymous>)
    at Client.listServices (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\node_modules\grpc-reflection-js\build\src\client.js:36:16)
    at getMethodsFromReflection (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\main.min.js:68538:35)
    at loadMethodsFromReflection (C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\main.min.js:68586:25)
    at C:\Users\darnl\AppData\Local\insomnia\app-10.0.0\resources\app.asar\main.min.js:68390:71
    at WebContents.<anonymous> (node:electron/js2c/browser_init:2:83553)
    at WebContents.emit (node:events:519:28)

Just a thought...
Since I am seeing the log ... with TLS, the gRPC client is being generated using credentials.createSsl() instead of credentials.createInsecure().
https://github.com/Kong/insomnia/blob/08e20b65d03d213eb2cee275de0
https://github.com/Kong/insomnia/blob/08e20b65d03d213eb2cee275de06d7f2dfde685e/packages/insomnia/src/main/ipc/grpc.ts#L362-L365
@jackkav, is it possible that we should use credentials.createInsecure() when configured to not validate certificates? The enableTls variable is set based on whether the URL starts with grpc:// (here), but if I have configured it to not validate certificates, I would not want to use credentials.createSsl().

Nice catch, thanks for sharing. I think we could just wire up this skip verification argument to the insomnia general preferences and it should unblock this.

@darnley Nice catch, thanks for sharing. I think we could just wire up this skip verification argument to the insomnia general preferences and it should unblock this. I think we need to wait a week or two for the next grpc-js to go out.
I tried to use createInsecure with a local gRPC tls server and got the same Error 14 UNAVAILABLE, so I guess we can just wait.

Good! I think that the fix on https://github.com/grpc/grpc-node/pull/2812 to enable us to reject unauthorized will fix this issue. I setup my PC to set environment variable NODE_TLS_REJECT_UNAUTHORIZED to 0...

Then I did the same request in Insomnia and IT WORKED!

I'll be upgrading grpc-js in #8044 and wiring up reject unauthorized in a follow up PR so expect this to be coming soon.


⚠ SkipTheCommericals has degraded performance

In fbd9822, SkipTheCommericals ($STC) experienced degraded performance:

HTTP code: 200
Response time: 1551 ms

Resolved: SkipTheCommericals performance has improved in 1370d09.


Logs and Fail2ban

Hello,
where are the openvpn logs for block attaq with fail2ban ?
https://www.fail2ban.org/wiki/index.php/HOWTO_fail2ban_with_OpenVPN
Thanks

Hi, you can configure the container to log to the syslog of the host, thanks to --log-driver syslog  option.
You can also find container's logs in /var/lib/docker/containers/<container_id>/<container_id>-json.log  (if using json logging driver, which is the one by default). https://sematext.com/blog/docker-logs-location/


meet error when cross compiling resnet50

when I follow the command of setting up cross-compiler, it has a mistake below (bash -x build.sh):
~/Vitis-AI-master/demo/VART/resnet50/../common/common.h:34:10: fatal error: xir/util/data_type.hpp: No such file or directory
34 | #include <xir/util/data_type.hpp>
|          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
i don't know the reason, can you help me?

Hi @JunnanLi
Could you find the data_type.hpp file under your cross-compiler installation path? If the cross-compiler is installed correctly, you will find the file, as shown below.
xxxxxxxxxxxxx:petalinux_sdk% find ./ -name data_type.hpp
./sysroots/aarch64-xilinx-linux/usr/include/xir/util/data_type.hpp
If not, please check the step 4 in https://github.com/Xilinx/Vitis-AI/tree/master/setup/mpsoc/VART#step1-setup-cross-compiler
Make sure  vitis_ai_2020.2-r1.3.2.tar.gz is installed correctly.

I have run the command "tar -xzvf vitis_ai_2020.2-r1.3.2.tar.gz -C ~/petalinux_sdk/sysroots/aarch64-xilinx-linux", and it has only two files under ~/petalinux_sdk/sysroots/aarch64-xilinx-linux/usr/include/xir/util:
xxxxxxxx:~/petalinux_sdk/sysroots/aarch64-xilinx-linux$ ls usr/include/xir/util/
any.hpp  tool_function.hpp


Docstring updates

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
38 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.01%) to 91.628%

Files with Coverage Reduction
New Missed Lines
%

.nox/test-3-10/lib/python3.10/site-packages/cogent3/app/composable.py
7
92.65%

.nox/test-3-10/lib/python3.10/site-packages/cogent3/app/evo.py
31
91.86%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
178111

Relevant Lines:
194384

💛  - Coveralls


Create a create/update view for budget object

So users can create new or update existing budgets.

re-opening - want to add some additional data to the budget view
some ideas

current spend vs budget
average monthly spend in this category for the last 6 months
variance or standard deviation information

moved those ideas to #9, this is complete


Focus indicator in input fields can look weird in debug land

@isidorn maybe do a similar solution as outlined in https://github.com/Microsoft/vscode/pull/2497

@bpasero so not showing focus in this case would be fine? Since that is what the fix you mentioned would do. I guess a blinking cursor is enough of an indication.
Then I would do this for the repl input as well and not show focus since there is the cursor

@isidorn no I suggest to draw the blue around the entire box including the ">". Check the search input field and how it shows the toggles within.

(we decided to not hide the outline even for input fields, so we should not hide it in the repl either)

For the conditional breakpoints we gotta find something that does not look so bad :)

Ok, I will do it for the repl.
Forwarding this one to @bgashler1 to think about how to show conditional breakpoint widget being focussed

@isidorn for the conditional breakpoint try to remove the 1px border from the input box, it looks weird anyways to not align the input field nicely with the sides:

When I do that, the blue outline does not show up, but there I am not worried so much because of the large orange indicator.

Sounds good to me, orange should be a clear focus indicator

Ok I am no longer showing the blue focus as we agreed. The issue now is that if the user open the conditional breakpoint widget and clicks somewhere else the outline is equally orange, so the user might not feel like he lost focus.
I can bring this up in our weekly UX sync where we should discuss accessibility and focus anyway
fyi @stevencl @bgashler1

@isidorn yup, would leave this one open, also because of REPL.

Repl is a separate bug which I just now fixed #2536
Let me know if I should still reopen this :)

:+1:


Use guild member scope for roles

We could use the guilds.members.read scope to access<EMAIL_ADDRESS>which returns roles.

I didn't know a scope like that existed - is there any documentation for it?

Ah I found it - https://discord.com/developers/docs/resources/user#get-current-user-guild-member

Yep yep <3 If you want, I can pr it. Playing anyways rn with it

Feel free - just make sure the README is updated accordingly if bot token requirements are scrapped.
My only concern reading through it is the potential privacy concerns people might have about the fact the application can now access all their information across all the guilds rather than just the ones its a part of:

To that end perhaps there can be an option in the Worker to either do it this way or do it the current way with a bot token?
If you want to talk more realtime about it feel free to message me (Erisa#9999) on Discord, you can join gg/cloudflaredev if we have no mutual servers.

we sure have mutuals :D

I tried to get ppl in my discord to adopt this sign in mechanism but the all information across all guilds permission was a dealbreaker for folks. It would be awesome there was some way to relax this permission.
Thanks for building this, its makes it really easy to build stuff around discord servers.


Look into avoiding to start timers if timeout is small

This library should try to handle this so that the timer will be invoked as soon as possible after the time interval expired. This means that we can not give any guarantees beyond what the underlying timer implementation already provides.
Suggested behavior:

If passing a time interval of 1.0 seconds, invoke the timer at least 1.0 seconds later (close approximation).
If passing a time interval of 0.000001 seconds, invoke the timer at least 0.000001 seconds later (probably more like 0.001 seconds).
If passing a time interval of 0.0 seconds, invoke the timer at least 0.0 seconds later (propably more like 0.001 seconds).
If passing a time internal of -1.0 seconds, invoke the timer at least 0.0 seconds later (probably more like 0.001 seconds).

Negative timeout values could be considered an invalid value. However, they're often the result of some time difference computation, so (IMO) it should be safe to pass them to this lib.

Suggested behavior: […]

This is already supported with react/event-loop v0.4, so there's really nothing to be done here for any recent version :)
However, this does not currently work with react/event-loop v0.3 because it throws an Exception when starting a timer < 0.001s.
I'll look into how much sense it makes to add a BC layer like the following:
if (defined('\React\EventLoop\Timer\Timers::MIN_INTERVAL')) {
    $time = max($time, \React\EventLoop\Timer\Timers::MIN_INTERVAL);
}

However, this does not currently work with react/event-loop v0.3 because it throws an Exception when starting a timer < 0.001s.

I've filed a PR here: https://github.com/reactphp/event-loop/pull/47


Give a setup.py script ?

It has been asked to furnish a script.py to install the manager. This would be nice to integrate it during Recalbox compilation part.
Problem is, it seems required to be compatible with distutils.

'virtualenv' usage is not really usable within Distutils install, we should be able to drop its usage on Recalbox as it should be safe enough;
Distutils is a low level module to perform install and is not able to install dependancies from 'setup.py' file like setuptools or pip do.
We have actually three dependancies, autobreadcrumbs and Django, that are required, the third dep is psutils, is optional and should be allready installed on last Recalbox 3.3.x branch;
'autobreadcrumb' is safe enough to install (only depend on Django);
'Django' is more safe to install because it does not have any required dependancy;
Installing webapp project with distutils may seem a little tricky, because it's not really targeted to be a package, just an user-end stuff. It have static files and media files, potentially these files should be modified/deleted during instance work and new ones should be created. This is not really something you can do within a Python package in your /usr/lib/** or other system dir;
Actually, there is only the sqlite3 database file that should change during instance work. This may be avoided with disabling the 'session' module from Django, but then we totally lose capacity for enabling authentication. Then the only solution would be to have some SGBD instance like mysql/postgres working on the Recalbox, so data could be registered there without to update a sqlite3 database file;
Also maybe storing the sqlite3 file within /tmp ? (Can't be just stored in memory, else we would have to init it for each Recalbox boot).

So to resume, some point to check with Recalbox team(@digitalLumberjack @rockaddicted @MikaXII) :

Need Python packages autobreadcrumb and Django==1.8.x to be ready before (in buildroot?). (This would require to maintain there last package version on Recalbox build system);
Find a directory to use where the manager can write files like static files, media files or even the database file;
Maybe use a SGBD to store the manager database ? (not very confident with this as SGBD is a big memory consumption);

When all these point are fixed, i can start to add the 'setup.py' for Distutil usage.

It's not easy to create a package with your virtualenv.
Currently I don't use virtualenv.
Sample of mk file :
################################################################################
#
# recalbox-manager
#
################################################################################
RECALBOX_MANAGER_VERSION = 1.0.0
RECALBOX_MANAGER_SITE = $(call github,sveetch,recalbox-manager,$(RECALBOX_MANAGER_VERSION))
RECALBOX_MANAGER_DEPENDENCIES = python python-psutil python-django python-autobreadcrumbs

#define RECALBOX_MANAGER_BUILD_CMDS
#    $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) install
#endef

define RECALBOX_MANAGER_INSTALL_TARGET_CMDS
	mkdir -p $(TARGET_DIR)/usr/recalbox-manager
	cp -r $(@D)/* $(TARGET_DIR)/usr/recalbox-manager

	#NOT WORK
	#$(TARGET_DIR)/usr/bin/python2.7 $(TARGET_DIR)/usr/recalbox-manager/manage.py migrate
	#$(INSTALL) -D $(@D)/* $(TARGET_DIR)/usr/recalbox-manager
endef

define RECALBOX_MANAGER_INSTALL_INIT_SYSV
	$(INSTALL) -m 0755 -D package/recalbox-manager/script/S94manager $(TARGET_DIR)/etc/init.d/S94manager
endef

$(eval $(generic-package))

RECALBOX_MANAGER_DEPENDENCIES = python python-psutil python-django python-autobreadcrumbs
There are all dependencies to run your manager but, I need make a script or find an another solution to execute /manager.py migrate one time. After that I try if the manager can launch manually on recalbox and after the init script, I have a sample not complete :
#!/bin/sh
# Start/stop recalbox-manager

PIDFILE=/var/run/recalbox-manager.pid
SITEPATH=/usr/recalbox-manager
#. $SITEPATH/bin/activate

NAME="S94manager"
RUN_AS=`id -u root`
CMD=/usr/recalbox-manager/manage.py
OPTS="runserver <IP_ADDRESS>:80 --noreload"

do_start() {
    start-stop-daemon --start --background --user $RUN_AS --pidfile $PIDFILE --chuid $RUN_AS --startas $CMD $OPTS
}

do_stop() {
    start-stop-daemon --stop --user $RUN_AS
}

case "$1" in
start)
    echo "Starting $NAME"
    do_start
        ;;
stop)
    echo "Stopping $NAME"
    do_stop
    ;;
restart)
    echo "Restarting $NAME"
    do_stop
    do_start
    ;;
*)
    echo "Usage: /etc/init.d/S94Manager {start|stop|restart}"
    exit 2
    ;;
esac
exit 0

PS : I don't receive notification with your @MikaXII

You should have continue discussion in #29 as this issue was a mind note about prepare package with "setup.py", but no problem, let's continue here.
Well first, virtualenv is only used to don't have to manage package system for project dependancies. It also avoid package versions conflict on system. I understand this is not really suitable within an OS building.
But in the Recalbox context, you can avoid virtualenv requirement, because there should not have conflict as there are no other Python webapp projects.
For the 'migrate' command step, there is a little trick you could use because this migrate is only here to initialize project database. But we don't really use it, Django require it but don't care if you created it from your install or not.
From there you should be able to launch the manage.py and the runserver command.
A note about python-autobreadcrumbs, i dont have knowledge about a package system for autobreacrumb that i created, if you don't allready packaged it, you will have to because i dont think it allready exists anywhere.

"copy/paste the created db.sqlite3 into your manager project install (within your Recalbox building) "
I've exactly the same idea =D.
For python-autobreadcrumbs I create the buildroot package, we have all dependencies required I test it today :)

Great news, let me know about if you succeed or not to achieve this. For autobreadcrumb the only requirement is Django and i dont plan to add any dependancy.
I'm letting this issue open until you confirm any success.


Process Timers Error

Describe the bug
When running a node js script that should be waiting for a child process to execute fails to process, fails. During the same execute cycle, other processes pass which makes me feel this could happen when executing multiple child processes. If resolved, an Ethereum development stack would be fully supported within Stackblitz, it currently is able to compile solidity but not test.
Link to the blitz that caused the error
https://stackblitz.com/github/derekbar90/hardhat-boilerplate-typescript?file=package.json
Steps to reproduce
npm install
npm run test
Expected behavior
Should pass all tests.
➜  hardhat-boilerplate-typescript git:(master) ✗ yarn test
yarn run v1.22.17
warning ../../../package.json: No license field
$ hardhat test
Compiling 33 files with 0.8.10
Generating typings for: 33 artifacts in dir: ./types for target: ethers-v5
Successfully generated 47 typings!
Solidity compilation finished successfully

  Random Token
    ✓ Should create and mint total supply
    ✓ Should create snapshot (82ms)
    ✓ Should have different snapshots when taken twice (156ms)
    ✓ Should not create snapshot when sender lacks admin role
    ✓ Should add allowance via permit (242ms)

  5 passing (4s)

✨  Done in 16.45s.

Parity with Local

[X] I have run the project in my local machine and I could not reproduce the issue.

Screenshots
No response
Platform
Browser name  = Chrome
Full version  = 98.0.4758.102
Major version = 98
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
performance.memory = {
  "totalJSHeapSize": 132370676,
  "usedJSHeapSize": 124267408,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Hash = e1937cc6e2ee7e7a1da198d43493f4063378a564

Additional context
"before all" hook for "Should create and mint total supply":
     Error: Timeout of 40000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/projects/bnmipwyjg.github/test/01_random_token.ts)
      at listOnTimeout (https://bnmipwyjg--github.w.staticblitz.com/blitz.e1937cc6e2ee7e7a1da198d43493f4063378a564.js:6:272931)
      at processTimers (https://bnmipwyjg--github.w.staticblitz.com/blitz.e1937cc6e2ee7e7a1da198d43493f4063378a564.js:6:273745)
      at https://bnmipwyjg--github.w.staticblitz.com/blitz.e1937cc6e2ee7e7a1da198d43493f4063378a564.js:15:141537
      at https://bnmipwyjg--github.w.staticblitz.com/blitz.e1937cc6e2ee7e7a1da198d43493f4063378a564.js:15:141845

Hey there! Sorry for the late response.
The project doesn't seem to exist anymore. Do you have link for us?
Also it would be very helpful if you had a minimal reproduction for us.

@d3lm Hey sorry about this, I had committed some stuff by accident and needed to bring it private. I've changed the visibility back to public. You should be able to reproduce now. Sorry about that! Thank you in advance for your time looking into this.

@jrvidal I think we can remove this label now. Thank you for adding it in the meantime.

We use that native addon now, and are planning to use more in the future.
If there's an easy way to fallback to wasm, we'll do. We use NAPI-rs, which plans to make it easy.

Yep that is right. They are planning Wasm support. I am going to close this issue for now because there is not much we can do about native addons on our end. If you run into the timer issue again though, please feel free to file a new report. Would love to see an Ethereum development stack running in WebContainer 🙌


How many iterations to train VQ-VAE?

I'm trying to train VQ-VAE with my dataset.
I want to know about how long it will take (ex. your great audio samples).

The model used for the audio sample was trained for 945k steps.

Thanks!
I trained with my dataset, and after about 500k steps, I got generated speech that can get the words.


Revert "root: fix build on aarch64-darwin"

Reverts NixOS/nixpkgs#228588
See #157069

@wegank  This was reverted once before. Inconsistent default CXX standard between the platforms is definitely not the way to go.

Then "-Droot7=OFF" on darwin?


just notice its for Jetson Xavier/TX1/TX2,what if jetson nano

just notice its for Jetson Xavier/TX1/TX2,what if jetson nano??

Yes Nano is supported. README is corrected in the python dev branch of repo, preparing to be merged. Sorry about it.

From: vxgu86<EMAIL_ADDRESS>Sent: Wednesday, June 26, 2019 9:35:04 PM
To: dusty-nv/jetson-inference
Cc: Subscribed
Subject: [dusty-nv/jetson-inference] just notice its for Jetson Xavier/TX1/TX2,what if jetson nano (#348)
just notice its for Jetson Xavier/TX1/TX2,what if jetson nano??
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/dusty-nv/jetson-inference/issues/348?email_source=notifications&email_token=ADVEGK42YSD4NODL2JOJIKLP4QKMRA5CNFSM4H3XJKRKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G36JALA, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADVEGK7N3UNJNYRPLLBKUEDP4QKMRANCNFSM4H3XJKRA.

This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.


Framework/husky setup

🚀 [Related Issue: #11]
basic husky setup to lint & test on pre-commit

[🔗Other] Added husky and some eslint rules & plugins

mainly about import orders & filenames
for jest added clearAllMocks & restoreAllMocks on setupFilesAfterEnv to prevent excessive heap usage

Notes

do we have convention about file naming? pascalCase & camelCase are both used for now

Next Up?

I will start to add tests in utils

You may proceed and merge this PR


Rename README.md to readme.md

@vermegi can you please approve this? I fixed the casing on readme.md that caused broken links.

LGTM!


Bumper Backports - Stabilize Consensus P2P messaging API

This makes one more change to the p2p messaging API, which allows consensus
engines to save messages with their signatures and enables validation of
message signatures after the fact by an engine or observer.

This PR is based on #1921. New commits are:
12393d1d3 Stabilize p2p messaging API

Updated to include changes to Python SDK, which I missed somehow first time around.

Since I was only looking at commits that touched validator/ sdk/ or signing/ I missed the commits that actually turned on the devmode tests. Also added a commit to actually test that message signing and verification works.

Tested locally against sawtooth-pbft liveness test.


⚠ Bofrost.lu has degraded performance

In 473c790, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1007 ms

Resolved: Bofrost.lu performance has improved in 7e7d46b after 6 minutes.


Retry deposition

When a software record fails to be archived in Software Heritage, we flag it as "FAILED" but we don't do anything with that information.
We need a mechanism to retry the deposition in Software Heritage.

Usually it fails because something was wrong with the user's input.


Is there a Python type related bug here, due to the operator "+" not supporting the addition of [int] and [str]?

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
# fastapi/docs_src/python_types/tutorial003.py

def get_name_with_age(name: str, age: int):
    name_with_age = name + " is this old: " + age
    return name_with_age

Description
I am currently doing some research on the security of Python type.
Is there a Python type related bug here, due to the operator "+" not supporting the addition of [int] and [str]?
" is this old: " + age
Will it affect your code security?
I sincerely hope that I can help Fastapi become stronger and safer
Operating System
Linux
Operating System Details
No response
FastAPI Version
0.85.0
Python Version
3.10.6
Additional Context
No response

@PVMPATCH : it's not related to FastAPI, but to Python in general. You can find more information on : https://stackoverflow.com/questions/62201680/why-cant-python-concatenate-a-string-and-int
The Zen of Python say : Explicit is better than implicit.
https://peps.python.org/pep-0020/

@PVMPATCH : it's not related to FastAPI, but to Python in general. You can find more information on : https://stackoverflow.com/questions/62201680/why-cant-python-concatenate-a-string-and-int
The Zen of Python say : Explicit is better than implicit. https://peps.python.org/pep-0020/

I mean this code can not run successfully in Python 3.10.6.
I think this error should be fixed.

https://github.com/tiangolo/fastapi/blob/master/docs_src/python_types/tutorial003.py

@PVMPATCH : ok, i understand. In fact, this code does not work, but it is to show this problem that it was written. You can see the documentation page where this code is posted to better understand:
https://fastapi.tiangolo.com/python-types/#more-motivation

It's just an example used by documentation (precisely what @axel584 linked). Context is important 😄

@PVMPATCH Python doesn't support adding strings and integers directly. It would raise an error. You have to cast it first. It's a feature of the language.
Please read that whole section of the documentation you linked. It's explaining how Python works, and how type annotations and tools can help you detect bugs in your code like that one and fix it.


Add Paquebot.io functionalities

Include:

subscriber count
batch send message to all subscribers
the ability to set custom welcome text

It's better to implement some sort of chained operation pattern first. This way the owner could start a push, and send multiple messages to all the subscribers, and then end the push.

We can implement this first, just support batch sending of a single message is fine.
We can improve this after #17 is done.

Not necessary now since we have channels.


dotenv support

After I struggled some time to get the ini parser to work, I realised there is no possibility to use dotenv format, that is, ini files without sections, or exactly the output of env bash command.
This would actually allow something like env |jinja2 helloworld.tmpl --format=ini, that brings environment support more close to j2cli project.
I had to dig in closed github issues to find out about environ() trick (which is undocumented also) and I personally find hacky, since it requires special jinja templates, not sharable with ansible for example.
Thank you for your time!

Yeah, ini doesn't really overlap with env files. env files are much less structured and in lots of cases don't even need to be parsed since their format allows them to be directly set into env.
I'd be down for supporting an env format.

@razvanphp mind commenting on #39? Would that help you out? That adds a --format=env.

Looks... simple, I'm not proficient in python tho.
My only concern is about the strictness of the input file quality, for example what if there are spaces between =, value and/or key, inline comments, and most importantly, special characters in either of the sides.
I used successfully until now crudini tool, also written in python, maybe it can be a good inspiration. You can also check the example.ini file for some easy-to-add tests.
Thank you again for readiness

Oh, right. I should handle empty lines and commented lines. I tested with my env as input and things were fine. Will handle the other cases.

I've addressed empty lines and commented lines. Are there any other cases? fwiw crudini is an entirely different thing. That's specifically for ini files. What you're suggesting here is a format that is standard, called envfile.
Which is consumed by several tools already, notably docker. The format is specifically designed for environment variables and not intended to replace or even relate to ini files.
See https://github.com/docker/docker/blob/master/runconfig/opts/envfile.go#L26 for Docker's parsing of this file.

Ok, fair enough, LGTM then.
Please add the documentation tho, I know I struggled because of lack of examples.
Any idea when this would reach pip? I saw you already have 7.0-dev in works.


ViT Hybrid Pretrained models

Thanks for making ViT models available! Do you plan to opensource the hybrid models as well? If so, any idea on when it will be available by?

I don't have any active training going on for one of these models. Perhaps in the future depending on GPU resources available. If anyone with some free GPUs interested help is always appreciated. It'll take roughly 4-6 days for the smaller ones on 2 Titan RTX class GPU.

Sure, I can help. Will take more time since I dont have 2 GPUs. Should I get started with using your train.py?

On the other hand -- https://github.com/google-research/vision_transformer/issues/22

Heh, by the time you train one from scratch they'll have a much better one
... maybe good to wait and see how theirs turn out. Although it may be
difficult to support in PyTorch if they use a ResNet backbone that's
different from the 'v1b' style common in PyTorch. I haven't supported the
ResNet v2 variation that's common in Tensorflow.
On Fri, Nov 6, 2020 at 11:38 AM Sri Krishna<EMAIL_ADDRESS>wrote:

On the other hand -- google-research/vision_transformer#22
https://github.com/google-research/vision_transformer/issues/22
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rwightman/pytorch-image-models/issues/271#issuecomment-723262880,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLQICADJEB2WUFTQ4WFFPDSORGCPANCNFSM4TJZME3Q
.

Yes, I think they use ResNet v2, which they used in their previous BiT paper. They had provided the pytorch models for them, maybe useful -- https://github.com/google-research/big_transfer/blob/master/bit_pytorch/models.py

Hi，they have added the ViT Hybrid Pretrained models in Adds R50+ViT-B/16 model .Can you transfer format to this project model vision_transformer.py#L75

@Lin-Zhipeng I've seen it, but I don't currently have the ResNet blocks it's built on implemented here... so I'd likely implement the BiT version of ResNet first... which has GroupNorm and some other minor differences (closer to a TF 'v2' ResNet) than the ResNets here.

@Lin-Zhipeng I've seen it, but I don't currently have the ResNet blocks it's built on implemented here... so I'd likely implement the BiT version of ResNet first... which has GroupNorm and some other minor differences (closer to a TF 'v2' ResNet) than the ResNets here.

Thanks for your reply. Looking forward the update. 😄

Any update on this issue? Thanks a lot.

@junyongyou @Lin-Zhipeng  started working on it now, along with fixing the imagenet21k models (wrong resolution, pre_logits support)  and some  support to run imagenet21k validation

@junyongyou @Lin-Zhipeng FYI, these models are working on my branch right now, but I have some more work/testing to do before I can merge to master
https://github.com/rwightman/pytorch-image-models/tree/imagenet21k_datasets_more
In addition to the official Hybrid R50 model working, I updated the imagenet21k weights to include the representation layer and made proper model defs for them, unfortunately the official jax models have zero'd out the 21k head weights so they don't actually work to use as is (but fine for finetune). I also included the Big Transfer R50 v2 models (BiT) since there was overlap with the ViT R50 backbone. Those do have working 21k heads.

@junyongyou @Lin-Zhipeng FYI, these models are working on my branch right now, but I have some more work/testing to do before I can merge to master
https://github.com/rwightman/pytorch-image-models/tree/imagenet21k_datasets_more
In addition to the official Hybrid R50 model working, I updated the imagenet21k weights to include the representation layer and made proper model defs for them, unfortunately the official jax models have zero'd out the 21k head weights so they don't actually work to use as is (but fine for finetune). I also included the Big Transfer R50 v2 models (BiT) since there was overlap with the ViT R50 backbone. Those do have working 21k heads.

Thanks a lot. I will try it.

@junyongyou @Lin-Zhipeng FYI, these models are working on my branch right now, but I have some more work/testing to do before I can merge to master
https://github.com/rwightman/pytorch-image-models/tree/imagenet21k_datasets_more
In addition to the official Hybrid R50 model working, I updated the imagenet21k weights to include the representation layer and made proper model defs for them, unfortunately the official jax models have zero'd out the 21k head weights so they don't actually work to use as is (but fine for finetune). I also included the Big Transfer R50 v2 models (BiT) since there was overlap with the ViT R50 backbone. Those do have working 21k heads.

Thanks a lot. I will try it.

merged

merged


Passing arguments for python different than node? I needed to add --

Using python via justfile, this works:
switch *args:
    python "$PYTHON_SCRIPTS/switch/switch.py" {{ args }}

Using node on zsh prompt, passing #123456 as argument, this works:
node "$NODE_SCRIPTS/color/color.mjs" #123456

Using node via justfile, this does NOT work, even though just says it runs the same as above.
color *args:
  node "$NODE_SCRIPTS/color/color.mjs"  {{ args }}

Using node via justfile, this DOES work:
color *args:
  node "$NODE_SCRIPTS/color/color.mjs" -- {{ args }}

Is this expected?

Hmmm, since my node arguments are -c #123456, maybe the parsing is ambiguous since my option -c #123456 could be for node or for my color script and -- disambiguates it.
Yet I don't have the ambiguity on the command line, just through just. <-- ambiguous pun?
Maybe I would have the ambiguity on python too if my args were options like -c.

I would be very surprised if this was caused by just. Please feel free to reopen if so!

@laniakea64 thank you.
Just FYI. The unquoted #123456 was indeed the issue. My shell seems fine. set shell := ['zsh', '-cu'], and #123456 is fine as an argument in zsh.
But I suspect that in its processing journey it is treated as a comment somehow.
"{{ args }}" doesn't work since it combines the two args as a single arg.
Wrapping the second argument with double quotes within justfile works:
color one two:
node "$NODE_SCRIPTS/color/color.mjs" {{ one }} "{{ two }}"


add new countries

User Story
@n1k0 I changed impossible route values (eg "road" distance between US and FR for example) from 0 to null which make it fails

@paulboosz did you update specific distances from previous country data? tests fails with different computed distances and more annoyingly the app doesn't feature distances in the default simulation (CN->IN)

@paulboosz India has disappeared from the updated transports dataset


Fix docs build

Fix docs build requirements, enable RtD build again, minor updates to CI.

What is port 64000 used for?
RuntimeError: Unable to find available port in range: [64000, 64000].

What is port 64000 used for?
RuntimeError: Unable to find available port in range: [64000, 64000].

Auth server. Windows not freeing ports in time.


Implement polling of Mailgun events for long-range analysis

Mailgun's event logs are only retained for 30 days and have limited options via their UI for doing filtering. To allow for cost allocation and longer term analysis of Mailgun usage and errors we need to retain these logs ourselves.
Mailgun provides an Events API with details listed at https://documentation.mailgun.com/en/latest/api-events.html#events
We will likely want to implement a Pulsar connector for polling the Events data and storing it in S3.

Now that we have Airbyte deployed we can use their existing integration to periodically fetch the Mailgun events into our data lake.

Once the Glue integration for the S3 destination connector is merged then we can start synchronizing the Mailgun data into the data lake.

This is now blocked by an upstream bug in the Mailgun source connector for Airbyte that is not properly handling the separate event types in the stream.


Support forced note-discovery resync

Once https://github.com/AztecProtocol/aztec-packages/issues/9365 goes in, it should be fairly easy to wipe the indices for any given contract, causing for them to process all tags when they next do note discovery. This could help with scenarios in which the sender has accidentally re-used old indices, e.g. due to sending from multiple out-of-sync devices.
Any notes that were previously known and have been found again would simply be skipped.

See this comment from #9572

I'm thinking it might make sense to refactor the taggingSecretIndexes db to be easier to use (instead of indexing by the index, maybe exposing an API like getReceptionTaggingSecret(sender) and getTransmissionTaggingSecret(recipient). That way we can clean up the indexes when we remove someone from the addressbook?


Support ref in Select Component

Feature request
Overview

The Select component does not allow a ref to be passed to the underlying html select element. This breaks react-hook-form's register() function; We are using remix-forms which uses register() to allow any custom component to be used in a form, as long as it can pass that ref to the underlying select. @jaimiz expressed the same problem in https://github.com/radix-ui/primitives/issues/1851#issuecomment-1653294400
The needed change is minimal; The Select component must accept a ref via React.forwardRef and pass the ref to BubbleSelect. BubbleSelect even supports the ref param, but it isn't used. Perhaps Select was intended to have this behavior originally?
We have already tried the solution in our project with patch-package and saw it work. I will create a PR with the change shortly. Is there any reason this wouldn't be accepted? Is there an alternative we haven't considered?
Examples in other libraries

N/A
Who does this impact? Who is this for?

Users of react-hook-form and remix-form

We also use Controller for this reason (and it has been popularised by the form implementation in ShadCN). But, you do lose a benefit of autofocusing a field that's in an error state. That only works if you use register and the field has been given a ref.
So, it would be great if these could be used uncontrolled.

We also use Controller for this reason (and it has been popularised by the form implementation in ShadCN). But, you do lose a benefit of autofocusing a field that's in an error state. That only works if you use register and the field has been given a ref.
So, it would be great if these could be used uncontrolled.

I'm unsure wether the interface has changed since that, but I found that by using the ref available in SelectTrigger we can have auto-focus even when using Controller from react-hook-form.
        <SelectTrigger
          className={className}
          ref={innerRef}
          variant={triggerVariant}
        >

      <Controller
        name="someField"
        control={control}
        render={({ field: { onChange, ref, ...field } }) => {
          return (
            <SelectPropDriven
              onValueChange={onChange}
              innerRef={ref}
              {...field}
            />
          );
        }}
      />

Note: I'm using a custom ref prop because my component is generic, I changed it to accept other types than string.

@dantxal great tip to pass the ref to the <Select.Trigger /> component! It solves the auto-focus issue very nicely.
Here's how this looks like:
 <Controller
  // Makes it a bit more type safe, I prefer a typed form
  name={register("foo").name}
  control={control}
  render={({ field }) => {
    const { onChange, ref, ...rest } = field;

    return (
      <Select.Root onValueChange={onChange} {...rest}>
        <Select.Trigger ref={ref} />
        <Select.Content>
          {options.map(({ label, value }) => (
            // Make sure the values are unique!
            <Select.Item key={value} value={value}>
              {label}
            </Select.Item>
          ))}
        </Select.Content>
      </Select.Root>
    );
  }}
/>;

@dantxal Great tip to pass the ref to the <Select.Trigger /> component! It solves the auto-focus issue very nicely.
Here's how this looks like:
 <Controller
  // Makes it a bit more type safe, I prefer a typed form
  name={register("foo").name}
  control={control}
  render={({ field }) => {
    const { onChange, ref, ...rest } = field;

    return (
      <Select.Root onValueChange={onChange} {...rest}>
        <Select.Trigger ref={ref} />
        <Select.Content>
          {options.map(({ label, value }) => (
            // Make sure the values are unique!
            <Select.Item key={value} value={value}>
              {label}
            </Select.Item>
          ))}
        </Select.Content>
      </Select.Root>
    );
  }}
/>;

name={register("foo").name} did the trick for me. What a legend!


[Storage] Fix Storage base package perf pipelines

The Storage perf pipelines have been broken since the update to .NET 8 as they default to targeting .NET 7 and out packages now target .NET 8. This just bumps the default version for these pipelines as well as updates the tested version to the most recent release for each package.
Small example run

API change check
API changes are not detected in this pull request.


Implement block RAM FIFO{18,36}E1 primitives

@HackerFoo I would say this is a low priority task and might be good "help wanted" type thing?