feat: Add token usage to Bedrock Claude + Migrated chain for this model

Issue #, if available:
#502  #495 #230
Description of changes:
To add usage tracking to bedrock models, I migrated the langchain chain for the claude model (ConversationChain is deprecated)
Instead it uses RunnableWithMessageHistory with ChatBedrockConverse that relied on the Bedrock Converse API that is consistent across models and provide the usage in the response.
Changes

Migrate chain for claude Bedrock
Add Usage to metadata
Add Usage JSON log
Add Cloudwatch filter parsing the log and generating a metrics (With a CLI config due to added cosst)
Add Metric to dashboard.
Added npm run vet-all to quickly verify formatting and tests

Testing

Verified with and without RAG and Streaming
Ran integ tests

Future Change

Migrate all models since ConversionChain is deprecated
Add usage tracking to Sagemaker endpoint (if possible)

Note: This change is modifying the prompts to match the new Langchain patterns. For example:
Before
The following is a friendly conversation between a human and an AI. If the AI does not know the answer to a question, it truthfully says it does not know.

Current conversation:
Human: test
AI: I'm afraid I don't have enough context to answer that question. Could you please provide more details?
Human: test
AI: I apologize,...

After
System: The following is a friendly conversation between a human and an AI.If the AI does not know the answer to a question, it truthfully says it does not know.
Human: test
AI: I'm afraid I don't have enough context to answer your question. Could you please provide more details?
Human: test
AI: I don't have enough information to answer your question. The context provided mentions an Integ Test flower that is yellow, but does not include a direct question.

Image with metdata usage

Dashboard

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

With the older ConversationRetrievalChain, I limited how much history I would pass into a model. In my organization, we are seeing chat history messages grow across a variety of topics and it can cause inaccurate rephrasing of questions.
I subclassed ConversationBufferMemory to give a rolling window of conversation history that is a smaller subset of the entire history.
eg:
from langchain.memory import ConversationBufferMemory
from typing import Dict, List, Any
from pydantic import Field

class WindowedConversationBufferMemory(ConversationBufferMemory):
    k: int = Field(default=2, description="Number of recent conversations to keep")

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def save_context(self, inputs: Dict[str, Any], outputs: Dict[str, str]) -> None:
        # Save the full context to the underlying storage (DynamoDB)
        super().save_context(inputs, outputs)

    def load_memory_variables(self, inputs: Dict[str, Any]) -> Dict[str, Any]:
        # Load the full history from the underlying storage
        result = super().load_memory_variables(inputs)

        # If there's no history, return an empty list or dict
        if self.memory_key not in result or not result[self.memory_key]:
            return {self.memory_key: [] if self.return_messages else ""}

        # Windowing: Only return the last k conversations
        if self.return_messages:
            result[self.memory_key] = result[self.memory_key][-2*self.k:]
        else:
            conversations = result[self.memory_key].split('\n\nHuman: ')
            recent_conversations = conversations[-min(self.k, len(conversations)):]
            result[self.memory_key] = '\n\nHuman: '.join(recent_conversations).strip()

        return result

I want to do something similar with RunnableWithMessageHistory but I'm still getting up to speed on this new API. Do you think that limiting the message history to a smaller slice of data is an important feature?

With the older ConversationRetrievalChain, I limited how much history I would pass into a model. In my organization, we are seeing chat history messages grow across a variety of topics and it can cause inaccurate rephrasing of questions.
I subclassed ConversationBufferMemory to give a rolling window of conversation history that is a smaller subset of the entire history.
eg:
from langchain.memory import ConversationBufferMemory
from typing import Dict, List, Any
from pydantic import Field

class WindowedConversationBufferMemory(ConversationBufferMemory):
    k: int = Field(default=2, description="Number of recent conversations to keep")

    def __init__(self, **kwargs):
        super().__init__(**kwargs)

    def save_context(self, inputs: Dict[str, Any], outputs: Dict[str, str]) -> None:
        # Save the full context to the underlying storage (DynamoDB)
        super().save_context(inputs, outputs)

    def load_memory_variables(self, inputs: Dict[str, Any]) -> Dict[str, Any]:
        # Load the full history from the underlying storage
        result = super().load_memory_variables(inputs)

        # If there's no history, return an empty list or dict
        if self.memory_key not in result or not result[self.memory_key]:
            return {self.memory_key: [] if self.return_messages else ""}

        # Windowing: Only return the last k conversations
        if self.return_messages:
            result[self.memory_key] = result[self.memory_key][-2*self.k:]
        else:
            conversations = result[self.memory_key].split('\n\nHuman: ')
            recent_conversations = conversations[-min(self.k, len(conversations)):]
            result[self.memory_key] = '\n\nHuman: '.join(recent_conversations).strip()

        return result

I want to do something similar with RunnableWithMessageHistory but I'm still getting up to speed on this new API. Do you think that limiting the message history to a smaller slice of data is an important feature?

The memory used by RunnableWithMessageHistory in this change
is this class https://github.com/aws-samples/aws-genai-llm-chatbot/blob/9de3e559a4d744aab2091290e008cd620d9cb5a2/lib/shared/layers/python-sdk/python/genai_core/langchain/chat_message_history.py#L48
To implement it I would just add a max messages returned parameter: https://github.com/aws-samples/aws-genai-llm-chatbot/blob/9de3e559a4d744aab2091290e008cd620d9cb5a2/lib/model-interfaces/langchain/functions/request-handler/adapters/base/base.py#L111 (because you still want to store/return the full history to view the session)
This would make this independent of the chain.

Do you think that limiting the message history to a smaller slice of data is an important feature?
I do agree since it would reduce the number of token used but it would need to be configurable somewhere.


Create a home page prototype

DOD: this is the first thing that the user will see so it should have the Cascadia logo and sustainability facts.

@MobileApps-Cascadia/campussustainabilityguidebook-android  Please edit the DoD to describe a criteria that could be approved by a stakeholder.


Can you create a flat directory structure on install?

Currently;
./
├── lib
│   ├── librocm_smi64.so -> ../rocm_smi/lib/librocm_smi64.so
│   └── librocm_smi64.so.1 -> ../rocm_smi/lib/librocm_smi64.so.1
├── oam
│   ├── include
│   │   └── oam
│   │       ├── amd_oam.h
│   │       └── oam_mapi.h
│   └── lib
└── rocm_smi
    ├── docs
    │   ├── README.md
    │   └── ROCm_SMI_Manual.pdf
    │       └── refman.pdf
    ├── include
    │   └── rocm_smi
    │       ├── kfd_ioctl.h
    │       └── rocm_smi.h
    └── lib
        ├── librocm_smi64.so -> librocm_smi64.so.1
        ├── librocm_smi64.so.1 -> librocm_smi64.so.1.0
        └── librocm_smi64.so.1.0

Can you just make it flat?
./
├── lib
│   ├── librocm_smi64.so -> librocm_smi64.so.1
│   ├── librocm_smi64.so.1 -> librocm_smi64.so.1.0
│   ├── librocm_smi64.so.1.0
│   ├── liboam.so -> liboam.so.1
│   ├── liboam.so.1 -> liboam.so.1.0
│   └── liboam.so.1.0
├── include
│   ├── rocm_smi
│   │   ├── kfd_ioctl.h
│   │   └── rocm_smi.h
│   └── oam
│       ├── amd_oam.h
│       └── oam_mapi.h
└── docs
    ├── README.md
    └── ROCm_SMI_Manual.pdf
        └── refman.pdf

Oh, this would be great. I keep wanting to package rocm_smi_lib for Fedora Linux, and this is exactly what I would have to do manually. It would be great if the install were “normal” to begin with, and I didn’t have to try to rearrange it without accidentally breaking anything.

I think it would be best to follow the FHS and do:
├── lib
│   ├── librocm_smi64.so -> librocm_smi64.so.1
│   ├── librocm_smi64.so.1 -> librocm_smi64.so.1.0
│   ├── librocm_smi64.so.1.0
│   ├── liboam.so -> liboam.so.1
│   ├── liboam.so.1 -> liboam.so.1.0
│   └── liboam.so.1.0
├── include
│   ├── rocm_smi
│   │   ├── kfd_ioctl.h
│   │   └── rocm_smi.h
│   └── oam
│       ├── amd_oam.h
│       └── oam_mapi.h
└── share
└── rocm_smi (or oam where applicable)
├── README.md
├── ROCm_SMI_Manual.pdf
└── refman.pdf
CMake also has a library for this:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
Where you include(GNUInstallDirs), then replace "lib" with ${CMAKE_INSTALL_LIBDIR}, replace "include" with ${CMAKE_INSTALL_INCLUDEDIR}, and replace "share" with ${CMAKE_INSTALL_DATADIR}.
This allows distros or users to customise how they want to install these files. Thunk already does this, which is fantastic in my eyes.

[AMD Official Use Only]
Under share we need something like:
Share -->doc -->-->.[pdf,md,txt]
-->html-->-->.html
-->info-->-->.info
-->man -->man1-->.1
-->man5-->.5
-->-->
Thanks,
-Tony
From: Jeremy Newton @.>
Sent: Thursday, December 16, 2021 9:07 PM
To: RadeonOpenCompute/rocm_smi_lib @.>
Cc: Subscribed @.***>
Subject: Re: [RadeonOpenCompute/rocm_smi_lib] Can you create a flat directory structure on install? (#84)
[CAUTION: External Email]
I think it would be best to follow the FHS and do:
├── lib
│ ├── librocm_smi64.so -> librocm_smi64.so.1
│ ├── librocm_smi64.so.1 -> librocm_smi64.so.1.0
│ ├── librocm_smi64.so.1.0
│ ├── liboam.so -> liboam.so.1
│ ├── liboam.so.1 -> liboam.so.1.0
│ └── liboam.so.1.0
├── include
│ ├── rocm_smi
│ │ ├── kfd_ioctl.h
│ │ └── rocm_smi.h
│ └── oam
│ ├── amd_oam.h
│ └── oam_mapi.h
└── share
└── rocm_smi (or oam where applicable)
├── README.md
├── ROCm_SMI_Manual.pdf
└── refman.pdf
CMake also has a library for this:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.htmlhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcmake.org%2Fcmake%2Fhelp%2Flatest%2Fmodule%2FGNUInstallDirs.html&data=04|01|Tony.Tye%40amd.com|a7a475bf62f14677c7ae08d9c101e3bd|3dd8961fe4884e608e11a82d994e183d|0|0|637753036166650343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=pQLLjxNyCH%2B7BjX5g7HFSRmh5HGyn868Wl2AGeuUIVA%3D&reserved=0
Where you include(GNUInstallDirs), then replace "lib" with ${CMAKE_INSTALL_LIBDIR}, replace "include" with ${CMAKE_INSTALL_INCLUDEDIR}, and replace "share" with ${CMAKE_INSTALL_DATADIR}.
This allows distros or users to customise how they want to install these files. Thunk already does this, which is fantastic in my eyes.

Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FRadeonOpenCompute%2Frocm_smi_lib%2Fissues%2F84%23issuecomment-996375659&data=04|01|Tony.Tye%40amd.com|a7a475bf62f14677c7ae08d9c101e3bd|3dd8961fe4884e608e11a82d994e183d|0|0|637753036166650343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=rFgk9dhu6zR5eVAcOn8iKUfpj0wL6ON3QGNcSlZB0Zs%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABJ2DYLQDFYTF5EHRBAYVM3URKLLVANCNFSM46NSWFZQ&data=04|01|Tony.Tye%40amd.com|a7a475bf62f14677c7ae08d9c101e3bd|3dd8961fe4884e608e11a82d994e183d|0|0|637753036166650343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=ihkHsn%2BVkRhinMhunCz3FZkfy5Y93Yo%2B9N2BLRQxzGQ%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|Tony.Tye%40amd.com|a7a475bf62f14677c7ae08d9c101e3bd|3dd8961fe4884e608e11a82d994e183d|0|0|637753036166650343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=jwd1Vpo%2Biapydw73jghfsKUdvKemXXk3w1U%2FUZzh3Tc%3D&reserved=0 or Androidhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|Tony.Tye%40amd.com|a7a475bf62f14677c7ae08d9c101e3bd|3dd8961fe4884e608e11a82d994e183d|0|0|637753036166650343|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=hY%2BWBeUadFmZ7o7eOe8B88ehx%2B3wZhhJPBt1Q5hSeGc%3D&reserved=0.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>

I think it would be best to follow the FHS and do:
...
CMake also has a library for this: https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
Where you include(GNUInstallDirs), then replace "lib" with ${CMAKE_INSTALL_LIBDIR}, replace "include" with ${CMAKE_INSTALL_INCLUDEDIR}, and replace "share" with ${CMAKE_INSTALL_DATADIR}. This allows distros or users to customise how they want to install these files. Thunk already does this, which is fantastic in my eyes.

Totally!

We do this now! :)
Thank you for pushing for this. The previous design was ridiculous.
In fact all rocm things should follow a sane flat structure now.


Add Area: Acre and Hectare

I need these for a project I am working on; thought they may be useful for others as well.

The Acre and Hectare units look good and are ready to merge.

Just checking up on this, what are your thoughts on my comments?

I agree with your comments, I just haven't taken the time to make the
changes you suggested. I'll do that soon.
On Tue, Sep 13, 2016, 14:56 Andreas Gullberg Larsen <
<EMAIL_ADDRESS>wrote:

Just checking up on this, what are your thoughts on my comments?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/anjdreas/UnitsNet/pull/179#issuecomment-246803770,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGG77EksIrSVNjg8I77tWhrsoPuCcdeQks5qpv_VgaJpZM4JhPlY
.

Alright, no problem. Leave a comment when you push changes, I am not always notified by github.

Alright, I just quickly removed the Tote and Drum units.

Great, thanks. Nuget 3.41.0 is out.


Feature: dolt creds import ...

Currently, as far as I can tell, the only way to set up dolt credentials programatically for automated systems is by creating the appropriate files:

~/.dolt/config_global.json
~/.dolt/creds/abcxyz.jwk

I might be preferable to use the cli to import and setup creds. Say:
Create from env var
echo "${creds_file}" | dolt creds import --use --user-name="me"<EMAIL_ADDRESS>
Create from file
cat /path/to/creds_file.jwk | dolt creds import --use --user-name="me"<EMAIL_ADDRESS># or
dolt creds import --use --user-name="me"<EMAIL_ADDRESS>--creds-file=/path/to/creds_file

Alternative env vars could be used to provide temporary config:
Using env var overrides
DOLT_CONFIG_USER_NAME="Me"
<EMAIL_ADDRESS>DOLT_CONFIG_CREDS_PATH="...."

Or:
DOLT_CONFIG_USER_NAME="Me"
<EMAIL_ADDRESS>DOLT_CONFIG_CREDS_JWK="{...}"

Lastly, a dolt creds export ... command may also be useful.

Creds are @reltuk 's baby. Assigning to him.

I love import/export. Great ask. We'll get on it.
For now, the easiest way to use an external cred is maybe to drop the *.jwk file into ~/.dolt/creds and then run dolt creds use KEY_ID|PUBLIC_KEY. KEY_ID is the same as the filename without the .jwk extension.
So something like...
$ cp 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru.jwk ~/.dolt/creds
$ dolt creds use 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru

I was just trying out this workflow, and noticed that
$ cp 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru.jwk ~/.dolt/creds
$ dolt login 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru

also works and pulls the username and email address from the dolthub profile so that you don't have to populate them with dolt config --add, but it doesn't behave exactly as I would want. In particular, it still opens the browser. Going to make some behavior changes there, so that if the credential is supplied on the command line there's an initial check with the server and the browser doesn't open if the credentials are already registered. Also going to add a flag so it can fail explicitly without opening a browser if that initial check fails --- better for automation contexts.
Will leave this issue open and communicate here about progress.
Thanks!

Took a pass at import in particular in #570. If you get a chance, please take a look and let us know if documentation and first pass at functionality looks reasonable. In particular:

No --use yet...just uses the cred if there are none registered yet, and leaves it unused otherwise. --use can follow on quickly if this isn't totally sufficient.
By default, if the cred does get used, it fetches profile information from doltremoteapi if that information is not already available in dolt config. Can be disabled with --no-profile

Combined, this makes a CI use of dolt a little nicer...dolt import known-cred.jwk in a completely clean DOLT_ROOT_PATH (or HOME after #564) will get a used cred and accurate user.name and user.email if that cred already works against dolthub.
Very open to feedback here. Thanks again for the suggestion :).

I was just trying out this workflow, and noticed that
$ cp 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru.jwk ~/.dolt/creds
$ dolt login 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru

also works and pulls the username and email address from the dolthub profile

As dolt login forces a browser to open it might not be the most appropriate option for automate systems.

So something like...

$ cp 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru.jwk ~/.dolt/creds
$ dolt creds use 0gb511i5f5pi4u6o5ihkcaech9112d5o1rdufqbtqkkru

So I found (and started using) the following in the bats tests:
dolt config --global --add user.creds "${CREDS_HASH}"

Is there any difference between this and the dolt creds use ... command?

So to confirm, the complete workflow would be:
dolt import known-cred.jwk
dolt use known-cred

Of if using --no-profile
dolt config --global --add user.email<EMAIL_ADDRESS>dolt config --global --add user.name "Dolt User"
dolt import known-cred.jwk --no-profile
dolt use known-cred

If so that would certainly be simpler :)

Took a pass at import in particular in #570. If you get a chance, please take a look and let us know if documentation and first pass at functionality looks reasonable. In particular:

No --use yet...just uses the cred if there are none registered yet, and leaves it unused otherwise. --use can follow on quickly if this isn't totally sufficient.
By default, if the cred does get used, it fetches profile information from doltremoteapi if that information is not already available in dolt config. Can be disabled with --no-profile

Combined, this makes a CI use of dolt a little nicer...dolt import known-cred.jwk in a completely clean DOLT_ROOT_PATH (or HOME after #564) will get a used cred and accurate user.name and user.email if that cred already works against dolthub.
Very open to feedback here. Thanks again for the suggestion :).

Thanks for your responses here. Quick pass at answers:

Reading between the lines is strikes me that you expect each credential to be associated with one, and only one, user? This raises the following questions:

A credential cannot be associated with more than one user server-side. The credential is the entirety of the authn that the dolt client uses to communicate with the server – it has to land uniquely on  a particular user when coming in. Another design would be to have cred+username auth to the server, and just ensure the credential is associated with the provided username – we didn't do that. We actually copied GitHub behavior with SSH keys here – GitHub prevents a particular public SSH key being associated with more than one account, and uniquely identifies the auth'd user cloning based on the incoming key.

If this is the case why not just encode the user into the credential file?

A credential is not specific to the user, but it is associated with a user server-side at a given moment in time...

If a credential is agnostic of the user, why bother to communicate with the server? Or at least provide a way to skip this check.

We could definitely provide a way to skip the check. As it is, having the credential but not on your dolthub user yet is probably not as useful as having it associated.

Can a credential exists in two accounts at the same time? This is not a question if it's good practice or not, just if it's possible?

Nope, attempting to add the same public key to a second account it will fail server-side.

Can a credential be moved between accounts?

Definitely. Delete in one and add in another will result in further interactions with dolt remotes being auth'd as the second account.

Is there any difference between this and the dolt creds use ... command?

There's no functional difference between dolt creds use ... and dolt creds --add user.creds ${KEY_ID_HASH}, if ${KEY_ID_HASH}.jwk actually exists in ~/.dolt/creds.  dolt creds use will fail if the key doesn't exist, and will also allow the public key of the credential – which is the thing the server communicates on the credentials page for example, to be used. The filename isn't actually the public key, although it's based on it...

So to confirm...

Yeah, both the proposed interactions end up in the state described. To further clarify just a bit...
Assuming a completely empty dolt state (no existing credential in the config, no user.email and user.profile set):
dolt creds import known-cred.jwk

Will:

Copy the *.jwk to the right place in .dolt/creds
Use the new cred as user.creds
Reach out to doltremoteapi and populate user.name and user.email if the request is successful.

From the same starting state:
dolt creds new
dolt creds import known-cred.jwk

Would already have a used credential at the time of import, and would only perform 1.
From the same starting state:
dolt config --global --add user.email<EMAIL_ADDRESS>dolt config --global --add user.name "Dolt User"
dolt creds import known-cred.jwk

Would already have user.name and user.email in the dolt config, and would perform only steps 1 and 2.
From the same starting state:
dolt creds import known-cred.jwk --no-profile

would explicitly disable the profile fetch and would perform only steps 1 and 2.
Hope this helps. Thanks again!

Thanks @reltuk the behaviour outlined :point_up:  seems completely reasonable.  From experience the most typical automated workflow I would use is:
dolt config --global --add user.email<EMAIL_ADDRESS>dolt config --global --add user.name "Dolt User"
echo "${KNOWN_CREDS_B64}" | base64 --decode > known-cred.jwk
dolt creds import known-cred.jwk

However I do appreciate tools which allow me to read files input from stdin and allow me to do:
dolt config --global --add user.email<EMAIL_ADDRESS>dolt config --global --add user.name "Dolt User"
echo "${KNOWN_CRED_B64}" | base64 --decode | dolt creds import -

Does the import command support this per chance?

@tomdottom It does! If no filename is provided, it reads the credential contents from stdin. Example bats test here: https://github.com/liquidata-inc/dolt/blob/master/bats/creds.bats#L103

Works a treat.  Much less error prone than prior setup shenanigans.
:+1:


model weights

Hey,
how can I use the model weights to evaluate them in my research group?

Should we test the Flan-PaLM models?

The model weights of the flan-t5 are based on a different architecture.


travis: regress on failure to produce docs

We've just done this on the image-spec. Works well.
Signed-off-by: Vincent Batts<EMAIL_ADDRESS>

LGTM

LGTM


RuntimeError: Couldn't resolve requests in self.pipeline[ACCEL].start(self.conf[ACCEL])

@AbdelRahmanNasser20
I cannot run device class, see short code below. I get error
RuntimeError: Couldn't resolve requests in self.pipeline[ACCEL].start(self.conf[ACCEL])
Full code and error below.
Python 3.8.8rc1 (tags/v3.8.8rc1:dfd7d68, Feb 17 2021, 11:01:21) [MSC v.1928 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import intel_realsense_devices
   ...: print(f'current version of the library is {intel_realsense_devices.__version__}')
   ...: from intel_realsense_devices.device import Device
current version of the library is 0.post153+gc4eb23d

In [2]: filename = r"D:\GitHub\intel-realsense-devices\intel_realsense_devices\test_files\config_L515_f1231322.yaml"

In [3]: device = Device(config_filename=filename)

In [4]: device.init()
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [4], in <cell line: 1>()
----> 1 device.init()

File D:\GitHub\intel-realsense-devices\intel_realsense_devices\device.py:68, in Device.init(self)
     66 from intel_realsense_devices.driver import Driver
     67 self.driver = Driver()
---> 68 self.driver.init(self.config_dict)
     70 default_buffer_length = 10
     71 # if channels are empty

File D:\GitHub\intel-realsense-devices\intel_realsense_devices\driver.py:78, in Driver.init(self, config_dict)
     76 self.print_device_info()
     77 self.configure() # calls method to configure the device
---> 78 self.start()

File D:\GitHub\intel-realsense-devices\intel_realsense_devices\driver.py:127, in Driver.start(self)
    123 def start(self):
    124     """
    125     starts the pipelines
    126     """
--> 127     self.profile[ACCEL] = self.pipeline[ACCEL].start(self.conf[ACCEL])
    128     self.profile[GYRO] = self.pipeline[GYRO].start(self.conf[GYRO])
    129     self.profile[IMAGE] = self.pipeline[IMAGE].start(self.conf[IMAGE])

RuntimeError: Couldn't resolve requests

In [5]:

This issue arose due to outdate configuration file.

Even after an update of the configuration file I am getting this error.
--> 131 self.profile[IMAGE] = self.pipeline[IMAGE].start(self.conf[IMAGE])

RuntimeError: Couldn't resolve requests

Current solution is to comment out part of line 131
from         self.profile[IMAGE] = self.pipeline[IMAGE].start(self.conf[IMAGE])
to        self.profile[IMAGE] = self.pipeline[IMAGE].start()#self.conf[IMAGE])
This seems to solve the problem. However, this is a workaround and not a solution.

it was very useful to look at RealSense Viewer and identify what was real resolution and frame rate of different streams.

After seeing numbers I was able to explicitly code up configuration for image streams and it solved the problem.
conf[IMAGE].enable_stream(stream_type=rs.stream.color, width = 1280, height = 720, format = rs.format.rgb8, framerate = 30)
conf[IMAGE].enable_stream(stream_type=rs.stream.infrared, width = 640, height = 480, format = rs.format.y8,framerate = 30)
conf[IMAGE].enable_stream(stream_type=rs.stream.depth, width = 640, height = 480, format = rs.format.z16,framerate = 30)
profile[IMAGE] = pipeline[IMAGE].start(conf[IMAGE])


Say "maybe" instead of "may be"

First of all: This is a great project, a very cool idea!
I found a small grammar mistake, "maybe" seems to make more sense in this context:
https://dictionary.cambridge.org/grammar/british-grammar/maybe-or-may-be

Thank you! And please feel free to fix any mistakes that you'll find in README.md


feat(client): http_connector supports set_interface

In my scenario, I need to detect the network stability of multiple interfaces at the same time, including ICMP, HTTP, etc.
The bind_device() of socket2's crate meets the requirement of specific interface in ICMP(ping). But HTTP related, I use the reqwest crate, but I can't use reqwest to bind a specific interface to achieve the flow in and out through a specific exit.
And now, I need to do upload and download, HTTP quality detection and other functions at present. If I want to achieve my goal by supporting bind_device(), please help review it. I can't help you.

@kolapapa is there a reason this was closed?
I'd like to make use of this change, so would be keen to get this merged.

(I've opened https://github.com/hyperium/hyper/pull/3076 which duplicates this, but would be happy for either to be merged.)


Use eslint-config-scratch

The only warning I wasn't sure about was for this line:
 129:12  warning  'a' is not modified in this loop  no-unmodified-loop-condition

@ericrosenbaum Is this loop essentially while (true)?
Proposed changes
Describe what this Pull Request does
Updates lint rules to extend eslint-config-scratch and fixes resulting lint errors.
Reason for changes
Explain why these changes should be made. Please include an issue # if applicable.
To bring scratch-audio syntax in line with the other 3.0 packages.

re: "Is this loop essentially while (true)?"
Yes- it was just that, in the original flash code I ported this from. I must have changed it to work around a lint rule (no-constant-condition).


Getting this error when trying to update

Still stuck on 1.2.1

ah crap, uninstall the component then reinstall from foundryvtt

Weird, it reinstalls the 1.2.1 version, I will try to manually install, now
I even made sure it got deleted in the Modules folder

Manually installed, still giving me 1.2.1 version

Oh , wait,
I forgot the update for 0.8.6 was recentl,, let me do some changes and get back to you

Can you try it now ?
If it doesnt work please add me on discord and we can try figuring it out YourFavouriteOreo#6798

Issue was solved in DMs


[FEAT]: New module of trend profile as part of evaluation

Description
New module for trend profile( or we could use the agent-based profile to see whether it works first) @ft2023 Maybe we could discuss.
Additional Information
No response

no need for evaluation now. close


Do not use namespaces in the names of the files.

For example, instead of image_ai/imagefake.py simplify to image_ai/fake.py since it is already in the image folder.

use the command git mv <source> <destination> to do this. For example:
git mv ai_presenter/image_ai/imagefake.py ai_presenter/image_ai/fake.py


Fix generated binding for functions returning structs.

This only affects --no-modules and --nodejs modes.
Fixes #190.

Oops sorry about that!


feat: Add vSphere API version to CE attributes

Fixes #260

Proposed Changes

:gift: Add vsphereapiversion CE extension attribute based on vCenter Server API

Pre-review Checklist

[x] At least 80% unit test coverage
[x] E2E tests for any new behavior
[ ] Docs for any user-facing impact

Release Note

Add `vsphereapiversion` CE extension attribute for advanced filtering and API/schema validation based on vCenter Server API version. Currently vSphere events do not carry version information so this attribute can be used for advanced filtering and basic schema validation.

Codecov Report

Merging #310 (5f8a73f) into main (3a65905) will decrease coverage by 0.07%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##             main     #310      +/-   ##
==========================================
- Coverage   80.65%   80.57%   -0.08%
==========================================
  Files          20       20
  Lines         765      767       +2
==========================================
+ Hits          617      618       +1
- Misses        134      135       +1
  Partials       14       14

Impacted Files
Coverage Δ

pkg/vsphere/adapter.go
64.12% <75.00%> (-0.22%)
:arrow_down:

Continue to review full report at Codecov.

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

Yeah, not sure if we need docs here or where this should go. Feel free to advise and I can add them - otherwise approval is fine.


fix(route): error when redirect to different route in router guards

Fix #2289
In navigation guards for vue-router(such as: beforeRouteEnter), if called next('..') or next({ path: '...' }), it should redirect to a different route.
But currently, it has an error occurred: Error: Cannot read property 'serverRendered' of undefined Show all frames_
The error is due to third param(onAbort) of router.push should not be reject, it will quit the renderString unexpectedly.
Use router.afterEach inside onAbort may be not elegant, the reason is that we need to replace context.route and ssrContext.url after router.push(sources) of NavigationGuard->next.

Codecov Report

Merging #2298 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #2298   +/-   ##
=======================================
  Coverage   98.36%   98.36%
=======================================
  Files          15       15
  Lines         980      980
=======================================
  Hits          964      964
  Misses         16       16

Continue to review full report at Codecov.

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


Mark outputs of boolean operations as booleans

The boolean operations (AND, OR, XOR) already check that the inputs are
boolean constrained. The outputs of these operations are also always
boolean. We mark them in the constraint system as such so that further
boolean operations on them wouldn't introduce additional constraints.

Converted this PR to draft - will rebase properly after fix/plonk_constraints is merged.

@ivokub is this still needed ?

@ivokub is this still needed ?

It is not anymore. The variables have now themselves an option if they are boolean constrained.


Comment Userflow, Notification page, Search result page, comment page (desktop and mobile view)

@Agbeminiyi  you are working on this, Reply done when this task is complete.

https://www.figma.com/file/dOQv8d0yWU9BU7Adea2LIU/TEAM35_MY_DEBTORS


collider instalation non-standard import

Hi,
I was trying to install Collider, but after following all the steps and installing websocket (go get -v golang.org/x/net/websocket), I get the following error message when typing go get collidermain:
/usr/local/go/src/collider/collider.go:11:2: non-standard import "golang.org/x/net/websocket" in standard package "collider"
Does anybody know what could be happening?
Thanks!

Hi, did you manage to solve it?

I used that repo:
https://github.com/cmorell/AppRTCLocal.git

It could be a go version incompatibility, others have reported this in #384.


Single-package mode

Today rust-analyzer unconditionally operates on the whole workspace, even if you open a subfolder of the workspace with a single package. It might be reasonable to scope the work to a single package in such cases.
The tradeoff here is:

when you open a single package, refactors don't work across the workspace
but ra needs to cargo check  a single package only, which is especially helpful if the overall build is broken

I haven't thought too deeply how this all should work exactly.
related user request: https://github.com/rust-analyzer/rust-analyzer/issues/10730
Relevant code:
https://github.com/rust-analyzer/rust-analyzer/blob/1ba9a924d7b161c52e605e157ee16d582e4a8684/crates/project_model/src/workspace.rs#L139-L145
https://github.com/rust-analyzer/rust-analyzer/blob/1ba9a924d7b161c52e605e157ee16d582e4a8684/crates/project_model/src/lib.rs#L84

It would also be nice to allow a subset of a workspace. For example in https://github.com/bytecodealliance/wasmtime I often only work on Cranelift which has all crates in the cranelift directory.


[PowerToys]Add docs for Crop And Lock

Adds documentation for the new Crop And Lock utiltity in PowerToys.

To be merged only with the PowerToys 0.73 release if Crop And Lock ships in it.

Overall, this looks good to me. In the feature, is the "And" in "Crop And Lock" capitalized? If not, I recommend changing the "and" to be lower-case everywhere in the docs. We're waiting for the next PT release to publish this, correct?

Thanks for the review. Indeed we're using "Crop And Lock" currently in the utility. But someone there's a "Crop & Lock" suggestion too. https://github.com/microsoft/PowerToys/pull/27832
Yes, the idea is to wait for the next PT release. Thank you!


typeaheads:Make typeaheads more visible by changing the background color

Makes typeahead boxes more visible
Screenshots:

Fixes: #5018

Switched from border change to background change to make typeaheads more visible.
Screenshots:

Fixes: #5018

Thanks @Jumeb! The latest screenshots look pretty good. Did you see my question in chat, though?

Those look pretty good to me! Thanks for doing all these experiments.
My one concern would be that in the dark-mode screenshot, the typeahead's background is so light that I wonder if it still has adequate contrast with the white text on it.
How did you specify the lighter background for the typeahead?

It looks like the relevant line here is:
  const backgroundColor = themeName === 'default' ? 'hsl(0, 0%, 97%)' : 'hsl(212, 28%, 25%)';

How did you determine those two colors?
Please also take a look at our guidelines for Git commits in a PR:
https://zulip.readthedocs.io/en/latest/contributing/version-control.html
In this case, I think these changes will be best as one commit.

Hello, @gnprice, I have been struggling to squash all my recent commits to no avail.
I don't know if the problem originated from me just pushing to the main branch without creating a new branch before pushing there.
Please can you help me out.

Hello, @gnprice, I have been struggling to squash all my recent commits to no avail. I don't know if the problem originated from me just pushing to the main branch without creating a new branch before pushing there. Please can you help me out.

I finally succeeded with squashing the commits after a long tour in the Zulip chat.

For the dark theme I used the default background and increased it lightness. And I also took pointers from Material.io.

Cool. Can you be more specific? How did you choose the lightness value 25%?
(The chat thread might be the best place to answer, as it's good for a detailed discussion.)

i answered your questions in the chat.

Hmm, I'm not sure what you mean. In the thread after the message I linked to I see only one later message, which was where you mentioned you'd sent this PR and linked to it; I don't see anything about this question.

I finally succeeded with squashing the commits after a long tour in the Zulip chat.

Great. I'm not sure where you asked (I don't see any Git questions from you in the public streams), but the best place to ask for help with Git is the #git help stream. We're also happy to help in #mobile.
Now that the commits are squashed, please also take a look at our style for how to write commit messages: https://zulip.readthedocs.io/en/latest/contributing/version-control.html#commit-messages https://github.com/zulip/zulip-mobile/blob/main/docs/style.md#git

I found the information required in the stream #git help under topics Squashing only my commits and How do I clean up my commits


increment the nonce on each api call

The current approach of using the date as the nonce means two calls made inside one second will have the later call fail due to using the same none. I came across this almost immediately when using this package.
Taking a tip from the 'nonce' npm package, its more usable to start with the current time, then add one for each http call to ensure no collisions in the nonce while saying strictly incrementing.

Closing this as https://github.com/nothingisdead/npm-kraken-api/pull/19 will let you provide your own nonce.
Thanks!

@nothingisdead I would argue that this PR is still valid, it depends on the context:

on a clustered servers (my case) you want to have control over the nonce and store it in a central place
for a cli you don't need to be aware of the nonce


fix wfm-right-panel button and remove redundant title

The build failed due to a code style error, Run grunt locally to check what and if it is fixed


Updates to KFP End-to-end tutorial (Issue #860)

In response to kubeflow/website issue 860, I have made the following edits to the KFP end-to-end GCP tutorial:
Updated with recommended kubeflow version from 0.4.1 to 0.5.1 with an html tag (html page has also been added in this PR). In the future, this can be handled by updating the embedded html page instead of directly updating the tutorial.
Revised the overview to recommend the user start with Cloud Shell instead of installing Cloud SDK. This reduces the steps the user needs to take and eliminates a potential chokepoint from errors installing or configuring a local copy of the SDK.
Removed the instructions to install kubectl locally, as it is already present in Cloud Shell. References to the local copy of kubectl were revised as well. After discussion with joeliedtke it was agreed to retain the “handy environment variables” procedure when it was identified that it had dependencies later in the tutorially (mainly the user selecting their region/zone).
Instructions for granting user access were added to the “Set up your GCP account and SDK” procedure, along with the required roles and a reference link to the full procedure.
The commands apt-get install -y and wget bzip2 were removed from the “Set up Python” procedure.
A note was added at the end of the “Run the Pipeline” procedure to help the user locate the data for the trained model.
The only item that was not addressed from the original issue was item 6. This requires more familiarity with all aspects of the tutorial than I can provide at this time, and I recommend it be further fleshed out in another issue.
Also, I would suggest updating the screenshot in the “Deploy Kubeflow” procedure. The version number reads “0.4.1”, which out of date. If possible it would be preferable to update it to something generic like and reduce future maintenance.
I have also appended updates related to kubeflow/website issue 845, merging the content from requirements.md into getting-started.md, updating the _redirects page, and deleting requirements.md.
This pull request is a copy of a previous PR that had CLA and merging conflicts. Should be a clean start.

This change is

/assign

Closed again, fork was deleted and re-created. Please see https://github.com/kubeflow/website/pull/921


"flutter packages get" removes entire packages directory.

I was trying to create a new application that included an app and some packages.  I started by making an app using flutter create --org=io.flutter generate.  I removed the lib directory (I was actually making a command-line dart script that depended upon flutter libs), and copied in an entire directory hierarchy under a "packages" directory.
The pubspec.yaml looked like this:
name: generator
description: Generator script for building API doc assets.

dependencies:
  flutter:
    sdk: flutter
  diagram_capture:
    path: packages/diagram_capture
  diagrams:
    path: packages/diagrams
  path_provider: any
  archive: 1.0.33
  process: 3.0.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  mockito: any

Then I ran flutter packages get in the top level generate directory, which succeeded.
The directory hierarchy before I ran flutter packages get was this:
start.log
but after I ran flutter packages get, it was this:
end.log
It entirely removed the packages directory, and a total of 144 files!
How and why did a score of files get deleted?
Running flutter packages get a second time failed, of course: the pubspec depends upon packages in the packages dir.
Regardless of how screwed up my configuration was (and I have no doubt that things weren't right), it shouldn't be deleting non-generated existing files...

The .packages file was a packages directory (with a symlink for every dependency) until about 2  years ago,
then a while later the .packages file became default and pub get started deleting the old packages directories with the symlinks and created the new .packages file instead.
I think this should be moved to https://github.com/dart-lang/pub/issues if this behavior should be removed. Would probably make sense to discontinue this legacy behavior with Dart 2.
Alternatively flutter packages get could check for that directory and stop with an error.

I'm closing this, since it's really a pub issue. I filed https://github.com/dart-lang/pub/issues/1951.


removed hyperlink in restrict a container

Removed invalid link in Restrict a container
Under
Securing a Pod  in note Upgrade path to GA
There is no valid link that can be replaced with it

This PR Resolves issue #40865

/lgtm

/lgtm
Please mind our policy on trivial edits @AmarNathChary This is OK to accept; a review of the whole page would be even more helpful

@sftim I understand the importance of the policy and I will make sure to comply. Thanks for the approve.


refactor(jest-mock)!: remove MockFunctionMetadataType, MockFunctionMetadata  and SpyInstance types

Summary
Time to remove MockFunctionMetadataType, MockFunctionMetadata  and SpyInstance types. Instead MockMetadataType, MockMetadata and Spied should be used.
Those were marked as to be removed in Jest 30.
Test plan
Green CI.

@SimenB Friendly ping. This should be ready to land, or? (;

https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.2


Reponsive

Hi!
Great datepicker!! Great functionnalities and cool display!!
It could be great to show it more bigger in a mobile & a tablet view. Maybe in 90% of the screen in mobile and 50% on a tablet.
Just an idea...

Hi MuyBien,
thanks for you interest ;)
It's a good idea,
I hope to have the time in these days to add this feature ;)

Great ;)

Hi, I have found this snippet with a different theme
http://codepen.io/knolaust/pen/ogMOgY

Very cool!


Build Error TS5023 Unknown compiler option

Hi Team,
i am trying to checkout the temphire angular implementation using a brand new Windows 10 Pro / Visual Studio Professional 2015 Update 3 / Node 4.5.0 Environment.
I followed your guide "Once everything is installed, in Visual Studio go to Tools|Options|Project and Solutions|External Web Tools and make sure Visual Studio is configured to use $(PATH) first to look for npm etc."
After a fresh checkout i receive the following error, when detailed debug output is activated.
C:\Repositories\GitHub\temphire.angular2\TempHire\error TS5023:Build:Unknown compiler option 'listemittedfiles'.
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets(214,5): error MSB6006: "tsc.exe" exited with code 1.
Any clou what i am missing ?

i also checked the path variables in windows and can confirm that tsc and npm are set.
in windows command prompt i checked the following:
npm -v
3.10.8
tsc -v
1.8.34
am i missing something else?

Sorry, I forgot to update the README. With the upgrade to ng2 final, you need to install TypeScript 2.0. I've add it to the prerequisites.
https://blogs.msdn.microsoft.com/typescript/2016/08/30/announcing-typescript-2-0-rc/

Thanks. That solved my problems during the build.


REQUESTS_CA_BUNDLE does not fall back on system cert chain in Python 3.6?

I'm getting SSL validation errors for certificates signed by well-known root CAs when using the REQUESTS_CA_BUNDLE environment variable in Python 3.6 from a project that was working in Python 3.5.
My use case is, let's say I have an app that uses requests to talk to both https://localhost:8080 and https://google.com.  I use a self-signed certificate for comms with localhost and rely on the system's SSL trust store for the comms with google.
Is anyone else seeing this issue?
Environment

Version

OS
macOS Sierra 10.12.3

OpenSSL
0.9.8zh (the default one that comes with macOS Sierra)

Requests
2.12.1, 2.13.0

Python
3.6.0

Steps to Reproduce
____ [~/code/_experiments/requests_ca_bundle_problem] ____ $ cat openssl.cnf
[req]
default_bits = 2048
default_md = sha256
default_days = 30
prompt = no
distinguished_name = req_distinguished_name

[req_distinguished_name]
countryName = "US"
stateOrProvinceName = "XX"
localityName = "X"
organizationName= "X"
organizationalUnitName = "X"
commonName = "localhost"

[add_san]
subjectAltName = DNS:localhost

____ [~/code/_experiments/requests_ca_bundle_problem] ____ $ openssl req -x509 -new -nodes -config openssl.cnf -extensions add_san -keyout key.pem -out cert.pem
Generating a 2048 bit RSA private key
.........+++
.................................................+++
writing new private key to 'key.pem'
-----

____ [~/code/_experiments/requests_ca_bundle_problem] ____ $ REQUESTS_CA_BUNDLE=cert.pem python3 -c 'import requests; requests.get("https://google.com")'
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 345, in _make_request
    self._validate_conn(conn)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 844, in _validate_conn
    conn.connect()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/connection.py", line 326, in connect
    ssl_context=context)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/util/ssl_.py", line 324, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 401, in wrap_socket
    _context=self, _session=session)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 808, in __init__
    self.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1061, in do_handshake
    self._sslobj.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 683, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/adapters.py", line 423, in send
    timeout=timeout
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/packages/urllib3/connectionpool.py", line 630, in urlopen
    raise SSLError(e)
requests.packages.urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/api.py", line 70, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests/adapters.py", line 497, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)

I don't think you're actually using 0.9.8zh. What's python3 -c 'import ssl; print(ssl.OPENSSL_VERSION)' print?

@Lukasa: Interesting—I'd have thought it's using the system's but apparently it's bundled one.
____ [~] ____ $ openssl version
OpenSSL 0.9.8zh 14 Jan 2016

____ [~] ____ $ python3 -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 1.0.2j  26 Sep 2016

Would that be the cause?  FWIW, the calls to https://localhost:8080 validate successfully when using REQUESTS_CA_BUNDLE=cert.pem, it's everything else that fails.

@dbazile are the cert chains for the other websites in cert.pem? If not then that is absolutely the expected behaviour.

@sigmavirus24: They're not in cert.pem.
But it's not the same behavior that I saw in Python 3.5 (which checked REQUESTS_CA_BUNDLE first and fell back on the system's trust store for everything else).
Is there a way to configure this previous behavior without cating the entire system's trust chain into cert.pem?

Perhaps 3.5 did not use a bundled OpenSSL, but whenever your OpenSSL isn't linked against the (horrific) Apple provided one, you will see exactly what you're seeing now.

So, to clarify: Apple's bundled OpenSSL will check against our cert bundle and then, if validation fails, it will check against the system. This is a dangerous behaviour because it makes it very hard to validate that the correct trust roots are being used.
Right now Requests does not support using the macOS trust roots. If you want to, the security command line tool can be used to extract the system trust roots to PEM.

I think you're right; Python 3.5 didn't bundle OpenSSL but 3.6 does:
____ [terra:~/code/ssl] ____ $ ls /Library/Frameworks/Python.framework/Versions/3.6/lib/*ssl*
/Library/Frameworks/Python.framework/Versions/3.6/lib/libssl.1.0.0.dylib /Library/Frameworks/Python.framework/Versions/3.6/lib/libssl.dylib

____ [terra:~/code/ssl] ____ $ ls /Library/Frameworks/Python.framework/Versions/3.5/lib/*ssl*
ls: /Library/Frameworks/Python.framework/Versions/3.5/lib/*ssl*: No such file or directory

I think my solution is to grab and concat all the certs my code will be using into an actual bundle and use that instead.
Thank you much, @Lukasa @sigmavirus24!


Subscription pipeline fails when empty object passed for subscriptionTags

Describe the bug
Subscription pipeline fails when empty object passed for subscriptionTags.
To Reproduce
Steps to reproduce the behavior:

In a subscription JSON config, empty the subscriptionTags object, i.e. just leave {}
Run the subscription-ci pipeline on the updated subscription config
See error

Expected behavior
The pipeline should run with an empty subscriptionTags object (there are no tags needed for the subscription)
Log Messages
2022-02-17T20:51:02.0450667Z ##[section]Starting: Validate Archetype Parameters
2022-02-17T20:51:02.0459756Z ==============================================================================
2022-02-17T20:51:02.0460098Z Task         : PowerShell
2022-02-17T20:51:02.0460387Z Description  : Run a PowerShell script on Linux, macOS, or Windows
2022-02-17T20:51:02.0460639Z Version      : 2.198.0
2022-02-17T20:51:02.0460838Z Author       : Microsoft Corporation
2022-02-17T20:51:02.0461157Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/powershell
2022-02-17T20:51:02.0461514Z ==============================================================================
2022-02-17T20:51:02.1863447Z Generating script.
2022-02-17T20:51:02.1901328Z ========================== Starting Command Output ===========================
2022-02-17T20:51:02.1909111Z [command]/usr/bin/pwsh -NoLogo -NoProfile -NonInteractive -Command . '/home/vsts/work/_temp/787550e0-941f-403c-b328-04c8a1f752f6.ps1'
2022-02-17T20:51:02.9099150Z Parameters File: /home/vsts/work/1/s/config/subscriptions/customer-main/customer/LandingZones/NonProd/xxxxxxxxxxxxxxxxxx_generic-subscription_canadacentral.json
2022-02-17T20:51:02.9100532Z Schema File: /home/vsts/work/1/s/schemas/latest/landingzones/lz-generic-subscription.json
2022-02-17T20:51:03.5743428Z Test-Json: /home/vsts/work/_temp/04c8a1f752f6.ps1:8
2022-02-17T20:51:03.5753187Z Line |
2022-02-17T20:51:03.5753864Z    8 |  … ntent -Raw "${parameterFile}" | Test-Json -SchemaFile "${schemaFile}"
2022-02-17T20:51:03.5754474Z      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-02-17T20:51:03.5755058Z      | PropertyRequired: #/parameters.subscriptionTags.value
2022-02-17T20:51:03.5755475Z
2022-02-17T20:51:03.6376618Z ##[error]PowerShell exited with code '1'.
2022-02-17T20:51:03.6389426Z ##[section]Finishing: Validate Archetype Parameters

@skeeler it's a schema validation failure so can you try this:  https://github.com/Azure/CanadaPubSecALZ/blob/main/tests/schemas/lz-generic-subscription/EmptySubscriptionTags.json#L79

ahhhh! will give that a try, thanks!

If we don't catch this in the pre-flight within the pipeline, ARM will throw an invalid JSON error as well.

I was inferring {} should be legal from the bicep param definition, so thought the unit test was broken, but your explanation makes perfect sense. Thanks for the quick info.


Support customize ssl port

Coverage remained the same at 33.818% when pulling e2aa92ed1ffab559a3831e7ea105771e857e0154 on binyli/customize-ssl-port into 8e5f4103c5ac2d9121e37fe11ecfe5ff6d2acbe7 on master.

link original PR: https://github.com/microsoft/pai/pull/5387


Add github action to run pytest on pushes and PRs to main branch

It would be good to run pytest when there is a push or PR to the main branch. We can do this using github actions.

resolved with #48 - pending merge


Revert "Revert "Update Stake with the additional deactivation flag (#4504)""

Reverts solana-labs/solana-program-library#4841
actually I found we have included required changes in monorepo here
https://github.com/solana-labs/solana/blob/de4ff348b404be5bba2ee62463d785fb070a0a57/sdk/program/src/stake/state.rs#L26
so I think maybe we can try to restore this one. if someone encounter a similar error, they can try to rebase their monorepo first.

We can't merge this until the new crates are released. So rather than making this change now, we should disable the SPL downstream tests from the monorepo, since it's a breaking change in the SDK. And we have to properly version the SDK to version 2.0.0. Once the new version of the sdk crates is released, we can update the SPL to use it

yeah. this flow sounds more correct. thank you for pointing this out. will open another PR to disable spl downstream project on monorepo!


[Buttons] Fixing the vertical alignment issue.

Closes #3091.
This PR fixes the vertical alignment issue for both Flat button and Raised button.
[New contributor here. Please guide me through if I am missing something]

@shidhincr That looks good to me. Can you squash down the commit? @mbrookes Feel free to merge if you are happy with it.

@shidhincr Can you squash and we can merge. Thanks!

@mbrookes @oliviertassinari Thanks, guys. I'll squash the commits and push again.

@mbrookes done!

@shidhincr Sorry, we just another PR that modify enhanced-button that I just merged. Can you rebase again? I'll do it as soon s your done.

Yeah.. Saw that now. Rebased and pushed.

@shidhincr Thanks much. I'll merge after travis is done.

Thanks again @shidhincr!


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3274

Questions ?
Please refer to the Backport tool documentation


Fix lint issues on master

- Do you want to request a feature or report a bug?
Bug. See #356 for original discussion.
- What is the current behavior?
- If the current behavior is a bug, please provide the steps to reproduce.
Execute npm run lint on master. Lint fails.
- What is the expected behavior?
Existing code passes lint rules. Lint passes.
- Please mention your node.js, and operating system version.
Node v7.8.0. macOS Sierra.

From the discussion on #356.

biilmann commented a day ago:
I'm in favor of getting rid of those hooks completely. They feel very intrusive when doing many small in progress commits that you'll squash and cleanup later.
I would also suggest customizing the eslint settings to make sure they match how the code of the CMS is currently formatted quite closely, so we can get all code to pass linting and then require passing linting before accepting pull requests. Then we can start gradually introducing stricter linting rules little by little, but making sure we make them all pass for each rule added.

What do you think about adding a system like prettier as well? This would eliminate minor formatting issues and ensure that our entire code-base is formatted consistently.

@tech4him1 Prettier doesn't cover everything, but it does cover the annoying little things that we often ask contributors to fix in their PR's. We'll still need ESLint to cover the real stuff, as outlined in your link.
We can start with a PR to implement Prettier and go from there.

To do list to get everything cleaned up:

[ ] Manual code fixes from linters:

https://github.com/netlify/netlify-cms/pull/1524

[ ] Get rid of deprecated React code.
[ ] Remove unused variables/imports.
[ ] Set up for website code.
[ ] Add React prop types everywhere?
[ ] Style fixes (run Prettier).

I'll be taking this on as I have time, but if anyone has a specific item they would like to work on, let me know!


How to conver 'keypoints3d' to 'smpl_poses' and 'smpl_trans' ?

Hi @liruilong940607 ,
Thank you for your wonderful work!
With the help of  smpl.forward().joints ,   'smpl_poses' and 'smpl_trans' conver to 'keypoints3d' .
But How to conver 'keypoints3d' to 'smpl_poses' and 'smpl_trans' ?

It is doable but non-trivial to convert keypoints3d to smpl parameters. You might want to look into Inverse Kinematics (example: https://github.com/CalciferZh/Minimal-IK) to do the job.


Added Michael Henderson (aka RobedCoder / aka leadCoder)

Added Michael Henderson (aka leadcoder / robedcoder)

Closing, and re-submitting


Use bullet-core 0.4.1

Coverage remained the same at 99.758% when pulling d4859c476ef0e0a741a7a2f3f9a18a681639bde8 on hbxie:new-core into 286c580e7553d8d18ba70f3edee7e8c7b1ef1b06 on bullet-db:master.


Another variance of "No Response" issue

Homebridge was installed, configured and running on the raspberry pi. Load on start set using systemd.There are only three plugins installed - one is mqtt-switch-tasmota and other two are mine. My iPad acts as a home hub.
I'm able to add Homebridge to Home, distribute accessories over the rooms and configure automation triggers. So, everything is running perfectly from several hours to several days, BUT without the obvious reason (maybe it happens when my phone leaves the home network, but not always), Home App (more correctly to say HomeKit) stops seeing the bridge. Then nothing will help, only deleting Homebridge from the HomeKit database, remove accessories and persist folders from Homebridge deployment location and add Homebridge again using Home App.
There are no crashes in the log and all devices, including Homebridge, are accessible.

with new beta 5?

No. iOS 10.3.3
Regards,
Pavel Yankelevich
On 7 Aug 2017, 23:28 +0300, Giorgio Campiotti<EMAIL_ADDRESS>wrote:

with new beta 5?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Same issue here after ios 10.3.3 upgrade

@javefang , you know, I haven't noticed that, but update to 10.3.3 makes perfect timing with the problem

In other thread ( #1390, #126), people think that issue maybe caused by homematic plugin in a case on of the devices become unresponsive.
I believe that it's not about the specific plugin, but Homebridge bug. Maybe, when Homebrige fails to access one of the devices, it marks all devices, connected to it,  as unavailable?

Same here - second time.

Restored a raspberry PI running homebridge with an identical config but getting "no response", is there other factors to how HomeKit recognizes a bridge? Static IP?

Same here with raspberry pi 3 with domoticz, homebridge and the domoticz plugin. Happend after restart, made sire everything was running

@justinshuls MAC (username) and Name (name)
@justinshuls @riesch @javefang
A few questions on the exact cause of the problem:

Which plugins are configured in your config.json (npm -g list | grep -i homebridge)?
Do you have an original Philips Hue Bridge on HomeKit in use?
Do you have an HA-Bridge in use?
Do you have a Devolo HomeControl?
Do you have an AppleTV or iPad as a HomeKit Home Hub in use? If so, which device and which iOS version?

My answer:

homebridge-cmdswitch2, homebridge-devolo, homebridge-fritz, homebridge-harmonyhub, homebridge-homematic, homebridge-neato, homebridge-netatmo, homebridge-samsungtv-control, homebridge-sonos, homebridge-sonybraviatv, homebridge-vorwerk
Yes, v2.
Yes, for my logitech harmony hub.
Yes.
Yes.
5.1. Home Hub: iPad mini 3 with iOS 10.3.3.
5.2. Client Devices: iPhone 7 with iOS 11b5 and iPad Air 2 with iOS 11b5.

My answers:

Cannot execute that command at this point, other than that I only installed the edomotic plugin for domoticz.  I  cleared the sd-card and have yet to reinstall homebridge
I have hue bridge 2, but not installed on homekit or homebridge
No
No
No, I have those devices but do not use them as home hub
I do not use homematic

I only use hombridge as a homekit bridge for homeassistant, so my answers are:

Just 'homebridge-homeassistant'
No
No, other than the homeassistant running on the same rpi3
No
No
N/A (don't have one)

mqtt-switch-tasmota and two homemade plugins
No
No
No
iPad Mini 3 as home hub iOS 10.3.3
Don't have one

https://github.com/nfarina/homebridge/issues/1428

Give it a try with Homebridge 0.4.25 which was just updated.  It may not fix the Not Responding issue but should prevent you having to delete the persist folder to recover.

Updated to 0.4.26 yesterday. So far so good :-)

Been working fine for 3 days now
Sent from my iPhone

On Aug 20, 2017, at 12:23 PM, pbeast<EMAIL_ADDRESS>wrote:
Updated to 0.4.26 yesterday. So far so good :-)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Works. Issue can be closed.

Runs without issues for the 10 days.
Closing the issue.
Thanks a lot!


python3Packages.httpcore: 0.14.3 -> 0.14.6

Motivation for this change
Update httpcore to latest version, found it when looking at downstream package.
Adds new dependency: python3Packages.socksio

python3Packages.socksio: init at 1.0.0
python3Packages.httpcore: 0.14.3 -> 0.14.6

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Done. Thanks @jonringer


nth-prime: Add missing test case and change function signature

Test case "there is no zeroth prime" is missing in our test suite.
And then it makes sense to change Prime.nth to return an Option[Int] instead of just Int.
While being at it: Perhaps also change all other test descriptions to be the same as in canonical-data.json?
On a side note: There are more exercises out of sync with x-common. How can we handle this? There is an issue on the Haskell track for this.

I agree with all you suggestions.
As for how to make exercises sync, that's actually a hard problem. Maybe all tracks maintainers should automatically receive a notification when the canonical data of an exercise is changed?

Yes, that would be a good idea.
I would even say when the description.md changes.
And also when a new exercise is added.


tree/index.js require() breaks with node 18, nextjs13, react18 - error recommends using import instead

Are you reporting a bug, or opening a feature request?
Bug
What version of react-d3-tree are you using?
3.3.6
If react-d3-tree crashed with a traceback, please paste the full traceback below.
Server Error
Error: require() of ES Module C:......\node_modules\d3-selection\src\index.js from C:....\node_modules\react-d3-tree\lib\Tree\index.js not supported.
Instead change the require of C:....\node_modules\d3-selection\src\index.js in C:....\node_modules\react-d3-tree\lib\Tree\index.js to a dynamic import() which is available in all CommonJS modules.

Thanks bkrem for developing this package! It has been very useful.
I have recently updated my app to node 18, nextjs 13, react 18.
It was great to see that you recently solved the reDoS critical vulnerability in react-d3-tree.
However, now it breaks my app (for some reason after a login). The error message references node_modules/react-d3-tree/lib/tree/index.js
The issue seems to be that it includes require() (lines 43-53). The latest above tools wants you to use import instead, as require is not supported by all tools.  See error langauge below.
I wanted to bring your attention to this breaking issue, as it will likely cause problem to an increasing number of users when / if they upgrade their apps to the latest tech.
Thanks,
Peter

Hello, I had the same problem and solved it with the code I wrote below.
import dynamic from 'next/dynamic';
const Tree = dynamic(() => import('react-d3-tree'), { ssr: false });
I hope it helps you.

Hmm, I don't think the above solution works. I'm getting the following error:
```Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.``

Thanks for the idea. If I understand it correctly you would put this in a component on the UI side.  However, my understanding of the issue is that react-d3-tree requires the d3 functions and capabilities in its index, instead of importing them.  It seems as if the latest next.js and/or react interpreters do not like the 'required()' anymore, but prefer the newer import. When I tried to use import in the index.js referenced in the error, it indicated that I cannot use import outside of a component. So it goes beyond my current capabilities, hence I reached out to the creator of the package.
Did you mean with the dynamic import to only import the chart when needed, which is typically used to limit the package size and improve performance? Do you think that the error is generated when the server tries to create the pages, but there should not be any error if only the UI side creates it (hence the ssr false)?
Thanks, again for the ideas.  I hope bkrem will also chime in at some point, as they know their package best. This will become a frequent bug as more folks transition to the latest tech.
Cheers

Hello, I had the same problem and solved it with the code I wrote below.
import dynamic from 'next/dynamic'; const Tree = dynamic(() => import('react-d3-tree'), { ssr: false });
I hope it helps you.

I tried this on the UI component side. While I have already been importing Tree (not require), I tried the dynamic import. Same issue comes up after logging into a new session with a user. The error log references using dynamic import within react-d3-tree index.js, but that file is not sent to the client side in my understanding.
I think the problem is around these lines within \node_modules\react-d3-tree\lib\Tree\index.js
var react_1 = __importDefault(require("react"));
var d3_hierarchy_1 = require("d3-hierarchy");
var d3_selection_1 = require("d3-selection");
var d3_zoom_1 = require("d3-zoom");
var lite_1 = require("dequal/lite");
var clone_1 = __importDefault(require("clone"));
var uuid_1 = require("uuid");
var TransitionGroupWrapper_1 = __importDefault(require("./TransitionGroupWrapper"));
var Node_1 = __importDefault(require("../Node"));
var Link_1 = __importDefault(require("../Link"));
var globalCss_1 = __importDefault(require("../globalCss"));

This should now be fixed as of https://github.com/bkrem/react-d3-tree/releases/tag/v3.4.2
I've tested against Next 12 and 13. In both cases it should now simply resolve the ESM modules which do not have this awkward issue.
Please let me know if you're still encountering this issue and I'll reopen 👍

I originally shipped ESM outputs as 3.4.0 but my initial testing didn't reveal a whole different ESM-related issue (ERR_UNSUPPORTED_DIR_IMPORT), so I had to revert via 3.4.1.
Sorry about the version noise! Usually doesn't happen like this thankfully. The current solution to comply with ESM's exact path resolution is inelegant but it'll do for now.


Line height could be bigger and more attractive for readers

Everytime I read on Lexicon I find text really glued together, I believe it needs more air for better readability.
Current situation:
		p {
			line-height: 1.5;
			margin-bottom: $base-size * 0.5;

			a {
				color: $brand-primary;
			}
		}

Outcome:

My proposal
		p {
			line-height: 1.75;
			margin-bottom: $base-size * 0.7;

			a {
				color: $brand-primary;
			}
		}

		ul,
		li {
			line-height: 1.5;
			margin-bottom: $base-size * 0.5;
		}

Outcome:

cc: @drakonux @hold-shift

Right, I think we should work on the general visual design (font styling & images) to help users digest the content. That's why I proposed to work all the different sections of the site on the Figma document you have shared.
I truly think this is the best way to see the website's visual aspect in the same way that we do with the product that we design. By skipping stages, we do nothing but penalize the result.
Having all the contents & assets located in the same place will also help us have a better vision of what everything looks like before we publish, and it would improve the content review workflow.

Right, I think we should work on the general visual design (font styling & images) to help users digest the content. That's why I proposed to work all the different sections of the site on the Figma document you have shared.
I truly think this is the best way to see the website's visual aspect in the same way that we do with the product that we design. By skipping stages, we do nothing but penalize the result.
Having all the contents & assets located in the same place will also help us have a better vision of what everything looks like before we publish, and it would improve the content review workflow.

Probably this is a better example. The current version is on the right side

Probably this is a better example. The current version is on the right side

I see your point @hold-shift

I see your point @hold-shift

I think the line-height is one of the things we would change for sure. I agree the new version looks better, my concern is the impact of changing that how it's gonna affect (but if you have tested in local, go ahead).
I agree with Ruben all in one place would give us a better understanding of the final result. We should create the epic for redesigning the site soon and create tasks to eat the elephant.

I think the line-height is one of the things we would change for sure. I agree the new version looks better, my concern is the impact of changing that how it's gonna affect (but if you have tested in local, go ahead).
I agree with Ruben all in one place would give us a better understanding of the final result. We should create the epic for redesigning the site soon and create tasks to eat the elephant.

Just a note — we currently have styles defined in a few different places:

theme/lexicon.module.scss ==> lexicon specific styles
theme/documentation.module.scss ==> general styling for the documentation sites (blueprints, handbook, lexicon 1 & 2)
theme/global.scss ==> global...styles..which probably affect things
theme/index.js ==> our first js theme, lots of redundancy w/the scss files and theme-ui
theme/variables.scss ==> variables for colors, spacing, etc that are referenced in a lot of places
gatsby-plugin-theme-ui ==> new theme stuff lives here

basically — we have been slowly moving things out of #1-5 and into #6 — but should use a new site design effort to completely clean/migrate everything into a more maintainable structure.

Just a note — we currently have styles defined in a few different places:

theme/lexicon.module.scss ==> lexicon specific styles
theme/documentation.module.scss ==> general styling for the documentation sites (blueprints, handbook, lexicon 1 & 2)
theme/global.scss ==> global...styles..which probably affect things
theme/index.js ==> our first js theme, lots of redundancy w/the scss files and theme-ui
theme/variables.scss ==> variables for colors, spacing, etc that are referenced in a lot of places
gatsby-plugin-theme-ui ==> new theme stuff lives here

basically — we have been slowly moving things out of #1-5 and into #6 — but should use a new site design effort to completely clean/migrate everything into a more maintainable structure.

https://github.com/liferay-design/liferay.design/pull/907/commits/1d67de4443293c2fa6b601f121480ef92c3e5f90

closing this issue as @victorvalle added a generous amount of line-height in #907


Discrepancy between Header Comment and Implementation

Fixes #256 - Discrepancy between Header Comment and Implementation

          1 Warning

:warning:
Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.

  Generated by :no_entry_sign: Danger

🚫 CI failed with log