Quality not appended in ToImageOptions

I'm new to Go so I'm gessing, but it seems quality is not added to args in ToImageOptions.
The fact is that calling the API as README suggest doesn't work as espected:
{
    "to" : "image",
    "converter":{
      "format" : "png",
      "quality": "0",
      "uri": "https://sbit.io"

    },
  "template": "binary"
  }

But calling the API with extend works:
{
    "to" : "image",
    "converter":{
      "format" : "png",
      "extend": {"quality": "0" },
      "uri": "https://sbit.io"

    },
  "template": "binary"
  }

Please note that 0 is a must param for PNG images as indicated in https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2608
/cc @jonhattan @facine

extend is for compatibility for new versions or not commonly used args.

I will add this param

the new version committed, please try.

quality is int type

"quality": 94

Maybe because we're wrapping it in docker (https://github.com/sbitio/docker-wkhtmltox), but still doesn't work (image sizes are are plain explicative if you try my example)

can you try https://github.com/idocking/go-wkhtmltox ?

It doesn't work either using that container (and container is somehow broken):
niteman@teg:~/tmp$ ls -lah
total 8,0K
drwxr-xr-x  2 niteman niteman 4,0K mar 13 15:07 .
drwxr-xr-x 49 niteman niteman 4,0K mar 13 14:46 ..

niteman@teg:~/tmp$ # container doesn't work as expected
niteman@teg:~/tmp$ docker run --rm -it -d -p 9080:8080 idocking/go-wkhtmltox:latest
fbce9ef927dd7dc4867a190700c4eeac42d93b8dfe253b4eeaf472f8411d7362
niteman@teg:~/tmp$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES
b387fe76ebc2        traefik             "/traefik --api --do…"   7 months ago        Up 3 weeks          <IP_ADDRESS>:80->80/tcp, <IP_ADDRESS>:8080->8080/tcp   traefik_proxy

niteman@teg:~/tmp$ # make container work
niteman@teg:~/tmp$ docker run --rm -it -d -p 9080:8080 --entrypoint=/app/go-wkhtmltox idocking/go-wkhtmltox:latest run
200b7d50728292f1c3707b95f76b4adad4e20e6cbef8fa962eec32a52689e92c
niteman@teg:~/tmp$ docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                        NAMES
200b7d507282        idocking/go-wkhtmltox:latest   "/app/go-wkhtmltox r…"   4 seconds ago       Up 3 seconds        <IP_ADDRESS>:9080->8080/tcp                       ecstatic_grothendieck
b387fe76ebc2        traefik                        "/traefik --api --do…"   7 months ago        Up 3 weeks          <IP_ADDRESS>:80->80/tcp, <IP_ADDRESS>:8080->8080/tcp   traefik_proxy

niteman@teg:~/tmp$ curl -s -X POST \
>   "http://<IP_ADDRESS>:9080/v1/convert" \
>   -H 'accept-encoding: gzip' \
>   -H 'cache-control: no-cache' \
>   -H 'content-type: application/json' \
>   -d '{
>     "to" : "image",
>     "converter":{
>       "format" : "png",
>       "quality": 0,
>       "uri": "https://sbit.io"
>
>     },
>   "template": "binary"
>   }' --compressed -o sbit_using_quality.png
niteman@teg:~/tmp$ file sbit_using_quality.png
sbit_using_quality.png: PNG image data, 1024 x 1061, 8-bit/color RGBA, non-interlaced
niteman@teg:~/tmp$ curl -s -X POST \
>   "http://<IP_ADDRESS>:9080/v1/convert" \
>   -H 'accept-encoding: gzip' \
>   -H 'cache-control: no-cache' \
>   -H 'content-type: application/json' \
>   -d '{
>     "to" : "image",
>     "converter":{
>       "format" : "png",
>       "extend": {"quality": "0" },
>       "uri": "https://sbit.io"
>
>     },
>   "template": "binary"
>   }' --compressed -o sbit_using_extend.png
niteman@teg:~/tmp$ file sbit_using_extend.png
sbit_using_extend.png: PNG image data, 1024 x 1061, 8-bit/color RGBA, non-interlaced

niteman@teg:~/tmp$ ls -lah *
-rw-r--r-- 1 niteman niteman 243K mar 13 15:09 sbit_using_extend.png
-rw-r--r-- 1 niteman niteman 4,2M mar 13 15:08 sbit_using_quality.png

This should be fairly plain to reproduce anywhere


[Feature]: Allow mixing of filetypes

Feature
not sure if it is a new feature or more a kind of bug:
In the discord we see ones in a while projects that want to mix for example gifs and pngs (e.g https://discord.com/channels/848060988636921856/964232640150528071/1004554530626748508 ). This does currently not work, sugar throws an “invalid file extension” error instead.
same issue and this is more important from my point of view: you can also not use a png as collection image if the other images are gifs (and other way around obviously) e.g. https://discord.com/channels/848060988636921856/964232640150528071/1004744176170193016
Ideal solution or implementation
Allow mixing different image (and animation?) filetypes by not just looking at the first detected filetype, but instead checking each for each index of it is a valid filetype
Alternative solutions or implementations
Handle collection files independently so that at least those assets can be of a different type
Other context
No response

This is supported now to a certain extent. i.e. 0.png 0.gif, 1.png, 2.png 2.gif.  You are saying it should be like 0.png, 1.gif, 2.png, 3.gif  @MarkSackerberg

Exactly. This is a requirement multiple people asked for in discord in the last days.
From my point of view we should at least allow to have
collection.png 0.gif 1.gif etc.

Personally, I think the <number>.<extension> format is needlessly complex and usually leads to issues.
Using the json number might lead to less confusion.

Personally, I think the <number>.<extension> format is needlessly complex and usually leads to issues.
Using the json number might lead to less confusion.

Which is what I was (trying) to propose.
0.json should be able to have 0.png 0.gif 0.mp4
1.json should be able to have 1.png 1.gif 1.mp4
Same for collection.json collection.png collection.gif collection.mp4

I was actually thinkning 0.json supports image.(png | gif) in image, and <anything>.(mp4 | html | glb | mp3) in animation.
That way, if the respective field is not a valid url, upload <json number>.(png | jpg | jpeg) or <json number>.(mp4 | html | glb | mp3) in that order.
Warn if a file doesn't match or more than one matches.

just opened a PR for this. #427 .
in case it doesn't get approved, that's how you can achieve it.

This should be available now in v2.0.0-beta.2

Closed by #427, thanks @wooddyy-sol!


feat(popover): imperative close

Allow to close popover imperatively. It's useful when you don't want to take over the control over open value and want to close it manually at some point.

@natew @TheEhsanSarshar would be grateful for review and release

We'd probably want to just expose setOpen right? Close is good too but I think both work. Maybe toggle is good too.

@natew thanks, fixed

@natew, is there a smart way to manage popover behavior triggered by text input focus? I'm aware that technically, we can take control of the 'open' state and toggle it on blur/focus events, but this approach comes with trade-offs. For instance, we'd need to manually handle situations where the user interacts with content inside the popover to prevent it from closing unexpectedly.

I think having both close and open is better probably. to have more control ?

Yes, we should have open/close/toggle!

I think even setOpen/open/close/toggle! May as well since they are all very short.

good point, done!

lgtm, Thanks!


[BACKLOG-8208] Add MDI support to Append Streams step

Minor changes added to:  https://github.com/pentaho/pentaho-kettle/pull/2595


reddit.NewScript uses an http.Client which doesn't specify a timeout

It is impossible to replace that client or alter it in any way as it is private.

I see. Feel free to submit a pr for a default timeout here. The proper way to way to add this to the API, I'm not sure. Probably through this.

Should probably be closed since you can pass an http.Client through config now.

You’re right.


New MetaMask signing strategy

Just an FYI, signing is going to change in MetaMask soon.

The UI component we use for displaying signature requests now handles newlines and booleans (#4167, #4640).  The next version of MetaMask will update to the recently-merged EIP 712 spec, and you may need to update your application accordingly. Check our open PR here.

Source: https://medium.com/metamask/metamask-monthly-august-8b409c3fa18
I think we will still have some time before this drops, but it's good to be aware of it.

any news?

Found it, https://danfinlay.github.io/js-eth-personal-sign-examples/


TTTTimeIntervalFormatter completely broken when weeks are involved.

1000000 seconds is around 11 days.
[timeIntervalFormatter stringForTimeInterval:1000000] return "4 days" instead of "1 week". The reason is that NSCalendarUnitCompareSignificance returns incorrect result when comparing weeks to other units, which will cause the week unit to be ignored.
How has this not been discovered yet?

I just stumbled across this as well, is a fix in progress?

I see some forks of this repository noticed that too, and just swapped the order. I used this one's fix in my project and it worked:
crazytonyli/FormatterKit/@dd286ee74489f9eae9216d6c37629b75d66727e7

Wich is PR #162

Fixed by #162.


Add pie-chart component

Add a generic component that can display used / free percentages
in an svg pie chart.
Signed-off-by: Joe Grund<EMAIL_ADDRESS>

Codecov Report

Merging #1026 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1026   +/-   ##
=======================================
  Coverage   95.42%   95.42%
=======================================
  Files           2        2
  Lines         153      153
=======================================
  Hits          146      146
  Misses          7        7

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 2962687...0d1c36c. Read the comment docs.


IE8 Support (Cycle is so close, why not?)

One of the main reasons we chose virtual-dom was its support for IE8. Cycle also will run in IE8, and I've managed to get the todomvc-cycle demo working in IE8 by doing the following:

Making this change to RxJS. This is a fix for RxJS in IE8 that allows querySelectorAll to work properly with Rx.Observable.fromEvent
Removing the es6-map dependency, which has a dependency which uses a few reserved words in its code. (obj.delete, obj.function, etc).
Using the following polyfills (in this specific order):

webreflection/ie8 (in conditional IE HTML tags)
es5-shim
es5-sham
babel-polyfill

The only issue IE8 has with Cycle, and the only change that would need to occur in Cycle would be with the es6-map dependency. Adding the polyfills listed in step 3 would be done in the project of the developer who is implementing Cycle.
I'm unsure of what stance Cycle takes on IE8 compatibilty, but at this point I feel that it is so close that it might as well support IE8. I am proposing two possible options:

Remove the es6-map polyfill from cycle as a dep. Leave polyfilling of ES6 features up to the developer who is implementing Cycle, in their own project.
Create a compat-mode build, which will run browserify with the following options: -tg [babelify --optional es3.propertyLiterals]. This will do a global transform of all dependencies of cycle as babelify goes through them. This will escape the reserved words in the dependencies of es6-map.

:+1:

:+1:

:+1:

Why we should do it? :-1:

This should be in Cycle DOM repo, and it's outdated since we're not using anymore e.g. es6-map dependency.


use data index to batch operations

[x] load/dump all state when loading/dumping index (e.g. build/checkout should likely not interact with state at all anymore). Related #111, #125
[x] batch makedirs during checkout, so that we don't call them for every file we checkout

Index, when applied, replaces state now. Closing this, since the rest is about integration.


Enable the maestro and relay-term systemd path unit file by default

Sorry, merging this PR in order to release 2.0.0-RC1 over the weekend.


Re-introducing HTPasswd IDP after revert

Last week we had to revert the ROSA HTPasswd work for an urgent ROSA version release.
I am now reintroducing the same changes.
PTAL @pvasant

@LeshemNoa  Does this include the fix MR as well ?

/lgtm


Dead links in the sidebar

Hey there,
Not sure if this a temporary bug in need of a refresh or something that needs rewriting, but the documentation site has several dead links in the navigation pane. e.g.:

Time Lagged Conversion Rates
Survival Regression
Testing Proportional Hazard Assumptions

They also break when going to a prior section and hitting the "Next ->" prompt
Thanks!

Yes, I just noticed this too.

Some other sites are experiencing this as of 3:36pm EST: https://zepid.readthedocs.io/en/latest/, but others are fine: https://patsy.readthedocs.io/en/latest/
I tried rebuilding on RTD, no change.
I'm seeing a "Not Secure" beside the URL:

Maybe some config error on RTD side?

This pdf can be used for now: https://lifelines.readthedocs.io/_/downloads/en/latest/pdf/

It may have something to do with a new RTD release today? https://docs.readthedocs.io/en/stable/changelog.html#version-4-1-2
I've posted a issue in their repo: https://github.com/readthedocs/readthedocs.org/issues/6842

Fixed


Animatable Size

This branch adds support for animated sizes in all view implementations.
This is a fairly big incision across all views, since many of them need to react to size changes. Previously, this could simply be done by overriding setSize(), but when the size is animated, views won't know when the size is changed that way.
Subclassing
The solution in this branch was to override validateContent(), which gets called by BaseView::update() whenever the content (e.g. background color, alpha, or size) was changed since the last update(). This method already existed, but wasn't used by BaseView subclasses as consistently.
As a bonus I also implemented #59 because invalidate() now carries more weight and needed to be more explicit.
Compatibility
As part of this change, I also added a AnimationUtils.h header, which could almost be its own Cinder block or a PR, but I'm not 100% confident about how kosher this is. What it does is to provide a ton of operator overloads for ci::Anim<T> so you can do getSize() * 0.5f or viewA->getSize() + viewB->getSize() instead of calling getSize().value() or getSize()() all the time.
Since it's templated, this will work for any ci::Anim<T> (e.g. view->getPosition() + vec2(100) or view->setAlpha(view->getAlpha() * 0.5f).
This seems to work pretty well except for += and type conversion (e.g. adding ivec2 with Anim<vec2>. Those might still be possible to implement and I might get to it eventually. I'll let this PR sit for a bit (maybe next weekend) and slowly start trying this out in production code (this is still only tested with a single sample app).
Retrieving x and y from size will still require you to call getSize().value().x or keep using getWidth().
Performance
Warning: Changing the size on TextView and FboView is pretty expensive, because TextView needs to recalculate its layout, render everything to a surface and a texture and FboView needs to create a new texture whenever their sizes change.
Todos

[ ] Test in production and remaining view samples
[ ] Create a new, tagged release and version from this branch since this is a fairly important API change

Implements #32 and #59

👀

👋

Hope all is well 🤗 Was just talking about this library yesterday and was wondering where it's at 👯♂

Hope all is well 🤗 Was just talking about this library yesterday and was wondering where it's at 👯♂

Oh awesome, in what context?
We're still actively working on expanding it. Expect a bigger push coming out of a batch of projects in the next few weeks. This feature here is a bit on hold unfortunately, since we overambitiously refactored and noticed a few hick-ups ;)
Anyways, nice to hear from you!


Feature/aut 2541-domestic-payment-consent-endpoint

This PR enables domestic payment consent creation from financroo application

please get rid of those binary files bank/data/tppdb.db and financroo/data/my.db and add *.db to gitignore

@mbilski done


Documentation

Add lint attributes #![warn(missing_doc)] to enforce all public interfaces have documentations.

That's a great approach.


No coverage from killed subprocesses

I have the following setup:

a bin crate
an integration test that uses https://crates.io/crates/test_bin to call the binary with some arguments, spawning it as a child process
the binary is a server, which does not terminate ever on its own

thus the integration test kills the server child process, that is after it verified that the server works properly :smirk:

With this setup, zero coverage is reported. What could be the culprit, and how can I get cargo-llvm-cov to report some coverage out of this setup?
Edit: It turns out I get a sensible coverage report if the process exit()s instead of being killed. Is there any way around this?

This is a compiler bug (or limitation). (Also, even exit() is not handled well by compilers on some platforms: https://github.com/rust-lang/rust/issues/77553)

@taiki-e  Thank your for the quick response. A note though: https://github.com/rust-lang/rust/issues/77553 mentions something akin

This bug does not occur on Linux or MacOS.

However, I see this on a Linux machine.

https://github.com/rust-lang/rust/issues/77553 is about std::process::exit(), your issue is probably about SIGKILL.
std::process::exit() works on linux and macos, but SIGKILL probably does not work on any platform.

If exit is only used in the main function a quick and dirty way of circumventing this issue is to let main return an std::process::ExitCode instead.

I have found an option that potentially handles this well (https://github.com/taiki-e/cargo-llvm-cov/pull/280), but something seems to be missing to actually make it work.


Mac support hacks + CSV merge payload

the CSV commits didn't go to origin for some reason

Oh I'm just blind and didn't read the commits properly


Building wheels for 32-bit Windows is flaky on rust 1.49. It is fixed in rust 1.50.

Problem
Cargo randomly fails to download the source code of chrono because of the bug in the downstream dependency, libgit2. This is specific for x32 systems, and it sometimes prevents the wheels from building:

This bug is fixed in cargo 1.50 thanks to @ehuss. This version will be released on 2021-02-11.
Solution
Short-term: add retries to this CI step.
Long-term: use rust 1.50 when it's out.

Short-term mitigation is in place.

Short-term mitigation is in place.


[SPARK-26733][k8s] Cleanup entrypoint.sh.

Merge both case statements, and remove unused variables that
are not set by the Scala code anymore.

retest this please

Test build #102054 has started for PR 23655 at commit 5c98904.

Test build #102054 has finished for PR 23655 at commit 5c98904.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102054/
Test PASSed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/7721/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/testing-k8s-prb-make-spark-distribution-unified/7721/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/7721/
Test PASSed.

Merging to master.


Support: Read data from clicked element

Is it possible to load content dynamically into the modal using the "opening" event by reading information from the clicked element? I'm trying to use:
$(document).on('opening', '.remodal', function(e) {
	console.log(e);
});

However e doesn't seem to have the element that was clicked. e.target appears to be the actual modal. Any way to grab the clicked element?
If not, what's the best way to pass data into the modal for loading?

+1
I have a list of records in a table, would like to dynamically pass data or get the clicked element so I can identify which row to delete.

I ended up accomplishing this by creating the modal dynamically from the click event of the source element, but I think passing the clicked element into the opening callback would be a much more elegant solution.


NoVNC work only for VM running on the same host as cpvm

ISSUE TYPE

Other

COMPONENT NAME

SystemVM, CPVM

CLOUDSTACK VERSION

<IP_ADDRESS>

CONFIGURATION

N/A
OS / ENVIRONMENT

Ubuntu 22.04.3 LTS
cloudstack-common <IP_ADDRESS>-shapeblue0
cloudstack-agent <IP_ADDRESS>-shapeblue0
libvirt-* 8.0.0-1ubuntu7.7
qemu-* 1:6.2+dfsg-2ubuntu6.15
SUMMARY

NoVNC work only for VM running on the same host as cpvm. If vm running on the different host, browser show "Connection..." and after some period of time: "Failed to connect. Tocken expired". In browser console: Failed when connecting:
Connection closed (code: 1001, reason: java.util.concurrent.TimeoutException: Idle timeout expired: 300000/300000 ms)`
No specific log entries. Neither in host logs no cpvm
Also migration betwen host not working. VM stuck at Migrating state. Only logs with some errors on reciver host:
Nov 16 16:21:30 cloud java[44764]: libvirt: QEMU Driver error : Domain not found: no domain with matching name 'i-2-109-VM'
Nov 16 16:21:30 cloud java[44764]: INFO  [kvm.resource.LibvirtConnection] (agentRequest-Handler-3:) (logid:f234eb22) No existing libvirtd connection found. Opening a new one
Nov 16 16:21:30 cloud libvirtd[44082]: Failed to connect socket to '/var/run/libvirt/virtlxcd-sock': No such file or directory
Nov 16 16:21:30 cloud libvirtd[44082]: End of file while reading data: Input/output error
Nov 16 16:21:30 cloud java[44764]: libvirt: XML-RPC error : Failed to connect socket to '/var/run/libvirt/virtlxcd-sock': No such file or directory
Nov 16 16:21:30 cloud java[44764]: WARN  [kvm.resource.LibvirtConnection] (agentRequest-Handler-3:) (logid:f234eb22) Can not find a connection for Instance i-2-109-VM. Assuming the default connection.

Last week everything was working, however at some unspecified point, it suddenly stopped working
STEPS TO REPRODUCE

EXPECTED RESULTS

novnc works
migration work

ACTUAL RESULTS

This issue can be closed. The problem was an incorrect mtu value on the management interface on both compute nodes. Its strange but dont related to cloudstack itself

do you use nested virtualization environment ? @0sorkon

No, i don't. But because of some environment specifics my management interfaces is gre tunnels. And for some strange reason the mtu on them became 8962 which caused the problem.

No, i don't. But because of some environment specifics my management interfaces is gre tunnels. And for some strange reason the mtu on them became 8962 which caused the problem.

@0sorkon
got it, thanks for the information


GWT's ClassReflection.isArray returns false instead of expected true

Issue details
ClassReflection.isArray returns false instead of expected true.
It could be possible that isEnum also returns wrong values, but I didn't test that.
Reproduction steps/code

package com.badlogic.gdx.tests;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.tests.utils.GdxTest;
import com.badlogic.gdx.utils.reflect.ClassReflection;
import com.badlogic.gdx.utils.reflect.ReflectionException;

public class IsArrayIssueTest extends GdxTest {

    public void create () {
        testIsArray();
    }

    public void testIsArray () {
        Class c = null;
        try {
            c = ClassReflection.forName("com.badlogic.gdx.math.Vector2[]");
        } catch (ReflectionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        boolean isArray= c.isArray();
        Gdx.app.log("ClassReflectionTest", "native is array: " + isArray);

        boolean gdxIsArray= ClassReflection.isArray(c);
        Gdx.app.log("ClassReflectionTest", "gdx is array: " + gdxIsArray);
    }
}

Expected results are
native is array: true
gdx is array: true
Actual results are
native is array: true
gdx is array: false
Version of LibGDX and/or relevant dependencies
LibGdx 1.9.2 & Gwt 2.7.0
Suggested fix
Just use the isArray method of Class.
Where's the problem
The problem is that c is always null, when it's used to generate the reflection information for a foo[] class, so https://github.com/libgdx/libgdx/blob/master/backends/gdx-backends-gwt/src/com/badlogic/gwtref/gen/ReflectionCacheSourceCreator.java#L537 will never be entered and isArray will never be set to true.
Instead, of using c we should probably use t which is of the type JArrayType and t.isArray is != null, for foo[].
Please select the affected platforms

[ ] Android
[ ] iOS
[x] HTML/GWT
[ ] Windows
[ ] Linux
[ ] MacOS

Please submit a PR for this.


simplify JET

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (master@4f32aad). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #128   +/-   ##
=========================================
  Coverage          ?   97.16%
=========================================
  Files             ?       12
  Lines             ?      317
  Branches          ?        0
=========================================
  Hits              ?      308
  Misses            ?        9
  Partials          ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[aria2] use env variable to use aria2 download tool

Describe the pull request

What does your PR fix?
Fixes #17934

Which triplets are supported/not supported? Have you updated the CI baseline?
<N/A>

Does your PR follow the maintainer guide?

@JackBoosY it seems easier than expected.
I added a VCPKG_DOWNLOAD_TOOL env variable symmetric to the already-in-use _VCPKG_DOWNLOAD_TOOL managed by the cli switch --x-use-aria2

Okay, I will take over this PR.

it might require also https://github.com/cenit/vcpkg-tool/commit/2364e22b0fa4d50e90e8f635638375ffdb547cf8

it works locally (together with the PR on the vcpkg-tool https://github.com/microsoft/vcpkg-tool/pull/85), I hope the same is valid for anyone willing to try.
I am sorry for the full rebuild that this PR is triggering, but I hope for this PR to be considered for merging. The full rebuild is totally unnecessary because it's using the "old" vcpkg and in any case would not have the env variable defined even using the newer one
main reason for this PR: I don't know why, but cmake built-in download is really very broken on windows behind proxy, while at the same time aria2 always works flawlessy

@JackBoosY any news here (and vcpkg-tool related PR)? it might be very useful for people behind corporate firewalls!

Oh sorry, last week I'm working on https://github.com/microsoft/vcpkg/pull/18201.
Will handle this PR this week.

merged with master just to be sure that the recent #13639 was not interfering in the logic.
It seems that it's still ok without any required modification @JackBoosY

We'd really like to see the aria functionality moved into the vcpkg tool and remove the remaining workaround in vcpkg_download_distfile(). That way it will be applied uniformly even for our other downloads that are performed inside vcpkg.exe.

@ras0219-msft Can you describe it in more detail?
I think that even if aria2 is used to download files uniformly, vcpkg_download_dstfile should exist as a wrapper.

We'd really like to see the aria functionality moved into the vcpkg tool and remove the remaining workaround in vcpkg_download_distfile(). That way it will be applied uniformly even for our other downloads that are performed inside vcpkg.exe.

with or without using libaria2? https://github.com/aria2/aria2#libaria2
To be honest, I really like unix philosophy of keeping it simple. So why should vcpkg also become a download tool? I understand that x-download is already in, but why?

also, is this PR even considered for now or would you prefer a full solution immediately with aria/aria-like download integrated into vcpkg?
I understand that this (imho long due) env variable can offer a quick solution, but I understand that I am trying to "quick solve" a problem which I also do not fully understand. If you ask me why aria2 (or browser) succeeds while cmake or vcpkg fail at download the same file on the same node in the same network, well I don't know

This is not correct because you've bypassed the part that acquires aria2 in the first place; I think if you want to do this it really does need to be in the tool proper (and it needs to be validity checked instead of an open ended string like this... the current leading underscore form is OK because we know where it's being set...)

So why should vcpkg also become a download tool?

The idea is not that vcpkg should implement HTTP, but rather that:

vcpkg itself must download things (cmake, ninja, git, etc)
portfile.cmake needs to download things (sources, buildsystems)
We want to be able to uniformly customize and control downloading (source mirroring, authentication, proxies)

Therefore, it makes sense that vcpkg is the uniform entry point for all downloading; it then internally can dispatch to whatever mechanism is appropriate (WinHTTP, curl, aria2).

ok, understood. Closing the PR, and looking forward to seeing the new unified architecture :)


Fix fab causing horizontal scroll

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Write snapshots to a temporary file until the block they represent is final

Change Description
This resolves #6984
When a request for a snapshot is received, nodeos will now write the snapshot data to a temporary file and create an internal tracking record.  As this block becomes final OR finality passes it on a competing fork, nodeos will either rename the temporary file to the expected snapshot name OR delete the temporary file and return an error indicating that the snapshot was unusable.
Temporary files are written to the same directory as final snapshots with a different prefix.  Notably this prefix contains a leading . so, on some OS's it they will be hidden.
This change will hold the RPC request (and its associated HTTP session) open until the temporary snapshot is either finalized or removed.  Any subsequent requests for the same snapshot will be attached to the future response and no longer return an error code stating that the snapshot already exists.
This should eliminate situations where operators would rarely get snapshots that were invalid due to microforks and also prevent situations where the block.log and the snapshot were not immediately usable once the snapshot was written.
NOTES
Tracking of temporary snapshots is ephemeral, meaning that if the nodeos process is terminated while snapshots are outstanding it may leave the temporary files on disk and will not clean them up or promote them upon the next invocation.  If this becomes a pain point, in the future we can consider durable ways of maintaining the tracking so that future invocations can resume the management of promoting snapshots produced from earlier invocations.
Consensus Changes

[ ] Consensus Changes

API Changes

[x] API Changes

/v1/producer/create_snapshot
This endpoint used to return an error code if you made redundant requests for a snapshot before the head block had changed.  Now, all requests for a snapshot at that head block will remain open pending the determination of that blocks finality.  At that time, all pending requests for that snapshot's creation will receive the same affirmative or error response.
Documentation Additions

[ ] Documentation Additions

The latest commit allows the snapshot to be written to a temp file, promoted to a pending file and then finalized.
This means at rest you can determine the difference between an incomplete snapshot, a pending and potentially valid snapshot, and a certainly valid snapshot.


test: add unit test for LocalWindowThemeRepository and GetMediaPreference.

Task: https://github.com/jhipster/jhipster-lite/pull/6024#issuecomment-1625382370

Covered the 2 files added in PR #6024.

Thanks @zhyd1997 !


Dependancies not mentionned in the readme installation instructions

Currently on macOS, gcc installation is handled automatically via homebrew and the installer indicates which commands to run when a problem is encountered. On linux,  when gcc is missing (such as in a default ubuntu installation), the current message is Please install "gcc" and restart SCT installation. which is not super helpful for beginners especially since it doesn't look like the readme indicates what/how to install before running ./install_sct
link
I think we should either mention the dependancies in the readme, or say something along the line of run apt/dnf install gcc on ubuntu/fedora

Yes, I agree we should mention the gcc dependency in the README.
Also, displaying more info for installing gcc on Linux would be useful, but since the method is distros-dependent maybe we can just redirect to the official gcc install page?

Sounds good :+1:

maybe we can just redirect to the official gcc install page

The problem is that this page describes how to compile gcc, which is over-complicated for most users, given that gcc can easily be installed via package manager (apt, yum, etc.), so i suggest to instruct the latter as already done in the README


dev: Switch golangci config from opt-in linters to opt-out

For example https://gist.github.com/asmyasnikov/eccb01b3e454afe9391f892183b26ecb

Is it meant to replace
disable-all: true
enable:
   ...

with
enable-all: true
disable:
   ...

?

Reverted settings by #909 because linter checks was broken


Replace signal() with mch_signal()

Add mch_signal(); which is the wrapper of sigaction() or signal() (sigset()).
Motivation:
Current glibc marks sigset() as a deprecated symbol, so should switch to sigaction() if available.
os_unix.c: In function ‘sig_winch’:
os_unix.c:872:5: warning: ‘sigset’ is deprecated: Use the signal and sigprocmask functions instead [-Wdeprecated-declarations]
  872 |     signal(SIGWINCH, (void (*)(int))sig_winch);
      |     ^~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/param.h:28,
                 from os_unix.h:60,
                 from vim.h:244,
                 from os_unix.c:21:
/usr/include/signal.h:367:23: note: declared here
  367 | extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW
      |                       ^~~~~~

mch_signal() imitates the behavior of sigset() by using sigaction().

Add mch_signal(); which is the wrapper of sigaction() or
signal() (sigset()).
Motivation:
Current glibc marks sigset() as a deprecated symbol, so should
switch to sigaction() if available.
mch_signal() imitates the behavior of sigset() by using sigaction().

Can we move the #define from src/os_win32.h to src/vim.h?  Then it works
for all non-Unix systems.  Probably like this:
#if (defined(UNIX) || defined(VMS))
&& (!defined(MACOS_X) || defined(HAVE_CONFIG_H))
include "os_unix.h"	    // bring lots of system header files
#else
define mch_signal(signum, sighandler) signal(signum, sighandler)
#endif
The #define for signal() in os_unixx.h becomes unused and should be
removed, right?
--
How To Keep A Healthy Level Of Insanity:
8. Don't use any punctuation marks.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I do not see a change to os_unixx.h, is there a reason you want to keep the #define for "signal" there?

I do not see a change to os_unixx.h, is there a reason you want to keep the #define for "signal" there?

I hesitated how to handle sigset(), but the last commit makes the selection of sigaction() sigset() signal() in mch_signal().


What will happen to expired backup data?

I understand obtained data will be stored in to the BLOB Storage.
Also, the backup is guaranteed up to 30 days after it obtained.
What will happen to the backup data stored in the BLOB storage after the 31st days and after?
Does user have to delete manually to save the capacity?
Thanks

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

ID: 34eef662-c35f-230b-de28-0dcee463d8bc
Version Independent ID: 07206d86-8410-7a58-227a-6e630df50c16
Content: Implement disaster recovery using backup and restore in Azure API Management
Content Source: articles/api-management/api-management-howto-disaster-recovery-backup-restore.md
Service: api-management
GitHub Login: @mikebudzynski
Microsoft Alias: apimpm

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

@KeiroKamioka0000 Each backup expires after 30 days. If you attempt to restore a backup after the 30-day expiration period has expired, the restore will fail with a 'Cannot restore: backup expired' message and user need to explicitly delete the backup after 30 days.

Thanks!!!


download_strategy: cvs source_modified_time

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

Implement CVSDownloadStrategy#source_modified_time from #81
Description

CVS stores its system data under CVS directories in each directory of the repository, so if we ignore CVS's data timestamps and inspect all the files timestamp except CVS's files, we can get source modified time.

➜ vlad:global$ tree
.
├── 1
├── AUTHORS
├── BOKIN_MODEL
├── BOKIN_MODEL_FAQ
├── COPYING
├── COPYING.LIB
├── CVS
│   ├── Entries
│   ├── Repository
│   └── Root
├── ChangeLog
├── DONORS
├── Doxyfile.in
├── FAQ
├── INSTALL
├── LICENSE
├── Makefile.am
├── NEWS
├── README
├── README.PATCHES
├── THANKS
├── acinclude.m4
├── btreeop
│   └── CVS
│       ├── Entries
│       ├── Repository
│       └── Root
:

We cannot rely on Pathname.pwd.to_enum(:find).select(&:file?).map(&:mtime).max from AbstractDownloadStrategy#source_modified_time because in case of CVSDownloadStrategy Pathname.pwd will be called inside copied clone of the repository (it's created at the moment of stageing), so the timestamps will show the moment of copying. The workaround here is to inspect timestamps inside cached_directory.

Makes sense to me 👍 @xu-cheng?

Thanks for the notes @xu-cheng! Fixed as you suggested.


[ENG-220] Data storage usage metrics

Purpose
Calculate summary statistics for storage usage and uploads to a remote location on OSF. Requirements are linked from the ticket.
DevOps
Will need to add DS_METRICS_OSF_TOKEN and DS_METRICS_BASE_FOLDER to settings.
DS_METRICS_BASE_FOLDER = 'https://api.osf.io/v2/files/5ced8a728d6e05001b5ff254/'

Changes

Added management command for calculating storage usage
Added a QuerySetExplain() mixin to the BaseModel
Made a few test factories more flexible
Tests

QA Notes
This is not expected to need QA
Documentation
This is not expected to need Documentation
Side Effects
This should be pretty isolated aside from doing a bunch of queries once a month.
Ticket
https://openscience.atlassian.net/browse/ENG-220

Pass complete - just this comment unaddressed, should have batched this handful into a review. https://github.com/CenterForOpenScience/osf.io/pull/9050#discussion_r297402790.  Next time!

Other than that small nit, this looks good to me! Remaining questions outside my domain are 1) adding private counts, if this is useful, as you can't deduce this and 2) deadlocking/timing alongside running with other cronjobs.   Well done @brianjgeiger


Doc comments when hovering sometimes break for optional properties

Bug Report
🔎 Search Terms
refdocs tooltip help docs reference
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about /**

⏯ Playground Link
Playground link with relevant code
💻 Code
// 🤠: hover docs work (hover the property in Playgrounds: its refdocs will show)
// 😥: hover docs don't work (hover it, and you'll only see the type, no refdocs)

// basic cases that work: no "bar" prop at all, or a mandatory "bar prop":
const good = Works({ yay: "🤠" });
const also = Ditto({ yay: "🤠", bar: true });
const okay = Ditto({ yay: "🤠", bar: false, foo: "🤠" });

// if we make "bar" optional, all hover tooltip refdocs break, though:
const not1 = Broke({ yay: "😥", foo: "😥" });
const not2 = Broke({ yay: "😥", bar: true }); // docs only work for "bar"
const not3 = Broke({ yay: "😥", bar: false, foo: "😥" }); // (ditto here)

function Works(yay: Yay): void {}
function Ditto(props: (Yay & BarFalse) | (Yay & BarTrue)): void {}
function Broke(props: (Yay & BarFalse) | (Yay & BarTrue) | (Yay & NoBar)): void {}

interface Yay {
    /** docs for yay */
    yay?: string;
}

interface NoBar {
    /** "bar" omitted: foo docs (required prop) */
    foo: string;
}

interface BarFalse {
    /** "bar" false: bar docs */
    bar: false;
    /** "bar" false: foo docs (required prop) */
    foo: string;
}

interface BarTrue {
    /** "bar" true: bar docs */
    bar: true;
    /** "bar" true: foo docs (optional prop) */
    foo?: string;
}

🙁 Actual behavior
In the playgrounds (or in vscode), hover any of the property names whose values are 😥 (not1's or not3's yay or foo keys, or not2's yay). You are shown only a (property) yay: string tooltip.
🙂 Expected behavior
The tooltip should show the associated /** refdoc */ from its definition, i e something like the top example's (property) Yay.yay?: string | undefined followed by a horizontal rule, followed by docs for yay. This latter part is missing.

We used to mash together the documentation when a property had more than one originating declaration, but people complained because this can and does result in some extremely confusing text, so this no longer happens.

Does it have to be an all or nothing thing? Writing reference documentation that disappears because a type grew non-trivial structure to it is confusing, too, not least when it affects properties that used to appear just fine.
Could the one most specific applicable signature win and be shown? Or even just any one arbitrary originating declaration be shown, plus perhaps an optional indicator that there are N other redundant doc strings that aren't being shown?
Complex types and api:s need documentation.

If someone wants to try again I'm willing to have a PR, but it'd need to be accompanied by some kind of research effort. We tried a bunch of ideas and nothing seemed like it would fix the problem of confusing hovers.


5.1.1 Modules are missing or built with a different engine version

Please follow installation steps in README.md.
Precompiled packages are available in Releases


Add 2.7.0 LTS information to the docs.

Add 2.7.0 LTS information to the docs.
http://apache-beam-website-pull-requests.storage.googleapis.com/7069/get-started/downloads/index.html

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


Update/add e2e test for 9.0-3

This task is to track e2e updates and new test queries that has to be added for enhancements in 9.0-3.
Subscribing @grechaw

Working on granular privileges test most of this week. Will get to e2e the week after.

Updated all the artefacts in e2e with the latest code.
mldeploy gives an error as so @grechaw :
entity-services-e2e$ ./gradlew mldeploy
:entity-services-e2e:mlDeleteModuleTimestampsFile
Deleting /Users/sbalasub/git/entity-services/entity-services-e2e/build/ml-last-configured-timestamps.properties

:entity-services-e2e:mlPrepareRestApiDependencies
:entity-services-e2e:mlDeployApp
Exception in thread "ThreadPoolTaskExecutor-2" com.marklogic.client.FailedRequestException: Local message: /config/query write failed: Bad Request. Server Message: RESTAPI-INVALIDCONTENT: (err:FOER0000) Invalid content: Operation results in invalid Options: XDMP-VALIDATEMISSINGATTR: (err:XQDY0027) validate strict { $opt } -- Missing required attribute: Found () but required (@name & @ns?) at fn:doc("")/search:options/search:constraint[6]/search:range/search:element using schema "search.xsd"()(@name & @ns?)fn:doc("")/search:options/search:constraint[6]/search:range/search:element"search.xsd"
        at com.marklogic.client.impl.JerseyServices.putPostValueImpl(JerseyServices.java:3014)
        at com.marklogic.client.impl.JerseyServices.putValue(JerseyServices.java:2865)
        at com.marklogic.client.impl.QueryOptionsManagerImpl.writeOptions(QueryOptionsManagerImpl.java:158)
        at com.marklogic.client.modulesloader.impl.DefaultModulesLoader$3.run(DefaultModulesLoader.java:522)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
:entity-services-e2e:mlPostDeploy UP-TO-DATE
:entity-services-e2e:mlDeploy

Above mentioned issue is now fixed. Created a PR with updates to e2e with 9.0-3 enhancements.
validation of superstore envelope against entity-type.xsd gave an error and so did deploying generated search options with namespace in it. Both the issues #313 and #343 assigned to Charles for further analysis.

Able to deploy e2e now and both 313 and 343 have been shipped. Made significant progress in e2e.
Generated a new project to test models with namespace as part of 9.0-3 enhancements. Generated new artifacts updated both e2e-nwind and e2e-namespace project. e2e-nwind is already checked in with latest artefacts.
Verified that extract-instance, canonical data and envelopes work fine in the namespace project. Will work on queries so tde, search-options and database properties are tested. Then add them all to qc-workspace and add a test in regression.

Checked in e2e-nwind updates in a PR. Have another set of checkins ready for namespaces. Facing some concerns with translate and upconverts. Will discuss with Charles tomorrow and resolve.  It could either be issue which has to be triaged or an expected behavior. Whatever the conclusion, post discussion I will be able to checkin my changes for namespace e2e test tomorrow and ship this task.

With PR #350 all planned e2e tests are in. This task is good to ship.


[WebApplication] - SSL encryption

As an end-user, I want my interacts with the server to be secured by HTTPS and SSL encryption

Resolved in #29


Adding CHAINLIT_APP_ROOT to modify APP_ROOT

Adding CHAINLIT_APP_ROOT ENV Variable to modify APP_ROOT

This is vital. When deploying, it can rely on a centralised config files.
Very Minor Change
Only one line change
Replacing APP_ROOT = os.getcwd() with APP_ROOT = os.getenv("CHAINLIT_APP_ROOT", os.getcwd())

Thanks Mervin, code looks good to me. Any chance you could add it to the unreleased section in the changelog, so other uses will be privy of this as well? https://github.com/Chainlit/chainlit/blob/main/CHANGELOG.md#changed

Ref: https://github.com/Chainlit/docs/issues/170

Thanks Mervin, code looks good to me.
Any chance you could add it to the unreleased section in the changelog, so other uses will be privy of this as well?
https://github.com/Chainlit/chainlit/blob/main/CHANGELOG.md#changed

@dokterbob  Completed ✅

Thank you 👍
@dokterbob When do you think this version will get released?

@MervinPraison Realistically, we should wait for @willydouhard to come back from holidays -- in a week or so.
Once I know how to roll releases, expect a more regular release cycle.

@willydouhard Waiting for the next release. Thank you


How to disable shutter sound?

Can I disable shutter sound on OnPictureTaken?

yes just ues
camera.enableShutterSound(false);
or mute sound for a second then unmute it


Test whether bumping Calico's version stabilizes test 3150

Test whether bumping Calico's version stabilizes test 3150

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

/uncc @rnetser @phoracek

/test all

/test pull-kubevirt-e2e-k8s-1.20

/hold
the test is failing locally.

/test pull-kubevirt-e2e-k8s-1.18
/test pull-kubevirt-e2e-k8s-1.19


Invalid link in script

Hello,
it seems that the setup guide: https://setup.microsoft.com/edge/setup-guide contains a script with the link which is no more valid.
This guide is mentioned at least on these pages:

deploy-edge-with-configuration-manager.md
configure-microsoft-edge.md

Reproduce the issue:

Click on the link at the beggining of this page (Microsoft Edge setup guide)
Fill necessary settings and then click on the button "Download your script"
Edit the script once you download it and check line 82: $PolicyTemplatesUrl = 'https://go.microsoft.com/fwlink/?linkid=2145079'
You are redirected to: https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/70222a88-f16a-4fb1-a58e-6fd7847de8d6/MicrosoftEdgePolicyTemplates.zip which doesn't exist.

@MilanKrocek Thanks for reporting this issue.  I've reached out to the team that owns the tool and will circle back once they have any updates.

@MilanKrocek This issue should be fixed.  If you are still having issues, let us know. Thanks!


set expire

if you do like this
Vue.ls.set(key,value,expire-new Date().getTime());
is right
if you  do like this
Vue.ls.set(key,value,expire);
is fault.
but why?

see example
Vue.ls.set('foo', 'boo', 60 * 60 * 1000); //expiry 1 hour
expire - How many seconds, will live from the current time


Initialize version control automatically when the editor starts if a VCS plugin is installed

Every time I open the editor, the version control has to be started (or rather, it has to be initialized). Is there a way to keep it running after the repository is initialized? FWIW, I'm running the editor on Linux Mint 20.

Its done in #39255.


[iOS] [TextInput] Chinese font changes on focus

So if you create a new text input, type in some chinese/japanese (or more languages?) characters, once the text input is on focus, the font seems to have changed.

@facebook-github-bot stack-overflow

@seph14. When input Chinese characters, once the text input is on focus, the font position move down, then click outside text input space, the font position move up. Is right?
@mkonicek.  What cause this issue or do you have solution?


PageView is not parent of Ajax and Fetch Calls

For some reason, the PageView Event is logged aside all the AJAX-Fetch Calls. Shouldn´t it be the parent of them ?

Can you post a sample operationId, parentId, Id set for these? Also, if there is an issue with this, it might be related to #863, which was fixed in rc5. You can grab rc5 from npm now and see if the behavior changes.
Also see https://docs.microsoft.com/en-us/azure/azure-monitor/app/correlation#example

Closing as it seems this was fixed with the release of rc5


Error: invalid_grant after successful authorization

The plugin does not work after it's successfully authorized. I'm placing all tokens (ID, SECRET, ACCESS, REFRESH) in both the .end.development and .env.production files.
This is the message I get:
File: node_modules/gatsby-source-google-calendar/gatsby-node.js:208:11

Error: invalid_grant

Is there a specific way I should be configuring the OAuth Consent Screen? I'd appreciate any advice, thank you in advance!

Thanks for the issue! I've googled a bit, unfortunately it's a pretty generic error message... I guess you added http://localhost:8000/oAuthCallback as redirect URI when setting up the OAuth Client?
Also, some of the following threads may be able to help you out:

https://github.com/googleapis/google-api-nodejs-client/issues/1951
https://stackoverflow.com/questions/10576386/invalid-grant-trying-to-get-oauth-token-from-google

Maybe you could also try it with another project and see if the error happens again.

Thanks for the issue! I've googled a bit, unfortunately it's a pretty generic error message... I guess you added http://localhost:8000/oAuthCallback as redirect URI when setting up the OAuth Client?
Also, some of the following threads may be able to help you out:

https://github.com/googleapis/google-api-nodejs-client/issues/1951
https://stackoverflow.com/questions/10576386/invalid-grant-trying-to-get-oauth-token-from-google

Maybe you could also try it with another project and see if the error happens again.

I solved this but opening the authentication URL again. I think perhaps you need to refresh the token.
You can access:
https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly&response_type=code&client_id=[YOUR-CLIENT-ID]&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2FoAuthCallback
And update the env vars with the new result

I solved this but opening the authentication URL again. I think perhaps you need to refresh the token.
You can access:
https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar.readonly&response_type=code&client_id=[YOUR-CLIENT-ID]&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2FoAuthCallback
And update the env vars with the new result

Glad you were able to sort out the issue, I'm gonna close this issue for now.

Can we re-open this issue? I'm still getting the same error, regardless of how many times I'm refreshing the authorization token via the authorization URL. Here's the full error message:
 ERROR #11321  PLUGIN

"gatsby-source-google-calendar" threw an error while running the sourceNodes lifecycle:

invalid_grant

  202 |   const calendar = google.calendar({version: 'v3', auth});
  203 |   if (calendarIds.length) {
> 204 |     return await Promise.all(calendarIds.map(async calendarId => (await calendar.calendarList.get({
      |                                                                   ^
  205 |       calendarId
  206 |     })).data));
  207 |   }

File: node_modules/gatsby-source-google-calendar/gatsby-node.js:204:67

  Error: invalid_grant

  - gaxios.ts:158 Gaxios._request
    [capitol-city-church]/[gaxios]/src/gaxios.ts:158:15

  - task_queues.js:95 processTicksAndRejections
    internal/process/task_queues.js:95:5

  - oauth2client.js:172 OAuth2Client.refreshTokenNoCache
    [capitol-city-church]/[google-auth-library]/build/src/auth/oauth2client.js:172:21

  - oauth2client.js:196 OAuth2Client.refreshAccessTokenAsync
    [capitol-city-church]/[google-auth-library]/build/src/auth/oauth2client.js:196:19

  - oauth2client.js:367 OAuth2Client.requestAsync
    [capitol-city-church]/[google-auth-library]/build/src/auth/oauth2client.js:367:21

  - gatsby-node.js:204
    [capitol-city-church]/[gatsby-source-google-calendar]/gatsby-node.js:204:67

  - async Promise.all

  - gatsby-node.js:204 getCalendars
    [capitol-city-church]/[gatsby-source-google-calendar]/gatsby-node.js:204:12

  - gatsby-node.js:76 Object.exports.sourceNodes
    [capitol-city-church]/[gatsby-source-google-calendar]/gatsby-node.js:76:21

  - api-runner-node.js:429 runAPI
    [capitol-city-church]/[gatsby]/src/utils/api-runner-node.js:429:16

Hm, okay, thanks for letting me know, I'll reopen the issue. When I get a chance, I'll look into it again.


SPSC memory is allocated twice

This is probably not a big deal, I just wanted to mention it because it surprised me when I first realized it ...
https://github.com/Ralith/oddio/blob/adc60db7a8c9ccda5a45e5b3a6c06a1a82f8dc25/src/spsc.rs#L197-L202
After allocating all memory, the Box is converted to an Arc which allocates completely new memory and copies the initialized values to it. AFAICT, the originally allocated memory is deallocated again at the end of the new() method.
Is this intentional?
Or am I missing something?
I found this when trying to convert my own SPSC ring buffer to a DST (see https://github.com/mgeier/rtrb/pull/75), where this crate's code was very helpful. I avoided the repeated allocation by manually implementing a small subset of Arc for this special case instead of using Arc directly.

Your analysis is correct, and this behavior is intended. I agree it's kind of ugly. For Frames, another DST implemented by oddio, the standard Arc type was desired as part of the public interface, and I think here I just reused the same approach, also since it saves some extra unsafe and doesn't cost much in the long run. At least when Arc would not otherwise be part of the public interface, I agree that rolling your own refcounting is a defensible approach as well.

I found this when trying to convert my own SPSC ring buffer to a DST (see mgeier/rtrb#75), where this crate's code was very helpful.

I'm happy to hear that! I'm a big fan of rtrb's interface, and if you merge that I'll be out of excuses not to pull it in directly in favor of my reinvented wheel here.

Thanks for confirming my speculations!

it saves some extra unsafe

Yeah, that's definitely an advantage. My implementation has quite a lot of unsafe.

doesn't cost much in the long run

Well, that's the question, I'm not sure about that.
In general, yes, I care more about the real-time operation than the initialization phase.
However, if really big buffers are used for some reason, the allocation overhead might become relevant?
Also, I have an idea to push this even further (but I don't know whether it's a good idea!): One could provide an (unsafe) API to construct a RingBuffer by providing an existing piece of memory to be used.
In this case, the dependency to alloc could be dropped (or rather made optional).
I have never actually needed this, though. And there haven't been any requests for something like this.
So for now this is just a theoretical deliberation.

rolling your own refcounting is a defensible approach as well.

In fact, I can get away with a much simpler approach than actual refcounting.
For one, I don't need to implement the equivalent of clone(), because producer and consumer are created at the same time anyway.
And I don't really need to count that much, I only need to represent 2 states, so an AtomicBool is sufficient.

if you merge that I'll be out of excuses not to pull it in directly in favor of my reinvented wheel here.

Yeah, I'm still unsure, I'd like to gather more input before moving forward.
I want to spend a bit more time on benchmarking, because for now the multi-threaded benchmarks show no change in performance. But maybe the benchmarks themselves could be improved.
However, I've already found a few places where the Rust compiler doesn't seem to optimize away all abstractions, so I had to "lower" a few of them to get competitive performance, see https://github.com/mgeier/rtrb/pull/75/commits/d0764ba29d1954a9cb058ac094c1c80583482ad9.
Maybe there are still some optimizations missing ...
Have you experienced clear performance improvements when switching to a DST?
Apart from performance, I think it's more elegant to have UnsafeCell<[MaybeUninit<T>]> instead of *mut T, but it comes at the cost of more code, a lot of it being unsafe.
I'd be happy about any kind of input!


mobile view animation

Describe the Feature you want to end

i want to add this mobile view animation
Expected behavior

Screenshots (optional)
https://github.com/pranjay-poddar/Dev-Geeks/assets/120590200/4c532eb0-bba0-4867-9c1c-15a7e69a3c1e
Additional context (optional )

@MohitGupta121  @TusharKesarwani please assign this issue to me

@MohitGupta121 @TusharKesarwani please assign this to me

@MohitGupta121 please review it i have raised the pr


ActiveRecord::InvalidForeignKey in admin/education/programs#update

Error in Osuny
ActiveRecord::InvalidForeignKey in admin/education/programs#update
PG::ForeignKeyViolation: ERROR:  insert or update on table "active_storage_attachments" violates foreign key constraint "fk_rails_c3b3935057"
DETAIL:  Key (blob_id)=(0ff1f01a-b495-4536-a93f-abf8363cd0bf) is not present in table "active_storage_blobs".
View on Bugsnag
Stacktrace
app/controllers/admin/education/programs_controller.rb:89 - update
app/controllers/application_controller/with_locale.rb:19 - switch_locale

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
ActiveRecord::InvalidForeignKey in admin/education/programs#update


SSR package breaks my code because it monkey patches Object.defineProperty.

I've got some code,
Object.defineProperty(NewClass, 'prototype', {
  value: Ctor,
  writable: false,
})

but it fails because @skatejs/ssr overrides Object.defineProperty:
https://github.com/skatejs/skatejs/blob/4e64a4a5fd115141170befe84e5f35308c30e31b/packages/ssr/register/index.js#L3-L6
It'd be great if it didn't do that.
This is happening automatically because I'm using https://github.com/skatejs/skatejs/blob/master/packages/ssr/jest.js for my Jest test environment.
Why does SSR need this hack?

By the way, if a descriptor is already configurable:false but writable is still true, then the descriptor is still allowed to be configured as long as the only thing being modified is writable being changed to false. This patch makes that feature fail in my case.

// We patch this so Undom can't make any unconfigurable props.

We can't guarantee that Undom is the only thing calling Object.defineProperty. It's a normal JS API that anyone can call.

PR: https://github.com/skatejs/skatejs/pull/1429

Merged and released in 0.19.2 https://unpkg.com/<EMAIL_ADDRESS>

Sweet thanks!


Added Observed Temp

Added the observed temperature values from Fanton (1997) and moved the docstrings to the appropriate places. Also deleted the old Rel_PT_Emission Profile file, which reappeared for some reason.
The actual values of the temperature are still wrong, but we found this trying to solve the problem and thought it was worthwhile to implement for when we need it in the future.

tempobsplot:

This is with g=500. Setting it back to g=1 reproduces the temperature plot tempplot from #7.
Maybe this is useful, and apologies if you already knew this:
To plot multiple curves on the same plot, you can use plot!, which either adds the curve to the last created plot, or to the plot specified by the first argument, i.e.
tempplot = plot(r_vals, T_vals, xlabel = "r(m)", ylabel = "Temperature (K)")
plot!(r_vals, T_obs_vals, xlabel = "r(m)", ylabel = "Temperature (K)")
# equivalent to
# plot!(tempplot, r_vals, T_obs_vals, xlabel = "r(m)", ylabel = "Temperature (K)")

tempplot

Now, tempplot has both temperature curves on the same axes.
Functions that end with a !, such as plot!, replace!, push!, are in-place functions, that modify the arguments (i.e., have side effects).

@dangoh123 are you happy for me to merge this now, or would you like to add any more commits to this PR?

@fjebaker I haven't got anything at the moment. Should be good.


set OVERLAY_CONFIG as cmake variable

Is your enhancement proposal related to a problem? Please describe.
OVERLAY_CONFIG file is something used currently for creating children configuration basing on general parent configuration.
currently OVERLAY_CONFIG is possible to be used from command-line and from tests/sampes *.yaml description.
I.m asking for extend this to be used by CMakeLists explicitly as well.
This helps to reduce amount of configuration per boards we have in the codebase and might help to share same configuration between similar platforms.
So current cmake code snapshot bellow doesn't work.
if((BOARD STREQUAL nrf52840dk_nrf52840) OR
   (BOARD STREQUAL nrf52dk_nrf52832))
  set(OVERLAY_CONFIG overlay-bt.conf)
endif()

This is already supported, but apparently it requires the OVERLAY_CONFIG variable to be set before the zephyr boilerplate is included, like so:
if (${BOARD} STREQUAL frdm_k64f)
  set(OVERLAY_CONFIG overlay-udp.conf)
endif()

# Standard Zephyr application boilerplate.
find_package(Zephyr HINTS $ENV{ZEPHYR_BASE})
project(smp_svr)

This is already supported, but apparently it requires the OVERLAY_CONFIG variable to be set before the zephyr boilerplate is included, like so:
if (${BOARD} STREQUAL frdm_k64f)
  set(OVERLAY_CONFIG overlay-udp.conf)
endif()

# Standard Zephyr application boilerplate.
find_package(Zephyr HINTS $ENV{ZEPHYR_BASE})
project(smp_svr)

Problem with this approach is that it will not work for deprecated board names where Zephyr will automatically rename the board for the user.
Also it will not work for users who are using aliased board names.
So this is a valid enhancment, all though we have a chicken and hen situation when it comes to coding, cause the boiler plate, and hence overlay config files are parsed as part of find_package(Zephyr HINTS $ENV{ZEPHYR_BASE}).
which also handles board aliasing, so this information is needed before find_package, but at that time we know nothing about aliased boards.
Note: This was also the situation with old style boilerplate inclusion.

@tejlmand ^^ I was aware for that this will be like that (by experience). Thanks for clarification.

@tejlmand should we close this issue?

Variables are configures so long as they are set before finding the zephyr package, sysbuild is also supported


Add try_new_token to Tokenizer

This a helper method to convert a u16 back to a Token. Not every u16 is a valid Token though, and what is valid depends on the Tokenizer (or, more precisely, the merge rules that it uses). Hence the conversion method has to live on Tokenizer and we cannot simply impl TryFrom<u16> for Token.

Bikeshedding: I'm not really happy with the name try_new_token - any suggestions? :)


✨ reduce call in profile for personal repls

Describe the problem
Right now the profile load quite slowly because it's loading the whole file tree. In theory it should be possible to avoid that by creating a view in pocket base.
Describe the solution you would like
I would like to create a view in pocketbase to lessen the amount of data downloaded when loading the profile
Describe alternatives you have considered
No response
Additional context
No response

An alternative to maybe consider is moving the tree to a separate table. The view is probably easier, but I wanted to mention the other option.

We still kinda need the three to show the project structure but I would like to try to remove the content of the files at least...not opposed to have another table tho, let's see what's easier

I also recommend adding pagination and streaming (or conditional streaming) to help with profile load performance.

I also recommend adding pagination and streaming (or conditional streaming) to help with profile load performance.

pagination is definitely an option, streaming is way less useful because i don't think pocketbase can stream the response so it would load instantly and then wait all that time for the actual content

As a quick win solution, we could add pagination and remove the file tree preview. (I'm a bit sorry to even suggest, I know you love it.) This could also help with #300?


order not applying correctly

Bug Report
Describe the bug
Using the order key in the .mdx file doesn't correctly reorder the menu items.
To Reproduce

Go to https://github.com/valtech-nyc/brookjs/pull/201
Clone the repository
Run yarn && yarn docs:dev
Open browser & verify menu order

Expected behavior
Menu should be reordered by order key.
Enviroment

OS: OSX 10.13.5
Node/npm version: Node 10.3.0/npm 6.1.0/yarn 1.7.0

Additional context/Screenshots

I think this is the same issue as raised in https://github.com/pedronauck/docz/issues/51

@Swapnull Appears similar, although that one was closed. Is it fixed?
It's also not entirely clear, looking at that issue & the docs, what order is supposed to do exactly. Do you know?

Ah, I think I see your issue looking again.
I think order is reversed to what you would think. if we were to have 100 pages, the one with order: 100 would be at the top and the one with order: 1 would be at the bottom.
if we look at
https://github.com/pedronauck/docz/blob/eb98beb969f9d21d35c95720a3691af08194105b/packages/docz/src/components/Docs.tsx#L54
It sorts by name and then order descending.
entriesArr
          .sort((a, b) => sortBy(a.name, b.name))
          .sort((a, b) => b.order - a.order)

Looking at this with a basic list, you get:
> a = [100, 1 , 2, 74, 9]
[ 100, 1, 2, 74, 9 ]
> a.sort((a, b) => b - a)
[ 100, 74, 9, 2, 1 ]

So maybe the documentation needs to state its descending , or we need to change it so that it sorts upwards rather than downwards. What do you think @pedronauck?

Yeah... it def feels backwards that order 1, 2, 3 shows up as:

3
2
1

in the menu (hence me opening this issue in the first place).

For @Swapnull, the order in descending. I'll follow your guest and put it on the documentation!

This is fixed, so closing, although I do believe this should be the default behavior going forward.


FEATURE jQuery Dayjs - Save button

TODO: Add a listener for click events on the save button. This code should use the id in the containing time-block as a key to save the user input in local storage.

DONE! added the save functionality code in javascript. line 10 to 19


Failure when running devspace after npm install

What happened?

How can we reproduce the bug? (as minimally and precisely as possible) s
This is the execution of /usr/local/bin/devspace sh script with set -x:
 devspace
++ command -v devspace
+ BINARY=/usr/local/bin/devspace
+ echo darwin20
+ grep -q 'darwin.*'
++ stat -L -f%z /usr/local/bin/devspace
+ STAT=
+ '[' '!' -f /usr/local/bin/devspace ']'
+ '[' '' -lt 10000 ']'
/usr/local/bin/devspace: line 12: [: : integer expression expected

stat error:
stat -L -f%z /usr/local/bin/devspace
stat: invalid option -- '%'
Try 'stat --help' for more information.

I guess that the error is triggered because I'm using stat from coreutils, using the stat command from line 8 of the script just works:
stat --printf="%s" "/usr/local/bin/devspace"
55371000

Maybe checking the version of stat instead of the OSTYPE could be a solution.
Local Environment:

DevSpace Version: 5.9.1
Operating System:     ProductName:    macOS
     ProductVersion: 11.2.2
     BuildVersion:   20D80

sh Version:GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin20)
Copyright (C) 2007 Free Software Foundation, Inc.

stat Version:stat (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Michael Meskes.

Kubernetes Cluster:

N/A

Anything else we need to know?
It only happens when I install using npm install, it does not happen if I use the curl version to install it.

/kind bug

@epierotto Thanks for the detailed bug report. Instead of checking the version, let's just not check anything and instead use STAT=$(stat -L -f%z "$BINARY" 2>/dev/null || stat --printf="%s" "$BINARY" 2>/dev/null) so that whatever is working first will determine the var value. I'll push that fix in a minute. I appreciate all the details you provided! Made it super easy to address this. Thanks!

@epierotto this should work now with v5.10.0


Hydroshare metadata elements "hsterms" capitlization format

The hsterms should uniformly follow the standard capitalization format as used for example by Dublin Core metadata elements. Each element should start lower case and if the element consists of more than one word, each word's first letter should be capitalized starting with the second word. For example in Model Instance resource, the metadata element "hsterms:ExecutedBy" should be "hsterms:executedBy." This format is not currently, but should be applied to all extended metadata terms of all resource types. The format should also be applied to the "terms" page.

@gantian127 See if you can work on this issue.

@pkdash I think I was mistaken when I gave an example for "ExecutedBy" term as this is a class. With classes  the first letter of each word should be capitalized, even the for first word, while any other metadata term underneath the class should follow the style as I explained above.

@horsburgh close or act on if needed.


[Calyx-FIRRTL] Add fud2 support for FIRRTL-written primitives + externalized memory simulation

Sorry that the writeup is very long! There was a lot I wanted to verbalize... The Simulating with externalized memories section was also meant to be a potential FAQ so it's ok to be skipped.
General
Currently, we have two "modes" of translating Calyx to FIRRTL with respect to primitives: (1) using extmodule in FIRRTL that uses the pre-existing Verilog implementation of primitives, (2) translating to FIRRTL implementations of primitives using a FIRRTL template and the primitive-uses backend. Previously, fud2 only supported (1) because I didn't have (2) implemented. This PR extends fud2 by allowing FIRRTL to be generated and simulated in both options.
I tried to make this code-clone-free as possible, but please let me know of more improvements I can make!! Also, I'm not the biggest fan of the namings I'm using (ex. verilog-mem-external and others), so I'm more than happy to get suggestions on that front too.
Simulating with externalized memories
I'd like to elaborate a bit on why there are weirdly so many moving parts in this PR, hopefully to answer potential questions like: "Why did you add so many states and transitions to fud2?", "What the heck is externalized_mem_tb.sv?".
FIRRTL does not have a mechanism to dump memory contents a la writememh, which is how @external memories are retrieved in simulation (implemented in the Verilog backend). Since we can't dump memory contents, we need to actually externalize the memory by turning its ports inside out. The problem with this is that the current Verilog testbench does not support main components with externalized memories. So, I wrote an adapted testbench (externamized_mem_tb.sv) that supports main components with externalized memories, and also feed in the Verilog implementation of std_mem_d1. That's what testbench_mem_externalized_setup does. I had to add a bunch of states and transitions to fud2 because (currently) this new testbench should be used if and only if we are simulating (2): FIRRTL with FIRRTL primitive implementations.
Lastly, I'd like to try to answer this potential question:

"Why did you change calyx-opt/src/passes/well_formed.rs and break the CI build?"
I was initially using the externalize pass on the original Calyx programs to produce the FIRRTL code for (2). The externalize pass exposes all input ports of a memory, producing a signature that looked like this:

component main(@go go: 1, @clk clk: 1, @reset reset: 1, mem_read_data: 32, mem_done: 1) -> (@done done: 1, mem_addr0: 1, mem_write_data: 32, mem_write_en: 1, mem_clk: 1, mem_reset: 1) {

This was causing a type error in the FIRRTL, since clk (that had the @clock attribute) had type Clock whereas mem_clk (which didn't have @clock) had type UInt<1>, and mem_clk had clk supplied into it.
@sampsyo suggested we replace @external with ref because (a) ref cells get around this problem (it doesn't produce a mem_clk port in the first place), (b) ref is much more general than @external (and it might be good to have ref simply subsume @external sometime in the future). I'll try to make an issue about (b) soon, I just hope I can explain things well :sweat_smile:
That being said, I think my current changes for calyx-opt/src/passes/well_formed.rs are not quite it, since I didn't want to break the CI build. It would be nice if I can limit that conditional to just when the firrtl and primitive-uses backends are used, but I wasn't sure how to effectively do that... Suggestions would be very appreciated!
Usage
To generate + simulate (1) FIRRTL with Verilog primitive implementations, you can continue using --to firrtl and --through firrtl.
To generate (2) FIRRTL with FIRRTL primitive implementations, please use --to firrtl-with-primitives.
ex)
fud2 examples/tutorial/language-tutorial-control.futil --to firrtl-with-primitives

To simulate (2) FIRRTL with FIRRTL primitive implementations, you can use --through firrtl-with-primitives.
ex)
fud2 examples/tutorial/language-tutorial-control.futil --to dat --through firrtl-with-primitives -s sim.data=data.json -m dot

Below is the fud2 graph that got generated when I ran the above command with -m graph:

Sorry if it's hard to read, but I hope the picture helps conceptualize what's going on! Please let me know if you have any questions, or let me know of any suggestions!!!

I wrote a little more about what to do (again, post-deadline) about the refmem Verilog emission mode here: https://github.com/calyxir/calyx/issues/1603#issuecomment-1937020425. Namely, I think we can get rid of it if we finally take the plunge and remove @external altogether, replacing it with ref instead.

Thanks a lot @sampsyo for the review! I'm sorry I forgot to let you know that this PR still contains WIP, I should've closed out the PR but somehow thought the changes I'd need to make are minimal (haha). Nevertheless your feedback is extremely helpful!!
I came up with an idea last night about how I can avoid making extra states in the fud2 setup while integrating my testbench generation script, so I'll spend a bit of time trying it out. If it doesn't work I'll defer to the multiple states setup for now and make the changes you suggested!

I added full fud2 support for the new custom testbench strategy and fixed some things up! I ended up not being able to remove the many styles/states that are currently residing in fud2, but we can figure things out post-deadline.
In my testing, I got to run some tests from the base tests/correctness directory: if.futil, if-static-different-latencies.futil, par.futil, seq.futil, while.futil (so exciting to be finally running programs that are not from the tutorials! :smile: ). I found a bug in the FIRRTL backend that I need to account for from invoke-memory.futil because some ports that are never used need to be initialized to invalid in FIRRTL to get the FIRRTL compiler working. I'll add a separate PR for that fix since I think it's out of scope for here. The rest of the tests require me to implement std_mult_pipe, while I'll get done soon.
If I can get another round of checking of this PR, I'd super appreciate it!

Things generally look good here! I could be wrong, but it looks like a few unrelated changes might have gotten mixed up with this PR? See, for example, the Dockerfile change at the top of the diff. Which is totally fine and normal during a deadline push, of course, but maybe we want to trim this down to the bare necessities to get it merged into the main branch.
I wouldn't worry about splitting this into smaller PRs—there are many FIRRTL-related things in here, and maybe we should just go ahead and merge the important ones? (And perhaps make ourselves a little to-do list of the small things to clean up afterward?)

@sampsyo Really sorry for the mess! It seems like what happened is that a couple of days ago I (1) merged the main branch into this branch, then (2) immediately "reverted" some changes on this branch because #1610 's changes to primitives/memories/seq.sv broke my benchmarks (the Dahlia-to-Calyx compiler doesn't emit the new version of seq_mem_d* and my benchmarks are from the Dahlia implementations of Polybench). Because the evaluation repo references this branch, I wanted to make sure the benchmarks can still run on this branch.
So the changes to Dockerfile and such should be from the revert. I didn't realize how much that complicated this PR :(
The other issue is that I have to update my testbench generation script to produce the new/correct signature for seq_mem_d*. But I can take care of that. I think the best way to go from here is to keep this branch as is for the sake of the evaluation, and make a new PR for a new branch that is up-to-date with main. I hope that sounds ok?

Got it; makes sense, and no worries!! It seems extremely reasonable to leave this PR here so that the eval repo can reference the exact commit with all of the caveats.
What you suggest here sounds exactly right:

I think the best way to go from here is to keep this branch as is for the sake of the evaluation but close this PR, and make a new PR for a new branch that is up-to-date with main. I hope that sounds ok?

Namely, please do whatever's easiest/simplest, but one option could be to git cherry-pick a few changes at a time and turn those into discrete PRs. Like, maybe one set of changes is just the fud2 stuff (which I promise to help with w/r/t resource files!!), another is for the testbench stuff, maybe another for any necessary tweaks to the primitive library… anyway, truly, you do you, but parceling things out like that might make the path forward clear.

@sampsyo Awesome!! Thanks for the suggestion :) Will close this PR now accordingly!


Use CREATE3 for predictable deployment addresses

See https://github.com/SKYBITDev3/SKYBIT-Keyless-Deployment/tree/main for options.

Done in #32


Add a GitHub Action for displaying Jest test coverage information in pull requests

Why
Test coverage information helps us know where our code is not tested. Having it visible in Pull Requests enforces a higher level of test coverage or at least opens a discussion on why a part is not covered.
Who Benefits?
Code Reviewers with time saved in reviewing the test coverage.
Application quality with test coverage being more often checked and discussed.

Thanks for this submission. This aligns with this objective on the engineering roadmap. Add testing coverage to PRs is an efficient way to ensure tests are continuously written and improved.
Note that Danger is our go-to tool to annotate PRs across all chapters. So we should adopt it also for the JS stack and thus we could use https://danger.systems/js/plugins/danger-plugin-jest-codecov.html

Closed as the PR #70 is already merged


Docker ccm fix docker name

from get_path i got the last part and added to the docker_name to make dockers unique..
the path when running from dtest will be generated by the framework and the path is the only difference between the "clusters"

@fgelcer
The travis CI is failed

LGTM


deleteAccountId should be accountId for AccountDeleteTransaction

Swift: https://github.com/hashgraph/hedera-sdk-swift/blob/main/Sources/Hedera/AccountDeleteTransaction.swift#L28
Java: https://github.com/hashgraph/hedera-sdk-java/blob/main/sdk/src/main/java/com/hedera/hashgraph/sdk/AccountDeleteTransaction.java#L90
Should be  accountId(_deleteAccountId: AccountId) instead of deleteAccountId(_ deleteAccountId: AccountId)

Fixed in https://github.com/hashgraph/hedera-sdk-rust/pull/204


Error log status.lastSyncTime: Required value

Need to clean this below failed log

Failed to update multi-nic-network status: MultiNicNetwork.multinic.fms.io "multi-nic-network" is invalid: status.lastSyncTime: Required value

Fixed by https://github.com/foundation-model-stack/multi-nic-cni/pull/182


Tags remain in cache and are not updated if db.tags receives an insert

Should they be cached (Highly recommendable)
If cached how and when to update the cache ?
User should not be forced to logout everytime ?

http://stackoverflow.com/a/22001098/3754336


[dbghelp and crashrpt] dbghelp not respecting VCPKG_CMAKE_SYSTEM_VERSION for headers and lib

Describe the bug
I had problems building crashrpt. The problem was erroneous macro definitions in the headers in recent Windows SDK versions, which is a known problem. The fix is to revert to an older version.
Even though I have a custom triplet with set(VCPKG_CMAKE_SYSTEM_VERSION 10.0.17134.0)) I get the following from the build log of dbghelp (with my added debug output):
CMAKE_SYSTEM_NAME:
CMAKE_HOST_SYSTEM_NAME: Windows
CMAKE_HOST_SYSTEM_VERSION:
CMAKE_SYSTEM_VERSION:
VCPKG_CMAKE_SYSTEM_VERSION: 10.0.17134.0
Using Windows SDK: 10.0.19041.0
Using Windows SDK dir: C:\Program Files (x86)\Windows Kits\10\
LIBFILEPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\lib\x64\dbghelp.lib
DLLFILEPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll
HEADERPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\inc\dbghelp.h

Even though I have a custom triplet with set(VCPKG_CMAKE_SYSTEM_VERSION 10.0.17134.0) which isn't the same version. The install always uses dbghelp from the (latest?) installed SDK, so it isn't possible to override it.
By searcing for dbhelp in C:\Program Files (x86)\Windows Kits\10 i see that dbghelp.dll is only available at C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll but the .lib and .h have separate versions.
I'm not sure if this is safe to do, depends on the stability of the dll, but I would expect this result instead (with a custom triplet with set(VCPKG_CMAKE_SYSTEM_VERSION 10.0.17134.0)):
LIBFILEPATH: C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um\x64\dbghelp.lib
DLLFILEPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll
HEADERPATH: C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um\dbghelp.h
Environment

OS: Windows
Compiler: tested on current hosted azure pipelines vs2019

To Reproduce
Steps to reproduce the behavior:

./vcpkg install crashrpt with the v142 toolset

the triplet I'm using (x64-windows-v142) is:
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_PLATFORM_TOOLSET v142)
set(VCPKG_CMAKE_SYSTEM_VERSION 10.0.17134.0)

See error
Repro code when

Expected behavior
Working build with dbghelp (headers and lib) from the correct SDK version.
Failure logs
from failed build of crashrpt because of this problem with dbghelp:
install-x64-windows-v142-dbg-out.log
Additional context
Add any other context about the problem here.

@meastp
Have you tried the latest WinSDK?

For me, It builds, compiles, installs fine both the debug and release but with a newer Windows SDK using the x64-windows triplet with these environment variables set:
VCPKG_CRT_LINKAGE                   dynamic
VCPKG_DEFAULT_TRIPLET              x64-windows
VCPKG_LIBRARY_LINKAGE             dynamic
VCPKG_PLATFORM_TOOLSET         v142
VCPKG_TARGET_ARCHITECTURE    x64
VCPKG_VISUAL_STUDIO_PATH       C:\Program Files (x86)\Microsoft Visual Studio\2019\Community

With these versions of Windows, SDK, VS 2019 16.9.1, Toolset v142 and Compiler
Microsoft Windows 10 Pro [Version 10.0.19042.867]
Windows SDK [Version 10.0.19041.685]
Visual Studio 2019 Community Edition [Version 16.9.1]
Visual Studio Toolset [Version 14.28.29910]
Microsoft (R) C/C++ Optimizing Compiler [Version 19.28.29912 for x64]

My WinSDK is not the 19041 installed with Visual Studio, but installed from the latest release iso version from Microsoft.

@StarGate-One The error happens while building with the Microsoft Hosted Pipelines in Azure, where the installed SDK has a version that contains this error. I would like to avoid installing a new SDK on every run (when building with the Hosted pipelines, you get a fresh agent every time and it would be a waste to use that time on installing a new SDK, imho).
For now, I have modified dbghelp to use VCPKG_CMAKE_SYSTEM_VERSION in my private vcpkg-registry, which works with the Microsoft Hosted Azure Pipelines.
I still think that dbghelp not respecting VCPKG_CMAKE_SYSTEM_VERSION is a bug, since MSBuild and CMake do use the correct Windows SDK version while building.

Hi @meastp
Thanks for posting this issue.
I cannot reproduce this issue on my machine.
I used Windows SDK 10.0.19041.0 with VS 2019 16.9.1.

@NancyLi1013 If you have access to Azure Pipelines, you can create a pipeline using the Microsoft Hosted Agent with VS2019, download vcpkg (or use the one included) and build crashrpt. It will fail.
If you want to reproduce this and need me to make an azure-pipelines.yaml file, I can make one.
My point is that one should be able to pick any Windows 10 SDK version which is installed on the system (Visual Studio allows you to have multiple installed) - not be forced to use only the latest/installed (in e.g. C:\Program Files (x86)\Windows Kits\10\Lib)

As described in the included software page the windows-vs2019 agent has:

Microsoft Windows Server 2019 Datacenter
OS Version: 10.0.17763 Build 1757
Image Version: 20210219.1

and has all the following Windows 10 SDK components installed:

Package
Version

Microsoft.VisualStudio.Component.Windows10SDK
16.4.29409.204

Microsoft.VisualStudio.Component.Windows10SDK.16299
16.8.30509.167

Microsoft.VisualStudio.Component.Windows10SDK.17134
16.8.30509.167

Microsoft.VisualStudio.Component.Windows10SDK.17763
16.0.28517.75

Microsoft.VisualStudio.Component.Windows10SDK.18362
16.1.28829.92

Microsoft.VisualStudio.Component.Windows10SDK.19041
16.8.30509.167

I think vcpkg and dbghelp should be able to use all these versions when building - not only 10.0.17763 (from OS Version).

@meastp
I double confirmed with installing Windows 10 SDK 10.0.17134.0, aslo with the latest windows sdk 10.0.19041.0 installed on local machine:
vcpkg will pick the latest one you installed on your machine by default. After setting VCPKG_CMAKE_SYSTEM_VERSION it will pick up the version you set. So I think this is not a vcpkg issue.
For the error build on Windows 10 SDK 10.0.17134.0, this is due to the latest MSVC compiler has more strict checks,
You can report an issue to windows sdk team instead.

@NancyLi1013 How did you set the VCPKG_CMAKE_SYSTEM_VERSION? If you see the output in the first post, setting VCPKG_CMAKE_SYSTEM_VERSION did not change the path from the function (in portfile.cmake) vcpkg_get_windows_sdk(WINDOWS_SDK)

VCPKG_CMAKE_SYSTEM_VERSION: 10.0.17134.0
Using Windows SDK: 10.0.19041.0
Using Windows SDK dir: C:\Program Files (x86)\Windows Kits\10
LIBFILEPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\lib\x64\dbghelp.lib
DLLFILEPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll
HEADERPATH: C:\Program Files (x86)\Windows Kits\10\Debuggers\inc\dbghelp.h

Can you confirm that the output for LIBFILEPATH, HEADERPATH etc. is NOT C:\Program Files (x86)\Windows Kits\10\DebuggersC:\Program Files (x86)\Windows Kits\10\Debuggersbut something likeC:\Program Files (x86)\Windows Kits\10\Lib\10.0.17134.0\um? That would be surprising sinceDebuggersis hardcoded in the path inportfile.cmake`...
Perhaps I need to reproduce this on an azure pipelines agent so you can investigate?

@NancyLi1013 Ok, I've made a repro of this issue:
Look at the azure-pipelines.yml file in https://github.com/meastp/vcpkg (the master branch) - if you run this in Azure Pipelines it will fail, even with a custom triplet with VCPKG_CMAKE_SYSTEM_VERSION set to 10.0.17134.0.
I have an Azure Pipelines build on this repo, but it has to be private to get 1 free hosted pipeline build, unfortunately. I can provide you with logs (the buildtrees folders, triplets etc.) and screenshots if you don't want to create your own pipeline from my https://github.com/meastp/vcpkg.

@StarGate-One The error happens while building with the Microsoft Hosted Pipelines in Azure, where the installed SDK has a version that contains this error. I would like to avoid installing a new SDK on every run (when building with the Hosted pipelines, you get a fresh agent every time and it would be a waste to use that time on installing a new SDK, imho).

@meastp I understand, slows down the pipeline process. I should have paid closer attention to where it was running.
I try to help where I can, and have to skip the pipeline issues as I do not have a subscription.
I can only see the pipelines dealing with the PRs, but I can not initiate or update them.
Hope you get it figured out and have a wonderful weekend.

@StarGate-One Thanks. As I mentioned, I have changed dbghelp locally (in a private vcpkg-registry), to actually use VCPKG_CMAKE_SYSTEM_VERSION, but I think this is the right behaviour and thus I reported this as a bug.
For me with the CI agent administered by Microsoft - and anyone with a CI agent administered by a third party - the installed SDK can vary and change without notice, so the dbghelp build needs to be able to either use a specific SDK with a given version or fail the build.
If this isn't considered a bug, then I'll need to maintain my own version indefinitely.

@ras0219 @ras0219-msft Can you please take a look?
Thanks.

@ras0219-msft Do you have an update on this? This issue has come up again when trying to build using VS2022 - the hosted agents does not have the old Win10 SDK. Not being able to control the Windows 10 SDK version, but just picking the system installed one (which can differ on dev machines and ci) is a problem, unfortunately...
Is there a way to get hold of the correct lib/h/dll to make a (personal, private?) binary package to resolve this?

can you setup a pull request for your fix to the dbhelp port so those of us who want it can apply it to our own repo? or if you just using a port overlay can you zip it up and attach it here in this discussion? I am running into this myself and would sure like to not have to reinvent the wheel.

@cedral : sure, this is my portfile.cmake:
vcpkg_fail_port_install(ON_TARGET "OSX" "Linux")
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

vcpkg_get_windows_sdk(WINDOWS_SDK)

message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
message("CMAKE_HOST_SYSTEM_NAME: ${CMAKE_HOST_SYSTEM_NAME}")
message("CMAKE_HOST_SYSTEM_VERSION: ${CMAKE_HOST_SYSTEM_VERSION}")
message("CMAKE_SYSTEM_VERSION: ${CMAKE_SYSTEM_VERSION}")

message("VCPKG_CMAKE_SYSTEM_VERSION: ${VCPKG_CMAKE_SYSTEM_VERSION}")
message("Using Windows SDK: ${WINDOWS_SDK}")
message("Using Windows SDK dir: $ENV{WindowsSdkDir}")

if (WINDOWS_SDK VERSION_GREATER "10" AND "${VCPKG_CMAKE_SYSTEM_VERSION}" STREQUAL "${WINDOWS_SDK}")
    set(LIBFILEPATH "$ENV{WindowsSdkDir}Debuggers\\lib\\${TRIPLET_SYSTEM_ARCH}\\dbghelp.lib")
    message("LIBFILEPATH: ${LIBFILEPATH}")
    set(DLLFILEPATH "$ENV{WindowsSdkDir}Debuggers\\${TRIPLET_SYSTEM_ARCH}\\dbghelp.dll")
    message("DLLFILEPATH: ${DLLFILEPATH}")
    set(HEADERPATH "$ENV{WindowsSdkDir}Debuggers\\inc\\dbghelp.h")
    message("HEADERPATH: ${HEADERPATH}")
elseif (WINDOWS_SDK VERSION_GREATER "10")
    set(LIBFILEPATH "$ENV{WindowsSdkDir}Lib\\${VCPKG_CMAKE_SYSTEM_VERSION}\\um\\${TRIPLET_SYSTEM_ARCH}\\dbghelp.lib")
    message("LIBFILEPATH: ${LIBFILEPATH}")
    set(DLLFILEPATH "$ENV{WindowsSdkDir}Debuggers\\${TRIPLET_SYSTEM_ARCH}\\dbghelp.dll")
    message("DLLFILEPATH: ${DLLFILEPATH}")
    set(HEADERPATH "$ENV{WindowsSdkDir}Include\\${VCPKG_CMAKE_SYSTEM_VERSION}\\um\\dbghelp.h")
    message("HEADERPATH: ${HEADERPATH}")
else()
    message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
endif()

if (NOT EXISTS "${LIBFILEPATH}" OR NOT EXISTS "${DLLFILEPATH}" OR NOT EXISTS "${HEADERPATH}")
    message(FATAL_ERROR "Cannot find debugging tools in Windows SDK ${WINDOWS_SDK}. Please reinstall the Windows SDK and select \"Debugging Tools\".")
endif()

file(INSTALL ${LIBFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
file(INSTALL ${LIBFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
file(INSTALL ${DLLFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(INSTALL ${DLLFILEPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(INSTALL ${HEADERPATH} DESTINATION ${CURRENT_PACKAGES_DIR}/include)

file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "See https://developer.microsoft.com/windows/downloads/windows-10-sdk for the Windows 10 SDK license")

Suggestions and corrections are welcome. :)

@meastp Can you authorize me to open a PR with your modifications to fix this?

@JackBoosY sure, go ahead :) I would, however, confirm (with Microsoft) that the files from the versioned sdk folder(s):

"$ENV{WindowsSdkDir}Lib\${VCPKG_CMAKE_SYSTEM_VERSION}\um\${TRIPLET_SYSTEM_ARCH}\dbghelp.lib"
"$ENV{WindowsSdkDir}Include\${VCPKG_CMAKE_SYSTEM_VERSION}\um\dbghelp.h"
are, in fact, compatible with the dll in:
"$ENV{WindowsSdkDir}Debuggers\${TRIPLET_SYSTEM_ARCH}\dbghelp.dll"
I just assumed this as a quick hack, but for this to go into the official port, a confirmation is in order, I think :)