feat(savers): refetch opportunities on deposit/withdraw

Description
This PR refetches savers userData on deposit/withdraw, by waiting 15 seconds before both setting the Tx as completed and refetching. This way, we ensure that by the time the Tx is shown as completed, the position is updated.
Notes
Refetching in the view-layer is only the temporary naive way to refetch until we build a THORChain savers parsers, which we will be able to now that we have memos. Fetching in <Status /> effectively means that closing the status modal would not refetch, which could be the case for UTXOs with 5+ minutes to 1 confirmation, less likely for EVM chains / ATOM.
Notice

[x] Have you followed the guidelines in our Contributing guide?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[x] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)
N/A
Risk

Testing

Deposit/withdraw from savers
Ensure the position is updated accordingly as soon as the Tx shows completed

Engineering

Operations

Screenshots (if applicable)
https://user-images.githubusercontent.com/17035424/215135254-19bea4b2-7371-4e63-a5d6-28bc157f6377.mov
https://user-images.githubusercontent.com/17035424/215135348-e3f17411-48ed-434e-950b-566f0b33c706.mov
https://user-images.githubusercontent.com/17035424/215135541-09f8359a-c39f-4125-9336-d6aa7b065eee.mov

Current dependencies on/for this PR:

develop

PR #3701

PR #3702

PR #3703   👈

This comment was auto-generated by Graphite.

@gomesalexandre consider this stack up to 3707 approved, please feel free to merge on your own, i've reviewed them all.
this one obv has the most logic, and i agree a parser is the best, let's get this in and test functionally for now and we can refactor to the parser approach if this is an issue later. we're going to get the parser for "free" for displaying deposit/withdraw txs anyway.

Admin merging as effectively approved in https://github.com/shapeshift/web/pull/3703#issuecomment-1407214011


(IGNORE) Fix dependabot config

Changes in This Pull Request
Fix copy/paste error in dependabot config when split out from c2pa-rs repo.
Checklist

[x] This PR represents a single feature, fix, or change.
[x] All applicable changes have been documented.
[x] Any TO DO items (or similar) have been entered as GitHub issues and the link to that issue has been included in a comment.

Codecov Report

Merging #13 (cff925a) into main (43aed2f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage   65.11%   65.11%
=======================================
  Files           3        3
  Lines         215      215
=======================================
  Hits          140      140
  Misses         75       75

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 43aed2f...cff925a. Read the comment docs.


Revert "Fix certsyncer to use longlived localhost-recovery cert for cert-syncer"

Reverts openshift/cluster-kube-apiserver-operator#656
The PR was correct to wire it, but the locahost recovery seems to be wired wrong and neither CI nor the operator detect broken certsyncer :(
Installer pre-populates the files managed by certsyncer, so we never find out its broken in CI.
We need to revert until we have a fix for the localhost recovery SNI cert. And we need to wire certsyncer informers to fail after a while to get the container failing, or get healthz wired for that container in future.
E1120 08:48:02.984629       1 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Failed to list *v1.ConfigMap: Unauthorized
E1120 08:48:02.988881       1 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Failed to list *v1.Secret: Unauthorized
E1120 08:48:03.986085       1 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Failed to list *v1.ConfigMap: Unauthorized
E1120 08:48:03.990080       1 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Failed to list *v1.Secret: Unauthorized
E1120 08:48:04.987488       1 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Failed to list *v1.ConfigMap: Unauthorized
E1120 08:48:04.991269       1 reflector.go:123] k8s.io/client-go/informers/factory.go:134: Failed to list *v1.Secret: Unauthorized
....

@openshift/sig-master
/cc @mfojtik

/lgtm


⚠ Jenkins Plugins Artifactory has degraded performance

In 7a13e6f, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2794 ms

Resolved: Jenkins Plugins Artifactory performance has improved in eed2212 after 1 hour, 16 minutes.


iOS version crashes on device

I'm just a vale of tears this week :) Facebook will do that to you.
So this plugin works ok on simulator but crashes on device. I'm on 9.0.2 iPhone 5:
Incident Identifier: A3782E83-8D12-4E5B-8111-B9E921A62BFA
CrashReporter Key:   cfba0fe3bd0b9bbb300897180a6b97860c898659
Hardware Model:      iPhone6,1
Process:             ThisOrThat [1209]
Path:                /private/var/mobile/Containers/Bundle/Application/7D912C9A-3FEE-4615-A45A-EC7E15DD5119/ThisOrThat.app/ThisOrThat
Identifier:          org.nativescript.ThisOrThat
Version:             1.0 (1.0)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]
Date/Time:           2015-10-22 18:41:30.30 -0400
Launch Time:         2015-10-22 18:40:43.43 -0400
OS Version:          iOS 9.0.2 (13A452)
Report Version:      105
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
Triggered by Thread:  0
Filtered syslog:
None found
Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   ThisOrThat                    	0x0000000100057e58 WTFCrash + 72
1   ThisOrThat                    	0x0000000100057e50 WTFCrash + 64
2   ThisOrThat                    	0x000000010001ab98 NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*) + 756
3   ThisOrThat                    	0x0000000100025910 NativeScript::FFICallbackNativeScript::ObjCBlockCallback::~FFICallback() + 0
4   ThisOrThat                    	0x00000001004cbd2c ffi_closure_SYSV_inner + 684

Are you building with iOS 9 sdk? I never encounter that error before maybe it is this
https://developers.facebook.com/docs/ios/ios9
If you compile your app with iOS SDK 9.0 add to the application's plist
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>facebook.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>fbcdn.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>akamaihd.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

And this have to be added as well to the application's plist to make the app switch works in iOS 9 (even if you build with an older skd)
<key>LSApplicationQueriesSchemes</key>
<array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
</array>

Oh man, it is still crashing...Do you happen to have an iOS-friendly sample app scaffolded that I could check? Thanks!!

Hey @AntonioCuevaUrraco - we just implemented a POC plugin for iOS using the FB login APIs. Please take a look at it and you can use any code you like: https://github.com/NativeScript/nativescript-facebook-plugin
Please let us know if this needs some help from us. Cheers!!

Great, I will add some working samples for Android and iOS soon and expose some more functionalities of the Facebook API

hey @AntonioCuevaUrraco , not sure if you followed my comments on the nativescript repo (https://github.com/NativeScript/NativeScript/issues/1022) but, I would love to help build this plugin further. I am interested in adding more platforms' (Twitter, Google+, etc.) login capabilities to nativescript. Not sure if this plugin is headed in that direction but it would be great to collaborate. What are your thoughts?

Hei, @rohitverma007 you are more than welcome to the social club :-)
I am working as the mobile software engineer in charge for  Smarp. As an employee advocacy platform we work closely together with the social networks, we have already login with:
Facebook (Sdk)
Twitter (Webview)
Linkedin (Webview)
I think the best way to go is to create a plugin for each social network so the developers can decide which one they want to use. And if you want a "Mega Social Login" can be done with dependencies to all the other plugins.
@jlooper About Facebook, we have our app currently on the app store login with this same plugin and it is working. I got some reports thought of the app crashing in iOS when login with Facebook and I have been tracking the issue down to find a solution. The problem that we faced is that for some (still unknown) reason Facebook SDK was coming back after login with no error and null result. Null was not expected...hence crash. I will make an update of the plugin and documentation today and hopefully thats the solution for you.

Sounds good. Actually, I'm leaning more towards creating a Twitter plugin since one of the projects that I'm working on depends on that but, I'm available for help for adding more fb APIs to this plugin as well if you need it!
Also, interesting that you mention web view because fb switched over to using safari for their login instead of the mobile app. And ya, the sample app works fine for me as mentioned in the other thread.

Hei @rohitverma007 ask me if you have some problem with twitter sdk.
About the Facebook one I am fine with exposing more of the facebook api but in this plugin only stuffs related to log in. Facebook is a monster and they divide their sdk in core, login, share.
Facebook have 4 login behaviours for iOS and 2 for android. I personally like to use
the system account with fallback to safari for ios
the app with fallback to in app webview for android
as they try first to get the token with 0 input from user and if that fail ask for input.

@jlooper I am going to close this issue unless you still have problems with the plugin on iOS


Reproducing NVIDIA's Xavier submission with JetPack 4.5

JetPack 4.5 is the latest production release to which one can upgrade without reflashing the board with 20.09 Jetson CUDA-X AI Developer Preview that NVIDIA used for their v0.7 submission. Although released several (4-5?) months after the v0.7 submission, it still lags behind in terms of the TensorRT version: v7.1.3 vs v7.2.0. This may explain the issues I'm seeing when trying to build the test harness:

anton@xavier:/datasets/inference_results_v0.7/closed/NVIDIA$ make build
Cloning Official MLPerf Inference (For Loadgen Files)
Cloning into '/datasets/inference_results_v0.7/closed/NVIDIA/build/inference'...
<...>
-- Configuring done
-- Generating done
-- Build files have been written to: /datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin
make[2]: Entering directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
make[3]: Entering directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
make[4]: Entering directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
Scanning dependencies of target instancenorm3dplugin
make[4]: Leaving directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
make[4]: Entering directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
[ 25%] Building CUDA object CMakeFiles/instancenorm3dplugin.dir/src/instanceNormalization3DPlugin.cu.o
[ 50%] Building CUDA object CMakeFiles/instancenorm3dplugin.dir/src/instance_norm_fwd_impl.cu.o
/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(249): error: enum "nvinfer1::TensorFormat" has no member "kDHWC8"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(250): error: enum "nvinfer1::TensorFormat" has no member "kCDHW32"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(358): error: enum "nvinfer1::TensorFormat" has no member "kDHWC8"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(359): error: enum "nvinfer1::TensorFormat" has no member "kCDHW32"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(455): error: enum "nvinfer1::TensorFormat" has no member "kDHWC8"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(460): error: enum "nvinfer1::TensorFormat" has no member "kCDHW32"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(465): error: enum "nvinfer1::TensorFormat" has no member "kCDHW32"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(466): error: enum "nvinfer1::TensorFormat" has no member "kCDHW32"

/datasets/inference_results_v0.7/closed/NVIDIA/code/plugin/instanceNormalization3DPlugin/src/instanceNormalization3DPlugin.cu(468): error: enum "nvinfer1::TensorFormat" has no member "kCDHW32"

9 errors detected in the compilation of "/tmp/tmpxft_0000318e_00000000-8_instanceNormalization3DPlugin.compute_75.cpp1.ii".
CMakeFiles/instancenorm3dplugin.dir/build.make:82: recipe for target 'CMakeFiles/instancenorm3dplugin.dir/src/instanceNormalization3DPlugin.cu.o' failed
make[4]: *** [CMakeFiles/instancenorm3dplugin.dir/src/instanceNormalization3DPlugin.cu.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/instancenorm3dplugin.dir/all' failed
make[3]: *** [CMakeFiles/instancenorm3dplugin.dir/all] Error 2
make[3]: Leaving directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
Makefile:103: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/datasets/inference_results_v0.7/closed/NVIDIA/build/plugins/instanceNormalization3DPlugin'
Makefile:305: recipe for target 'build_plugins' failed
make[1]: *** [build_plugins] Error 2
make[1]: Leaving directory '/datasets/inference_results_v0.7/closed/NVIDIA'
Makefile:247: recipe for target 'build' failed
make: *** [build] Error 2

@nvpohanh Can you perhaps suggest a workaround? instanceNormalization3DPlugin sounds like something related to 3D U-net, which I don't need at the moment. Perhaps I can bypass building this plugin?

I managed to build without errors by disabling instanceNormalization3DPlugin and pixelShuffle3DPlugin:

anton@xavier:/datasets/inference_results_v0.7/closed/NVIDIA$ git diff Makefile
diff --git a/closed/NVIDIA/Makefile b/closed/NVIDIA/Makefile
index 4679ec29..3961fb96 100644
--- a/closed/NVIDIA/Makefile
+++ b/closed/NVIDIA/Makefile
@@ -320,6 +320,7 @@ endif
        cd build/plugins/RNNTOptPlugin \
                && cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(PROJECT_ROOT)/code/plugin/RNNTOptPlugin \
                && make -j
+ifeq ($(ARCH), x86_64)
        mkdir -p build/plugins/instanceNormalization3DPlugin
        cd build/plugins/instanceNormalization3DPlugin \
                && cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(PROJECT_ROOT)/code/plugin/instanceNormalization3DPlugin \
@@ -328,6 +329,7 @@ endif
        cd build/plugins/pixelShuffle3DPlugin \
                && cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(PROJECT_ROOT)/code/plugin/pixelShuffle3DPlugin \
                && make -j
+endif

 # Build LoadGen.
 .PHONY: build_loadgen

and removing two (new?) tensor format cases:

anton@xavier:/datasets/inference_results_v0.7/closed/NVIDIA$ git diff code/harness/lwis/include/lwis_buffers.h
git diff code/harness/lwis/include/lwis_buffers.h
diff --git a/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h b/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h
index 5a79260c..59f8c120 100644
--- a/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h
+++ b/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h
@@ -80,10 +80,8 @@ inline int64_t volume(const nvinfer1::Dims& d, const nvinfer1::TensorFormat& for
         case nvinfer1::TensorFormat::kCHW2: spv = 2; channelDim = d_new.nbDims - 3; break;
         case nvinfer1::TensorFormat::kCHW4: spv = 4; channelDim = d_new.nbDims - 3; break;
         case nvinfer1::TensorFormat::kHWC8: spv = 8; channelDim = d_new.nbDims - 3; break;
-        case nvinfer1::TensorFormat::kDHWC8: spv = 8; channelDim = d_new.nbDims - 4; break;
         case nvinfer1::TensorFormat::kCHW16: spv = 16; channelDim = d_new.nbDims - 3; break;
         case nvinfer1::TensorFormat::kCHW32: spv = 32; channelDim = d_new.nbDims - 3; break;
-        case nvinfer1::TensorFormat::kCDHW32: spv = 32; channelDim = d_new.nbDims - 4; break;
         case nvinfer1::TensorFormat::kLINEAR:
         default: spv = 1; channelDim = -1; break;
     }

I managed to build without errors by disabling instanceNormalization3DPlugin and pixelShuffle3DPlugin:

anton@xavier:/datasets/inference_results_v0.7/closed/NVIDIA$ git diff Makefile
diff --git a/closed/NVIDIA/Makefile b/closed/NVIDIA/Makefile
index 4679ec29..3961fb96 100644
--- a/closed/NVIDIA/Makefile
+++ b/closed/NVIDIA/Makefile
@@ -320,6 +320,7 @@ endif
        cd build/plugins/RNNTOptPlugin \
                && cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(PROJECT_ROOT)/code/plugin/RNNTOptPlugin \
                && make -j
+ifeq ($(ARCH), x86_64)
        mkdir -p build/plugins/instanceNormalization3DPlugin
        cd build/plugins/instanceNormalization3DPlugin \
                && cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(PROJECT_ROOT)/code/plugin/instanceNormalization3DPlugin \
@@ -328,6 +329,7 @@ endif
        cd build/plugins/pixelShuffle3DPlugin \
                && cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) $(PROJECT_ROOT)/code/plugin/pixelShuffle3DPlugin \
                && make -j
+endif

 # Build LoadGen.
 .PHONY: build_loadgen

and removing two (new?) tensor format cases:

anton@xavier:/datasets/inference_results_v0.7/closed/NVIDIA$ git diff code/harness/lwis/include/lwis_buffers.h
git diff code/harness/lwis/include/lwis_buffers.h
diff --git a/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h b/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h
index 5a79260c..59f8c120 100644
--- a/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h
+++ b/closed/NVIDIA/code/harness/lwis/include/lwis_buffers.h
@@ -80,10 +80,8 @@ inline int64_t volume(const nvinfer1::Dims& d, const nvinfer1::TensorFormat& for
         case nvinfer1::TensorFormat::kCHW2: spv = 2; channelDim = d_new.nbDims - 3; break;
         case nvinfer1::TensorFormat::kCHW4: spv = 4; channelDim = d_new.nbDims - 3; break;
         case nvinfer1::TensorFormat::kHWC8: spv = 8; channelDim = d_new.nbDims - 3; break;
-        case nvinfer1::TensorFormat::kDHWC8: spv = 8; channelDim = d_new.nbDims - 4; break;
         case nvinfer1::TensorFormat::kCHW16: spv = 16; channelDim = d_new.nbDims - 3; break;
         case nvinfer1::TensorFormat::kCHW32: spv = 32; channelDim = d_new.nbDims - 3; break;
-        case nvinfer1::TensorFormat::kCDHW32: spv = 32; channelDim = d_new.nbDims - 4; break;
         case nvinfer1::TensorFormat::kLINEAR:
         default: spv = 1; channelDim = -1; break;
     }

@psyhtest Our submission codes don't support TRT 7.1 at all. TRT 7.2.0 is the minimal requirement, but I know that TRT 7.2.0 probably doesn't work with JP4.5. Could you try TRT 7.2.2 instead? https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-7.html#rel_7-2-2

@psyhtest Our submission codes don't support TRT 7.1 at all. TRT 7.2.0 is the minimal requirement, but I know that TRT 7.2.0 probably doesn't work with JP4.5. Could you try TRT 7.2.2 instead? https://docs.nvidia.com/deeplearning/tensorrt/release-notes/tensorrt-7.html#rel_7-2-2

@nvpohanh I don't think one can upgrade TensorRT on Jetson boards that easily? It seems I either needs to install the Developer Preview release, or wait until JetPack 4.6 or even later.
Actually, because of using a Developer Preview release, should not the Xavier v0.7 submission have been categorised as "Preview"? According to the MLPerf Inference rules:

If you are measuring the performance of a publicly available and widely-used system or framework, you must use publicly available and widely-used versions of the system or framework.

While Xavier is publicly available and widely-used, a Developer Preview may be publicly available but is not widely-used.

@nvpohanh I don't think one can upgrade TensorRT on Jetson boards that easily? It seems I either needs to install the Developer Preview release, or wait until JetPack 4.6 or even later.
Actually, because of using a Developer Preview release, should not the Xavier v0.7 submission have been categorised as "Preview"? According to the MLPerf Inference rules:

If you are measuring the performance of a publicly available and widely-used system or framework, you must use publicly available and widely-used versions of the system or framework.

While Xavier is publicly available and widely-used, a Developer Preview may be publicly available but is not widely-used.

@DilipSequeira Could you provide more detailed explanation?
We used 20.09 Jetson CUDA-X AI for our Xavier v0.7 submissions. As the descriptions suggest, it is for whoever is interested in trying latest CUDA-X AI components and is available to everyone to deploy on their systems.
As for v1.0, if you are interested in using a newer software stack than the one we used in v0.7 for v1.0 Xavier submission, could you send an email to me and Dilip so that we can discuss there?

@DilipSequeira Could you provide more detailed explanation?
We used 20.09 Jetson CUDA-X AI for our Xavier v0.7 submissions. As the descriptions suggest, it is for whoever is interested in trying latest CUDA-X AI components and is available to everyone to deploy on their systems.
As for v1.0, if you are interested in using a newer software stack than the one we used in v0.7 for v1.0 Xavier submission, could you send an email to me and Dilip so that we can discuss there?

@nvpohanh Sure, will do, thanks.

@nvpohanh Sure, will do, thanks.

Hi Anton
The specific definition of Available for the purpose of submission categories is set out in section 7.3.1 of the general policies document.
_For binaries, the binary must be made available as release, or as a "beta" release with the requirement that optimizations will be included in a future "official" release. _
There is some inconsistency between this section and the statement you point out in the inference rules.

Hi Anton
The specific definition of Available for the purpose of submission categories is set out in section 7.3.1 of the general policies document.
_For binaries, the binary must be made available as release, or as a "beta" release with the requirement that optimizations will be included in a future "official" release. _
There is some inconsistency between this section and the statement you point out in the inference rules.

The vision benchmarks seem to work with TensorRT v7.1.3, so closing.


handleAddRowAtBegin In Modal Adds Row To Table But Disappears When Modal Closed

Hey,
I am trying to dynamically insert a row in a table based on information the user enters in a form in a modal popup. Once the use has clicked save changes, I used the following code to create the object and pass it to the table via "handleAddRowAtBegin".
`var rowData = {
postid: this.state.postid,
cny_id: this.state.cny_id,
cny_name: this.state.cny_name,
update_date: this.state.update_date,
update_comment: this.state.update_comment
};
var result = this.props.table.handleAddRowAtBegin(rowData);
if (result){  // some error happened, ex: didn't assign row key or row key was duplicated
console.log('######### ERROR - Add Row To Table #############');
console.log(result);
} else {
this.props.hide();
}`
The hide function which set the open state to false in order to hide the modal.
hide() {     this.setState({ open: false });   }
This seems to work perfectly until I try and close the modal popup. There is a state for "open" which is either true or false, whenever I try to set it to false dynamically the newly added row in the table disappears and I cannot figure out why.
Any help here would be appreciated.

sorry for lately reply, I'm busy here for my work, so I'll have a look on it. I've some questions

the modal is all custom by yourself, is that the react-bootstrap-table insert modal?
did you enable pagination?

close it due to no any response since from 7 Mar


Document finding user IDs

Documentation provides examples like
routes_paginator = mmf.route.search(user=9118466)
I've looked high and low on mapmyride.com and mapmyfitness.com but can't find any reference to a user ID integer anywhere, so am finding it hard to get started. Where can one find this?

You'll receive the user id on the in the body of the final response in the oauth dance. I've used python social auth before to authenticate MapMyFitness users and it has worked well. Here is where it grabs the user id from the response.
This library doesn't concern itself with authorizing users and just assumes you've got a good user id in hand. You can also hit the /user/self/ endpoint listed here to get all user data (including id, name, height, weight, etc) by just using the currently auth'd user (the access token). Does that help?

Oh, I see - I misunderstood how this worked. OK, I'll play. Thanks.


Test notebooks locally

Add nbmake in dev dependencies for testing notebooks locally with pytest
Add explanation in contributing guide.

To test the PR, you have to install again with poetry (i do not know how to update the poetry install cleanly). And then type
poetry run pytest --nbmake notebooks -v

I see that the workflow crashed but is again a seg fault for tests/solvers/cpp that happens from time to time with ubuntu or macos runners (here ubuntu). It would be nice to find out why this is happening. And if someone with the proper rights (@galleon ?) can relaunch the workflow, it should work normally... (it worked on my branch that this PR is pulling: https://github.com/nhuet/scikit-decide/actions/runs/1544104432)

Thanks @galleon ! So now that the workflow passed, what is missing for the merge ?

Still need to move nbmake as a dev dependency.

Weird I was sure to have added it to dev section... I move it in pyproject.toml then reinstall everything (:cry:) so that poetry.lock update accordingly and i repush...

I am not sure if I am doing it properly. To add a dependency while having a poetry.lock, I

added nbmake to dev dependencies in pyproject.toml
run a poetry update so that the new dependencies are taken into account (else the poetry install fails)

=> it results in all versions of dependencies being recomputed and updated to newest available (not necessarily what we wanted). Maybe I could have first done a poetry update in a separate commit, before adding the new dep nbmake...
Anyway, it should work like that, let us see what the workflow give us after this update...


problem getDataType() on null

i test new update in master (2019-11-27) and dont working for me

could you provide us with the code from cloudflare you are trying to parse?

Same here, I created index.php in root folder and here is the codes:
<?php

require __DIR__.'./vendor/autoload.php';

use CloudflareBypass\CFCurlImpl;
use CloudflareBypass\Model\UAMOptions;

/*
 * Prerequisites
 *
 * Set the following request headers:
 *
 * - Upgrade-Insecure-Requests
 * - User-Agent
 * - Accept
 * - Accept-Language
 *
 * Set the following options:
 *
 * - CURLINFO_HEADER_OUT    true
 * - CURLOPT_VERBOSE        false
 *
 */
$url = "http://rmz.cr";
$ch = curl_init($url);

// Want to cache clearance cookies ?
//curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
//curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
    array(
        "Upgrade-Insecure-Requests: 1",
        "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
        "Accept-Language: en-US,en;q=0.9"
    ));

$cfCurl = new CFCurlImpl();

$cfOptions = new UAMOptions();
$cfOptions->setVerbose(true);
// $cfOptions->setDelay(5);

try {
    $page = $cfCurl->exec($ch, $cfOptions);

    // Want to get clearance cookies ?
    //$cookies = curl_getinfo($ch, CURLINFO_COOKIELIST);

} catch (ErrorException $ex) {
    echo "Unknown error -> " . $ex->getMessage();
}

same problem. please help. thank you very much.

thank you so much. working perfectly now.


Review vampirism/lycanthropy

Can clerics cure them (I know they can cure vampirism)
If they can be cured then make them permanent?

@ParreaBob moved your ticket here


Add special treatment if no Metamask is installed

Should display a warning or something similar.

Should be solved with JS in base.html which checks if someone if accounts[0] exists


Use openai official api to send prompts

I replaced the original browser-based chatgpt library with the official Openai api, which is more stable.

Awesome thanks!


Fix Threat Intelligence Swagger Correctness S360

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[X] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[X] SDK of .NET (need service team to ensure code readiness)
[X] SDK of Python
[ ] SDK of Java
[X] SDK of Js
[X] SDK of Go
[] PowerShell
[X] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@PhoenixHe-msft : Fixing Correctness issue:
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=16BCFCD0-1959-42C5-884D-1D6DAFD0A735
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=5D5F7F88-59DE-4367-A2D9-6A9E512651D6
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=1860FE2B-F318-4345-9998-BC36BDB1B9ED
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=1860FE2B-F318-4345-9998-BC36BDB1B9ED
https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=B20F9641-CD4F-4C71-91BD-E17D30E9D77C

@hunngu-ms Please fix conflict

@hunngu-ms Please fix conflict

@PhoenixHe-msft : Done

@hunngu-ms Please pay attention to the SDK Track2 Validation error. The DuplicateSchema error will block new track2 sdk to generate. Please consider fix this in new api version.

/azp run


MySQL: unnecessary fractional .0 part for DATETIME values

In the data grid I get values like 2019-07-15 21:56:50.0 for datetime columns that don't have any fractional digits. I have the native date/time format set in the preferences. Could we get rid of the trailing .0 part? It looks a bit messy and also propagates to data exports.

This is probably related to #4603.

similar to #7268


Marker_1.0.0_aarch64.dmg does not work on apple M3 on macOS 14.3.1 (23D60)

getting
“Marker” is damaged and can’t be opened.

+1 on M2 Macbook Air

xattr -c /Applications/Marker.app worked for me (it is in the README).

xattr -c /Applications/Marker.app worked for me (it is in the README).

Should have read the readme, this worked for me!


Syntax highlighting with tree-sitter

This PR adds tree-sitter as an alternative syntax highlighting engine via the go-tree-sitter bindings (currently only for Go and Rust code, but it is trivial to add more languages). All of tree-sitter's functionality is provided by go-tree-sitter; Micro remains standalone with no dependencies.
Using tree-sitter dramatically improves syntax highlighting quality over Micro's YAML-based highlighting, as demonstrated in this comparison:

Note how tree-sitter correctly highlights all type identifiers in yellow, not just those for built-in types. This is possible because tree-sitter's highlighting performs pattern matching on a syntax tree that contains rich information about the structure of code. Similarly, all function declarations and invocations are highlighted in blue. Tree-sitter gets many corner cases right that are difficult or impossible to implement using regular expression patterns, such as raw strings of arbitrary depth in Rust. Keywords are highlighted as keywords only in places where they actually represent language primitives (some languages allow use of keywords as variable names). The list of benefits goes on and on. The above screenshot shows only a glimpse of what is possible with tree-sitter; many more specific syntax captures are available and could be used to provide even richer highlighting if themes were to add support. Not to mention that tree-sitter is also an excellent foundation for building other features like code folding and symbol-based navigation.
And all of this is maintained upstream for you, driven forward by larger projects such as Atom and Neovim that already use tree-sitter.
Performance
Speed is already perfectly usable for everyday coding, but not yet as fast as Micro's existing highlighting system. The reason is that two important optimizations are still missing:

Currently, this code creates a copy of the entire buffer for tree-sitter to parse. Tree-sitter is capable of receiving a function pointer instead which would enable tree-sitter to access Micro's line array directly. To get this to work, I will need to figure out how to pass a Go lambda across the Cgo boundary.

Currently, the entire buffer is parsed on each highlighting operation. Tree-sitter can do much better than that, and in fact incremental parsing is one of its main features. Matching Micro's modifications to tree-sitter's tree edits is the missing piece to make this happen.

I intend to address both of these issues soon, at which point I expect the performance of tree-sitter highlighting to match or exceed that of Micro's existing highlighters.
Executable size
This change adds 1.1 MB (10%) to the size of the compiled Linux executable. Personally, I cannot imagine any situation where I would say "I need those 1.1 MB; give me poor highlighting instead!" But of course, there may be other schools of thought. The tree-sitter integration is quite orthogonal to the rest of Micro's codebase and could easily be turned into a feature that can be disabled with a compile-time flag should this be desired.
Adding more tree-sitter parsers will further increase the executable size. It probably makes sense to limit tree-sitter highlighting to popular languages with complex syntax, like Go, Rust, C, C++, Python and JavaScript.
Note
This currently uses my fork of go-tree-sitter because I had to add several new bindings to implement this feature. I intend to upstream those additions shortly.

Update: All changes required for this feature have been upstreamed to go-tree-sitter now. Expect progress on this PR soon!

This is a super cool extension. Thanks for the work.

Adding more tree-sitter parsers will further increase the executable size. It probably makes sense to limit tree-sitter highlighting to popular languages with complex syntax, like Go, Rust, C, C++, Python and JavaScript.

I agree with the attempt to keep the micro binary small. Not everything and the kitchen sink should be bundled.
May I suggest to explore if the plugin system can be used to install additional languages for tree-sitter highlighter ?

Any progress?
@p-e-w @zyedidia Are you guys colabing on this?

@isakkeyten I still want to finish this PR, but while working on it I noticed a number of problems with the current buffer implementation that I want to address first, since fixes might affect how tree-sitter integration will work. My efforts are currently blocked on #1549 being merged.
@MarcusE1W Installing tree-sitter languages as plugins sounds cool in theory, but it's not going to happen. Micro's plugins are Lua scripts. Tree-sitter languages are platform- and architecture-dependent compiled binaries. Loading them via plugins would at minimum involve adding some sort of dynamic linking support to the Lua interface, and providing separate library versions for each platform Micro supports. It would be incredibly ugly.
From various comments and issues filed in this repository recently, it appears that there is some disagreement as to whether Micro should basically be nano (i.e., as minimal as possible), just not suck quite so badly, or whether it should rather be a full-featured alternative to mainstream editors that happens to run in the terminal. Depending on which path is preferred, different opinions will exist on how many languages should be enabled with tree-sitter support, and indeed whether tree-sitter support belongs in Micro at all. Ultimately, this is a choice only @zyedidia can make.

Freedom from dependencies is one of the major selling points of micro to me. CGO would be a big minus.
As long as it's pure Go, I could sensibly expect to download the source, compile (and cross compile) and get it working. I can also expect micro binary to work without installing anything else to a system, so I can use it to fix a system with problems.
The latest new TUI editor I tried was in written in Rust. The binary was not compatible with my libc. It did not compile on my machine. I did not spend time to figure out the details of it. I'm sure the problems are trivial for anyone familiar with that project and Rust compilation. But I've already forgotten that editor.
Hugo, a static site generator in Go, ships two versions. The main version is pure Go. The (probably less used) "extended" version requires cgo. I have not tried the extended cgo version, and I can see many comments on the web recommending against it.
I would prefer micro to be pure go, free from C dependencies. If that is not possible, micro could keep the main version pure Go, and (like hugo) provide extended CGO version to those that like the tradeoff.

@zyedidia Just as a headsup: This is still mentioned on the roadmap.
I personally consider treesitter support as desirable, to avoid syntax highlighting like this:

I am also very curious about where this could go since TS is kind of mature and used at a big scale.

It is basically the modern way to do syntax highlighting.
Modern editors like Helix not only support it out of the box, they use it as the default method and even offer no alternatives sometimes.

Yeah, the only thing I am not sure to be fan of is the general architecture of TS.
I mean, looking at the go/swift bindings implementations I saw stuff related to parsers. And looking at some parsers I saw stuff related to bindings.. to me that feel so wrong! A binding shouldnt be aware of anything related to parsers and vice versa.

I read a blogpost Extensible Language Support in Zed #1 from creators of the Zed editor. It's very interesting - they ship tree-sitter grammars compiled to WebAssembly and execute them.
I found this WebAssembly runtime written in pure Go. It'd be interesting to see someone think about this and possible re-evaluate adding tree-sitter to Micro?

Person super deep into js and warm here
I was super skeptical heating that suggestion because of the nature of wasm files. They are not at all magical high performance snippets as many mistakenly believe. They are extremely stack based, limited syntax, high-level, zero-register assembly. I could easily see a naïve go wasm executor being 200x+ slower than the native c code.
The real power of wasm is in the way it’s designed to serve as a ridiculously flexible partially-compiled ast tree. Wasm is perfect and shines bright as a format to feed to a super advanced optimizing compiler like the v8 and get super high performance generated machine code.
I am much less skeptical after reading https://wazero.io/docs/how_the_optimizing_compiler_works/
I support giving this a try but performance should be judged early and harshly in seeing if this might actually work. That 200x+ slower is still possible and would defeat the purpose of the tree sitter.

Thanks @anonyco for your professional opinion. My Wasm knowledge is very limited so I greatly appreciate it.


Application users

As Application users are no longer available in Security > Users this page needs to be updated.
How can we check the application users now?

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

ID: 41b5f77e-bafb-cd00-8d36-76f3a8c9ef20
Version Independent ID: 4a17fd17-39c6-7dd8-82ed-858c6ddaec73
Content: Set up the mapping for the sales order status columns - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/data-entities/dual-write/sales-status-map.md
Service: dynamics-365-cross-app
GitHub Login: @dasani-madipalli
Microsoft Alias: damadipa

@alneacsu  , thank you for contacting us regarding this help topic. I have passed your comment on to the author for consideration.

Closed as won't fix.


Add ability to encrypt excel files [SC-SC-203035]

Important - Requires this PR on the DSS side: https://github.com/dataiku/dip/pull/28735

Note: I couldn't find a way to have the "Encryption password" field appear only with DSS 13.0+.
If you know how to do it, here is simple method to plug
def supports_encryption_password_excel(dss_client):
    # Check that the version of DSS is above 13.0 where this feature has been introduced
    try:
        return int(dss_client.get_instance_info().raw["dssVersion"].split(".")[0]) >= 13
    except ValueError:
        return False

We should wait for this feature to continue on this card. This will solve the security issues inherent in this approach without forcing the users to use presets
178823


Add a Gelly task

Hi there artisans,
does this repo accept contributions? :D
@samk3211 has started working on Gelly and we are thinking of adding one graph task to this training.
Our idea is to take the edges of the reply-to graph, merge the duplicate nodes, create a graph and run a weighted PageRank algorithm on it.
What do you think about this?
Can you please give her some pointers on what she needs to add?
Slides, description on the website, sample code?
Thank you!

Certainly, contributions are highly welcome!
A Gelly exercise would be a nice thing to have :-)
I think we can start adding the exercise and work on the slides later.
For an exercise, we need reference implementations in Java (and Scala once Gelly is available for Scala), an exercise description (preferable along the lines of the other descriptions) and add it to the exercise overview.

Hi!
I have opened a new PR. A reference solution in Java and exercise description have been added.


Question on perception module

Line 39 in perception.cc is ros::waitForShutdown();. As stated in ROS tutorial, this line will keep the node blocked until the node is shut down. Thus, how the lines below this line can be excuted?

The code has been updated. Thanks.


chore: add .npmrc file to gitignore

Git ignores a previously committed .npmrc file, which had a registry reference to install @contentful namespace packages from github. This would cause an issue for users outside of CTFL that don't have access to CTFL github packages and could accidentally install packages from github packages that were meant to be installed from npm.

Good call out. I wasn't aware of that when adding the file. Though, I added it as we need the config to publish new releases to the github registry. Probably, the CI would fail now in any of the release branch if this file was missing. We could make this work by adding the file inside the workflow step like here.

When you added the publishConfig to the package files should take care of publishing in CI: https://github.com/contentful/experience-builder/pull/354

Good call out. I wasn't aware of that when adding the file. Though, I added it as we need the config to publish new releases to the github registry. Probably, the CI would fail now in any of the release branch if this file was missing. We could make this work by adding the file inside the workflow step like here.

When you added the publishConfig to the package files should take care of publishing in CI: #354

You're right that it already defines the correct registry but we also need to pass in the private github token with write access.

Good call out. I wasn't aware of that when adding the file. Though, I added it as we need the config to publish new releases to the github registry. Probably, the CI would fail now in any of the release branch if this file was missing. We could make this work by adding the file inside the workflow step like here.

When you added the publishConfig to the package files should take care of publishing in CI: #354

You're right that it already defines the correct registry but we also need to pass in the private github token with write access.

Think you took care of that as well here: https://github.com/contentful/experience-builder/blob/development/.github/workflows/publish.yaml#L37
Im going to push this through and see what happens, as all our builds are failing due to it.

The publish step did fail on this PR, so I updated a new PR to get it working again: https://github.com/contentful/experience-builder/pull/441


[SPARK-20889][SparkR] Grouped documentation for COLLECTION column methods

What changes were proposed in this pull request?
Grouped documentation for column collection methods.

Last part of this doc update.

Test build #78816 has started for PR 18458 at commit ad9de63.

@felixcheung @HyukjinKwon

Test build #78816 has finished for PR 18458 at commit ad9de63.

This patch fails due to an unknown error code, -10.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #78856 has started for PR 18458 at commit 664629d.

Test build #78856 has finished for PR 18458 at commit 664629d.

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/78856/
Test PASSed.

Test build #78869 has started for PR 18458 at commit c47b3a2.

Test build #78869 has finished for PR 18458 at commit c47b3a2.

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/78869/
Test PASSed.

Test build #78915 has started for PR 18458 at commit 6aa4c6f.

Test build #78915 has finished for PR 18458 at commit 6aa4c6f.

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/78915/
Test PASSed.

Test build #78949 has started for PR 18458 at commit 8be3e49.

Test build #78949 has finished for PR 18458 at commit 8be3e49.

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

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

Merged build finished. Test PASSed.

@felixcheung This is the last set of this doc update. Once it gets in, I will do another pass to fix any styles or consistency issue.

merged to master. thanks!


Updated badges.

Changes Unknown when pulling 750be53918e11cf24bee4adffc2193e90201e2b6 on feedbin:badges into ** on grocer:master**.


Add gax/ruby template

This modifies packager.js to support README.md.mustache which
does not exist in templates/ruby.

[Current coverage][cc-pull] is 100%

Merging [#24][cc-pull] into [master][cc-base-branch] will increase coverage by +5.50%

@@           master       #24   diff @@
=======================================
  Files           3         3
  Lines         528      1029   +501
  Methods         0       109   +109
  Branches       80        81     +1
=======================================
+ Hits          499      1029   +530
+ Misses         29         0    -29
  Partials        0         0

2 files in lib were modified. more

Misses -26
Hits +441

File lib/config.js (not in diff) was modified. more

Misses 0
Partials 0
Hits +13

[][cc-pull]

Powered by Codecov. Last updated by 877bd5a
[cc-base-branch]: https://codecov.io/gh/googleapis/packman/branch/master?src=pr
[cc-pull]: https://codecov.io/gh/googleapis/packman/pull/24?src=pr

LGTM 👍

LGTM


Kops install instructions (Tested)

Add linux install steps.
Add global variables to shell commands.
Change example bucket/state names for more transparency.

You're right, those were redundant. I removed them.


Calculated regionSize for DeletableBloomFilter is wrong, causes out-of-bounds panic

The way regionSize is calculated for DeletableBloomFilter does not mesh with the size of collisions. If a value is hashed to a high index (m - 1 for example), if there is a collision at that index, the index into collisions is out of bounds (equal to r). It seems like maybe integer truncation isn't factored in during the calculation of regionSize or during idx/d.regionSize. If not that, then collisions should have r + 1 buckets.
This was discovered in cayleygraph/cayley using this panic:
panic: runtime error: index out of range

goroutine 2752066 [running]:
github.com/tylertreat/BoomFilters.(*Buckets).setBits(0xc42016e4e0, 0x100000078, 0xc400000001)
        /home/kevin/go/src/github.com/tylertreat/BoomFilters/buckets.go:101 +0x128
github.com/tylertreat/BoomFilters.(*Buckets).Set(0xc42016e4e0, 0x78, 0x1, 0xc42016e4b0)
        /home/kevin/go/src/github.com/tylertreat/BoomFilters/buckets.go:62 +0x53
github.com/tylertreat/BoomFilters.(*DeletableBloomFilter).Add(0xc42001e240, 0xc4200243c0, 0x18, 0x18, 0x8, 0x0)
        /home/kevin/go/src/github.com/tylertreat/BoomFilters/deletable.go:96 +0x106
github.com/cayleygraph/cayley/graph/kv.(*QuadStore).bloomAdd(0xc4200dc0a0, 0xc44090cea0)
        /home/kevin/go/src/github.com/cayleygraph/cayley/graph/kv/indexing.go:943 +0xca
github.com/cayleygraph/cayley/graph/kv.(*QuadStore).indexLink(0xc4200dc0a0, 0x8d1e20, 0xc429580d60, 0xc44090cea0, 0x0, 0x0)
        /home/kevin/go/src/github.com/cayleygraph/cayley/graph/kv/indexing.go:527 +0x22d
github.com/cayleygraph/cayley/graph/kv.(*QuadStore).indexLinks(0xc4200dc0a0, 0x8d1b60, 0xc420022138, 0x8d1e20, 0xc429580d60, 0xc6558cc000, 0x66d63, 0x66d63, 0x0, 0xc48977d8e7086225)
        /home/kevin/go/src/github.com/cayleygraph/cayley/graph/kv/indexing.go:510 +0x116
github.com/cayleygraph/cayley/graph/kv.(*QuadStore).ApplyDeltas(0xc4200dc0a0, 0xc608642000, 0x66d63, 0x75b8e, 0x8c0001, 0x0, 0x0)
        /home/kevin/go/src/github.com/cayleygraph/cayley/graph/kv/indexing.go:400 +0xa54
github.com/cayleygraph/cayley/writer.(*Single).ApplyTransaction(0xc4262440a0, 0xc48c656020, 0xc50ef3d4c0, 0x8cfc00)
        /home/kevin/go/src/github.com/cayleygraph/cayley/writer/single.go:121 +0x5b

Thanks for the report. I was able to reproduce and this appears to fix it. Let me know if you still encounter problems.


Changing webhook port to 10250 instead of 6443 for better compability.

Is your feature request related to a problem? Please describe.
Using the webhook feature on GKE private cluster needs additional firewall rule. GKE creates a firewall rule for master API automatically and this rule is using auto-generated target tag (e.g. gke-my-cluster-62ef1fba-node). So the operator should learn this tag with a bunch of cli command.

https://github.com/jetstack/cert-manager/issues/1425
https://github.com/helm/charts/issues/10869#issuecomment-467015706

Describe the solution you'd like
As mentioned above, GKE creates a firewall rule for master API for port 10250 (metric server), 443. I think we can take advantage of the existing rule by replacing this port with 10250 instead of 6443.
/kind feature

Since Webhook's way of operation has changed, such a change is no longer needed.

Since Webhook's way of operation has changed, such a change is no longer needed.

I've reopened this issue as I'm not too sure that's true - what has changed? 😬

https://github.com/jetstack/cert-manager/pull/2107

I've opened #2278 to do this, which will land in v0.12 😄


Extract the allow lists into their own files so they're easier to find and inspect

The default allow lists were embedded in Helm chart templates. If we extract them into flat YAML files, they're easier to reason about. We can then dynamically include them at Helm template time.
Eventually, this could be used to automatically update the README.md, but that's a level of sed skills that I don't yet have.

Adding you, @BeverlyJaneJ , because we'll be able to link to these files.


OSD-15291: Excluded SilentTest Alerts when kite --assigned-to team is run

Before the change :
When a user runs kite alerts --assigned-to team, they were shown all alerts assigned to their team.

This included the alerts also assigned to Silent Test when the kite alerts --assigned-to silentTest command is run

After the change :
The kite alerts --assigned-to team removes every Silent Test alert from the list

/hold
Changes requested concerning business logic

Thanks for appending the requested changes @devppratik!
While everything looks good, I can still see alerts not assigned to an SRE; the user is Nobody SREP whose ID is P53J4TK.
Can you avoid fetching alerts assigned to this user as well.
While you're at it, try using go switch statement, not a hard ask though.

/unhold
/lgtm
/approve


Undefined error when preview on external browser

It works fine to preview inside VS Code, but if I set preview on external browser, the error notification pop up:

Unable to open 'undefined': Unable to read file '/undefined' (Error: Unable to resolve non-existing file '/undefined').

The error log in Developer Tool Console:

mainThreadExtensionService.ts:66 TypeError: Cannot read property 'document' of undefined
at /home/user/.vscode/extensions/ivangsa.asyncapi-preview-0.0.3/out/extension.js:78
at l.fire (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:46)
at t.ExtHostDocuments.$acceptDirtyStateChanged (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:735)
at t.ExtHostDocuments.$acceptModelSaved (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:735)
at m._doInvokeHandler (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:892)
at m._invokeHandler (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:892)
at m._receiveRequest (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:891)
at m._receiveOneMessage (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:890)
at /snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:888
at l.fire (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:46)
at v.fire (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:233)
at /snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:1094
at l.fire (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:46)
at v.fire (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:233)
at t.PersistentProtocol._receiveMessage (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:238)
at /snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:235
at l.fire (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:46)
at p.acceptChunk (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:231)
at /snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:230
at Socket.t (/snap/code/52/usr/share/code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:240)
at Socket.emit (events.js:223)
at addChunk (_stream_readable.js:309)
at readableAddChunk (_stream_readable.js:290)
at Socket.Readable.push (_stream_readable.js:224)
at Pipe.onStreamRead (internal/stream_base_commons.js:181)
$onExtensionRuntimeError @ mainThreadExtensionService.ts:57
notificationsAlerts.ts:40 Unable to open 'undefined': Unable to read file '/undefined' (Error: Unable to resolve non-existing file '/undefined').

The version I'm using:

ivangsa.asyncapi-preview
v0.0.3
VS Code
Version: 1.52.1
Commit: ea3859d4ba2f3e577a159bc91e3074c5d85c0523
Date: 2020-12-16T16:32:10.090Z
Electron: 9.3.5
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.4.0-62-generic snap

new version 0.1.0 was released to fix this issue

new version 0.1.0 was released to fix this issue


Ken Mankoff Data

he has about 3500 canon camera image files to upload into scholarsphere, with a total of 100gigs of data. Working with Carolyn to get this done.

Carolyn got it uploaded. Need to go in and curate


Buy: Add Sparkswap

Unfortunately it uses an altcoin and is thus not bitcoin-only

@6102bitcoin Reading through their Discord it sounds like their old software supported LTC but the current one is BTC only.
I'll research further.

They use an altcoin on the stellar network called AnchorUSD.
If this has changed please let me know and I'll re-open this issue.

I contacted Sparkswap regarding this. They indicated that their service, on their end, is bitcoin only. However, they use a 3rd party exchange www.anchorusd.com API for payment processing. This exchange supports multiple coins and stablecoins. It is not clear if user funds ever touch any altcoins, but it is entirely possible they go straight from USD to BTC.
Seems like a grey area to me if Sparkswap should be included. But I think that if Cash App is included, maybe this should be. It is extremely likely that when one buys BTC on Cash App, the service is buying coins from an exchange that supports altcoins.


chore(master): release 3.3.0-rc.0

:robot: I have created a release beep boop
3.3.0-rc.0 (2024-07-16)
Features

add initial version of organisation inventory (0515418)

Bug Fixes

auth: fix error message (023feee)
nextjs: fix loading of env var as "undefined" (cf0be89)

Miscellaneous Chores

release 3.3.0-rc.0 (07c1d4f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/InformaticsMatters/squonk2-data-manager-ui/releases/tag/3.3.0-rc.0 :sunflower:


fromPromise incompatible with node v15

It looks like as of node 15, unhandled promise rejections will terminate the Node process by default.
(node:28824) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Associated commit to Node: https://github.com/nodejs/node/pull/33021
What does this mean for neverthrow?
It means that the current fromPromise API will need to change:
const typicalPromise = functionThatReturnsPromiseThatMightThrow()

// ** BOOM **
// The line below never gets called in Node v15 because of the way that node treats unahndled rejections now

return ResultAsync.fromPromise(typicalPromise, mapPromiseRejection)

Probably the new API will need to be something like the following:
const resultAsync = ResultAsync.fromPromise(
  functionThatReturnsPromiseThatMightThrow,
  arguments,
  mapPromiseRejection,
)

Which allows neverthrow to .catch the promise rejection at the point in which it's created / returned:
fromPromise(fn, args, mapper) => {
  const handled = fn(args).catch(mapper)
}

Curious to get your thoughts @paduc 🙂

Wow I didn't know such a huge change was on the horizon. I've read a bit about the new behaviour but it seems to me that you can still handle rejected promises higher in the stack, can't you ?
As I understand it, it only crashes when the unhandled exception bubbles up to the top and is never handled.
Have you tried it in Node 15 ?

Yeah I think @paduc is right.
The promise in that example would still be considered handled because fromPromise is actually handling it.  It is only if there are no handlers when the promise rejects,  that the error bubbles up and kills the process.
This example shows it:
const {ResultAsync} = require('.');

async function f () {
  return Promise.reject(new Error('test'));
}

function main () {
  return ResultAsync.fromPromise(f(), ()=>0);
}

main().then(console.log);

setTimeout(()=>{
  console.log('done');
}, 3000);

This doesn't crash the process on node v15.
If you do not handle it,  say, you replace   return ResultAsync.fromPromise(f(), ()=>0); with return f(),  then it will.

Hmm, interesting. I hadn't gotten around to trying this out myself, but I figured that the act of not binding .catch on return Promise.reject(new Error('test')) would terminate the process.
Thanks for confirming @davazp!