Fixes some small feature bugs introduced in v11

This fixes a couple of bugs that I noticed when trying to update airbnb's version.

backwards ranges were broken due to weirdness with initialVisibleMonth changes triggering early
selected-spans were not being cleared properly
fix 'after-hovered-start' modifiers implementation (https://github.com/airbnb/react-dates/issues/487)
fix active state/hover state of last element in range

Probably I need to add some tests.
to: @airbnb/webinfra @moonboots

Coverage decreased (-0.01%) to 85.726% when pulling 50585fd6fdcc39e1a19de46adb8b618be9c0d638 on maja-quick-fix-on-some-lost-features-in-perf-rearchitecting into 5c533e871b962755662d668c8a79a4cb67ffaf95 on master.

Coverage decreased (-0.01%) to 85.726% when pulling 50585fd6fdcc39e1a19de46adb8b618be9c0d638 on maja-quick-fix-on-some-lost-features-in-perf-rearchitecting into 5c533e871b962755662d668c8a79a4cb67ffaf95 on master.

Coverage increased (+1.09%) to 86.83% when pulling 756f5c423fbf6f549bdbe59e81130ee4d03b01ba on maja-quick-fix-on-some-lost-features-in-perf-rearchitecting into 5c533e871b962755662d668c8a79a4cb67ffaf95 on master.


How to generate 3d image of object while moving object (scanning)

|librealsense|2.35.2 RELEASE|
|OS|Linux|
|Name|Intel RealSense SR305|
|Serial Number|636204001701|
|Firmware Version|<IP_ADDRESS>|
|Camera Locked|YES|
|Product Line|SR300|
|Asic Serial Number|636204001701|
|Firmware Update Id|636204001701|
Please provide a description of the problem
It seems previous librealsense sdk had 3d scanning libs/utils so that object 3d models could be created while moving the camera. Is there a util, example or lib in sdk2.0 that is opensource in c++?
There are few ones like dot3Dpro, meshlab but I am looking for a library or util that can be incorporated in existing project and not using separate app.

Hi @readblack1234   You may have difficulty finding a pre-made open soure solution that meets the required criteria (SR305 compatibility, C++, works within the SDK and can convert data to a solid model).  There is a long discussion about 3D reconstruction on this forum that is an excellent reference on the subject though and may be helpful to you.   Please read downwards from the point in the discussion I have linked to, where talk about possible open-source solutions begins.
https://github.com/IntelRealSense/librealsense/issues/2463#issuecomment-425843697

Hi @readblack1234   Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Not able to get results on local development.

I'm not seeing responses from Guzzle on my local dev machine, but I am from production.
In the simplest of terms, I have the same code which I can use in Tinker.
use Osiset\BasicShopifyAPI\BasicShopifyAPI;
use Osiset\BasicShopifyAPI\Options;
use Osiset\BasicShopifyAPI\Session;

$options = new Options();
$options->setVersion(env('SHOPIFY_API_VERSION'));
$options->setGuzzleOptions(['connect_timeout' => 10, 'debug' => true]);
$api = new BasicShopifyAPI($options);
$api->setSession(new Session(env('SHOPIFY_SHOP_DOMAIN'), env('SHOPIFY_API_PASSWORD')));
$result = $api->graph('{ shop { name } }');

On production I get a full Guzzle debug as expected
On development I get
* Resolving timed out after 10006 milliseconds
* Closing connection 0
=> [
     "errors" => true,
     "response" => null,
     "status" => null,
     "body" => null,
     "exception" => GuzzleHttp\Exception\ConnectException {#3937
       #message: "cURL error 28: Resolving timed out after 10006 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)",
       #file: "/Users/greg/PhpStorm/enversion/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php",
       #line: 200,
     },
     "timestamps" => [
<PHONE_NUMBER>.6871,
     ],
   ]

Yet if I run the same GraphQL using curl on the development environment I get what I expect.
curl -X POST "https://######.myshopify.com/admin/api/2020-07/graphql.json" -H "Content-Type: application/graphql" -H "X-Shopify-Access-Token: ########" -d '{ shop{ name } }'
{"data":{"shop":{"name":"########"}},"extensions":{"cost":{"requestedQueryCost":1,"actualQueryCost":1,"throttleStatus":{"maximumAvailable":1000.0,"currentlyAvailable":999,"restoreRate":50.0}}}}%

On the development the only difference in the logs are session specific values or the TCP_NODELAY set is this timing out because of TCP's Nagle algorithm on this connection?
This dev environment is Laravel Valet.

This is most likely outside my realm to fix. This is probably an issue with php-curl.
Your request is timing out after 10 seconds.
I will do some digging, but I don't think there will be anything I can do on my side.. I simply utilize Guzzle which by default is using cURL backend.
What happens if you run a php curl request?

You are correct, for some reason from Valet it takes 30 seconds before it gets a response. Can I increase the timeout here?

I have gotten to the bottom of this issue.
Firstly there were some expired digital certificates in my keychain. I removed all of the expired certificates one by boring one - I say boring because it required me to re enter my system password for each and every one... my system password is very long
I ran a openssl s_client -connect www.google.com:443 and got different results for google vs shopify.
I checked the DNS settings and discovered I did not have a setting for <IP_ADDRESS>. So I put that in after my two other DNS server settings (one points to my local router, the other to Google). There was no improvement.
However, once I moved the <IP_ADDRESS> to the top of the list "Hey Presto!" :)
I would say that the google response was different because it was resolving google via the <IP_ADDRESS> DNS entry.
It sounds like dnsmasq requires a <IP_ADDRESS> entry at the top of the list of DNS resolvers in order to function correctly.


[FEATURE] Support logging

Requirements
Define a logger interface that conforms to Go's most prevalent logging idioms (look at most popular libraries).
Allow an application author to set the sdk's logger at global level (and client level?).
Add logging at all levels in the sdk (debug, info, warn, error).
cc @beeme1mr @toddbaert

Researching this topic, it's (obviously) very clear that we're not the first to want to define an interface that allows users to configure a logger of their choice.
Out of this need a minimal logging API was born: https://github.com/go-logr/logr
This defines an interface that many of the popular logging libraries have adapters for. In my opinion this widespread conformity makes using this logging API a better approach than defining our own.
The only downside I can see is this obviously introduces another dependency to the sdk. However, it's a small dependency and there are no transitive dependencies so I think it's worth using.
Any opinions on this matter? @beeme1mr @toddbaert @james-milligan


feat: add errors instance attribute to EapiCommandError

In order to implement https://github.com/arista-netdevops-community/anta/pull/437, we would need more information from aio-eapi when an eAPI request returns an error.
The following is an extract of the eAPI spec, defining the returned JSON payload when an error occurs:
{
   "jsonrpc": "2.0",
   "error": {
      "code": 1005,
      "message": "CLI command 2 of 5 'configure' failed: permission to run command denied",
      "data": [
         ,
         { "errors": [
              "Authorization denied for command 'configure'"
         ] }
      ]
   },
   "id": 1
}

One can specify the includeErrorDetail param in the request to get more detailed information:
{
   "jsonrpc": "2.0",
   "error": {
      "code": 1005,
      "message": "CLI command 2 of 5 'configure' failed: permission to run command denied",
      "data": {
         "result": [
            ,
            { "errors": [
                 "Authorization denied for command 'configure'"
            ] }
         ],
         "errorDetail": [
            { "index": 1,
              "code": 1005,
              "message": "permission to run command denied",
              "cmd": "configure" }
         ],
   },
   "id": 1
   }
}

Currently, the raised exception will look like this:
EapiCommandError(
                passed=[],
                failed="show hardware counter drop",
                errmsg="CLI command 1 of 1 'show hardware counter drop' failed: invalid command",
                not_exec=[],
            )

This PR is to add an extra instance attribute to be able to access more information about the error:
EapiCommandError(
                passed=[],
                failed="show hardware counter drop",
                errors=["Unavailable command (not supported on this hardware platform) (at token 2: 'counter')"],
                errmsg="CLI command 1 of 1 'show hardware counter drop' failed: invalid command",
                not_exec=[],
            )

This PR does not implement the usage of the includeErrorDetail eAPI param.

@mtache - Thank you for this update.  I will merge and spin a version into PyPi later this week.  Really appreciate your contribution!

Hi @jeremyschulman,
Any chance to have a release with this PR in the next month?
We would like to release ANTA without patching aio-eapi.
Thanks!


Separate VS/DesignTime properties from general SDK properties

We want to make changes to support a design where the SDK always includes some things from the current version of visual studio. This helps us have a consistent VS experience when the SDK is old and VS is new.
Example here: https://github.com/aspnet/websdk/blob/master/src/ProjectSystem/Microsoft.NET.Sdk.Web.ProjectSystem.Targets/netstandard1.0/Microsoft.NET.Sdk.Web.ProjectSystem.targets#L36
The kinds of settings that should go in there are things like our capabilities and property xaml rules.

Attempting to work with @joeloff if there's a way for us to deliver the DesignTime target file in the Razor VSIX. This impacts where the file gets put, so affects this work.


Implement UTxO-HD in ouroboros-consensus

Description

description of the pull request, if it fixes a particular issue it should link
the PR to a particular issue, see
ref
Checklist

Branch

[ ] Commit sequence broadly makes sense
[ ] Commits have useful messages
[ ] The documentation has been properly updated
[ ] New tests are added if needed and existing tests are updated
[ ] Any changes affecting Consensus packages must have an entry in the appropriate changelog.d directory created using scriv. If in doubt, see the Consensus release process.
[ ] If this branch changes Network and has any consequences for downstream repositories or end users, said changes must be documented in interface-CHANGELOG.md
[ ] If serialization changes, user-facing consequences (e.g. replay from genesis) are confirmed to be intentional.

Pull Request

[ ] Self-reviewed the diff
[ ] Useful pull request description at least containing the following information:

What does this PR change?
Why these changes were needed?
How does this affect downstream repositories and/or end-users?
Which ticket does this PR close (if any)? If it does, is it linked?

[ ] Reviewer requested

Current dependencies on/for this PR:

master

PR #4332

PR #4316

PR #4341

PR #4342

PR #4343

PR #4344   👈

This comment was auto-generated by Graphite.

Current dependencies on/for this PR:

master

PR #4332

PR #4316

PR #4341

PR #4342

PR #4343

PR #4344   👈

This comment was auto-generated by Graphite.

I resolved all the comments in this PR. I will provably eyeball it tomorrow and merge it


add ability to provide own member id

I'm already have service id (uuid) and want to stick with it id in consumer group. What do you think?

This is where you should be using instance IDs, rather than a standard member.
Are you intending to try to restart your application quickly, plug back in the prior member ID, and avoid any rebalance?
This really is exactly what instance IDs were introduced for, although they can be a bit cumbersome because it requires manual intervention to actually leave a group. Do instance IDs not suffice?

how i can use InstanceID ? does it possible to assign it from client opt ?

Yep, https://pkg.go.dev/github.com/twmb/franz-go/pkg/kgo#InstanceID
Since InstanceID should solve this, I'll close the issue now.


s3 log file format to json for rendering

Is your feature request related to a problem? Please describe.
Currently, the file format with s3 as output is like this:
2022-02-10T20:35:47+00:00	class.start	{"type":"start","timestamp":"2022-02-10T20:35:46.895157772Z","uuid":"r24vyQoMZifkKy5bcRQBTSyYpScm","datasourceId":"rs-288662046205321d","datasourceName":"windowsies","userId":"a-0c68f84e602a86a1","userName":"Matt Dube","query":"{\"version\":1,\"width\":0,\"height\":0,\"duration\":5.23053397,\"command\":null,\"title\":null,\"env\":{},\"type\":\"rdp-basic\",\"fileName\":null,\"fileSize\":0,\"stdout\":null,\"lastChunkId\":0,\"clientCommand\":null,\"pod\":null,\"container\":null,\"requestMethod\":\"\",\"requestURI\":\"\",\"requestBody\":null}\n","hash":"70efea267d1b2e55120dfb12ca8267e1123c6444","sourceAddress":"<IP_ADDRESS>","sourceHostname":"ec2-35-81-212-119.us-west-2.compute.amazonaws.com"} 2022-02-10T20:35:56+00:00	class.chunk	{"type":"chunk","timestamp":
I need to extract the json part to pass onto my rdp renderer.
Describe the solution you'd like
Would it be possible to have the json part only logged as well?
Describe alternatives you've considered
I've tried awk'ing the output and taking the 3rd field only but it doesn't catch all format, specially with the binary data in the chunks

Hi Matt,
Just remove invalid log lines and assign to the resulting file a valid "relay log filename":
gzcat * | grep -v "fluent.warn" | awk -F'\t' '{ print $3 }' > all.log
mv all.log relay.1635171848.0.log
docker run --rm -ti -v ~/sdm/tmp/matt:/logs quay.io/sdmrepo/rdpreplay:latest --format 'json' r24vyQoMZifkKy5bcRQBTSyYpScm


[Question] - What is the dependency type of the "aspnet-webpack" package?

I can see that "aspnet-webpack" package is either in "dependencies" ( Angular2Spa,   [ReactReduxSpa] (https://github.com/aspnet/JavaScriptServices/blob/dev/templates/ReactReduxSpa/package.json) ) or in "devDependencies" ( KnockoutSpa, ReactSpa  ) .
Is there any purpose for this difference or it just a mistake ?

It might of just been an accident, aspnet-webpack is just to add webpack configuration into the Statup.cs process. I'm sure it could be moved to devDependencies for everything without an issue. Did you test it out and it worked fine that way?

It works fine for me, created #207 PR

Thanks - the PR was merged :)

Thank you :)


Add F3 toggle button to Quick Menu

I noticed there's no way to enable the F3 debug menu for QuestCraft, so I made this. I can't test this because I don't have a PCVR-ready PC and  trying to load it into QuestCraft completely broke my installation, but it's a simple enough edit that I think it would work anyway.
Adds a 'Toggle F3' button to the Quick Mennu, and moves the Simple Voice Chat button to make room.

Apparently I made this on the wrong repository.


Actively maintained?

Hey there. Are you actively maintaining this? I'm trying to decide between jumping in and helping, or making something fresh.

You may need to use < and > html attributes to escape <, and > characters so they aren't removed by Handlebars.

Doesn't seem like something I could live with, so that would be the first thing I investigated.

What do you need?

I'm totally welcome to PRs! It doesn't have a whole lot it needs to do other than wrap prism.
I don't use this in my own projects currently, so I'm of the mind to fix anything that comes up as a bug, but if it ain't broke...
If you have an idea on how to get past that issue, I'd be glad to review your PR and get it merged in.

@sheriffderek ^^

Ok. Great. I'll see if I can keep things on this track then, unless my use-cases diverge. : )

@sheriffderek Actually, I just found ember-code-snippet. It looks like it addresses those formatting issues a lot better than what I did here.

@brandonjmckay I've checked that out as well. It seems great, but it uses highlight.js - which doesn't have the plugin eco-system that prism does. Ideally, you could load prism and then also opt in (in the config) to pull in any number of additional plugins. In my case I want to use the "keep markup" plugin. http://codepen.io/sheriffderek/pen/NAYbJX
I'm trying to learn from the insides of both of these addons. This on is at 1.13 though, so it's been a learning curve trying to level it up to 2.0+ in my fork.


fix: DEV-3617: Memory leaks in Taxonomy + Repeater cases

Hi @nicholasrq!
This PR was created in response to a PRs in upstream repo:

https://github.com/heartexlabs/label-studio-frontend/pull/935

/git merge develop


fix: only deduplicate transactions, not consensus items

Yes consensus items are now ordered every time, this gets inefficient if consensus_proposal is polled to often. I originally only wanted to remove this deduplication when we can increase the polling time after removal of lightning legacy.

dev call: is this a consensus-breaking change in middle of a session? some questions about rollout.

dev call: is this a consensus-breaking change in middle of a session? some questions about rollout.

No. It’s just about proposing items and has nothing to do with ordered items.


Add Gateway Strategy

Some feedback from @benthecarman is to add GatewayStrategy enum for our lightning operations. That way, integrating wallets don't need to re-implement gateway management and we can provide some easy helpers for selecting a gateway (i.e vetted, lowest fees, first, manual, etc).

As soon as we get more tooling for automatic periodic fetching and selection of gateways upstream that would make sense imo, such a GatewaySelectionStrategy should be part of the design from the beginning there. It should be a trait though imo, so it can be extended by third parties and we just supply some default impls.


Make inheritance of members from the parent class configurable when inspecting

Hi,
Is your feature request related to a problem? Please describe.
I'm developing a Cython project and therefore parsing the source-code directly in order to generate documentation (which is what the Visitor does if I'm correct) is not possible.
Thus, the only way is via inspecting.
However, the problem I encountered is that when inspection is done, Members of the Parent are also shown in the documentation for the class.
For example, consider the following:
class Test(dict):
    """Inherit from dict"""

    def __init__(self):
        pass

    def test_func(self):
        """test_func"""
        pass

class Blaa(Exception):
    """Test exception"""
    def __init__(self):
        pass

It will render like this:

As the screenshot shows, any public function of the parent is also included.
Describe alternatives you've considered
Not really any good alternative when it comes to Cython projects, because everything is compiled and inspecting is the only way.
Describe the solution you'd like
I feel for Inspection, this should be configurable. Configurable because sometimes it might make sense to include the functions from the Parent class.
I found this issue which essentially wants just that: inheriting from the parent (which is not yet possible when visiting the source-code directly instead of inspecting, since the inherited_members functionality is not yet implemented in mkdocstrings if I got that right)
So, for those that would want to inherit the members, forcing inspection instead of visiting the source-code would be an option (although source-code snippets wouldn't show up anymore)
However in other cases, for example when inheriting from something like dict it doesn't really make much sense in my view. The user is already notified that it inherits from dict (by showing Bases: dict at the top), and should therefore look at the documentation for the dict class instead.
Now what I don't know: When inherited_members is supported in mkdocstrings, and I would set it to false, would I get the desired functionality I am describing here? (for both inspection and visiting) i.e. public functions of the parents wouldn't show up?
If that would be the case, well then I guess its just a matter of time when it gets supported, and probably nothing must be changed in griffe directly.
I poked around a bit in the source code and found a way to disable the inheritance of members when inspecting, by adding another condition in the _pick_members function in src/griffe/agents/nodes.py:
    def _pick_member(self, name: str, member: Any) -> bool:
        return (
            name not in self.exclude_specials
            and member is not type
            and member is not object
            and id(member) not in self._ids
            # Only include it if this is really a member of the current object
            and name in vars(self.obj)
        )

I figured that self.obj will always be of kind module or class when it collects the children of the node, and if the member is not directly a part of vars(self.obj), then it is probably inherited.
So the difference is: inspect.getmembers(self.obj) always returns all the members including the inherited ones for a class, but vars(self.obj) does not include the inherited ones. So we can just check if the member is actually in vars(self.obj).
If the check is added and I rebuild the documentation, then all the inherited members go away.
Not sure if this is the best way to go about it, but that was the solution I found (excluding the fact that inherited_members may already handle this anyway)
What do you think about this?

Hello @tazend, very good analysis! Thanks for the snippet using vars, that might be useful indeed.
A few corrections:

So, for those that would want to inherit the members, forcing inspection instead of visiting the source-code would be an option (although source-code snippets wouldn't show up anymore)

Unfortunately there's no way to enforce inspection right now, unless using the Griffe "hybrid" extension which is not yet properly documented, and still very much experimental. Also, inspecting non-compiled modules does not prevent showing the source (inspect is able to find it for almost any given object :+1:).
I agree with all the rest.

When inherited_members is supported in mkdocstrings, and I would set it to false, would I get the desired functionality I am describing here? (for both inspection and visiting) i.e. public functions of the parents wouldn't show up?

Yes! Ideally we'll be able to configure both visit and inspection the same way for inheritance. Saying inherited_members: false will remove inherited members from the serialized objects.

Proper inheritance support in Griffe is a top priority. Doing my best to move forward, lots of work to do so it takes time, but we'll get there :slightly_smiling_face: