dcv revision 2022

For potential reviews of @henrygouk , @ljubobratovicrelja, @9il.

Hi @aferust, thanks so much for this.
A bit ashamed to say, I am downloading compilers :), and setting everything up to fetch this and try to understand better all of your changes.
However, to help me in that, it would mean a lot if you would make like an outline of all your changes. Frankly, having that many changes in one commit is quite unwelcomed, and something that we would usually turn down for revision, as it is too complex and time consuming - having smaller and grouped changes in separate commits is highly preferred. However, in this instance, I am more than willing to put more effort into it, and understand everything. Just saying that for future references, I hope you don't mind.
Some concrete questions (please excuse if you may have mentioned those in our conversation in your issue post):

Why is original project source organization changed - source/dcv content is extracted to the root of the project. Is that some update on dub side? (I am totally unfamiliar with what was happening in the last 2-3 years with D development)
Why is ffmpeg injected like so? Why not prepare it like dub dependency? I know the package that was previously used does not support v4, and I can see that new packages have sprung in dub database, but I see this as a bit chaotic solution. We started organizing the ffmpeg-d repository to support different ffmpeg versions via separate branches (much like the original project), so I feel this should have been added there. However, I definitely am not lobbying for that, more like stating that this feels wrong. At the same time, I would think supporting 4.x versions within ffmpeg-d may end up being a lot of work, so in that case, I'd be totally fine with using the new dub package, but let's just not have them injected within this library like presented.
I guess unrevised contains moved code that you mentioned earlier, that is yet to be adopted to new D/Mir? This is the stuff where you would expect some help from Henry's end?
Why is video module extracted like so? Isn't is also supposed to be under 'unrevised'?

Note - as this is a work in progress (for e.g. because of the 'unrevised' content), I was thinking of proposing this to be merged in a specific branch instead of master. However, as master is not even buildable, and quite dead - let's continue and merge with master after revision. Then we can step by step try to bring this library back to life, and sort everything back, and make it neat. Let me know how does that sound.
Also, something I was working just prior to giving up on it, this branch. Have you seen it maybe? It may be irrelevant, but I think it touches some of the aspects you've been thinking about regarding Slice vs Image structures. I don't know how relevant this is according to modern Mir API, but I guess the integration of color package, and how it is integrated within DCV (checkout this and also how image IO is handled), may be interesting to you, and I would hope that in some way we can end up using some of those changes. I personally very much liked the new API that relied on color package, because the work done there was very good, and by no means I would want to redo it in any way. I can see that development there is also quite slow, but I would think such library has to be nurtured, if thing like DCV should exist in D's ecosystem.
That's it, sorry for the long text. There's a lot of it left undone here, I guess. :) Again, thanks so much for taking interest in this project.

I am sorry for this PR. I know it is hard to follow with its present form. It is better you reject it, and we separate FFMpeg injection first. Your comments and questions made some unclear parts solid in my mind.
Things to do before the PR that can be reviewed easier.

Removing FFmpeg injection (You and I will conclude a solution together, refer to my answer 2)
Restructure source files to keep them in the source folder. This will also help review the modifications easily. I will handle this.

1>Why is the original project source organization changed - source/dcv content is extracted to the root of the project. Is that some update on dub side? (I am totally unfamiliar with what was happening in the last 2-3 years with D development)

I did it by following the project structures such as dplug and arsd. I wanted this to enable separate imports, for instance, to import video and ffmpeg related things separately. However, I hadn't thought of that we can store the source files in a source folder.   I agree with you, we can use  "sourcePaths" of dub. I will make arrangements accordingly.

2> Why is ffmpeg injected like so? Why not prepare it like dub dependency?....

This is my workaround. I totally agree with you.  "We started organizing the ffmpeg-d repository to support different ffmpeg versions via separate branches ".  I could not notice it. I now believe my modifications could be more visible if the FFmpeg binding was omitted. I don't want to add one more ffmpeg-d package to the dub registry by causing garbage of packages in dub.  I don't want to deeply dive into FFmpeg either. So, what can be done for a neat solution now? You have already stated that "supporting 4.x versions within ffmpeg-d may end up being a lot of work".  What about including dcv:ffmpeg441 to ffmpeg-d with a custom versioning such as "ffmpeg-d": "4.4.1+dcv" associating with an individual git branch? I believe that the dub registry allows this. But, if you are not into this, as you said, I can create a separate dub package for the FFmpeg441 binding.

3>I guess unrevised contains moved code that you mentioned earlier, that is yet to be adopted to new D/Mir? This is the stuff where you would expect some help from Henry's end?

Yes. I do.  I actually touched that code a bit to comply with the new Slice! schema.

4> Why is video module extracted like so?

I also wanted this to enable separate import.

5>Isn't is also supposed to be under 'unrevised'?

No, it is revised. It can read video frames from webcam stream and files. My webcam works with it. I don't have other cameras to test at the moment. Some video files are read with a distortion. I don't know why? maybe API changes in ffmpeg or pre-existing issue? Please check out the examples folder. All of them work with my modifications (except stereo).

6> Note - as this is a work in progress (for e.g. because of the 'unrevised' content), I was thinking of proposing this to be merged in a specific branch instead of master. However, as master is not even buildable, and quite dead - let's continue and merge with master after revision. Then we can step by step try to bring this library back to life, and sort everything back, and make it neat. Let me know how does that sound.
Yes this approach is safer and comfy in many ways. Then, please let me know if I need to do something other than this PR. Should I make another PR to another branch (possible created by you). There are things that I have not done with git system so far like this.
7> Also, something I was working just prior to giving up on it, this branch. Have you seen it maybe? ...

No, I have just seen it right now (my bad). I will examine it.

8> but I guess the integration of color package, and how it is integrated within DCV (checkout this and also how image IO is handled), may be interesting to you, and I would hope that in some way we can end up using some of those changes. I personally very much liked the new API that relied on color package,

I will examine it too.

Thanks for all your very elaborated answers!
If this isn't too big of a problem for you, I would advise we close this PR, and do the 2 points you state:

Removing FFmpeg injection
Restructure source files to keep them in the source folder. This will also help review the modifications easily. I will handle this.

I will help you with the first one, we can see how much work it would actually be to include it in ffmpeg-d. Maybe it isn't so scary, and it would be quite beneficial for ffmpeg-d to get a refresh.
As for source file organization, you mentioned that you restructured them like so to be able to include every module individually. I'd like to know more about your use case, and why you would want to do that. It was a long time ago, but I remember putting a lot of energy into modularizing the library. Obviously I failed, but I think we can do this now better.
I will have more spare time on weekend, and I'll investigate ffmpeg then (week days are practically work+eat+sleep+repeat). Hopefully I'll also poke around and remember things around DCV and D in general, so I can actually help more. Feels kind of good to be back into this. :)

I am happy to cause a skilled programmer to reintroduce the world of d :) Yesterday I made a commit for restructuring source files to keep them in the source folder (except ffmpeg441, see my latest commit). We can do more modularization in the future.

I'd like to know more about your use case....
Imagine that someone wants to apply a filter or conduct a simple image processing algorithm. One should not need to deal with all ffmpeg-related things for something not related to the video. So, a separate dcv:videoio achieve this.

More about my use case in terms of computer vision:
https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=ferhat+kurtulmuş&oq=ferhat+
I have been using image processing and machine learning tools to solve problems in agriculture. I don't have a professional reason for using DCV. I just love D.
I see you are busy. Every one of us is working for paying the bills. Recently, I could find some free time and wanted to be familiar with mir libraries. I think D deserves a CV library at least capable of doing the basic things. I know the community is small and DCV cannot compete with OpenCV any time soon. Maybe DCV attracts more attention from skilled programmers in the future.

More about my use case in terms of computer vision:
https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=ferhat+kurtulmuş&oq=ferhat+

I have been using image processing and machine learning tools to solve problems in agriculture. I don't have a professional reason for using DCV. I just love D.

This is very interesting! Being in virtual world for the most part in my work, I have huge respect for kind of work you are doing.
Trust me, I understand the passion about D - I've had it as well, and it was my motivation to start DCV. I've stepped away due to my professional life spooling up, and making me leave hobbies like this. Also it was a failed mission to push D through in my company (I was really hopping to marry the two, but I guess D really didn't take off in the industry I am in). Btw I am in computer graphics field, but working a lot on vision systems for scanning shapes and materials (very popular in current graphics / gaming / vfx world), so that was my motivation and aim when originally building DCV.
Anyhow, very happy that you're here Ferhat. Let's give this one another go. :)
Going to inspect your commits right now, and later on looking into ffmpeg-d as promised.

Thank you Relja. I am happy that you are here too. Yes, let's do this.

@aferust why split io module to its base and videoio? I guess because the modularity makes sense, as ffmpeg is such a heavy dependency, therefore people who don't deal with videos, but only images, don't have to worry about it?

OK, I inherited your changes in a local branch and integrated ffmpeg-d, so I am closing this PR, and making a new one (sorry for complicating, but I couldn't otherwise make changes myself, afaik at least). Opening up a new PR right after...


memory issues + syntax fixed

changes:

replace all var to let to avoid typo become runtime errors.
changed some function to arrow function to avoid .bind(this)

you have been using the methods appeared after let and "arrow function", such as prepend.
So those who can run your script without translation can also use let and "arrow function"
using let can avoid the typo mistake runtime errors.
using arrow function can avoid .bind(this)
P.S. you have already used some arrow functions like if (subAliases.some(subAlias => subAlias.includes(prop))) { and let nestedFunction = subAliases.find(element => element.includes('.')).split('.')[1];

organized some function inside for-loop, while-loop, and setTimeout into better manner to avoid memory leakage. (nested functions)
and also minor fixs.

The existing script uses document.head.prepend which is the newest one in this js file.
So all of your users can also use let, arrow, etc.
There can be more simplifications such as activate: function(interval) { into activate(interval) { and '↻ ChatGPT >> [' + autoRefresh.nowTimeStamp() + '] ChatGPT session refreshed' to ` '↻ ChatGPT >> [${ autoRefresh.nowTimeStamp() }] ChatGPT session refreshed `, but these does not affect performance.

sup @cyfung1031 I originally wanted to avoid ES6 (arrow, non-var) for max compatibility, but since then, I added chatgpt.isIdle() which relies on promise so ES6 is ok now I guess, but have you tested your changes to work? if so I'll merge

@cyfung1031 ...but if you have an ES5 method for chatgpt.isIdle() then avoiding ES6 is best (it is quite new in JS age and many users have old browsers)

@cyfung1031 also is there reason to break out timerFunctionScheduleRefresh() because it is only used in code once?

@cyfung1031 also is there a reason to make the // Create chatgpt.[actions]Button(identifier) functions routine longer? And to define another function that's only used once in the code?

Um.. if you want the whole coding before compression become es5
You need to really think about those arrow functions for looping.
Actually you can still code in es6 and then let js compressor to handle to change into es5
Go back to your question to me.
If you dont use Promise,  then go back to the basics of javasctipt,  which is event.
When it is idle,  dispatchEvent to your EventTarget
Then you can use EventTarget.addEventListener  to monitor such event

Um.. if you want the whole coding before compression become es5 You need to really think about those arrow functions for looping.

I know arrows are es6, I'm saying I won't convert them unless chatgpt.isIdle() can be made so too

Actually you can still code in es6 and then let js compressor to handle to change into es5

What compressor will change this to es5?

Go back to your question to me. If you dont use Promise, then go back to the basics of javasctipt, which is event. When it is idle, dispatchEvent to your EventTarget Then you can use EventTarget.addEventListener to monitor such event

So can you do or no?

changing chatgpt.isIdle() is meaningless. I won't do. Just keep everything ES6.

@cyfung1031 wdym meaningless, I just told you the meaning: it is a benefit to avoid ES6. (Just because you like it doesn't mean everyone uses it, by avoiding then users increase compatiblity and gain more users that way)

@cyfung1031 I reverted your pull request of minimal contributions btw because it has become clear from your comments here and by criticizing the helpful Hindi contributor's translation of license you were actually investigating it to add yourself as copyright holder, thus focused on gaining fame instead of concern over end users (otherwise you would not call benefits to them "meaningless") so you are not a good fit for this project as a self-promoter instead of caring for others


Update template to ng-template<EMAIL_ADDRESS>

Couldn't get protractor tests to run, so can't guarantee they still work. Would be worth verifying. But this will get ng2-bootstrap to<EMAIL_ADDRESS>and replaces all <template>'s with <ng-template>'s.

Codecov Report

Merging #1770 into development will decrease coverage by 1.5%.
The diff coverage is 50%.

@@              Coverage Diff               @@
##           development   #1770      +/-   ##
==============================================
- Coverage        85.41%   83.9%   -1.51%
==============================================
  Files               85      85
  Lines             2290    2212      -78
  Branches           300     312      +12
==============================================
- Hits              1956    1856     -100
- Misses             235     236       +1
- Partials            99     120      +21

Impacted Files
Coverage Δ

src/alert/alert.component.ts
88.46% <ø> (-0.43%)
:x:

src/typeahead/typeahead-container.component.ts
72.85% <ø> (-0.76%)
:x:

src/tabs/tab-heading.directive.ts
66.66% <ø> (-16.67%)
:x:

src/tooltip/tooltip-container.component.ts
76.47% <ø> (-1.31%)
:x:

src/sortable/sortable.component.ts
100% <ø> (ø)
:white_check_mark:

src/rating/rating.component.ts
79.68% <ø> (-0.62%)
:x:

src/typeahead/typeahead-utils.ts
72.22% <50%> (-1.31%)
:x:

src/component-loader/component-loader.factory.ts
84.61% <0%> (-15.39%)
:x:

src/popover/popover.directive.ts
87.17% <0%> (-10.12%)
:x:

... and 53 more

Continue to review full report at Codecov.

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

Can't really make sense of these codecov warnings, since their links mention "missing base reports". Happy to clean them up if you can point me in a direction.

This PR will not work. @valorkin is working on that: https://github.com/valor-software/ng2-bootstrap/issues/1692

Why's that @Martin-Wegner? Seemed to pass all the tests on Travis.

@nikolasleblanc

Couldn't get protractor tests to run, so can't guarantee they still work.

:P
I don't know if it would work but @valorkin has a lot of trouble with ng4 :(

Well, yeah, but to be honest I couldn't get much to run at all until I figured out what global department I needed to run tests or a build. The fact protractor wouldn't work on my end didn't tell me much given the circumstances.
Travis running protractor against sauce labs was reassurance that we were good.
What are the angular 4 issues you are running into? Been in those weeds awhile now, I could help out if you needed.

@valorkin get in touch with @nikolasleblanc please :)
@nikolasleblanc you can find @valorkin here: https://ngx-home.slack.com/messages/@valorkin/

Don't have an @valor-software.com email address?

Can't register. :(

@nikolasleblanc https://ngx-slack.herokuapp.com/

ups, sorry did not saw this
you can try ng v4 version with npm i -S ng2-bootstrap@beta

but thanks for your time and efforts!

Cool thanks @valorkin


Client session tracking does not work

Hi @AlexBenny 👋
The android SDK uses this schema to track client session values:
iglu:com.snowplowanalytics.snowplow/client_session/jsonschema/1-0-1
https://github.com/snowplow/snowplow-android-tracker/blob/master/snowplow-tracker/src/main/java/com/snowplowanalytics/snowplow/tracker/constants/TrackerConstants.java#L34
However, currently the JSONSchema parsers fail when type arrays contain a single value with this error:

Union Type Schemas must contain two or more Simple Type Schemas

We have opened a PR to fix this issue: https://github.com/snowplow/iglu-central/pull/1030 but are unsure how to push it through.
Are there any alternatives for us? Is there another way we can provide a different schema for session tracking other than forking this repo?
Thanks!

Hi @morganlutz
We're going to have to update the client_session to 1.0.2 to fix this issue which will also involve an update to the android and objc trackers too.
I'll get things moving on our side now and keep you up to date! I'm optimistic it shouldn't take too long though.

How is this issue presenting itself to you @morganlutz? I see the validation issues in the schema that you describe but when I test client_session as an event context from an Android application, the data successfully ends up loading into my Data Warehouse - do you have a scenario where this is failing?

Hi @paulboocock 👋  My coworker wrote a more in depth explanation on the snowplow PR -
https://github.com/snowplow/iglu-central/pull/1030#issuecomment-596688258

Closing this as we can do an in-place mutation of the mentioned schema with the next iglu central release.
There is nothing to do in the Android SDK.
To clarify for other readers, client_session works fine for Snowplow loading, this is just a schema issue due to strict validation when using Fivetran.


feeds: include videos in feeds

Include videos when generating the feeds, besides the images.
Also, both for videos and for images without EXIF, use file modification
time.

Thanks for working on this plugin @jasuarez ! I never really finished it so it is much appreciated.

Thanks @jasuarez !


Risus sheet

Changes / Comments
Basic Risus character sheet.

list of clichés;
basic pumping capability;
fields for misc. notes & description.

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[x] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.

@dmitrii-ubskii It seems that we already have a Risus RPG sheet. Although it's styled as a space opera it should work the same for any game. Do you want to reach out to the author of that sheet and collaborate on multiple styles depending on the genre of the game?

@dmitrii-ubskii It seems that we already have a Risus RPG sheet. Although it's styled as a space opera it should work the same for any game. Do you want to reach out to the author of that sheet and collaborate on multiple styles depending on the genre of the game?

@dmitrii-ubskii It seems that we already have a Risus RPG sheet. Although it's styled as a space opera it should work the same for any game. Do you want to reach out to the author of that sheet and collaborate on multiple styles depending on the genre of the game?

The "Risus Space Opera" sheet is extremely narrowly specialized by Risus standards. Seeing as it's based on a background image as a layout, it's going to be difficult to make a generic sheet that also fits with the Space Opera one. It would require a complete rewrite of the existing sheet. I could offer to do it, but frankly, I don't see the point, as I said, the two sheets are quite different.

@dmitrii-ubskii It seems that we already have a Risus RPG sheet. Although it's styled as a space opera it should work the same for any game. Do you want to reach out to the author of that sheet and collaborate on multiple styles depending on the genre of the game?

The "Risus Space Opera" sheet is extremely narrowly specialized by Risus standards. Seeing as it's based on a background image as a layout, it's going to be difficult to make a generic sheet that also fits with the Space Opera one. It would require a complete rewrite of the existing sheet. I could offer to do it, but frankly, I don't see the point, as I said, the two sheets are quite different.


Are there plans to implement double rank factorization or tensor hypercontraction methods?

Are there plans to include in OpenFermion methods to perform the double rank factorization method of https://arxiv.org/pdf/2007.14460 and the tensor hypercontraction method https://arxiv.org/pdf/2011.03494, for example once they are published?
Thanks!

I am not sure if we will include the double factorization method. It would definitely be in scope though and we'd welcome the contribution. The tensor factorization method is available in QChem and we will likely also add functionality to OpenFermion to use it in the context of fault-tolerant resource estimates, eventually. That's a larger project on a roadmap but I can't say when we would be finished with adding the functionality.

The features requested have been included in the merged PR above and are now available (https://github.com/quantumlib/OpenFermion/tree/master/src/openfermion/resource_estimates).
Thanks for including them!


MM-45744 - Calls mobile: Implement banner spacing

Summary

In calls v1 we were sending EventEmitter events to tell the more_messages component when the join call banner and the current call bar were visible. It would then adjust its height accordingly. But this wasn't great, because you would get a race condition (which component loads first when the channel loads?). E.g., when you are in a current call, then open a channel with more messages, the more messages component mounts after the current call bar, so it doesn't get the event.

Result is this (screencap from v1):

We could hack around this, fire the events on a delay, or periodically, but we already have the information we need up the hierarchy. So pass that through the props, and problem solved. And bonus: no need to add new observers. Bad part is: prop drilling. But I think that's acceptable here (and I'd rather not add a context for just this little bit of drilling.)

Looks like:

and:

Ticket Link

https://mattermost.atlassian.net/browse/MM-45744

Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[x] Have tested against the 5 core themes to ensure consistency between them.

Device Information

Android: 12, Pixel 6
iOS: 15.3.1, iPhone 7 plus
iOS iPhone 13 sim

Release Note
NONE

@avinashlng1080 Thread screen isn't implemented yet, but it's on the list: https://mattermost.atlassian.net/browse/MM-45754 👍


Include github as a source repository

Hi.
As we talked about it in #69 here is a proof-of-concept for this feature.
It sure is rather rough and I also did a little bit of code cleanup to prevent duplication but I hope it finds your approval.

Thank you for the PR. I'll be trying to review this in the next days and let you know

hi.
Sorry, I'm quite new to git and I think I did the wrong thing (merge instead of rebase).
I was using theses as a guideline:
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork
https://docs.github.com/en/get-started/using-git/resolving-merge-conflicts-after-a-git-rebase
If I should do It again from scratch I think I'd need your guidance.
To your first question:
github.json simply put is a template on how to configure the various repositories for usage with my extension to your project.
I'm not sure how to better "flag" this as an "example" file and not a "productive" necessity.

I re-organized a bit your PR but now it looks great. Thank you :)


Randomshadow_interface

#1632
Improve interface for RandomShadow.
Optimize transform.

This is a benchmark review for experiment review_of_100_reviews_20240409.
Run ID: review_of_100_reviews_20240409/benchmark_2024-04-09T11-58-49_v1-16-0-95-g65fefaeef-dirty.
This pull request was cloned from https://github.com/albumentations-team/albumentations/pull/1637. (Note: the URL is not a link to avoid triggering a notification on the original pull request.)


add private routing hints for invoices

Fixes #47

thanks! looks good to me. do you have it running with this option?


remove AllowanceSemaphore infinite

This isn't part of the spec anymore
  bool isInfinite() const {
     return value_ == max();
   }

Proposed removal in #489


possible memory leak?

My application is using request to access the facebook graph and receiving a large json back which is making my application use more and more memory.
I wrote this script to simulate what happens in my application. I feel like I should not be listing facebook access tokens so I removed it.  For some odd reason, small response bodies did not lead to my application getting bigger but large jsons from the facebook graph did. Has anyone else encountered this?
var request = require('request');

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  console.log('calling hit');
  hit();
  res.end('Hello World\n');
}).listen(1337, "<IP_ADDRESS>");

var hit = function () {
  var i = 0;
for (i = 0; i < 100; i++) {
  var options = {
    headers: null,
    method: 'GET',
//    uri: 'http://www.google.com',
    uri: 'https://graph.facebook.com/me?access_token=<access_token>',
  };
  var r = request(options, function (err, response, body) {
    console.log('request processed');
    console.log(body);
  });
}

};

You're creating 100 objects to do this GET but only 5 will actually happen concurrently because of node.js internal process pool, the rest are sitting in memory waiting until the running ones complete.
I actually hit this API fairly often and it's not that large of a JSON response, but you are buffering the whole response in to memory. If you're just handing the response off to the client you should be streaming it.
I hit this facebook API often in production and haven't seen a leak.

What is weird is that I will be waiting for a while and my application does not reduce it's memory usage. And I do not have the same memory profile when I am hitting google 100x.
And I am actually manipulating the object in memory and storing it into mongo. Do you have any suggestions of how I should be handling this? In my application, I am probably doing a facebook graph api call every second.
Thanks for your response!

resolved.


btsync crash on startup

nix-1.8
nixpkgs-unstable
I can run btsync --help but all others invocations does not work.
btsync just exits with an error code 1.
ldd gives me:
linux-vdso.so.1 =>  (0x00007fe857092000)
librt.so.1 => /nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/librt.so.1 (0x00007fe856e88000)
libcrypt.so.1 => /nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/libcrypt.so.1 (0x00007fe856c4c000)
libdl.so.2 => /nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/libdl.so.2 (0x00007fe856a48000)
libm.so.6 => /nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/libm.so.6 (0x00007fe856745000)
libpthread.so.0 => /nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/libpthread.so.0 (0x00007fe856529000)
libc.so.6 => /nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/libc.so.6 (0x00007fe85618b000)
/nix/store/nrxyygy0wqski1klq0305d3h523k41ps-glibc-2.20/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007fe857094000)

Well,
btsync works if it is run with a config file that set a writable path for the storage_path and pid_file properties.
By default it try to write to the nix store and then crash.


fix(1200): disable typeahead dropdown field on unknown value

fixes https://github.com/KaotoIO/kaoto/issues/1200

Thanks for taking care of this @tplevko


Make announcement clearer

(Unable to comment on the actual announcement, so putting it here)
https://github.com/dotnet/announcements/issues/292
I propose that the Affected Packages table in the announcement should be updated to indicate that 4.x and 5.x series dependencies should also be updated. That is not clear at all from the current version table.

I propose that the Affected Packages table in the announcement should be updated to indicate that 4.x and 5.x series dependencies should also be updated. That is not clear at all from the current version table.

I'm not sure what you are asking. Are you talking about the Azure.Identity dependency vulnerability? The announcement is specific to the encryption vulnerability. I think it would get more confusing to add another topic to that announcement.
I did note in my release blog post that we also released 5.1.4 to address the Azure.Identity issue. (Note: We couldn't bump the dependency in 4.x due to major version bumps in the Azure.Identity dependency chain.)
https://techcommunity.microsoft.com/t5/sql-server-blog/released-security-updates-for-microsoft-data-sqlclient-and/ba-p/4024264

I see the table has now been updated, before it only listed 3.1.5


NPM install error

Hello,
I am trying to install the package but npm i odbc fail with the following message:
><EMAIL_ADDRESS>install /my_project_path/node_modules/odbc
> node-gyp configure build

  CXX(target) Release/obj.target/odbc/src/odbc.o
In file included from ../src/odbc.cpp:19:
/my_project_path/node_modules/node-addon-api/napi.h:30:6: error: Exception support not detected. Define either NAPI_CPP_EXCEPTIONS or NAPI_DISABLE_CPP_EXCEPTIONS.
    #error Exception support not detected. \
     ^
1 error generated.
make: *** [Release/obj.target/odbc/src/odbc.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Darwin 18.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /my_project_path/proxy-accelo/node_modules/odbc
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     ~/.npm/_logs/2019-06-24T14_11_34_214Z-debug.log

FYI: I am on Mac OS Mojave (10.14.5).
Any idea what I am not doing right?
Thanks in advance for your time,
Best regards.

Hi @SK0RM ,
This issue has actually been fixed on the master branch of this GitHub, I just haven't had the chance to push to npm yet. I'm at a conference today, so I doubt I will be able to push a new version today, but if you would like to use it in the meantime, you can npm install the github branch and get working!


ubi8-openjdk image should specify java_user

The kabanero/ubi8-openjdk image currently does not specify a non-root user.
Other images built from this image must remember to change the user or they will also run as root, e.g. changes in https://github.com/kabanero-io/collections/pull/208.
This is unexpected, and causes issues when switching between FROM images (e.g. between UBI and the supported RHEL RHR image).
Moving the creation/use of the java_user into the openjdk image would remove the noise from downstream application images, specifically:
RUN groupadd --gid 1000 java_group \
  && useradd --uid 1000 --gid java_group --shell /bin/bash --create-home java_user
USER java_user

Kabanero collections are being removed and Kabanero will utilise Appsody stacks.
Therefore the intermediary collections that are being used will no longer be required.
Closing this issue as nothing will be done on this issue.


chore(main): release 1.1.1

:robot: I have created a release beep boop
1.1.1 (2024-07-25)
Bug Fixes

astro generator (120c3c2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/nico-i/generator-ts/releases/tag/v1.1.1 :sunflower:


Adding Gutters

I'm trying to implement an editor that has gutters on the side so the way I tried it is something like:
<div className='my-editor'>
  <Gutter blocks={this.state.editorState.getCurrentContent().getBlocksMap()} />
  <Editor … />
</div>

So the Gutter can make a new element for each block that we have. The problem is that there's not an easy way to sync gutters's height with the actual height of the block unless we start using ReactDOM.findDOMNode() what I think is a bad approach.
How should we build this?
Thanks

@carlesba You could take a look and see if this gutter implementation helps - https://github.com/yepnamesjames/draft-js-gutter

Unfortunately, there is no way to get the rendered height of a block without querying the DOM.
One possibility -- within your onChange, you might try something like this:
onChange(editorState: EditorState): void {
  if (editorState.getCurrentContent() !== this.state.editorState.getCurrentContent()) {
    const changedBlocks = /* find any `ContentBlock` objects that differ */
    requestAnimationFrame(() => {
      // Use `data-offset-key` and `data-block` attributes to find rendered
      // block elements for any changed blocks, measure their heights,
      // and set height values in state to update your gutter.
    });
  }
  this.setState({editorState});
}

In this way, you could be sure to measure only the blocks that actually need measuring.

And as you noted in Slack, the setState callback can be used for this. Probably the right decision, since it will execute after rendering is complete.

@oyeanuj draft-js-gutter is buggy when the line is too long and then it falls like another line. Gutter's height won't fit then.


MoveValueAnnotator: get_type_layout_*#56_25

Motivation
Expose MoveTypeLayout from the MoveValueAnnotaor. This can be got elsewhere, but the callsite I'm focusing on has this annotator, and it'll be nice if the cache inside can be leveraged.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
CI/CD tests are covered.

/canary

:sunny: Canary successful

/land


Add demo tracking keypoints and bounding boxes using OpenPose and YOLOv5

This PR builds a demo to show the possibilities that Norfair offers to track objects from multiple classes using a single Tracker instance. Also the example shows Norfair's ability to draw keypoints and bounding boxes for different types of objects.

Just saw that that video is the input video for the demo. We should probably not version it, and store it somewhere so that users can download it manually. Maybe add a wget command to the demo or something like that.

Made the requested changes. Regarding the input video I uploaded it by editing the README file from the web UI.


Add more alias support

Codecov Report

Merging #2747 into canary will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           canary    #2747      +/-   ##
==========================================
- Coverage   13.74%   13.73%   -0.02%
==========================================
  Files         262      264       +2
  Lines       10612    10615       +3
  Branches     1368     1370       +2
==========================================
- Hits         1459     1458       -1
- Misses       9004     9008       +4
  Partials      149      149

Impacted Files
Coverage Δ

src/util/alias/extract-domain.ts
0% <0%> (ø)

src/util/alias/is-wildcard-alias.ts
0% <0%> (ø)

src/util/certs/create-cert-for-alias.ts
0% <0%> (ø)
:arrow_up:

src/util/certs/get-wildcard-cns-for-alias.ts
0% <0%> (ø)

src/util/domains/setup-domain.ts
0% <0%> (ø)
:arrow_up:

src/util/projects/get-project-by-id-or-name.ts
25% <0%> (+5%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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

Please remember to add a PR description @nkzawa.


Expand assertTableEquals table support; improve assertion

Previously, assertTableEquals and assertTableEmpty only worked on tables with
primary keys that jOOQ could generate code for, which excluded tables with
compound primary keys where we didn't configure a synthetic primary key type
in Config.kt. This was because we needed to empty out the primary key fields
of the records from the query result.
Modify the code to only empty the primary key fields if the records actually
have them.
Also make assertion failure messages look nicer by using the jOOQ Result class
instead of generic Kotlin collections. Result has logic to pretty-print lists
of records in a compact, consistently-aligned style.

#2577  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sgrimm and the rest of your teammates on  Graphite


Fix some typos in code

"indetify" to " identify".
"indentifier" to "identifier".

Codecov Report

Merging #444 into master will increase coverage by 7.74%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master   #444      +/-   ##
========================================
+ Coverage   59.26%    67%   +7.74%
========================================
  Files          57     50       -7
  Lines        2855   2243     -612
========================================
- Hits         1692   1503     -189
+ Misses       1082    669     -413
+ Partials       81     71      -10

Impacted Files
Coverage Δ

...core/downloader/back_downloader/back_downloader.go
0% <0%> (-59.19%)
:arrow_down:

dfdaemon/global/global.go
92.3% <0%> (ø)
:arrow_up:

cmd/dfget/app/root.go
67.37% <0%> (ø)
:arrow_up:

dfget/util/queue.go
100% <0%> (ø)
:arrow_up:

dfget/util/std_printer.go
0% <0%> (ø)
:arrow_up:

dfget/util/http_util.go
66.66% <0%> (ø)
:arrow_up:

...get/core/downloader/p2p_downloader/power_client.go

...et/core/downloader/p2p_downloader/client_writer.go

common/dflog/log.go

supernode/util/range_util.go

... and 19 more

Continue to review full report at Codecov.

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

LDTM.


Filter by extended fields

Overview
Allows users to search for facilities by extended fields.

parent_company: Users can pass one or more parent_company params to the search query. Values can be numeric, which will match with parent_company_ids, or strings, which will match with parent_company_names. Any facility which contains a matching parent_company_id or a matching parent_company_name will be returned.
facility_type: Allows users to send one or more facility_type strings. These are converted into the standardized facility types. Facilities which contain any matching facility_type are returned.
processing_type: See facility_type
product_type: The product_type strings are run through the clean function, and then any facilities which have any matching product_type are returned.
number_of_workers: We store the number_of_workers value in the index using the standard ranges 'Less than 1000', '1001-5000', '5001-10000', 'More than 10000'. Users can pass one or more standard ranges as strings to the 'number_of_workers' param. Facilities are returned which have ranges that overlap with the provided values.
native_language_name: We use unidecode on the query value and do a substring match to the native_language_name column and return any matching facilities.

Adds the new params to the Swagger API.
To simplify some of the search functionality, removes PPE fields from the search query and Swagger API.
Connects #1562
Demo

Testing Instructions

Run ./scripts/server
Upload and process the
ExtendedFieldsTestList.csv
In the Swagger API, search by various parameters and confirm that they return the below facilities. Confirm that any additional facilities returned from the search contain the expected extended fields.
- parent_company: Factory A -> Ahmed Ahmed Abbas for Readymade Garments
- parent_company: 2 -> Ahmed Ahmed Abbas for Readymade Garments
- facility_type: Final Product Assembly -> All Wells International Co., Ltd
- processing_type: Doubling -> A.Schmied s.r.o.
- product_type: Blazers -> 4teams - Advertising & Merchandising, Lda.
- number_of_workers: 1001-5000 -> BAOJI HAWK IND. & TRADE CO. LTD
- native_language_name: 杭州湾开发区兴慈二路与滨海二路叉口恒元工业园区A3 -> BAOJI HAWK IND. & TRADE CO. LTD

Checklist

[x] fixup! commits have been squashed
[ ] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Thanks for reviewing!


Profile creation pages layout improvements

This enables scrolling on all profile creation and profile import pages and addresses several layout issues.

@AdriaCarrera could you please have a look at this PR as well?

@AdriaCarrera could you please have a look at this PR as well?


Test

write tests

A quick google, and this looks potentially ideal: http://cunit.sourceforge.net/documentation.html

i found this one: https://github.com/catchorg/Catch2
which is used by igl, one of my fav c++ libraries


expression.search yields wrong results

Hi everyone,
the company I'm working at uses the io.burt.jmespath-gson library in a Scala/Spark application in order to be able to run JMESPath queries on large json-structured Strings. However, recently we found out that there are some inconsistencies between the results of the lib compared to what interactive web interface at https://jmespath.org/ yields (or what for example the Python implementation yields).
Let me outline it with a small example:
The following snippet is a small Scala unit test which captures the bug
import org.scalatest.{ FlatSpec, Matchers }
import io.burt.jmespath.gson.GsonRuntime

class JmesPathBug extends FlatSpec with Matchers {

  it should "return expected value" in {
    val runtime = new GsonRuntime()

    val inputJson ="""
                        |{
                        |    "a": [
                        |        {
                        |            "b": 21,
                        |            "c": {
                        |                "d": 42
                        |            }
                        |        }
                        |    ]
                        |}""".stripMargin

    val queryString = "a[?b > `20`].c[?d > `41`].d[]"

    val input = runtime.parseString(inputJson)
    val query = runtime.compile(queryString)
    val result = query.search(input)

    result.toString should be("[42]")
  }
}

Running this unit test fails with the following message:
"[[]]" was not equal to "[[42]]"
org.scalatest.exceptions.TestFailedException:
      at org.scalatest.MatchersHelper$.indicateFailure(MatchersHelper.scala:343)
      at org.scalatest.Matchers$ShouldMethodHelper$.shouldMatcher(Matchers.scala:6723)
      at org.scalatest.Matchers$AnyShouldWrapper.should(Matchers.scala:6759)
      at JmesPathBug$$anonfun$1.apply(JmesPathBug.scala:27)
      at JmesPathBug$$anonfun$1.apply(JmesPathBug.scala:6)
     [...]

The dependencies are:
scala_version=2.11.12
java_version=1.8.0_265
org.scalatest:scalatest_2.11:3.0.8
io.burt:jmespath-core:0.5.0
io.burt:jmespath-gson:0.5.0
com.google.code.gson:gson:2.8.5

However, if you run the same query on the same JSON string in the interactive web interface of https://jmespath.org/, it produces a different (valid?) result. See this screen shot:

This result can also be observed when running the same query on the same JSON string with the Python implementation.
This small unit test runs successfully:
import json
import jmespath

def test_jmespath_bug():
    content = json.loads("""{
        "a": [
            {
                "b": 21,
                "c": {
                    "d": 42
                }
            }
        ]
    }
    """)

    query = "a[?b > `20`].c[?d > `41`].d[]"

    assert str(jmespath.search(query, content)) == "[42]"

============================= test session starts ==============================
platform linux -- Python 3.8.5, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
rootdir: /home/myuser/projects/jmes_path
collected 1 item

test_jmespath_bug.py .                                                   [100%]

Dependencies for this Python test are:
jmespath==0.10.0

Expected behavior:
The Java implementation yields the same result as the one observed in the web interface and as that of other libraries.
If you need any further details, please let me know!
Best regards
Michael Bechtel

Thank you for reporting this. It's been a long time since I worked on this code and figuring out what's going on here is going to require some thinking.
Simplifying the expression to a[?b].c[?d].d, which is equivalent for the given input, we get this AST:
Sequence(
  Property(a),
  Sequence(
    Selection(Property(b)),
    Projection(
      Sequence(
        Property(c),
        Sequence(
          Selection(Property(d)),
          Projection(Property(d))
        )
      )
    )
  )
)

I don't know if the problem is in the parser or the runtime. [?…] starts a projection, which has the effect that "all subsequent expressions are projected onto the resulting list". When the AST above is executed the c[?d].d expression is executed on each value coming out of a[?b] as one unit, which sounds like it follows the spec – but to get the desired results c needs to be executed on the results, and then [?d], and then d, each on the list of output from the previous step.
Sadly how this should work is not covered by the compliance tests, but it looks like the JavaScript, Python, and Go implementations handle this differently than this library so this library is probably wrong.
I can't promise that I will have the time to work on this. It was a very long time since I used this library myself. If you need a workaround you can use a[?b].c | [?d].d.

Hi Theo,
thanks for the quick reply and for looking into it! It's a pitty that this corner-case is not covered by the compliance tests. We've found a workaround for the concrete issue we're seeing in our context. However, I still wanted to report it so that it documented if maybe also others are affected by it.
Anyway, I'd be happy if you could work on it but I also completely understand that this is out of scope for you right now!
Best regards
Michael

Thank you for reporting this, I am also facing this issue. Initially I thought that I was doing something wrong with my custom implementation of a runtime, however after testing it with the Gson runtime I am facing the same issue.
I also resorted to using a | between the two projections, although it would be nice if the behavior was consistent between implementations.

Hello,
I'm facing a similar issue using jmespath-jackson 0.6.0 in Java.
JSON example used:
{
  "foo" : {
    "bar": {
      "count":1
    },
    "boo": {
      "count": 2
   }
  }
}

I tested it against the expression: foo.*.count.length(@)
I expected the result: 2, but got a FunctionCallException instead.
When I test on Jmespath page, I get the expected result:

The expression foo.*.count returns an array [1,2], and the function length should accept this array and return it's length, but for some reason the Java lib operates onto the first element of the array and ends up calling length(1) and number is not accepted as an input for this function.
I used the recommended workaround foo.*.count | length(@) and it worked, but it would be nice that the Java lib could behave the same way the JS.
I understand also that the Compliance Tests need to be updated to cover this situation, so we make sure that third party libs marked as "Fully Compliant" are in fact compliant.
Thanks

We have decided to deprecate this project and put the repo in archive mode.


Can't get my code camp and github to connect and I've emailed free code camp since sunday and still waiting for the issue to get sorted pls could someone help

Challenge Name

Issue Description

Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

Screenshot

@Brandon1982 please, provide more details including your Free Code Camp account name.

@Brandon1982
You have already connected GitHub to your account here:
https://www.freecodecamp.com/Brandon1982
By any chance did you sign up once again (using email)?

Closing as stale. Please email team at freecodecamp dot com


Enforcing yoda in wordpress/recommended

According to the WordPress JavaScript Coding Standards, Yoda conditions are part of the best practices.
Why does wordpress/recommended not include yoda condition checks? It is instead part of wordpress/jscs. I think they belong in wordpress ruleset that is included in wordpress/recommended.
Let me know if I can send a PR for this. Thanks.

@inderpreet99 Thanks for reporting this, I've updated and added this to wordpress/recommended in #119 above, and tests in https://github.com/WordPress-Coding-Standards/eslint-plugin-wordpress/commit/16a13c59b0b9e02b516d6ae1da184f42adf4a391, I'll get some docs updated here soon that will make it easier for PRs to be submitted


alphabets: add protein alphabet

This adds (very basic) support for proteins.

The Travis build fails because of an issue in the current Cargo nightly. I used the discribed workaround and managed to build it locally.


RuntimeJobFailureError when VQE with qiskit runtime

Describe the bug
RuntimeJobFailureError occurred when running vqe on qiskit_runtime.
As explained in https://qiskit.org/documentation/nature/tutorials/07_leveraging_qiskit_runtime.html
I ran:
runtime_vqe_groundstate_solver = GroundStateEigensolver(qubit_converter, runtime_vqe)
runtime_vqe_result = runtime_vqe_groundstate_solver.solve(problem)

but RuntimeJobFailureError occurred.
Steps to reproduce
Just rerun the code on the documents https://qiskit.org/documentation/nature/tutorials/07_leveraging_qiskit_runtime.html
My qiskit version is qiskit 0.40
Expected behavior
It should output the results of VQE runned by vqe_runtime
Suggested solutions
Additional Information

qiskit-ibm-runtime version: 0.8.0
Python version: 3.9.13
Operating system:  macOS monterey Version 12.2.1

reported this bug to the qiskit nature team https://github.com/Qiskit/qiskit-nature/issues/1058, will close the issue on this side for now


Disable eslint errors / improve dev settings when not using VSCode

Setup

Rancher version:
Browser type & version:

Describe the bug

To Reproduce
Disable Eslint plugin in VSCode
Add extra empty line spaces between code and save
Browser block the UI
Result
Expected Result

Screenshots

Additional context

If we want to disable the overlay in case of issues, this is a feature implemented in Webpack and it may be disabled by configuration or passing a flag, as defined in their documentation. https://webpack.js.org/configuration/dev-server/#overlay
We may consider replacing eslint configuration on save with Husky/lint-staged pre-commit tasks, which may include yarn lint --fix to produce an analogue configuration.

This is an internal developer issue - does not need QA


Update main menu to include new cloud tools

Handled with #71. Needs confirm from @crramirez as this was his feature addition, but tested working and otherwise ready to merge


cpu_seconds_total counter metric always reports 0

#46 and https://github.com/lambdalisue/rs-metrics-process/releases/tag/v1.3.0 introduced a breaking change without major version bump, so users of the previous versions will unknowingly cargo update their dependencies and introduce a bug in their codebase. The new default behavior of cpu_seconds_total is not the same as the old one, as it is a counter reporting absolute values instread of the gauge.
After some testing, I figured it is still possible to get values greater than zero, but you'll have to load the CPU greatly. The main point is, the values reported by the metric are not the same as in the previous version I was relying on.
I propose yanking the affected versions and either:
a) Bump up the major version for the new version that introduced the breaking change;
b) Make the old behavior the default one.
c) Both of the above?

Hum... The previous behavior was unintentional and #46 is kind a bug fix thus I did minor update. But your are right, that was a breaking change so I'll update the major.

1.3.0 is yanked: https://crates.io/crates/metrics-process/1.3.0
2.0.0 is published: https://crates.io/crates/metrics-process/2.0.0
Thanks for your suggestion 👍


Add HttpContext to AsyncPushConsumer#consumePromise

This is to enable the push consumer to determine which request the server sent the push in reply to when there are multiple multiplexed requests active.
There may be a more appropriate name than 'original context'. I also considered 'source context' and 'pushed from context' but wasn't totally happy with any of them. I'm also unsure if there's a better way to access the context than making it package-private like this.
This is the core part of solving the problem I described in "Associating a server push with the original client request" thread on the users list.
The client part is to change AsyncPushConsumer to receive the push's HttpContext. It currently only has access to the push's HttpRequest and HttpResponse. The push consumer could then do something like:
context.getOriginalContext().getRequest();

In my 'saving to a directory' example when I make the request add a custom context attribute for the directory I want to save to and then access it in the push consumer like:
 context.getOriginalContext().getAttribute("myapp.request-specific-output-directory");

@ok2c Pull request updated to address review comments.
I'll send a pull request against httpcomponents-client for the corresponding interface changes shortly.

@ato What if we passed the original request message (or its request URI) instead of linking the contexts?

For my use case the request message is a means to an end.
The URI alone wouldn't work as I might be making multiple requests to same the URI such as multiple POSTs with a different body.
Technically I guess the identity of the request object would work as an id but it would be somewhat indirect. I'd probably keep an IdentityHashMap<HttpRequest,MyData> and then pass my per-request application data into the context:
requestMap.put(request, context.getAttribute("mydata"));
client.execute(request, consumer, context, callback);

Then in push consumer I could get at it like:
var mydata = globalRequestMap.get(originalRequest);

Or I guess maybe subclass the request and add a field for my data?
Here's another alternative. What if rather than registering the AsyncPushConsumers on the HttpClient you could pass a AsyncPushConsumer when making the request:
var pushConsumer = new MyPushConsumer(mydata);
client.execute(request, responseConsumer, pushConsume);

That would totally solve my problem in a fairly clean way without exposing the context or changing the AsyncPushConsumer interface.
I noticed that's how the JDK11 HttpClient solves this problem:
https://download.java.net/java/early_access/jdk11/docs/api/java.net.http/java/net/http/HttpClient.html#sendAsync(java.net.http.HttpRequest,java.net.http.HttpResponse.BodyHandler,java.net.http.HttpResponse.PushPromiseHandler)

Edit: Removed the context nonsense from the IdentityHashMap example. I hit the comment button too soon. :-(

Here's another alternative. What if rather than registering the AsyncPushConsumers on the HttpClient you could pass a AsyncPushConsumer when making the request:

@ato I had a nagging feeling when developing HTTP/2 push functionality that would become necessary at some point. This is indeed a better approach.
Can I suggest the following? Could you please reduce the scope of this change-set to adding HttpContext parameter to AsyncPushConsumer#consumePromise without any HttpContext chaining stuff? As the next step we can work on extending HttpAsyncRequester in core and HttpAsyncClient in client a method that can pass AsyncPushConsumer or HttpRequestMapper to the request execution handler.

@ato Please let me know if you intend to continue working on this change. I want to avoid duplicating your efforts.

@ok2c Sorry, some other issues came up and I didn't get a chance to progress this. I've removed the context chaining stuff.
Yes, I still want this. It sounds like you might want to make some progress on this yourself though. If so, I certainly won't complain. ;-) Otherwise I'll have a go at the client changes tomorrow. I'm still quite distracted today unfortunately.

Just realised getContext() can go too. One moment.

@ato Committed as 4ddfdbf6504fd1924373bab1c2a5b7b2879183e2. Please review and close.

Looks good. Thanks.

Yes, I still want this. It sounds like you might want to make some progress on this yourself though.

Not necessarily. As long as someone is looking into it and can happily step aside and work on something else.

@ato These are the API changes I would like to propose 45c537b84aae7ca7043d1591f74e9e203532562e

@ok2x That looks perfect to me.
If the user calls client. execute() with a push consumer it would override any registered via client.register() right? I don't think it'd make any sense to call multiple consumers.

If the user calls client. execute() with a push consumer it would override any registered via client.register() right?

Yes, it would.


Node.js  Performance Team Meeting 2023-03-20

Time
UTC Mon 20-Mar-2023 17:00 (05:00 PM):

Timezone
Date/Time

US / Pacific
Mon 20-Mar-2023 10:00 (10:00 AM)

US / Mountain
Mon 20-Mar-2023 11:00 (11:00 AM)

US / Central
Mon 20-Mar-2023 12:00 (12:00 PM)

US / Eastern
Mon 20-Mar-2023 13:00 (01:00 PM)

EU / Western
Mon 20-Mar-2023 17:00 (05:00 PM)

EU / Central
Mon 20-Mar-2023 18:00 (06:00 PM)

EU / Eastern
Mon 20-Mar-2023 19:00 (07:00 PM)

Moscow
Mon 20-Mar-2023 20:00 (08:00 PM)

Chennai
Mon 20-Mar-2023 22:30 (10:30 PM)

Hangzhou
Tue 21-Mar-2023 01:00 (01:00 AM)

Tokyo
Tue 21-Mar-2023 02:00 (02:00 AM)

Sydney
Tue 21-Mar-2023 04:00 (04:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Performance Team+Meeting+2023-03-20&iso=20230320T1700
or https://www.wolframalpha.com/input/?i=05PM+UTC%2C+Mar+20%2C+2023+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1cxL5_wsWb8383BENVwGZQKImFE6odYKJ1iJXTZ2VUco/edit

Agenda
Extracted from performance-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
nodejs/performance

add/remove handlers are slow on EventTarget #60
Bun & Deno Comparision #55
AbortSignal pattern is slow #44
Module resolution #39
EventTarget #32
fetch #11

Invited

Performance team: @nodejs/performance

Observers/Guests
Notes
The agenda comes from issues labelled with performance-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: https://zoom.us/j/94710602723

I can't join today. Is anybody available for chairing the meeting? @nodejs/performance

Please post something here in case someone is still able to chair.


qovery-cli: 0.58.9 -> 0.58.10

Diff: https://github.com/Qovery/qovery-cli/compare/v0.58.9...v0.58.10
Changelog: https://github.com/Qovery/qovery-cli/releases/tag/v0.58.10
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 231641 run on x86_64-linux 1

1 package built:

qovery-cli


Update the editor line length for XML to 240

There are some long library names which effectively means long version update tags. The versioning tools process a myriad of different file types and does so as text because it has to. When a version line is broken up, this doesn't allow for correct updates which was what was happening in the case of sdk/spring/azure-spring-cloud-starter-servicebus/pom.xml. This only affected the scheduled nightly builds which set the dev version for publishing to the feed because it failed to manipulate the version correctly due to the line split.

I'm going to use check-enforcer override to check this PR in. The only reason there's a failure in the internal spring pipeline is because I had to "reject all" since the manual run starts the release process.

/check-enforcer override


Hero card attachment formatting broken in latest build

In our integration, a bot sends messages to Teams with a hero card attachment. Since yesterday we have noticed that the hero card is appearing malformed, and missing content from the sent message, in the latest builds of Teams.
We are seeing this in both the desktop application and in the browser, but not in the latest release of Android mobile application. Users running an older version of the desktop application (v<IP_ADDRESS>260) are not seeing this issue, users running a newer build (v<IP_ADDRESS>156) are on both windows and mac.
Here is what a user in v<IP_ADDRESS>260 sees: (correct)

Here is what a user in v<IP_ADDRESS>156 sees: (wrong)

This is the same message. These messages are formatted using HTML as described here: https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format?tabs=adaptive-md%2Cdesktop%2Csimple-html#format-cards-with-html
Both users were seeing the messages formatted correctly before.

@tyleregeto - Thanks for reporting your issue. We will test this and update you soon.

Hi thanks for the reply. Users are reporting that the issue has gone away today, so perhaps something has been fixed already on the backend. We will watch to see if it pops up again.
As for the message format, I don't have the exact JSON as we are using the Microsoft Bot Builder SDK, and this gets abstracted from us a bit.
We are populating properties on the HeroCard class in the Microsoft.Bot.Schema namespace.
This is a recreated example of how we are generating the message, with some values like the URL changed:
var card = new HeroCard();
card.Title = "
New page published to Jessica's New Group
";
card.SubTitle = "Home › Departments › Jessica's New Group";
card.Text = "
New Page

Does this text show in the Activity message?
Jessica";

Then we send it as an activity in a conversation like this:
conversation.Activity = (Activity)MessageFactory.Attachment(new Attachment(HeroCard.ContentType, cardUrl, card))

Hello @tyleregeto - Thanks for sharing your information.
We will try it from our end and get back to you.


Add missing table options and full bloom filter

While reading the rocksdb Partitioned Index Filters wiki page, I noticed that several of the recommended options were not exposed by gorocksdb.
This PR adds those options, as well as a few other options that I noticed were present in the C API but also not exposed:

rocksdb_filterpolicy_create_bloom_full (I'm not clear that this functions differently from rocksdb_filterpolicy_create_bloom in the version of rocksdb I'm testing against, but it appears to be the recommended setting in the wiki)
rocksdb_block_based_options_set_cache_index_and_filter_blocks_with_high_priority
rocksdb_block_based_options_set_pin_top_level_index_and_filter
rocksdb_block_based_options_set_index_block_restart_interval
rocksdb_block_based_options_set_metadata_block_size
rocksdb_block_based_options_set_partition_filters
rocksdb_block_based_options_set_use_delta_encoding
rocksdb_block_based_options_set_format_version

All of these options are available in the C API as of the 5.16.fb tag (https://github.com/facebook/rocksdb/blob/5.16.fb/include/rocksdb/c.h). Gorocksdb already wraps the rocksdb_options_set_enable_pipelined_write function that was introduced in this same tagged version (and perhaps others) so I do not anticipate compatibility issues from introducing these methods.

@tecbot this should be ready for review. Thanks!


Better tablet support

Provide tablet friendly layouts.

Tested this in emulators - it's good enough (for now).

If you need screenshots on real hardware, I can provide these (from an Xperia Z2 Tablet), 10.1 inches.

Yes, please. Unfortunately, screen capture only works when the host gpu is not used by the emulator, which leads to a loss of image quality (ugly artefacts and the like).

https://www.dropbox.com/s/svzff53eio34isi/Screenshot_2015-03-05-21-16-27.png?dl=0
https://www.dropbox.com/s/vutxl5wg59dswod/Screenshot_2015-03-05-21-16-45.png?dl=0
https://www.dropbox.com/s/aojf7d4wmahyngj/Screenshot_2015-03-05-21-17-06.png?dl=0
https://www.dropbox.com/s/ig2ra61w823072g/Screenshot_2015-03-05-21-17-29.png?dl=0


feat(Update): Update dependencies

BREAKING CHANGE: Use latest react / react-router / webpack

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


how is kivi being used?

i m trying to understand kivi.. and i want to know where it is being used..

It is used in benchmarks, and I wouldn't recommend to use it for building real applications.


scrollIntoView doesn't work properly for some cases

@adamkleingit
Hi there,
I found one issue with the API call - scrollIntoView. For my case, it works most time with a small tree, but does not work for the large tree. So I created my own local function based on the source code below.
TreeNode.prototype.scrollIntoView = function () {
        if (this.elementRef) {
            var nativeElement = this.elementRef.nativeElement;
            nativeElement.scrollIntoViewIfNeeded && nativeElement.scrollIntoViewIfNeeded();
            return this;
        }
    };

I am using scrollIntoView instead of scrollIntoViewIfNeeded, which is also suggested by
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNeeded
My code:
        if (this.focusedNode) {
          if (this.focusedNode.elementRef) {
            let nativeElement = this.focusedNode.elementRef.nativeElement;
            nativeElement.scrollIntoView();
          }
        };

It works for both small and large trees.
I hope my finding and solution will be helpful to others.
Best
-John

The best way would be to actually add a boolean to the scrollIntoView function which if true will force to scroll with scrollIntoView(), otherwise use scrollIntoViewIfNeeded.. I also have the same problem.. when I dynamically add a new node and update the tree, I can call focus() and it works fine, but scrollingIntoView doesnt

Fixed in 2.8.0.
Can you verify?

Hi @adamkleingit,
I am using 4.1.0, and it doesn't work in my project, I tried both cases:

virtualScroll mode and
non virtualScroll mode

Since the elementRef is not supported any more, my own implementation with it is also broken.
-John

Hi @adamkleingit,
We can recover this issue easily either by

limiting the width of tree panel or
making the display field longer than the width of the tree panel.

I even use the full-tree example to recover this issue.

I hope my findings can help you to fix the issue.
thanks
-John

I've got the same issue. scrollIntoView works in Firefox and IE11 for my application, but not in Chrome.
I can't seem to reproduce a working example to show here though.
Here is a broken example where scrollIntoView doesn't work in any browser I've tried with.

Having same issue as ottoson. scrollIntoView does not scroll to my node with Chrome

This is not a chrome problem (in the latest version), it happens because currently scrolling into view only works if the tree itself is rendered within a container that is limited in height and has overflow hidden. This is because the scrolling happens inside a viewport element that is part of the tree. If the scroller is on an external element then this will (currently) not work.
The solution I will implement is to add a scrollContainer option that will allow you to specify which scrollContainer. Will publish in coming version and update docs

Published 7.2.0

Hi, I might not understand how the scrollContainer is supposed to be set but here is an example where I can't get scrollIntoView to work: https://stackblitz.com/edit/angular-twwypu?file=src%2Fapp%2Fscroll-container.component.ts

I don't see how this issue is resolved. Check my non-working example in my last post.

Hi,
You have 2 options:

Give a fixed height and overflow: auto to the scrollcontainer element.

Set:

// css:
html {
  height: 100%;
  overflow: auto;
}

// ts:
options = {
  scrollContainer: document.documentElement
}

https://angular-cds4dx.stackblitz.io
Can you try?

It did the trick. Thanks!


Make singleton public

close #363
@JakeLin If you want to launch a minor version, go ahead and merge that PR without directly 👍

Thanks, will ship 3.1.1 soon.


Add happy-case/happy path walkthrough to user docs

Adds a happy-case/happy path walkthrough to user docs illustrated with screenshots with highlights

Solves #319

Please access compiled docs preview here

No way to comment on an image inline, so I'll mention it here: downloaded_files.png should have the ellipse around the cells in both the second and third column, "Input file" and "Output files". Both of these cells have links as a result of the "download files" button.


chore(deps): fix dependency issues on main

This PR just merges #1744 (+ an updated yarn.lock from a single yarn install run) and #1740
/cc @nickboldt @ciiay

Thanks @jerolimov. I will be merging this to unblock other PRs for now.
/lgtm


APN not working when using with nginx(proxy)

Hi,
Since my app servers are behind firewall, I am using nginx for proxying request to apn. I am using tcp proxy_pass.
edited endpoint node_modules/apn/lib/config.js
let EndpointAddress = {
  production: "<IP_ADDRESS>",
  sandbox:    "api.sandbox.push.apple.com"
};

And port
let config = {
      token: null,
      cert: "cert.pem",
      key: "key.pem",
      ca: null,
      pfx: null,
      passphrase: null,
      production: (process.env.NODE_ENV === "production"),
      address: null,
      port: 10998,
      rejectUnauthorized: false,
      connectionRetryLimit: 10,
    };

config passed to apn:-
{
      token: {
        key: path.join(__dirname, "../config/apn/prodAuthKey.p8"),
        keyId: "XXXXX",
        teamId: "XXXX",
      },
      production: true,
}

Code for sending APN:-
const apnProvider = new apn.Provider(config.apnOptions);
const sendAPN = (message, state) => {
  let note = new apn.Notification();
  note.expiry = config.defaultTimeToLive;
  note.sound = "ping.aiff";
  note.alert = message.body;
  note.payload = message.transaction;
  note.topic = config.iosPackageName;
  apnProvider.send(note, state.customer.gcmId)
      .then(res=>{console.log(res)})
      .catch(err=>{console.log(err)});
}

I am unable to send apn. apnProvider.send doesn't give any result. When checked in nginx logs I am getting

upstream server temporarily disabled while connecting to upstream

TCP Proxy configured in nginx looks like this
stream {
    server {
        listen <IP_ADDRESS>:10998;
        proxy_pass api.push.apple.com:443;
        error_log  /usr/local/var/log/nginx/apn.log info;
    }
}

Hi Dilip, Were you able to resolve this issue? I have been facing a similar problem.

I face same issue too. Does anyone able to resolve this?


Failed to get request eth_getBalance. Requested eip155:11155111 chain provider is temporarily unavailable

Describe the bug
I tried requesting for Ethereum Sepolia balance, but it shows an error.
Meaningful logs
Failed to get request eth_getBalance. Requested eip155:11155111 chain provider is temporarily unavailable

Web3Modal Version [3.3.1]

Hello @Mindsetter ! I'll report to blockchain devs, do you mind trying out latest version 3.3.3?

Still not working after updating to 3.3.3
Logs
Failed to get request eth_getBalance. Response: {"status":"FAILED","reasons":[{"field":"chainId","description":"Requested eip155:11155111 chain provider is temporarily unavailable"}]}, Status code: 503

Hey @Mindsetter! Can you please share the RPC request? That's possible that the RPC request are bad and instead of HTTP 400 we are responding with the 503 chain x unavailable.

@geekbrother blockchain API is queried from within Web3Modal SDK, we can investigate this together.
@Mindsetter any chance you can tell us the selected chain when this is happening?

@quetool I can see that Web3Modal SDK, still not using the latest endpoint
Old
https://ethereum-sepolia.publicnode.com
New
https://ethereum-sepolia-rpc.publicnode.com
Can that be the reason?

That's more a question to @geekbrother ...
Could you try this dependency in the meantime? Replace your web3modal_flutter: X.X.X with this:
  web3modal_flutter:
    git:
      url: https://github.com/WalletConnect/Web3ModalFlutter.git
      ref: 6dc34a32fa05926bee5e6436f7345c087bc79f0e

@quetool Is showing the balance now. Thank you

Wonderful! I'll release a patch version soon but you can use that for now.


Add appropriate empty message in notifications fragment when not logged in

Fixes #2369
Changes: Added appropriate message "Please Login to see Notifications" in Notification Fragment when not logged in.
Screenshots for the change:

@iamareebjamal i have moved setText in onCreateView method. Please Review.

@iamareebjamal Should I make this change in current PR or #2372 ? Please review this so that I can send appropriate PR for #2372.

Send a new PR please. Also use a common string, login to continue

@iamareebjamal As I have commit this changes in #2378 PR, this PR and Issue is no longer needed.
Can I close this issue and PR?

Yes


URLs are now case sensitive

Since my update to C5 8.5.5 the url paths are now case sensitive.
Steps to reproduce:
Fresh install of C5 8.5.5/8.5.6/9.0.0RC3 with demo content
go to example.com/portfolio/project-title and example.com/portfolio/project-TITLE (should display the same page)
the page example.com/portfolio/project-TITLE displays a 404 error.

I cannot reproduce this.

@pjotrvanderhorst what's the collation of the PagePaths database table? To know that, could you post the output of this sql query?
SHOW CREATE TABLE PagePaths

@pjotrvanderhorst what's the collation of the PagePaths database table? To know that, could you post the output of this sql query?
SHOW CREATE TABLE PagePaths

I get the following result:
CREATE TABLE `PagePaths` (
  `cPath` longtext NOT NULL,
  `ppID` int(11) NOT NULL AUTO_INCREMENT,
  `cID` int(10) unsigned NOT NULL,
  `ppIsCanonical` tinyint(1) NOT NULL,
  `ppGeneratedFromURLSlugs` tinyint(1) NOT NULL,
  PRIMARY KEY (`ppID`),
  KEY `ppIsCanonical` (`ppIsCanonical`),
  KEY `cID` (`cID`),
  KEY `cPath` (`cPath`(255))
) ENGINE=InnoDB AUTO_INCREMENT=4918 DEFAULT CHARSET=utf8

That's really strange: the collation is utf8mb4_unicode_ci, where the ci part means "Case Insensitive", so the queries are case-insensitive...

The reason I think it's a bug in 8.5.5 is that it doesn't exists in the fresh install of 8.5.4 that i did on my local machine. environment settings are the same for both installs

environment is MAMP PRO (PHP 7.3.24; Apache 2.4.46; MySQL 5.7.32)

I've put fresh install on my server
Concrete5 8.5.4:
https://concretecms.tappan.info/concrete5-8.5.4/portfolio/project-title (works)
https://concretecms.tappan.info/concrete5-8.5.4/portfolio/project-TITLE (works)
https://concretecms.tappan.info/concrete5-8.5.5/portfolio/project-title (works)
https://concretecms.tappan.info/concrete5-8.5.5/portfolio/project-TITLE (not working)

@pjotrvanderhorst  we have the same problem. Ithink this strange behavior is result of this change here: https://github.com/concrete5/concrete5/commit/499dc48f6be24872ed135cf6d3695d41c556abe9. In my case this works if i remove this new added code. But i will digg further.

I think i got it. see https://github.com/concrete5/concrete5/commit/499dc48f6be24872ed135cf6d3695d41c556abe9#r56949798


Issue on Navbar toggler button in mobile view

Whenever we use #id in our website when we click on nav-link in mobile view Navbar automatic did't turn off i think there you need to correct it

hey i can resolve this issue

Thanks for opening an issue @Haseeb3952
However, I'm going to close it as invalid since no issue template has been used and the description is not detailed enough.
Please use the issue template.


vite.config.js cannot run command "vite"

Describe the bug

Reproduction
https://github.com/cool-delete/offlineMap/tree/cool-delete/issue3

System Info
Output of npx envinfo --system --npmPackages:
 npmPackages:
    @vue/compiler-sfc: ^3.0.4 => 3.0.11
    typescript: ^4.2.4 => 4.2.4
    vite: ^1.0.0-rc.13 => 1.0.0-rc.13
    vue: ^3.0.4 => 3.0.11
    vue-router: ^4.0.6 => 4.0.6

Used package manager:
npm
Logs

Run  vite
// vite.config.js
export default {
  // config options
}

[vite] failed to load config from /code/showMapOffline/offlineMap/vite.config.js:
/code/showMapOffline/offlineMap/vite.config.js:2
export default {
^^^^^^

SyntaxError: Unexpected token export
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)

Before submitting the issue, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the docs.
[x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[x] Provide a description in this issue that describes the bug.
[x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

I have a lot of high fidelity png files about 5K+
But if my vite.config.js file does not write anything

The browser will not find these png files

Can you give a complete config.js file
After reading the assetsInclude description in the document, it is not clear how to code config.js

Seems you are using vite 1.0.0-rc.13
Could you please upgrade to 2.2.1 and test again?
Please close this issue if it resolved your problem :slightly_smiling_face:

Seems you are using vite 1.0.0-rc.13
Could you please upgrade to 2.2.1 and test again?
Please close this issue if it resolved your problem 🙂

Switch to 2.2.1 log

log

> Executing task in folder offlineMap: npm run dev <

<EMAIL_ADDRESS>dev
vite

internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module 'worker_threads'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)

Finally, it was found that it was a problem with vscode. Clicking the command from the script view will use the node program of vscode and the version is 10.4.0


⚠ Spryr has degraded performance

In ca622e2, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 4912 ms

Resolved: Spryr performance has improved in 699d9ce after 7 minutes.


fixing broken link Additional Resources

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


test: use local ca to generate device certificates

Proposed changes

Use a local CA to generate the device certificates used in each test. This should improve overall performance, and avoid creating large amounts of device certificates in Cumulocity IoT

Generate device certificate during bootstrap.sh script using a local CA provided  via environment variables (if CA_KEY and CA_PUB are present, which are base64 encoded values), otherwise continue using self signed certificate
Only run "delete cert" logic in the cleanup of tests if a self-signed device certificate is detected
Decouple the certificate deletion and the device deletion to avoid problems where the device is not cleaned up if the cert deletion fails

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[ ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

Some tests will need to be updated as they are failing due to switching to a CA signed certificate...will update the tests shortly


chore: update stack.py

Describe changes
minor fix
Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.
[ ] If my changes require changes to the dashboard, these changes are communicated/requested.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

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

Hey @eltociear, thanks for the PR! Can you change the base branch of this PR to be develop please.

Thanks for the fix, @eltociear!