Failing Test Case: std::move-ing out of variant

@anandthakker and I just had a discussion about move-ing types out of a variant.
Think:
variant<Container1, Container2> v;

v.match([](Container1&& c1) { },
        [](Container2&& c2) { });

Which does not compile.
I think the issue is this type alias (and related), which do not take rvalue refs into account.

Horrible workaround is temporarily escaping the type system
auto consume = [](auto){};

v.match([&](const T1& t1) { consume((T1&&)(t1)); },
        [&](const T2& t2) { consume((T2&&)(t2)); });

Which does not compile.

I don't think your first example should compile.
v is an lvalue, andvariant::match(...) & should treat its contents as an lvalue, not automagically bind to an rvalue reference.
variant<Container1, Container2> v;

std::move(v).match([](Container1&& c1) { },
                   [](Container2&& c2) { });

This, on the other hand, should work as you expect.

Good point, I adapted the example. Still fails to compile, though.

I just ran into a particular annoying variant of this bug: If you define auto&& as a catchall matcher along with other Type&& lambdas, the catchall lambda will always be chosen:
#include <mapbox/variant.hpp>
#include <iostream>

struct container {
    int data;
};

int main() {
    using type = mapbox::util::variant<container>;

    type value{container{42}};

    value.match(
        [](container&& val) {
            std::cout << "container&&: " << val.data << std::endl;
        },
        [](auto&& val) {
            std::cout << "auto&&" << std::endl;
        }
    );

    value.match(
        [](container& val) {
            std::cout << "container&: " << val.data << std::endl;
        },
        [](auto& val) {
            std::cout << "auto&" << std::endl;
        }
    );
}

This prints
auto&&
container&: 42

/cc @kkaefer @springmeyer
#include <mapbox/variant.hpp>
#include <iostream>
#include <type_traits>

struct container {
    int data;
};

struct container2 {
    float data;
};

struct visitor
{
    template <typename T>
    void operator() (T && val)
    {
        std::cout << "VISITOR:" << val.data
                  << " type:" << typeid(val).name()
                  << " is R-value:" << std::is_rvalue_reference<decltype(val)>::value << std::endl;
    }
};

int main() {
    using type = mapbox::util::variant<container, container2>;

    type value{container{42}};

    type const& ref_value = value;

    mapbox::util::apply_visitor(visitor(), std::move(value));
    mapbox::util::apply_visitor(visitor(), value);

    mapbox::util::apply_visitor(visitor(), std::move(ref_value));
    mapbox::util::apply_visitor(visitor(), ref_value);

    // value is coersed into r-value reference allowing moving out
    value.match(
        [](container&& val) {
            std::cout << "container&&: " << val.data << " type:" << typeid(val).name() << " is R-value:" << std::is_rvalue_reference<decltype(val)>::value << std::endl;
        },
        [](auto&& val) {
            std::cout << "auto&& " << typeid(val).name() << " is R-value:" << std::is_rvalue_reference<decltype(val)>::value << std::endl;
        }
        );

    // ref_value is l-value and `auto&&` take precedence (??)
    ref_value.match(
        [](container&& val) {
            std::cout << "container&&: " << val.data << " type:" << typeid(val).name() << " is R-value:" << std::is_rvalue_reference<decltype(val)>::value << std::endl;
        },
        [](auto&& val) {
            std::cout << "auto&& " << typeid(val).name() << " is R-value:" << std::is_rvalue_reference<decltype(val)>::value << std::endl;
        }
        );

    // value is coersed into const&
    value.match(
        [](container const& val) {
            std::cout << "container const&: " << val.data << " type:" << typeid(val).name() << " is R-value:" << std::is_rvalue_reference<decltype(val)>::value << std::endl;
        },
        [](auto const& val) {
            std::cout << "auto&" << std::endl;
        }
        );

    return 0;
}

This prints
auto&&
container&: 42

This is correct. In the expression value.match(...), you're calling match on an l-value, and it should not bind to r-value parameter type container&&.

This prints
auto&&
container&: 42

This is correct. In the expression value.match(...), you're calling match on an l-value, and it should not bind to r-value parameter type container&&.

@lightmare - could you help to implement this feature correctly, have a look at https://github.com/mapbox/variant/tree/moveable_visit cheers!

@kkaefer
@lightmare is correct ^
It's important to understand the difference between
void operator() (container && obj) const {} // expected rvalue

and
template <typename T>
void operator() (T && obj) const {} // obj is `forwarding reference` (aka `universal reference`)

auto&& is equivalent to forwarding reference  ^^
(https://en.cppreference.com/w/cpp/language/reference)
In code below value is lvalue and complier uses auto&& as only possible match.
#include <variant>
#include <iostream>

struct container
{
    int value = 123;
};

struct container2
{
    float value = 3.14159;
};

struct visitor
{
    void operator() (container&& obj) const
    {
        std::cerr << "container&& " << obj.value
                  << " is R-value:" << std::is_rvalue_reference<decltype(obj)>::value
                  << std::endl;
    }

    template <typename T>
    void operator() (T && obj) const
    {
        std::cerr << "T&& " << obj.value
                  << " is R-value:" << std::is_rvalue_reference<decltype(obj)>::value
                  << std::endl;
    }
};

// helper type for the visitor #4
template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
// explicit deduction guide (not needed as of C++20)
template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>;

int main()
{
#if __cplusplus >= 201703L

    using variant_type = std::variant<container, container2>;
    variant_type v;

    std::visit(overloaded {
            [](container && obj)
            {
                std::cerr << "container&& :" << obj.value
                          << " is R-value:" << std::is_rvalue_reference<decltype(obj)>::value
                          << std::endl;
                obj.value = 42;
            },
            [](auto&& obj)
            {
                std::cerr << "auto&& :" << obj.value
                          << " is R-value:" << std::is_rvalue_reference<decltype(obj)>::value
                          << std::endl;
                obj.value = 456;
            }}, v);

    std::visit(visitor(), v);
#else
    std::cerr << "std::variant requires c++17!" << std::endl;
#endif
    return 0;
}

@artemp I took daniel's branch as the starting point, as it has the test of the feature in question.
See https://github.com/lightmare/variant/commits/move-out
It looks like there's a lot of changes, but not really. The biggest chunk of changes is pushing dispatcher class template parameters down to apply function, so that they can be easily forwarded. Secondly I changed result_of_unary_visit from trait class to mere alias template, because the class was not SFINAE friendly:
template <typename F, typename V>
struct result_of_unary_visit
{
    using type = decltype(::std::declval<F>()(::std::declval<V>()));
};

In the expression result_of_unary_visit<F, V>::type, if the call inside decltype is not valid, it's not a substitution failure, but a hard error, it won't compile. But I needed this to fail silently in order to have lvalue/rvalue match overloads.

thanks @lightmare, I'll take a look.

@lightmare - your branch is looking good, thanks!  I ended up ditching c++11 support in my branch in favour of auto deduction but your implementation, preserving c++11 support, wins.
I'm personally a bit dubious about std::move(value).match(...) syntax but it's technically correct. I think we should add std::variant style interface e.g  'mapbox::util::visit(F, V)' once this features is in master.  Could you create a PR, please, cheers.
/cc @kkaefer @springmeyer


feat(DOCS) scorecard analysis version updated

Purpose of PR?:
This PR updates the scorecard.yaml to use the v2.2.0 for running analysis.
For reference - https://github.com/ossf/scorecard/issues/3466
Fixes #
#1413
Does this PR introduce a breaking change?
NO
If the changes in this PR are manually verified, list down the scenarios covered::
Additional information for reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[X] Bug fix. Fixes #1413
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[X] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Commit has unit tests
[ ] Commit has integration tests

Hey @daemon1024, it looks like v2.2.0 is the latest release for scorecard-action, which corresponds to v4.12.0 of the scorecard.


Evaluate Google Maps for map component

Google Maps has Retina support
It also provides a very good geolocation service and a route API
Maybe we should change the geolocation service only. We don't want to loose OpenFireMap

Also consider http://www.basemap.at/

i disagree to use google maps. please stay open source with leaflet or openlayers. you could use the leaflet plugin "leaflet-providers" to easily support more background layers. basemap.at is also available.

We decided to use basemap.at with Leaflet also in future versions. basemap.at has HDPI support.


[Fix](inverted index) Fix wrong need read data opt when enable_common_expr_pushdown is disabled

Proposed changes
If common_expr_pushdown is disabled, we cannot guarantee that all conditions are processed by the inverted index after refactor of #38908
Consider a scenario where there is a column predicate and an expression involving the same column in the SQL query,
such as 'a < 0' and 'abs(a) > 1'.
This could potentially lead to errors.

run buildall


Add deprecation for global installs

Is your proposal related to a problem?
When rolling out new features that require changes to the create-react-app package, we regularly see issues related to users with older, global installs of that package.
Describe the solution you'd like
Ideally, we should add a deprecation warning in react-scripts so that when it a user attempts to install it with a globally installed create-react-app, they're asked to remove it and use npx or yarn create instead.
Describe alternatives you've considered
Alternatively, or additionally, we could add this to create-react-app itself, but that won't fix the issue for those with older installs.
Additional context
This came out of a discussion with @iansu.

Could you please clarify what console commands should raise errors?

@miraage, something like:

Global installs of create-react-app are now deprecated. Please remove this package with [command], and instead use npx or yarn.

We'd either include the updated commend(s), or provide a link.

Hey @mrmckeb, I would like to contribute with this good first issue. Can you guide me on how to start with this?

Hi @sagarnasit, of course.
Let's ignore the exact messaging now and get a basic PR up, and then we can tune it.
First, we need to detect if the package was installed globally:

We can do this via a script
We can do this by looking at the package path and seeing if it is in the global path - npm config get prefix
There's an implementation to reference here too - but I'm not sure if it's the right solution.

The files we'll be doing this in are:

https://github.com/facebook/create-react-app/blob/master/packages/create-react-app/createReactApp.js (you can see we already have warnings in here, like for react-scripts-ts).
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/scripts/init.js

So, whenever either of those scripts is run and create-react-app is globally installed, we need to give a warning that global installs are deprecated.

Hi, is this still open? I would like to try if it is.


I have created a Flutter application which can run on iOS and android. I want to convert it as package which can be installed in other flutter apps.

I have created a Flutter application which can run on iOS and android.
I want to convert it into a package which can be installed in other flutter apps.
my Flutter app is a basic framework app with integrated push notification feature using azure notification hub, TDD, remote logging, azure service bus connection, use of graphQL and sending event to EventGrid in Azure.  etc....
I want this framework to be downloaded with single command in another flutter projects. is it possible?

Hello!
How is this related to custom_lint?

Oh, I am sorry i raised at wrong place. Thanks to le me know.

Raised the issue in wrong forum. Sorry for inconvenience


Skip dotnet-cli initialization and stop caching the 'dotnet' folder for Travis CI

PR Summary

Stop caching the dotnet folder
Skip the initialization of the dotnet cli cache.

We already do so with AppVeyor via #6945, so I don't see why we shouldn't do the same for Travis CI.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

Here are the timings of the last few PRs.  This one in is in green:


(Kia EU) Unit tests for _check_response_for_errors

Add unit tests for _check_response_for_errors
remove "stage" argument from exception constructor (unless there's a good reason to leave it?)

Added a response check for the /vehicles endpoint, forgot it in the previous PR. More endoints might be compatible.

Maybe we rename the tests to reflect it's only EU? If the same method title is used for other regions it wouldn't conflict?

Renamed appropriately :)


have problem when simply use pip install

when I use pip install mxnet
there is no problem
but when i import mxnet, is reports like:

import mxnet
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python2.7/site-packages/mxnet/init.py", line 7, in
from .base import MXNetError
File "/usr/lib/python2.7/site-packages/mxnet/base.py", line 43, in
_LIB = _load_lib()
File "/usr/lib/python2.7/site-packages/mxnet/base.py", line 35, in _load_lib
lib = ctypes.cdll.LoadLibrary(lib_path[0])
File "/usr/lib64/python2.7/ctypes/init.py", line 438, in LoadLibrary
return self._dlltype(name)
File "/usr/lib64/python2.7/ctypes/init.py", line 360, in init
self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/python2.7/site-packages/mxnet/./lib/libmxnet.so: undefined symbol: _ZN2cv3Mat10deallocateEv

hope for help

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


whitespace cleanup + style check

After having trouble dealing with whitespace changes from the last release, I decided to add a script that enforces some very basic coding styles and cleanup all the previous mess:

no files without eol at the end
no DOS line endings (CRLF), always use Unix (LF)
no trailing spaces
no tabs in indentation (except Makefile, raw data)

Travis will always first check these styles and proceed to the rest of the build and tests.  Developers can run check locally before pushing:
make checkstyle

Let's rebase all our ongoing work on this PR and completely forget about whitespace issues from now on.

Adding w=1 to the diff will show just the script and modification to Makefile and travis.yml.

This is great! Maybe also add some git hooks to enforce from the client side? Travis takes too long..

This is great! Maybe also add some git hooks to enforce from the client side? Travis takes too long..
E.g.: http://stackoverflow.com/questions/591923/make-git-automatically-remove-trailing-whitespace-before-committing

I'm reluctant to add it to developer's normal workflow.  Anyone who set up the editor appropriately will never create violations, so I think it's only going to slow down the innocent.  Gatekeeping bad code from Travis for PRs seems enough to me.  Speeding up Travis tests is another thing I'm planning to do in #325.
I made sure one can easily check what's wrong with the make command and open the problematic files from an editor if they ever need to:
vim $(make checkstyle)

I found an interesting tool to deal with whitespaces from the Q&A.  I guess we should rewrite the checks with it sometime later.  The script I think should eventually be rewritten as another test suite with a proper test framework like Bats or so.

I don't really understand the script, but it looks quite legit! How do I approve the PR?

Thanks for reviewing. There's no formal button for approving PRs. You can just express approval like this and since we're both commiters either of us can press merge! :)


The Dropdown component does not properly set preset values in Angular 13 and when contained in a routed view.

@ravi-dio Would you be able to do the review on this?
If it passes can you close the issue and change its status to "Done"
Thanks!

@ravi-dio When you get a chance can you review this, thanks!

@ravi-dio Can you take a look at this when you have a moment?


Issue with trying to setup both SMSOTP and EmailOTP for MFA

I have been trying to set up wso2is to allow the user to select between using email or sms to handle mfa. I followed this guide for SMS and this guide for Email. Separately, they work, however when I include both options in the "Step Two" for the authentication setup for the travelocity sample Service Provider, only SMSOTP works, while EmailOTP fails.
This is my "Advanced Authentication Configuration":

When I try to use EmailOTP when this configuration is set up, I receive an email with the code, and I can enter it into the next screen just fine. However, once I enter that code, I see the following stacktrace appear:

[2018-06-13 09:18:02,472] ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler} -  Error while sending the HTTP request.
org.wso2.carbon.identity.application.authentication.framework.exception.AuthenticationFailedException: Error while sending the HTTP request.
at org.wso2.carbon.identity.authenticator.smsotp.SMSOTPAuthenticator.proceedWithOTP(SMSOTPAuthenticator.java:475)
at org.wso2.carbon.identity.authenticator.smsotp.SMSOTPAuthenticator.initiateAuthenticationRequest(SMSOTPAuthenticator.java:155)
at org.wso2.carbon.identity.authenticator.smsotp.SMSOTPAuthenticator.process(SMSOTPAuthenticator.java:98)
at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.doAuthentication(DefaultStepHandler.java:487)
at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handleResponse(DefaultStepHandler.java:461)
at org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler.handle(DefaultStepHandler.java:164)
at org.wso2.carbon.identity.application.authentication.framework.handler.sequence.impl.DefaultStepBasedSequenceHandler.handle(DefaultStepBasedSequenceHandler.java:176)
at org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultAuthenticationRequestHandler.handle(DefaultAuthenticationRequestHandler.java:132)
at org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator.handle(DefaultRequestCoordinator.java:145)
at org.wso2.carbon.identity.application.authentication.framework.servlet.CommonAuthenticationServlet.doPost(CommonAuthenticationServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.identity.captcha.filter.CaptchaFilter.doFilter(CaptchaFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:80)
at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:91)
at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:60)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.MalformedURLException: no protocol:
at java.net.URL.(URL.java:593)
at java.net.URL.(URL.java:490)
at java.net.URL.(URL.java:439)
at org.wso2.carbon.identity.authenticator.smsotp.SMSOTPAuthenticator.sendRESTCall(SMSOTPAuthenticator.java:858)
at org.wso2.carbon.identity.authenticator.smsotp.SMSOTPAuthenticator.proceedWithOTP(SMSOTPAuthenticator.java:452)
... 60 more

I currently have the EmailOTP set up with AWS SES, which means I'm skipping the "Configure the Email OTP provider" step for the "Configuring Email OTP" tutorial. However, I am able to receive emails and properly authenticate with the emailed code IF only EmailOTP is set up for that service provider.
I saw someone else with this error on StackOverflow (See here), but I didn't see a proper resolution for the issue.
Interestingly, when I set up the EmailOTP Identity Provider to use both Email and SMS as Federated Authenticators, the email prompt works, but forces the user to also answer the SMS OTP challenge as well.

This error occurs due to invalid "SMS URL" in "SMS OTP Configuration". With the proper configuration both SMS OTP and Email OTP will work. Please recheck your configuration.

To clarify, I have two identity providers at the moment:
The first one is called SMS IDP, and it only has SMS OTP enabled as a federated authenticator. The configuration looks like this:

Following the steps listed here: [(https://docs.wso2.com/display/IS550/Configuring+SMS+OTP#ConfiguringSMSOTP-Configuringtheidentityprovider)]
The second one is called Email IDP, and it only has Email OTP enabled as a federated authenticator. The configuration looks like this:

Following the steps listed here: [https://docs.wso2.com/display/IS550/Configuring+Email+OTP]
With the travelocity Service Provider "Advanced Authentication Configuration" set up as in the original post (with both identity providers listed as a federated authenticator), I see this screen after the initial prompt for username and password:

When I choose "SMS IDP", I receive the SMS with the token, and am able to properly log in.
When I choose "Email IDP", I receive an email with the token, however, after entering in the email with the code, I am redirected back to the "IDP Choice screen" in the above screenshot, and in the terminal window running wso2, the error I dumped in the original post shows up.
However, when I set up the "Advanced Authentication Configuration" of the travelocity Service Provider to look like this:

with only the Email IDP enabled, I am able to use the emailed code to successfully log in.
It looks like for some reason, when I have both the SMS IDP and Email IDP listed in the Advanced Authentication Configuration, when Email IDP is chosen, wso2 is trying to also send an SMS OTP after the initial Email OTP succeeded, but fails because I set up the Email IDP to only have Email OTP. This only seems to happen IF both IDPs are set up. Having only one or the other set up leads to expected results.
I am using wso2is version 5.3.0 in this situation

UPDATE:
I switched to using wso2is version 5.5.0 and the problem appears to have gone away. I am now able to use both SMS and Email properly for MFA options.


Update SelectionMixin to focus radios based on DOM order instead of subscription order.

DE54118
This PR fixes an issue where SelectionMixin manages the focus order of d2l-selection-input (radios) incorrectly. The current logic relies on the Map of selectables to determine the next/previous item to focus, and it incorrectly assumes that the order within the map (subscription order) is the DOM order.
This fix changes the logic to find the next/previous d2l-selection-input (radio) based tree-walking when the key is pressed. An alternate solution that sorts the subscribed selectables based on DOM order is: https://github.com/BrightspaceUI/core/pull/3813

As long as this performs well when there are lots of focusables in between then this looks great.

As long as this performs well when there are lots of focusables in between then this looks great.

Ok, I've mocked up some tests that include items with large menu structures in their content to do some performance testing. I found that overall processing takes between 16-30ms in both cases, and that the determining the next/previous focusable on the fly (this solution) costs an additional 1-3ms. Almost all the time is spent with applying focus, Lit life cycle, and browser layout, all of which is done regardless. I can live with that in order to treat the DOM as the single source of truth, and avoid any upfront/one time ordering cost for all the list items.
Determining focusable based on DOM during key event:

Determining focusable based on cached DOM order:


Command failed writing .img to SD card of 32GB

**Etcher version:1.0.0 beta.19
**Operating system and architecture:Windows 7 64bit
Do you see any meaningful error information on DevTools?

I'm wondering if this error is related to the issue with FATFORMAT of 32GB or greater SD cards. As noted here in this link?
https://www.raspberrypi.org/documentation/installation/sdxc_formatting.md

Hey there!
Thanks for reporting this. The issue is that we've been using a third party Windows program to handle ejecting drives (RemoveDrive, as you can see on the dialog) which has some known rough edges.
We've been working hard to implement our own Windows ejection mechanism, and the PR landed on master today (https://github.com/resin-io/etcher/pull/1209).
I'm going to close this issue, given I believe its fixed already. You can try the following snapshot build if you don't want to wait until the next version:

Standalone x64: https://resin-nightly-downloads.s3.amazonaws.com/etcher/2017-04-03/1.0.0-beta.19%2Bc5a711a/Etcher-1.0.0-beta.19%2Bc5a711a-win32-x64.zip
Installer x64: https://resin-nightly-downloads.s3.amazonaws.com/etcher/2017-04-03/1.0.0-beta.19%2Bc5a711a/Etcher-1.0.0-beta.19%2Bc5a711a-win32-x64.exe
Standalone x86: https://resin-nightly-downloads.s3.amazonaws.com/etcher/2017-04-03/1.0.0-beta.19%2Bc5a711a/Etcher-1.0.0-beta.19%2Bc5a711a-win32-x86.zip
Installer x86: https://resin-nightly-downloads.s3.amazonaws.com/etcher/2017-04-03/1.0.0-beta.19%2Bc5a711a/Etcher-1.0.0-beta.19%2Bc5a711a-win32-x86.exe

See https://github.com/resin-io/etcher/issues/1177 for the original issue.


Vite - Restart server when a user file is changed

Describe the bug
Im trying to use the server.watch.ignored option according to the docs to reload the server whenever a file is changed, but is not working, the current file structure is like follow:
/ project
   ....
  src/
   vite.config.js
   postcss.config.js
  ...

// vite.config.js

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [
    vue()
  ],
  server: {
    watch: {
      ignored: '!**/postcss.config.js**'
    }
  }
})

Tried different ways of negating the server.watch.ignored  config with no luck.
!**/postcss.config.js**
!**/*.js**
!/*postcss.config.js

any help is appreciated.
Reproduction
add a negation to the server.watch.ignored config option
System Info
System:
    OS: Linux 5.10 Debian GNU/Linux bookworm/sid
    CPU: (1) x64 AMD EPYC 7601 32-Core Processor
    Memory: 303.48 MB / 1.94 GB
    Container: Yes
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node
    npm: 7.20.5 - ~/.nvm/versions/node/v14.16.1/bin/npm
  npmPackages:
    @vitejs/plugin-vue: ^2.0.0 => 2.0.1
    vite: ^2.7.2 => 2.7.12

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

That's not what the option is for, you should use something like https://github.com/antfu/vite-plugin-restart instead

My guess is then that this options is for the HMR ? not quite clear in the docs, but thank you for the resource and the  clarification.

Yup, that option is mainly for HMR.


ci: select gcov-7 for consistency with gcc-7 in Docker image.

This is needed to enable Bazel native coverage (without, we don't get
coverage files generated).
Risk level: Low
Testing: bazel coverage run inside CI image.
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

CC @oschaaf


Collada importer introduces pops/hitches in animation due to interpolation bug

Godot version:
3.1.1
OS/device including version:
Windows 8.1
Issue description:
There appear to be 2 issues with the importer:

Even if the framerate in Blender and the framerate specified on the import are the same, godot attempts to interpolate some frames.
When frames are interpolated, bones get incorrect transforms causing pops in the animation, even on bones that originally had no animation.  I noticed this on my character when just animating the hands and the feet popped on a certain frame.

For the longest time, I thought this was an issue with the Better Collada exporter, but I dug through that for a while before finally ruling it out.  Then I noticed a behavior change when changing the import framerate in Godot.  The pops in the animation shifted to a different time.
In collada.cpp, I discovered something that might be suspect:
			float c = (p_time - keys[i - 1].time) / (keys[i].time - keys[i - 1].time);

			if (keys[i].data.size() == 16) {
				//interpolate a matrix
				Transform src = _read_transform_from_array(keys[i - 1].data);
				Transform dst = _read_transform_from_array(keys[i].data);

				Transform interp = c < 0.001 ? src : src.interpolate_with(dst, c);

First thing I attempted to do was snap to the nearest frame:
			// Quick hack to try snapping to the nearest time
			if (p_time - keys[i-1].time > keys[i].time - p_time)
			{
				c = 1.0;
			}
			else
			{
				c = 0.0;
			}

Strangely, this did not fix the issue.  I figured that would cause interpolate_with to use either 100% of the first matrix or 100% of the second.
Finally I just removed the interpolate_with entirely:
				Transform interp = src;

No more animation pops.  Not sure if there's a fundamental problem with interpolate_with or if it's being used improperly here, but this could be a pretty core bug.
Steps to reproduce:

Take a character rigged with rigify in Blender 2.79.  Make a long action (120 frames or so) with very little motion (ex: just animate 1 hand moving and leave the feet stationary).
Export using the Better Collada exporter.
Import into Godot.
Look at the animation in the AnimationPlayer and note that on a couple frames, many of the bones (including ones with no animation) pop to a slightly different pose.

I'll have to see if I can create a simpler repro case as my character .dae file is gigantic (very bloated format).

Looks like this is a generic bug with interpolate_with().  I noticed rotations breaking when using interpolation with SkeletonIK as well, which also uses the interpolate_with() function.  Guess I need to create a simple repro case.

If you can help create a reproduction case, that'll help debug this!

Can anyone still reproduce this bug in Godot 3.2.3 or any later release?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

I can still reproduce it in 3.2.3.
Here's an example file with 2 animations.  One with the issue and one without.  Notice the slight movement of the feet and hands, even though the original animation (blend file included) has NO animation at all.
Test Collada Import.zip
Note: Files are provided just for the purpose of reproducing the bug and not to be used in other projects without explicit permission.
Other notes: When importing, if you try it with a new file or, the framerate should be set to 60 (not visible at the default 15fps).
I should make a PR to fix this, but my code is kind of a mess right now.  I have some changes to import animations using the framerate they're exported at by default, which avoids the interpolation issue entirely.  Still might be worth having somebody else take a peek at it as it may be a fundamental math issue with interpolation that will impact more than just this.

Tried this in 4d9b95f
Seems like the skeleton still moves, but it doesn't affect the model.

(in 3.2.4 beta4 the model also moves)

Weird.  Not sure why the mesh isn't updating there, but the skeleton animation is the part that matters.

As far as I know collada broke completely. The TPS player is also broken. On vacation so I would welcome any help.
On Dec 24, 2020, at 1:50 PM, jitspoe<EMAIL_ADDRESS>wrote:

Weird. Not sure why the mesh isn't updating there, but the skeleton animation is the part that matters.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

fotf_character2zy.dae crashes godot engine on 96410f55b24e47af045e3ad31545331ce124d999

The animation still does not play.

  It was used to highlight the bug in the importer that resulted in things moving even when there was no animation.

And can you still reproduce the bug on 4.0 RC 3, or is it fixed?


jersey 2 Bean Validation Support

Hi,
@fehguy I would like to ask if there is support for jersey 2 Bean Validation Support https://jersey.java.net/documentation/latest/bean-validation.html. If there is, could we update the jersey2 sample to expose that.
Thanks

see https://github.com/swagger-api/swagger-core/tree/feature/bean-validations


push qword disassembled as push dword

In a statically-linked x86_64 binary,  binja recognizes ff742458 as
push(zx.q([rsp + 0x58].d)) (linear disassembly 00400e29  ff742458  push    dword [rsp+0x58 {arg_8}])  whereas the appropriate instruction should be push    qword ptr [rsp + 0x58].
Steps to reproduce:
Compile (using only the --static flag)
#include <stdio.h>

void foo(int x) {
    printf("Foo %d\n", x);
}

int main(int argc, char *argv[])
{
    if (argc > 2)
        foo(argc);
    else
        printf("boo\n");
    return 0;
}

Platform tested: Linux 4.4.0-62-generic #83-Ubuntu SMP x86_64 GNU/Linux
Binja version: 1.0.794-dev (build id a22d60e6)

Thanks, this is a bug however it will be fixed by our upcoming switch to XED for doing x86 disassembly, so I am going to mark it as won't fix.  Keep track of #193 if you are interested.

Fixed in 1.1.991


[17.09] Set selinux label on local volumes from mounts API

cherry-pick of:

https://github.com/moby/moby/pull/34684 ("Set selinux label on local volumes from mounts API")
https://github.com/moby/moby/pull/34761  ("Some cleanup of mount create API test")

the last one was needed to get a clean cherry-pick
ping @cpuguy83 PTAL

LGTM


How to debug apk ?

I try to understand how the scrcpy-server on Android side works and try modifying the code.

Is there a way to debug using AndroidStudio ?  As it does not have "activity", it would not allow to debug.

I have changed the line in "setScreenPowerMode( )"
Ln.i("Device screen turned " + (mode == Device.POWER_MODE_OFF ? "OFF" : "ON"));

I copy the updated apk over but it still showing the original server code which print
"[server] INFO: Device screen turned off" on console instead of "OFF"
How should I remove the old scrspy-server and install a updated one ?
Thanks a lot for help.

I just documented it on dev branch: https://github.com/Genymobile/scrcpy/commit/683f7ca848ad4785557d116dcea466f1b5654ef9


Error List required

E714: List required
Error detected while processing function phpcomplete_extended#checkUpdates..58_updateLocalCache..58_updateMenuEntries:
What this mean?
I have unite and vimproc install.
PHPGenerateIndex run ok...

@plateena since @m2mdas doesn't support this plugin anymore, I suggest you to try my https://github.com/mkusher/padawan.vim

@mkusher,
does this plugin can handle laravel?
i use phpcomplete-extend because it is needed for phpcomplete-laravel.
FYI: i'm still new t vim.

@plateena I think https://github.com/barryvdh/laravel-ide-helper may help you


Install sam local without npm?

How can I install sam local without npm?

it's a single static binary, so pretty much
curl -L https://github.com/awslabs/aws-sam-local/releases/download/v0.2.11/sam_0.2.11_darwin_amd64.tar.gz | tar xz -C /usr/local/bin sam

or similar, releases can be found here

Now you don't need NPM at all :)
See our current release notes for details: https://github.com/awslabs/aws-sam-cli/releases/tag/v0.3.0
Closing as we moved away from npm and to pip

😱 this is terrible.


When choosing to log in to access the site, uploaded photos will not be displayed due to insufficient permissions.

When choosing to log in to access the site, uploaded photos will not be displayed due to insufficient permissions. When the user logs in normally, photos, videos, and attachments cannot be displayed

Thank you very much for your help. I basically understand the reason now. My current setup is: deploying Answer on a local network with an internal IP, and then using DDNS to map this to a domain name. I access Answer officially through the domain name and port number. However, after logging in, the images cannot be displayed. Is there any good solution?
Chinese（I don't know which country you are from, so I'm sending it in both languages to avoid not understanding the content）:
非常感谢你的帮助，基本我也明白了原因。我现在的模式是:局域网部署answer，ip是内网的，然后用DDNS把这个解析映射到域名上，通过域名+端口号的方式正式访问answer的。登录之后就是图片无法显示。有没有什么好的方法么


Deserialization of int64 silently loses precision

Services which send 64-bit integers encoded as JSON number literals need special handling on clients. According to RFC8259, JSON number literals outside the safe integer range of IEEE 754 double-precision floating points (-2^53+1 to -2^53-1) are not broadly interoperable.
Fixing this likely involves two parallel approaches:

Services should not encode 64-bit integers as number literals and instead use strings. It's asking for silent data loss.

Since we can't solve above in short order, we'll likely have to handle this on the client side. Unfortunately I think this means we can't use JSON.parse to parse payloads containing 64-bit integers, and we need to pick a 64-bit data type. For the parser, there are various JSON.parse alternatives with long support in npm that we could pick with various upsides and downsides. For the data type, we have two broad options:

Use a library like long or bignumber, which are very popular
Use BigInt, JS's new native arbitrary length Integer type, and either include the polyfill or require that users include the polyfill on platforms lacking native BigInt support.

I lean toward ii but it's not exactly straightforward to polyfill BigInts. I think we would actually have to ship with the polyfill ourselves and make sure in our libraries we use the polyfill methods and never the operators (so we would be forced to write a.add(b) instead of a + b). jsbi claims to allow for a trivial syntactic transform from this library goop to native bigints when that migration becomes feasible.

Now it is a good time to investigate BigInt.

currently

AMQP messaging packages uses Long
Cosmos uses jsbi


mlops-136 mkautodocs + dosctring for profile/project

Codecov Report

Merging #37 (b90d206) into master (95199dd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #37   +/-   ##
=======================================
  Coverage   72.89%   72.89%
=======================================
  Files          55       55
  Lines        2446     2446
=======================================
  Hits         1783     1783
  Misses        663      663

Impacted Files
Coverage Δ

src/wanna/core/models/gcp_profile.py
100.00% <ø> (ø)

src/wanna/core/models/wanna_project.py
100.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I'm moving this to mlops-137. Please ignore this PR


Parser implementation

So I think I've got a vague sense of the scope of the syntax we support.
/*
  Primary entry point, wraps everything in a hashed classname
  and returns a smart React component
*/
styled.tagName`
  simple: rules;
  @media (query) {
  }
  &:pseudo,
  &:selectors {}
  > nesting {
    as: well;
  }
`

/*
  Same syntax but can inject global CSS when you need it.
  (This could be a top-level export `global` instead of `styled.global`)
*/
styled.global`
html {
  font-size: 16px;
}
@font-face {
  probably: useful too;
}
`

/*
  Special syntax for keyframes because they're global and need
  to be hashed like class names but aren't tied to a tag.
  Again, this syntax could totes change.
*/
styled.keyframes`
  0% { some: thing; }
  100% { something: else; }
`

Basically, at this point, that's totally valid CSS so an existing parser should work. But, it's not the whole story...
Interpolations
const size = 100;
const sizeWithUnits = '1rem';
const wholeRule = 'color: black;'
const multipleRules = `display: flex; flex-direction;`
const withNesting = `
  &:hover,&:active {
    text-decoration: underline;
  }
`

styled.tagName`
  width: ${size}px;
  margin: ${sizeWithUnits};
  ${wholeRule}
  ${multipleRules}
  ${withNesting}
`

These are all static interpolations. We can just call toString() on all these before the parser runs. So they're fine.
let ready = false;
const Tag = styled.tagName`
  ${ready ? 'display: block' : 'display: none'}
  ${props => `font-size: ${props.size}px;`}
  ${({bold}) => bold && 'font-weight: 900'}
`

export default () => {
  ready = true
  return <Tag size={18} bold/>
}

This is the problem, it follows on from my work in #24. I really think makes our approach vastly more powerful than the CSS-in-JS approaches I've seen, so I want to preserve this "delayed" rendering of these properties. As far as I can tell, the way I've used ready will never work because each interpolation is evaluated straight away. The only way to defer things is to interpolate a function:
let ready = false;
const Tag = styled.tagName`
  ${() => ready ? 'display: block' : 'display: none'}
`

That seems ok to me. If you interpolate a function, we defer it to render time and evaluate it every time. If you interpolate a value, we toString it and continue the parser.
We can either defer all CSS parsing until render time (which I think is a performance problem waiting to happen) or we can figure out a clever parser that parses the static bits and leaves holes for the dynamic bits. I would prefer doing it well, since we might find that it enables something to do with server-side rendering or build-time optimisations (like a Babel transform that extracts CSS a la Sheetify) but I don't have an idea of those quite yet.
Anyway, that's what we need I think. Now to invent a time machine to give me a chance to work on it!

As for global styles, let's just allow people to write that in any styled tag they want:
styled.div`
html {
  font-size: 16px;
}
`

Why do we need a separate export?

Because that parses as
.hashed-class-abcdef1345 html {
}

You'd need to invent something like css module's :global to distinguish it. I prefer a separate export greatly

Right, but with CSS modules all tag name selectors aren't localized, we could do the same thing here?

It's not localisation, it's scoping. .classname tagName is scoped, tagName {} is not. If you don't scope by default you can't do nesting.

Ah, right. Okay then styled.global is probably the best bet!


🌱 Uplift CAPI to v1.2.5

What this PR does / why we need it:
Uplifts CAPI to the latest patch release, which includes security fixes.

/test unit

/test-ubuntu-integration-main


Cannot create GCE instance: Docker does not start on new instance.

docker-machine -D create --driver google \
    --google-project "$PROJECT_ID" \
    --google-machine-type g1-small \
    vm02

After a while
Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded
notifying bugsnag: [Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded]

When I SSH into the machine:
Jan 06 18:32:53 vm02 systemd[1]: Started docker.service.
Jan 06 18:32:53 vm02 docker[4666]: time="2017-01-06T18:32:53.958618341Z" level=info msg="libcontainerd: new containerd process, pid: 4672"
Jan 06 18:32:54 vm02 docker[4666]: time="2017-01-06T18:32:54.997067891Z" level=fatal msg="Error starting daemon: error initializing graphdriver: driver not supported"
Jan 06 18:32:54 vm02 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Jan 06 18:32:54 vm02 systemd[1]: docker.service: Unit entered failed state.
Jan 06 18:32:54 vm02 systemd[1]: docker.service: Failed with result 'exit-code'.

Oh and by the way:
$ docker-machine -v
docker-machine version 0.8.2, build e18a919

and on the instance that gets created:
$ docker -v
Docker version 1.12.5, build 7392c3b

Maybe related to #3930, Docker Machine defaults to using Ubuntu 15.10 (GNU/Linux 4.2.0-18-generic x86_64)

Updated to 0.9.0-rc2 and remarkably it's still install 15.10. No matter what!
And when I try
 --google-machine-image ubuntu-1604-xenial-v20161221

or some other 16-x image, I get
`Error in driver during machine creation: googleapi: Error 400: Invalid value for field 'resource.disks[0].initializeParams.sourceImage': 'ubuntu-1604-xenial-v20161221'. The URL
                  is malformed., invalid`

The default images need to be bumped in GCE driver.  I'd be happy to merge such a PR

I am sorry but I don't know anything about this codebase.
And I don't get it: I mean, as it stands, 0.8.2 and 0.9.0-rc2 are published
and advertised as working with GCE, but in reality they are broken, right?
I develop in Java and JS, and you're asking me for a PR to bump a version?
And you can't tell me how to manually specify the image I need via the
--google-imagine switch.
I know this is open source and you guys don't owe me anything, but what is
going on here?
On Fri, Jan 6, 2017 at 2:41 PM, Nathan LeClaire<EMAIL_ADDRESS>wrote:

The default images need to be bumped in GCE driver. I'd be happy to merge
such a PR
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/3946#issuecomment-270987255,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANWZeYt5P0vI4h_Sbh_wETUzfIHIafMks5rPpjRgaJpZM4Lc-1K
.

the point is that this project is literally for nobody except total n00bs
like me who don't feel like deploying a docker instance by hand.
So telling me I need to clone this repo, remember how to build go, find the
version in the code base , bump it, PR it -and then- here's the kicker:
wait for a release or install my local fork myself: lol
пт, 6 янв. 2017 г. в 14:45, Dmitry Minkovsky<EMAIL_ADDRESS>
I am sorry but I don't know anything about this codebase.
And I don't get it: I mean, as it stands, 0.8.2 and 0.9.0-rc2 are
published and advertised as working with GCE, but in reality they are
broken, right? I develop in Java and JS, and you're asking me for a PR to
bump a version? And you can't tell me how to manually specify the image I
need via the --google-imagine switch.
I know this is open source and you guys don't owe me anything, but what is
going on here?
On Fri, Jan 6, 2017 at 2:41 PM, Nathan LeClaire<EMAIL_ADDRESS>wrote:
The default images need to be bumped in GCE driver. I'd be happy to merge
such a PR
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/machine/issues/3946#issuecomment-270987255,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANWZeYt5P0vI4h_Sbh_wETUzfIHIafMks5rPpjRgaJpZM4Lc-1K
.

PS. For posterity of anyone ever finds this issue, regarding the --google-machine-image option: https://github.com/docker/machine/issues/3904#issuecomment-264646624

So telling me I need to clone this repo, remember how to build go, find the
version in the code base , bump it, PR it -and then- here's the kicker:
wait for a release or install my local fork myself: lol

You might make someone else very happy if you did.  I consider that one of the best parts of open source.  Most of the best parts of any project you enjoy are around because someone did exactly that.

I love open source dearly. It's amazing. I've spent a lot of time on it this past month.
But today I was trying to  focus making progress on my product. I was hoping to begin a deploy to GCE. I've been using AWS spot instances during development, but I wanted to use GCE in production.
And then this happened. And I asked myself: how could this be? docker-machine create is broken for GCE? Surely GCE must be a top-3 cloud provider and Docker Machine appears to be a strategic component of Docker's onboarding toolkit. Why isn't this a stop-the-world issue (especially if it's just a version bump)? How has it apparently persisted since November? Why is v0.9.0-rc2 26 commits ahead of master and none of them fix this issue (it's a version bump, right?) Are my assumptions about Docker Machine's strategic role in the Docker ecosystem incorrect? Is this product being neglect? Is Docker itself being neglected? Are my assumptions about GCE as a top-3 platform incorrect? I can go on and on but my point is I sincerely have no idea and it's really fascinating.
If Docker Machine and Docker, Inc. are alive, well and capitalized, I just don't get why you asked me to PR this. It's not a feature request. It's not an issue with some esoteric feature no one ever uses (is it?). It appears to be fundamental element of this project and the fix is a version bump. None of this makes any sense at all to me.
But regardless, I do want to emphasize that I'm not being critical or demanding or anything. In reality nothing ever works and software development appears to be just making it to the finish line with what you've got.
Thank you for Docker Machine!!
Dmitry

I am facing same issue ... if you could point me how to solve it I would be happy to help


npm run top - Fatal Error: "Config File not found

Followed tutorial, ran through the following commands:

Git clone
npm install
npm start
npm clean
npm run top

Node: 7.7.0
Npm: 4.1.2
><EMAIL_ADDRESS>top /Users/peter/Sites/ReasonProject
> eval $(dependencyEnv) && rtop

Fatal error: exception Failure("Config file not found - neither /Users/peter/sites/ReasonProject/_build/ocamlfind/lib/findlib.conf nor the directory /Users/peter/sites/ReasonProject/_build/ocamlfind/lib/findlib.conf.d")
Raised at file "pervasives.ml", line 30, characters 22-33
Called from file "findlib.ml", line 158, characters 1-77
Called from file "findlib.ml", line 332, characters 2-13
Called from file "topfind.ml", line 11, characters 24-46

npm ERR! Darwin 16.4.0
npm ERR! argv "/Users/peter/.nvm/versions/node/v7.7.0/bin/node" "/Users/peter/.nvm/versions/node/v7.7.0/bin/npm" "run" "top"
npm ERR! node v7.7.0
npm ERR! npm  v4.1.2

Oh, I ran npm run reasonBuild and this started working. Is this supposed to be the command I run before hand?

Yeah, because you cleaned in between, right?

Yes


79a37fee-1da6-4dd5-a220-dd0c642366ff

this is for automated testing

85300a89-97e4-450f-8235-d80beb9d11cc


Since mouse event support was added, selection and copying of strings in yazi seems impossible.

Please describe the problem you're trying to solve
Strings in file previews used to be selectable with the mouse, aswell as filenames, allowing to copy parts of a filename or words in a textfile preview.
This seems no longer possible even when disabling all mouse events.
Would you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
When setting mouse_events=[], make all strings selectable with the mouse so that it can be copied, just as before mouse event support was added.
Additional context
No response

you can keep press shift key, and then you can use cursor to select and copy text like before

mouse_events = [] should disable mouse completely, i.e. original behavior, reopening


Missing config.json in PhoBERT_large_fairseq

First thing first, thank you for publishing the source code of PhoBERT.
The issue is just a minor one which is that I can't find the config.json file in PhoBERT_large_fairseq downloaded here. Therefore I have to download the base pre-trained to grab the file.
Have a nice day!

We do not need config.json for the fairseq models.
config.json is for the transformers models.


When creating enrollment set is_active explicitly in the enrollment api call

What are the relevant tickets?
Fix https://github.com/mitodl/mitxonline/issues/2225 and https://github.com/mitodl/mitxonline/issues/1797
Description (What does it do?)
If use enrolls, unenrolls, and enrolls again, the course run enrollment in edx should be active, otherwise the user can't access the course on edx, just like it happened for this user https://github.com/mitodl/hq/issues/4367.
On open edx is_active = False is equivalent to being unenrolled.
How can this be tested?
coming

Why?

Why?

If user re-enrolls their enrollment stays inactive and they can't access the course through the courseware.

So just adding here more clarification on the issue.
The enrollment stays inactive only following a "verified" enrollment as a result of payment for the course run.
If re-enroll in as audit again, then is works correctly.

So I have been playing with the api and what I found is this:
Set up: There is an existing enrollment that has is_active=False( meaning the user unenrolled).
Action:
If I make an api ( edx_client.enrollments.create_student_enrollment)call with the same MODE is_active gets set to True.
If I make the same api call but the MODE is not the same (changing from audit to verified or vice versa), then the MODE gets updated but is_active stays False.


Server execution failed while updating WSL 1 to WSL 2

Environment
Microsoft Windows [Version 10.0.19041.685]
lsb_release -r: cannot access to the WSL now
Whether the issue is on WSL 2 and/or WSL 1: You can say this issue is about both of the versions
Steps to reproduce
I'm updating WSL to WSL 2  wsl --set-version Ubuntu 2 and it's been two hours already. And when I type command wsl --list -v this shows me an error server execution failed. What does this mean??
Expected behavior
This updating process should ends within minutes since it says "Conversion in progress, this may take a few minutes..." and also, I don't want to get this mysterious error message server execution failed
Actual behavior
PS > wsl --list -v
server execution failed

It's been 4 hours

It's been 4 hours

solved.

solved.

why was this closed?

why was this closed?

why was this closed?

I assume they figured it out.
I noticed this issue only after I tried restarting LxssManager from Task Manager > Services, but now it just says "Stopping" forever.  I've tried starting it again from there as well as the Services panel, but neither one works.  Only a full restart seems to solve the issue.

I closed the issue because no one seemed to answer.
I solved the issue long while ago by myself.
This is just my case, so remember that how to solve the error may depends on your environment scenario. you know how ambiguous the error message is. must be all sort of problems will lead the same error.
For me, I solved the issue by disabling Virtual machine platform. Not only Hyper-v.
(similar case)
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS. · Issue #5363 · microsoft/WSL
Run the below in admin cmd/psl and reboot:
$ dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart
$ dism.exe /online /disable-feature /featurename:Microsoft-Hyper-V /norestart


Nami wallet glitching post-Vasil (Sept 22 to present)

The Nami wallet post-Vasil does not display Ada balance or assets. It indicates a -5 Ada balance and zero assets. The Ada balance and all assets are accounted for at pool.pm. But, transactions to and from the Nami wallet are unsuccessful. We require a fix. Thanks! RB

Talk to Cardano Support on the Live support page so that your issue can be looked into.


Remove System.Linq.Expressions usages in ReflectionClrPropertyInfo

What does the pull request do?
This PR removes the System.Linq.Expressions usages in ReflectionClrPropertyInfo by using standard reflection instead.
With NativeAOT on win-x64, this removes 446 KB of native code.
Rationale
Expressions were probably used for performance in the past for standard property accesses, but it turns out this class is almost unused nowadays.
The only code path creating a ReflectionClrPropertyInfo is in StaticResourceExtension:
https://github.com/AvaloniaUI/Avalonia/blob/b1489aaca28d3f35cb69c33f1202a62a08c3f70a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/StaticResourceExtension.cs#L38
This is never hit by the XamlCompiler, which provides a ClrPropertyInfo directly if StaticResource is used on a standard CLR property. The only way to get through this is to pass a System.Reflection.PropertyInfo manually to StaticResourceExtension.ProvideValue.
Plus, expressions are interpreted on platform where dynamic code isn't allowed, making them slower than standard reflection in this case.

Nice.
I was considering playing around .NET feature flags, including Trimming Definition files which can be configured to replace specific  properties with const stubs.
Something like bool IsReflectionBindingEnabled => AppContext.TryGetSwitch("Avalonia.Markup.Data.IsReflectionBindingEnabled"), which then can be replaced with const "false" value, when we have AOT build with compiled bindings enabled. Or when reflection bindings were explicitly disabled by another property.
This way, whole reflection binding subsystem could be trimmed out.
See https://github.com/dotnet/runtime/blob/main/docs/workflow/trimming/ILLink-files.md#illinksubstitutionsxml

Having that switch would indeed be nice.
I think we can wait for .NET 9's new feature attributes (which I saw you discussing in the past), this would make implementation easier, not even requiring the extra XML file.


Pressing Cancel in almost any dialog freezes the GUI / leaves it in a weird state

After trying to export and cancelling name modification, the GUI becomes unresponsive (as if the window for name modification was still active). The only way to exit the program is then to use Ctrl-C.
Similar problem is observed when clicking on Flag Outlier, Select columns, ... followed by Cancel.

This changes seems to have helped, but it has to be tested on Linux and Windows.

Tested on Linux. Working perfectly. Windows test still to be done.

Issue solved with f4813b2e86233f591742c4a21a27fd36fde52216
Windows test remains open so I keep it open.

Finished with 6a3d4ab11080af05f7b77b923108c07d41945300.
Closing #29


[Suggestion] Write current location to file

Expected Behavior
Write current location to file.  This file could be used to specify the starting location upon bot start.  This allows to use the exact same location upon bot restart.
Obviously if there is a better way to persist this, that would be great
Actual Behavior
location is not persisted
Steps to Reproduce

This is handled in PR #289


:bug: Fix: precompile type bug

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

#1224  👈
main

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

Join @roninjin10 and the rest of your teammates on  Graphite


Adds keyboard navigation for month picker

This PR:

Allows the user to pick a month using keyboard only
Adds test coverage for recent changes
Updates readme with new keybinds
resolves #2078

Woohoo, nice work! Thanks for creating this PR!


Display image instead of 3D model

Hi,
first of all, thank you for ar.js !!
This nota bug report but a feature request, provided it doesn't already exist and I've not find it.
For a project with many objects on screen, I'd like to be able to display images (jpg, png, svg)  instead of gltf entity.
Is there a way to do that ?

Hello, yes there is.
Instead of loading a gltf model, create a plane and change it's texture to the image texture you want to display.
Then replace that gltf model with the plane you created, and it should work. the only problem you would face is, that this plane will not be centered to the image-target you're using, if you're using image tracking.
Good luck

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

Thank you !
You mean plane and image texture should be saved as a gltf or in another format ? If so, would you ave a code to show ?
Also, do you think image centering issue should be fixed in a near future ?

If you're using the Threejs variant, you can just create a plane Geometry in code, load the image you want to display as a texture using Threej's Textureloader and assign this texture to the plane's Material. With aframe should be the same logic.
`var texture = new THREE.TextureLoader().load( '../../../resources/data/textures/aframe-k.png' );
	var mat = new THREE.MeshLambertMaterial({color: 0xbbbbff, map: texture});
	var planeGeom = new THREE.PlaneGeometry(1,1,1,1);
	var plane = new THREE.Mesh(planeGeom, mat);`

that was an example from @kalwalt's experiment repo with AR.js and Artoolkit, you can find it here, it has a lot of examples and code examples you can inspire yourself from.
The image centering issue is actually not image specific but every content you would display on the image-target. I don't know about the fix, but you can follow it and a WIP here #4 and #114.
Happy coding

If you're using A-Frame, this document should be helpful, a-image
For example:
<a-scene embedded arjs>
    <a-assets>
        <img id="test_img" src="url of the image you want to show">
    </a-assets>
    <a-marker preset="hiro" url="hiro.patt">
        <a-image
            rotation="90 0 0"
            src="#text_img"></a-image>
    </a-marker>
    <a-entity camera></a-entity>
</a-scene>


fix(ios): make programmatically focus work on iOS 13

closes #435

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


File not downloading?

I just pulled the new version and trying to make this work :)
Currently it is downloading something with the given name however it does not contain anything and looks like this (windows):

I am supplying a url pointing to the file, am I doing this wrong? If so I think this would totally make sense to add to the component no?
Sample url (what I am providing in the data argument)
http://localhost/papaver/app/dashboard/uploads/patients/files/wizer-brochure-versie1%40dcc4c3031202bcfd765ae0c8fd5fc3d8%23IazEdDEYO7.pdf
When I log this to the console and click it it opens the correct file in a seperate tab ;)

Unfortunately this package doesn't work with Safari or IE. What browser are you using?

@kennethjiang Aah why not? :o And i'm using chrome :/

The reason why Safari or IE is not supported is that they don't support html5 download attribute, which is what this plugin is baed up.
I just tested the latest version and it still works. Can you provide a bit more info such as the code that's calling this plugin, and the network response coming back from the server?

@kennethjiang sorry for the late answer, i basically used this in stead (which works fine in all browsers). I think I'll create a small github project for this
var win = window.open('url', '_blank');
win.focus();

sounds good!


component selection expiration warning

Expected Behavior
warning: component selection with reason '{}' has expired

I'm certain some of my component selections no longer matter and maintaining a perpetual list seems foolish.
reasons to expire are probably all conditional on some version match, but possibly also a full candidate match, in case you want to expire based on a platforms version instead. No rules would mean it never expires.
related: #29417
Current Behavior (optional)
I'd have to write another conditional in my code and then add a log statement.
Context
I want to clean up my component selection.
current gradle version: 8.7

This issue needs a decision from the team responsible for that area. They have been informed. Response time may vary.

Note that Gradle could only know if an all rule did something at all for the whole graph if reject was called at least once. For a withModule rule, it could know if the rule was invoked and if it did something (call reject). All the rest is opaque to Gradle.

IIUC, you're saying you have rules that no longer apply because you end up always selecting a newer version and any rejects/prefers/etc do not impact the resolution result?
Would it be equally useful to be able to see a report that showed rules that affected the result vs rules that did not?

IIUC, you're saying you have rules that no longer apply because you end up always selecting a newer version and any rejects/prefers/etc do not impact the resolution result?

potentially, probably

Would it be equally useful to be able to see a report that showed rules that affected the result vs rules that did not?

yes


Add multi-doc example

The example in https://github.com/solid/query-ldflex/blob/master/demo/profile.js works inside one document. But if a profile only contains the foaf:knows triple, then the objects of those will need to be dereferenced before you can produce a list of first names of someone's friends. With @Vinnl, @james-martin-jd and myself we eventually worked out how to do that, in this chat conversation: https://gitter.im/solid/app-development?at=5d9de406b385bf2cc69f6c8d
Would be good to add an example of that (or maybe even better, a link to a tutorial) to the readme of this repo!

cc @NSeydoux

See also further comments in that gitter conversation from @RubenVerborgh; in general, an app should not know where data lives. So the app would just retrieve each friend's name from "the web".
But having said that, currently in practice the app often does (need to) know, and so if an app wants to retrieve each friend's name from that friend's profile, the code would be something like:
 const friends = [];
 for await (const friend of person.friends) {
   const name = await data[friend].name;
   friends.push(name.value);
 }

why you don't see the .value being needed in for instance https://github.com/solid/query-ldflex/blob/master/demo/profile.js#L17 right?

Exactly; name is an LDflex path, which can be coerced into a string, for instance by string interpolation expressions. Another option is to friends.push(name) and then stringify at a later stage, for instance through friends.join(', '). LDflex paths are proxy objects that you can treat in many ways; as a Promise, as an async interable, as a path, as a string, … Depending on the context, you might want to force them into one or the other.

@RubenVerborgh a coding pattern we've fallen into using is something along the lines of
const myData = await solid.data['subject/path'].predicate;
return myData ? myData.value : null;

So basically in a function (or UI binding object, or React state object, wherever we need to use the value) we check to see if the proxy exists then return the value or an appropriate default value. There may be a better way to handle this, but it works nicely for our purposes, and it might be good to have some extra examples including how to handle null/empty values.
We ran into issues early on since if the predicate or subject doesn't exist, the proxy is null, so the .value blows up.

@james-martin-jd Hmm, we probably want something like (await solid.data['subject/path'].predicate).value to give undefined if there are no matches?

Yes I think that sounds right - if the proxy itself is undefined it throws errors that the root object is undefined, not the .value. But really, I want to know about the value, not the proxy itself.


Force evaluation order in set_date_fields

use volatile to force evaluation order in set_date_fields
fix evaluation error in test262/test/built-ins/Date/UTC/fp-evaluation-order.js:19: unexpected error: Test262Error: precision in MakeDate Expected SameValue(«34448384», «34447360») to be true
this error occurs on the macOS target with clang --version:
Apple clang version 15.0.0 (clang-15<IP_ADDRESS>.5)
Target: arm64-apple-darwin23.3.0

Is the volatile strictly to work around a compiler bug? If so, can I suggest updating the comment to call that out explicitly - naming and shaming, basically? To a casual reader (that is to say, me) it looks like the changes cannot and should not make an observable difference.

This is not strict speaking a compiler bug, but ECMA insists on the order of operations when converting the date components into an actual time value.  There are 2 tests in test262 that keep failing on macOS with M2 hardware and clang v15.  Making one of the double variables volatile enforces the order of evaluation and fixes the problem.  There is an explanatory comment in the code.  If you have a cleaner solution, I would be glad to see it.

I believe I figured out the cause. It's not order of evaluation, not exactly. It's rounding.
days * 86400000 + h gets lowered to a single FMA instruction (fused multiply-add) when supported, and that produces a different result than multiply-then-add because FMA doesn't round between steps.
The ECMA script however defines arithmetic in terms of discrete rounding.
Your fix is correct. volatile forces a switch from FMA to multiply-then-add.
Further evidence: when I add -mfma to the compile flags, the test starts failing on x86 too.
The only thing I'd ask of you is to update the comment with an abridged version of the above, otherwise this tidbit of institutional knowledge is bound to get forgotten again. :-)

I added the offending tests in our tests/test_builtin.js and I get failures from the CI jobs on Windows.
Looking into that, I noticed the test262 suite is not run on all targets, hence these failures might already be present in the current version and my code does not fix them for those compiler/target combinations.
Beside the long run times, are there specific reasons to omit the test262 suite on many target systems?
I saw that you disabled some numeric conversion tests on the windows targets, I shall use the same work around for these precision / evaluation order date tests, but what about other targets?

Is there a way to configure github CI to only report failing CI jobs in their reports (both on this page and in the emails) ?

I added the offending tests in our tests/test_builtin.js and I get failures from the CI jobs on Windows (windows-mingw32-debug [Debug and Release]).
Looking into that, I noticed the test262 suite is not run on all targets, hence these failures might already be present in the current version and my code does not fix them for those compiler/target combinations.
Beside the long run times, are there specific reasons to omit the test262 suite on many target systems?
I saw that you disabled some numeric conversion tests on the windows targets, I shall use the same work around for these precision / evaluation order date tests, but what about other targets, why not run the test262 suite?

We made 262 run in a representative subset of the targets, happy to add more if necessary.
Regarding MinGW: there is indeed something going on with floating point rounding. We haven't gotten to the bottom of it yet.

Did you decide on a big-endian target ?
Can you approve the workflow for the last commit ?

Approved the workflow.
I'm traveling this week and hope to add the CI the next week.
If all is well we can land this before no problem.


Research and Gather Time Series Data

Research public time series data to be used for training/testing implemented features and store themin the datasets folder

Inspirations:
-https://machinelearningmastery.com/time-series-datasets-for-machine-learning/
-https://paperswithcode.com/task/time-series#datasets

https://arxiv.org/pdf/1709.05206v1.pdf
This paper has a table full of different names of datasets at page 5


Fix up start parameter not working

Turns out my update didn't work as expected, it was reporting the appropriate index however it will starting from the start of the mbox file.
This fix ensures it loops through the mbox file until it reaches the start message.

Thanks!


WB S3 Improvement Path Fixes

Ticket

Purpose
Ensure relative paths work properly for s3.
Changes

Side effects

QA Notes

Deployment Notes

@Johnetordoff, see https://github.com/CenterForOpenScience/waterbutler/pull/406#issuecomment-1671955963 for advice on how to proceed with this.

coverage: 88.84% (-0.2%) from 89.016% when pulling 2d7d34e025cdf588da815ead94af0a4102504b07 on Johnetordoff:api-tweak into e627806d9bfc16f854a667d7126cbe4d70e97c3d on CenterForOpenScience:feature/s3-improvements.


Improve push sync success rate

Summary
The chunk specific 5 minute expiring skiplist in push sync creates an environment in which already tried paths (next hop nodes) are avoided by originators and forwarders for a limited time frame for a specific chunk address. This increases the probability of working around malfunctioning forwarding nodes (by avoiding them), and creates a probability to avoid malfunctioning final destination (closest) nodes.
A malfunctioning destination node can be described as one that is refusing to store a chunk with a valid postage stamp that is closest to it's own address out of the connected addresses.
Working around such a node can be understood as when another in-neighborhood node already avoids this closest node by an expiring skiplist entry, and instead of pushing to this closest node, it proceeds to do act of immediate replication, storage receipt signing, and responding to the upstream with the created storage receipt.
This secondary in-neighborhood node who establishes storage, also needs to have any other closer address already on the expiring skiplist for the specific chunk.
One likely candidate for this position is the second closest node, however, this only works if this second closest node receives 2 requests for the same chunk within this 5 minutes of expiry.
As near destination nodes tend to be connected to most of the destination neighborhood, we can expect some bias towards forwarding from outside the neighborhood to immediately to the closest node within the neighborhood.
The probability that the last forwarder already has the closest node on expiring list (and forwards to second closest instead) also depends on whether the same forwarder was requested twice for the same chunk within a 5 minute timeframe.
The number of potential last forwarders (connected to the closest node) equals to the number of nodes within neighborhood (min 4), and the nodes included in the bins between it and  ( "Closest node PO (~neighborhood depth + 2)" - "Average PO gain per hop" ) proximity order (those nodes from lower bins that are connected to the whole destination neighborhood because of balanced connections).
Since average PO gain per hop is currently 5, we can expect this range of last forwarders currently to be at least 4 * 2 ^ 3 ~ 32 nodes.
So since there's a relatively large number of last forwarders, hitting the same last forwarder with consecutive requests can be estimated as 1/32 chance at most.
And, we need the second closest node hit twice so that it actually proceeds to establishing storage, which can happen by chance, or when 2 different last forwarders are requested 2 times for the same chunk within 5 minutes.
The identified problem is, because of these probabilities, it might take a large number of retries within 5 minutes for these chances to be hit, however, the originator might only make a limited number of retries within 5 minutes, that might not be enough for this to succeed, because after that it has all the possible downstream peers on expiring skiplist itself, making the process reset and start out with mostly expired skiplist entries near the destination as well by the time it is tried again by the originator.
Motivation
Push sync reliability improvement
Implementation
Possible improvements over the situation

Increasing originator retries by expiring skiplist reset on originators when originator is returned as the closest node while not being in neighborhood of the chunk
Multiplexing proposal making the probability of establishing storage by some other in-neighborhood node higher (this would decrease the condition of success to only hitting 1 last forwarder 2 times, as the second closest node would proceed to establish storage for the first time it receives the request)

Drawbacks

I actually have 4 chunks (out of 55 million) in one of my source nodes that steadfastly refuse to get back into the swarm via a PUT /stewardship API invocation.  I'll see if I can determine exactly what the chunk IDs are that fail to get back into the swarm.
In other words, I concur that this is a really need fix, whatever the fix ends up being.  I wonder if there's a way for a node to determine that it is "close enough" to the "closest" and simply store the pushed chunk, return the receipt, push it to the remainder of the neighborhood (the closest of which might still reject the chunk), and then rely on pullsync to finish getting the chunk to the peers that should have it.
I did have one pusher/kademlia hack during the original testnet era that would attempt to establish a direct connection to a "closer" known peer whenever a pushsync of a chunk failed.  It did this regardless of the current depth and/or connected peer count and worked surprisingly well at getting a receipt when originally pushing chunks.  In hindsight, I see that this would work because it would enhance the chances of hitting the "next closest" peer more frequently than relying on the multi-hops ordinarily required to get into a distant neighborhood.

Sorry for the delay, but I've located the 4 /bytes uploads and the associated chunks that refuse to pushsync into the swarm right now.
Ref: 154cae44b4e3fa65f36fa1a3fa41c97e074bca8127da6a62065952a54573b95f
Chunk: 154cae44b4e3fa65f36fa1a3fa41c97e074bca8127da6a62065952a54573b95f
Ref: 30df1884f7af6f5760b005e23540d949e84719d3717ad881d2e60256f180d9fe
Chunk: 259e1dc186336ebadc214793c237ec820eeaf457b4bc14f173a08241b5384fad
Ref: 2a30399b0452dc93af4a35339cd7aebf90f16469c453d9fdb762ae767141a513
Chunk: 2a30399b0452dc93af4a35339cd7aebf90f16469c453d9fdb762ae767141a513
Ref: 5a6f9306634417ee74aa0b8eca71ba2ee7fdea6cf50fd41cdbf83c1c29ded701
Chunk: cb65ecace31c68986ecc9b2e0f6f7e459ae9c94883c56fb1f0b55b9da65f6230
The log of the pushsync failures is attached showing the peers that my pusher node in neighborhood 0x6127891... attempted to use and their resulting error.  It'd be wonderful if pushsync returned the actual error instead of simply resetting the stream!
pushFail.txt


CBMC proof for hash_table_swap()

Description of changes:
CBMC proof for hash_table_swap().
Due to the fact that either input to swap can be invalid, it's hard to come up with any good post-conditions for this function.  It might be possible to track some using ghost state, but that would put unnecessary overhead on the function itself.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I had the same thought at first. But the spec for swap requires neither
input to be valid as per the .h file.
On Tue, May 7, 2019 at 3:20 PM Felipe R. Monteiro<EMAIL_ADDRESS>wrote:

@feliperodri approved this pull request.
In source/hash_table.c
https://github.com/awslabs/aws-c-common/pull/334#discussion_r281792363:

@@ -231,6 +231,7 @@ void aws_hash_table_clean_up(struct aws_hash_table *map) {
}

void aws_hash_table_swap(struct aws_hash_table *AWS_RESTRICT a, struct aws_hash_table *AWS_RESTRICT b) {

AWS_PRECONDITION(a != b);

AWS_PRECONDITION(aws_hash_table_is_valid(a));
AWS_PRECONDITION(aws_hash_table_is_valid(b));
?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-c-common/pull/334#pullrequestreview-234712810,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBPVDQZDYNJTXKEL4UHYRLPUHI7NANCNFSM4HLCTO6A
.


zig 0.10.0 compatibility

I tried to use regz to convert a svg for an STM32F103 and stumbled over the following problems:
The compiler complains
/home/stefan/workspace/stm32f103rb-test/src/registers.zig:31630:5: error: extern unions cannot contain fields of type 'fn() callconv(.C) void'
    C: fn () callconv(.C) void,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/stefan/workspace/stm32f103rb-test/src/registers.zig:31630:5: note: type has no guaranteed in-memory representation
/home/stefan/workspace/stm32f103rb-test/src/registers.zig:31630:5: note: use '*const ' to make a function pointer type
referenced by:
    InterruptVector: /home/stefan/workspace/stm32f103rb-test/src/registers.zig:31629:36
    unhandled: /home/stefan/workspace/stm32f103rb-test/src/registers.zig:31635:19
    remaining reference traces hidden; use '-freference-trace' to see all reference traces

My corrected, working, definition looks so:
pub const InterruptVector = extern union {
    C: *const fn () callconv(.C) void,
    Naked: *const fn () callconv(.Naked) void,
    // Interrupt is not supported on arm
};

oh sorry this issue passed through the cracks! I'm currently working on rearchitecting regz on the rewrite branch. Once I dub SVD parsing and codgen "good enough" it'll find itself in the main branch


Seperate Material/Enchantment 2 Key convertion methods and additional method to turn keys into server's locale name

Add Material and Enchantment to key convertion their own function.

Add toServerLocale function to convert a key to their corresponding name
parsed through the server's locale.

String materialKey = localeManager.queryMaterial(material, durability, null)); //Convert the material, durability, ItemMeta into the corresponding material key.
String materialName = localeManager.toServerLocale(materialKey); //Convert the materialKey into the name of the material from the server's locale.

Thanks for your work. As we know, a server only has English locale available inside its jar, located at assets\minecraft\lang\. While you mentioned in #3 that you would be satisfied with only being able to obtain English names, I'm not certain it's in line with the multilingual focus of this project.
May I ask what your particular use case is? It may interest you to know that PaperMC already offers similar functionality to your PR:
https://github.com/PaperMC/Paper/blob/bf698865f7ff5a069c284ca650a7e5db80cfc31a/Spigot-Server-Patches/0162-Implement-getI18NDisplayName.patch

My aim is to be able to translate the keys into they corresponding server's locale name since Bukkit/Spigot don't have parse functionality for this. Paper is something that's much younger then Spigot and thereby less used. Most servers that already existed before Paper are satisfied with what they have from spigot but sometimes have the urge to need something extra.
This implementation will make it possible for developers to obtain their names and use them in thinks like dynamic written books or signs.
And since Essentials comes with the feature of being able to switch the server's locale, I called this function toServerLocale (because the locale can be something else then English)
Server owners also could've changed the locale by their own. So there is definitely use for this implementation.
(I use it myself for dynamic written book pages to display item requirements inside a minecraft server gamemode)

That's fair. Again, not what I had planned for this resource, but I suppose it couldn't hurt anything. I'll just have to find a way to stress that it's English-only.

And since Essentials comes with the feature of being able to switch the server's locale

Could you elaborate on this? I'm not aware of such a feature.

Sure, I just found this video that explains how someone would be able to do this for their server: https://youtu.be/qiaq_1AOc0E
I only thought it would've changed the texts of the essentials messages. But even tho, I haven't tried to check this with the code since my own server only needs English. But I have been told it changes the server's locale. (But this still is something that has to be tested to be certain that it works)

Its also because I discovered this code on how to get the name since 2 days ago that I haven't tested it with Essentials functionality.

As far as I can tell, that only changes Essentials messages. Do let me know if you find otherwise.

I'll sure do! I'll send it to you as private message so you can consider this PR as resolved.


Add pact tests for api interactions

Description
Adds dependencies and basic pact tests for the two API interactions in this repo.
Adds generated pacts which can be verified against the providers.

Context
Pact tests will help us identify issues with the API interactions in the codebase.
We currently have 2 API calls:

ProcessPilotData function consumes the Notify function http endpoint
Notify function consumes the NHS Notify create message endpoint

Type of changes

[x] Refactoring (non-breaking change)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Bug fix (non-breaking change which fixes an issue)

Checklist

[x] I am familiar with the contributing guidelines
[x] I have followed the code style of the project
[x] I have added tests to cover my changes
[ ] I have updated the documentation accordingly
[ ] This PR is a result of pair or mob programming

Sensitive Information Declaration
To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

[x] I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

@dnimmo Unfortunately I think we'd need to import pact and reference pact.Consumer and pact.Provider as they are classes.
import pact loads a lot of other modules, classes and functions that we don't necessarily need for these tests.