using arabic/mathjax

How can I use arabic/mathjax in version 4?

If you mean the third-party Arabic extension, that is av2 extension, and the author has not updated it to work with v3 (or v4).  The extension would need significant updates to be able to work with v3/v4.  Perhaps it would be worth posting on the site linked above with your interest in an update to v3/v4.


Problems in the Response of a Front-Channel Logout

Environment

mod_auth_openidc-2.3.3-1.el7.centos.x86_64.rpm from github
cjose-0.5.1-1.el7.centos.x86_64.rpm from github
Apache/2.4.6 (CentOS) Server built:   Oct 19 2017 20:39:16
CentOs 7 in Docker

We are using mod_auth_openidc as a Relying Party for our Microservices and the OP is keycloak-3.4.3.
We experience a strange behavior by the Front-Channel Logout - it works in almost all the browsers, except for the chrome and opera, where we experience intermittent failures.
We bind the both iframes (OP/RP) over the redirect_uri - exactly as described in the wiki.
The iframes determine correctly, that a logout happened and send the RP-iframe a redirect to redirect_uri?session=check, which in turn redirects the iframe to keycloaks's auth?response_type, which finally redirects the iframe to redirect_uri?error=login_required&state...
This leads to a strange intermittent problem in Chrome/Opera, sometimes it works and the browser makes the correct redirect to the logout page, sometimes it shows the error from the image (net::ERR_INCOMPLETE_CHUNKED_ENCODING).

Chrome/Opera does not show the response for these requests at all. In firefox the responses are readable but somewhat strange as they contain 3 different pages:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Redirecting...</title>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Error</title>

Error:
Invalid Request

Description:
The OpenID Connect callback URL received an invalid request

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>500 Internal Server Error</title>

Internal Server Error

The server encountered an internal error or
misconfiguration and was unable to complete
your request.

Please contact the server administrator at
 root@localhost to inform them of the time this error occurred,
and the actions you performed just before this error.

More information about this error may be available
in the server error log.

Do you have associated server debug logs?

In principle the logout sequence is correct up to and including the not very elegant error 500 that is returned on a "login_required" message; this should all happen in the invisible iframe and not interfere with anything
The issue you face seems to be caused by the server doing erroneous chunking, independent of (or perhaps interfering with) mod_auth_openidc. Perhaps it is possible to dig into that and check/debug the server configuration?

any update on this?

The configuration files are relative simple as this is still some sort of POC-Implementation, the apache httpd.conf is:
httpd.conf.txt
and the sites-configuration (minimally changed to remove credentails and such) is as follows:
apache.conf.txt
I'm by no means expert in apache but I don't see any obvious error in the configs (probably some of the lines are redundant).
In the beginning I had a quick look at the relevant code portions and speculated on missing return after the following line, but I didn't have the time to debug it or follow on and understand the complete logic (so I didn't mentioned it in the beginning) and it is really just a wild guess.

I think you spotted an error wrt. the missing return indeed, thanks!

Never mind: you should be able to use http://mod-auth-openidc.org/download/mod_auth_openidc-2.3.6rc1-1.el7.x86_64.rpm to confirm. At least the problem with the concatenated HTML output should be fixed. Not sure about how your application handles the iframe.

Thanks, I’ll test it tomorrow and report the results.

We have problems with our infrastructure, so I'm still unable to test the fix.
Unfortunately we have offside next week, so I'll be probably be able to give you feedback in the first june week.

So I have managed to test the fix and I could not reporduce the problem any more. So it seems that the fix works.


Set IntelliJ continuation indent size to the regular indent size

Since that's what we are using these days.

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bamboo We are supposed to be adding the codestyle rules here: https://github.com/gradle/gradle/blob/69c2a96a242a5417ff8ca16048b2a5e89e7e6fc9/.idea/codeStyles/Project.xml
We could migrate this file to editorconfig, though last time I asked to do this there was some disagreement if it is a good idea to have IDEA specific settings in the editorconfig, given that the editorconfig should be IDE independent.
Regarding the change itself, could you provide an example where we use the currently configured 8 indents in continuation style and what it would look like after your change?

Thanks for the pointer, @wolfs.
I linked a piece of code where we effectively use 4 as the continuation indent in the description but maybe I understood the option wrong since reformatting that file has no effect.
I'll reopen the PR with the right option if necessary.


Adding Mapbox provider

After this I'll make the providers configurable (so the user can pick which providers they want to compare to TravelTime)


ONE package definitions

Hi!
I couldn't find where the RPM/DEB package definitions (e.g. specfile for RPM) are maintained. Either I missed them or they are not tracked here: in the later case, would it be possible to publish them?
I'm currently playing with alpine-based ONE hosts and might end up doing some packaging work which could be upstreamed here.
Thanks!

Wow, it seems that repository was deleted (or moved to private repository).
Previously it was located on https://github.com/opennebula/packages/, now you can still find some forks on github, eg. my one with the latest changes which I managed to find: https://github.com/kvaps/packages

How come? Using the package feature was very useful for easy testing / deployment.

We are also baffled as to the disappearance of everything under https://github.com/OpenNebula/packages/releases and https://github.com/OpenNebula/packages without clear substitute anywhere else.  Is anyone able to comment on why part of the project is now hidden?

Perhaps one of the owners / top contributers can chime in: @tinova @vholer @rsmontero @xorel @christian7007 @al3xhh

Hi guys! We are doing some changes in the structure of the repos, etc. in preparation for the release of OpenNebula 5.12 "Firecracker". We'll be publishing a proper announcement and a summary of all these changes in a couple of days max. Thanks for your patience!

@albert0marti excited to hear about the upcoming 5.12 release and congratulations to the team.  However please explain the situation to people in the community who are working to test and setup OpenNebula 5.10.x and 5.11.x and need the packaging resources.
Right now it looks like resources have been hidden from the community or deleted by accident.  Understand you may want to lock a branch for new releases but keeping existing code in other branches available would be really helpful.
If there has been a change of policy and you are withdrawing the packaging code then we would like some warning to prepare for that before the code is removed instead of afterwards.  We were preparing for an upgrade when this happened. Thanks for your help.

Hi there!
Thank you all for your patience! Here you have the details about this decision: https://forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506
Hope this helps to clarify the new scenario.
Just to make it clear: access to the packages repo is NOT one of the benefits that comes with the OpenNebula Subscription (https://opennebula.io/enterprise/). Although the repo is now private again, and only accessible in principle to the OpenNebula Team, active members of the community can request access.

We are new users of Opennebula and unfortunately this aggressive open-core model will make us reconsider our choice. Sorry to hear that this was the path you chose.

Hi @howels,
The OpenNebula Community Edition is a full-featured version of OpenNebula, and OpenNebula CE and EE are synchronized at the end of each maintenance cycle, so we are not speaking here about an open core model. Please refer to our Release Policy for more details.
The source code (https://github.com/OpenNebula/one/) and the binary and source packages that we produce for the Community Edition (http://downloads.opennebula.io/repo/) are publicly available, given that the CE is under the Apache License 2.0, but if you—for whatever reason—need access to our internal repo for package definitions, just send me a PM.


Allow renaming RUST_BACKTRACE to MYCRATE_BACKTRACE

It would be nice if we could rename the RUST_BACKTRACE environment variable to something custom like MYCRATE_BACKTRACE. This idea came to me from looking at env_logger and how you can rename the environment variable it uses via from_env.
I suggest something along the lines of this:
#![backtrace_env = "MYCRATE_BACKTRACE"]

fn main() {
    // ...
}

And then enabling it via:
MYCRATE_BACKTRACE=1 ./mycrate

Supporting reasons:

Gives some sense of consistency for end users who may not know what Rust is, where the current variable name may be confusing
Some authors believe the end user has no business knowing what language their program was written in
Backtraces may be enabled for some Rust programs but not all when executed in the same environment, such as in a shell script

If your crate is an executable, it could use std::env::set_var near the start of main to set RUST_BACKTRACE based on some other env variable.

Right, but that doesn't change panics from spitting out the following:
thread 'main' panicked at ...
note: Run with `RUST_BACKTRACE=1` for a backtrace

I would like for it to suggest running MYCRATE_BACKTRACE=1 instead.

You can use std::panic::set_hook to run whatever custom logic you want on panic.

Gives some sense of consistency for end users who may not know what Rust is, where the current variable name may be confusing

At the cost of taking consistency away from the rust ecosystem as a whole. I don't need to double-check that I've got the (difficult to read since it's all-caps) environment variable name correct each time I cargo run a project to see what the author decided to call their backtrace variable. Within the rust ecosystem, it's always env RUST_BACKTRACE=1 cargo run, end of story.


AzureSearch.avector_search_with_score() triggers "TypeError: 'AsyncSearchItemPaged' object is not iterable" when calling _results_to_documents()

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
embeddings = AzureOpenAIEmbeddings(
	azure_endpoint=azure_endpoint,
	openai_api_version=openai_api_version,
	openai_api_key=openai_api_key,
	openai_api_type=openai_api_type,
	deployment=deployment,
	chunk_size=1)

vectorstore = AzureSearch(
	azure_search_endpoint=azure_search_endpoint,
	azure_search_key=azure_search_key,
	index_name=index_name,
	embedding_function=embeddings.embed_query,
)

system_message_prompt = SystemMessagePromptTemplate.from_template(
	system_prompt)
human_message_prompt = HumanMessagePromptTemplate.from_template(
	human_template)
chat_prompt = ChatPromptTemplate.from_messages(
	[system_message_prompt, human_message_prompt])

doc_chain = load_qa_chain(
	conversation_llm, chain_type="stuff", prompt=chat_prompt, callback_manager=default_manager
)

conversation_chain = ConversationalRetrievalChain(
	retriever=vectorstore.as_retriever(search_type="similarity_score_threshold", k=rag_top_k,
									   search_kwargs={"score_threshold": rag_score_threshold}),
	combine_docs_chain=doc_chain,
	question_generator=question_generator,
	return_source_documents=True,
	callback_manager=default_manager,
	rephrase_question=False,
	memory=memory,
	max_tokens_limit=max_retrieval_tokens,
)

result = await conversation_chain.ainvoke({"question": question, "chat_history": chat_history}

Error Message and Stack Trace (if applicable)
TypeError("'AsyncSearchItemPaged' object is not iterable")Traceback (most recent call last):
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain/chains/base.py", line 208, in ainvoke
await self._acall(inputs, run_manager=run_manager)
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain/chains/conversational_retrieval/base.py", line 212, in _acall
docs = await self._aget_docs(new_question, inputs, run_manager=_run_manager)
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain/chains/conversational_retrieval/base.py", line 410, in _aget_docs
docs = await self.retriever.ainvoke(
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain_core/retrievers.py", line 280, in ainvoke
raise e
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain_core/retrievers.py", line 273, in ainvoke
result = await self._aget_relevant_documents(
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain_community/vectorstores/azuresearch.py", line 1590, in _aget_relevant_documents
await self.vectorstore.asimilarity_search_with_relevance_scores(
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain_community/vectorstores/azuresearch.py", line 663, in asimilarity_search_with_relevance_scores
result = await self.avector_search_with_score(query, k=k, **kwargs)
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain_community/vectorstores/azuresearch.py", line 750, in avector_search_with_score
return _results_to_documents(results)
File "/Users/crobert/Code/Higher Bar AI/almitra-pilot-be/venv/lib/python3.10/site-packages/langchain_community/vectorstores/azuresearch.py", line 1623, in _results_to_documents
docs = [
TypeError: 'AsyncSearchItemPaged' object is not iterable
Description
This commit for issue #24064 caused a regression in async support. After that commit, avector_search_with_score() calls _asimple_search(), which uses async with self.async_client, and then tries to call _results_to_documents() with the results — but that triggers a "TypeError: 'AsyncSearchItemPaged' object is not iterable" because it uses AsyncSearchItemPaged on a closed HTTP connection (because the connection closed at the end of the _asimple_search() with block.
The original async PR #22075 seemed to have the right idea: the async results need to be handled within the with block. Looking at that code, it looks like it should probably work. However, if I roll back to 0.2.7, I run into the "KeyError('content_vector')" that triggered issue #24064. For the moment, I've gotten things running by overriding AzureSearch as follows:
class ExtendedAzureSearch(AzureSearch):
    """Extended AzureSearch class with patch to fix async support."""

    async def _asimple_search_docs(
        self,
        embedding: List[float],
        text_query: str,
        k: int,
        *,
        filters: Optional[str] = None,
        **kwargs: Any,
    ) -> List[Tuple[Document, float]]:
        """Perform vector or hybrid search in the Azure search index.

        Args:
            embedding: A vector embedding to search in the vector space.
            text_query: A full-text search query expression;
                Use "*" or omit this parameter to perform only vector search.
            k: Number of documents to return.
            filters: Filtering expression.
        Returns:
            Matching documents with scores
        """
        from azure.search.documents.models import VectorizedQuery

        async with self.async_client as async_client:
            results = await async_client.search(
                search_text=text_query,
                vector_queries=[
                    VectorizedQuery(
                        vector=np.array(embedding, dtype=np.float32).tolist(),
                        k_nearest_neighbors=k,
                        fields=FIELDS_CONTENT_VECTOR,
                    )
                ],
                filter=filters,
                top=k,
                **kwargs,
            )
            docs = [
                (
                    Document(
                        page_content=result.pop(FIELDS_CONTENT),
                        metadata=json.loads(result[FIELDS_METADATA])
                        if FIELDS_METADATA in result
                        else {
                            key: value for key, value in result.items() if key != FIELDS_CONTENT_VECTOR
                        },
                    ),
                    float(result["@search.score"]),
                )
                async for result in results
            ]
        return docs

    # AP-254 - This version of avector_search_with_score() calls _asimple_search_docs() instead of _asimple_search()
    # followed by _results_to_documents(results) because _asimple_search() uses `async with self.async_client`, which
    # closes the paging connection on return, which makes it so the results are not available for
    # _results_to_documents() (triggering "TypeError: 'AsyncSearchItemPaged' object is not iterable").
    async def avector_search_with_score(
        self,
        query: str,
        k: int = 4,
        filters: Optional[str] = None,
        **kwargs: Any,
    ) -> List[Tuple[Document, float]]:
        """Return docs most similar to query.

        Args:
            query (str): Text to look up documents similar to.
            k (int, optional): Number of Documents to return. Defaults to 4.
            filters (str, optional): Filtering expression. Defaults to None.

        Returns:
            List[Tuple[Document, float]]: List of Documents most similar
                to the query and score for each
        """
        embedding = await self._aembed_query(query)
        return await self._asimple_search_docs(
            embedding, "", k, filters=filters, **kwargs
        )

System Info
System Information

OS:  Darwin
OS Version:  Darwin Kernel Version 23.5.0: Wed May  1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000
Python Version:  3.10.9 (v3.10.9:1dd9be6584, Dec  6 2022, 14:37:36) [Clang 13.0.0 (clang-13<IP_ADDRESS>)]

Package Information

langchain_core: 0.2.9
langchain: 0.2.11
langchain_community: 0.2.10
langsmith: 0.1.81
langchain_aws: 0.1.7
langchain_openai: 0.1.8
langchain_text_splitters: 0.2.2
langchainplus_sdk: 0.0.21
langgraph: 0.1.14

Actually, my fix (and, I presume, the original async code) still has a pretty fatal flaw: because all of these with blocks close the client, you can only make one call in a chain, then you trigger this on any subsequent calls:

ValueError("HTTP transport has already been closed. You may check if you're calling a function outside of the async with of your client creation, or if you called await close() on your client already.")

Rather than having to re-establish the connection with each call, I have tried keeping it open and closing it on deletion of the AzureSearch object. But all of this makes me uncomfortable, and I wonder what @baskaryan in PR #22075 had in mind re: the management of the async Azure search client. It's all still feeling quite messy and not-quite-complete...

I met the same issue lol. `    async def asemantic_hybrid_search_with_score_and_rerank(
self, query: str, k: int = 4, *, filters: Optional[str] = None, **kwargs: Any
) -> List[Tuple[Document, float, float]]:
"""Return docs most similar to query with a hybrid query.
    Args:
        query: Text to look up documents similar to.
        k: Number of Documents to return. Defaults to 4.
        filters: Filtering expression.

    Returns:
        List of Documents most similar to the query and score for each
    """
    from azure.search.documents.models import VectorizedQuery

    vector = await self._aembed_query(query)
    async with self.async_client as async_client:
        results = await async_client.search(
            search_text=query,
            vector_queries=[
                VectorizedQuery(
                    vector=np.array(vector, dtype=np.float32).tolist(),
                    k_nearest_neighbors=k,
                    fields=FIELDS_CONTENT_VECTOR,
                )
            ],
            filter=filters,
            query_type="semantic",
            semantic_configuration_name=self.semantic_configuration_name,
            query_caption="extractive",
            query_answer="extractive",
            top=k,
            **kwargs,
        )`

I am also running into the same error message trying to call ainvoke on the AzureSearchVectorStoreRetriever, which is also using the methods described above. The synchronous call is working fine, but the async call causes the error "'AsyncSearchItemPaged' object is not iterable" during retrieval phase.

@JuliaZamaitat, you can override the class to remove the with blocks and make other adjustments as-needed. @thedavgar has made the changes in #24921, so you can use that as a guide until it's been approved and included in a release. Hopefully it won't be long before the async support is working well!

Hi, I encountered the same issue. I've read about this issue and the PR #24921 that was created to fix it. However, I can't find the solution code in the latest release of langchain-community==0.2.12 here. Is it expected that the latest version still contains this issue, or did I miss something?

@prawiraelang I was confused too, as the changes were merged into master Aug. 13. However, the current release of langchain-community was on Aug. 12. So, I guess we just have to wait till they issue a new release...

@prawiraelang I was confused too, as the changes were merged into master Aug. 13. However, the current release of langchain-community was on Aug. 12. So, I guess we just have to wait till they issue a new release...

Thanks @chrislrobert for your response. Let's wait then. Hopefully, the fix will be released soon.

@prawiraelang It looks like this was included in 0.2.13 released on Aug. 28 — so just after we'd had this exchange! Have you been able to update and confirm that all works as expected?

@prawiraelang It looks like this was included in 0.2.13 released on Aug. 28 — so just after we'd had this exchange! Have you been able to update and confirm that all works as expected?

Yes, I also noticed that release and I've updated it. I can confirm that it works as expected.


Expose the results types of the API calls

I would like to use the return type of the getFile call in a state but I can't, GetFileResult is not exposed on the lib. I must import it from figma-api/lib/api-types.
import { GetFileResult } from 'figma-api/lib/api-types'

const [file, setFile] = useState<GetFileResult | null>(null)

const figmaFile = await api.getFile(fileKey)
setFile(figmaFile)

It would be nice to expose thoses types publicly, and all the others as well.

@Kerumen is this still relevant for you? if yes, can you explain me a little bit more what you need/mean?
from what I see, the types are exposed in the api-types file. what do you need instead?

Closing this for now (in case is needed we can re-open it later)

@didoo sorry to not have answered earlier. I meant to expose the types in the top level export to be able to do
import * as Figma from 'figma-api';

...

Figma.Api / Figma.GetFileResult

instead of
import * as Figma from 'figma-api';
import { GetFileResult } from 'figma-api/lib/api-types'

Figma.Api / GetFileResult

You can take inspirations from this library where the internal types (Figma.FileResponse, Figma.FileImageResponse, etc) and the Figma types are exposed (Figma.Node, Figma.Canvas, etc) which is very convenient.


All bit twiddling functions in num::traits::PrimInt should take or return usize instead of u32

From @octurion on April 10, 2015 10:12
The trait num::traits::PrimInt mandates that any type implementing it must also implement Shl<usize, Output=Self> and Shr<usize, Output=Self> (in other words, PrimInt mandates that the shift amount be of type usize).
Thus all bit twiddling functions (trailing_zeros, rotate_left, count_zeros etc.) in PrimInt should take or return a usize instead of u32 as the number of bits for the sake of consistency with what the implementation restrictions on Shl and Shr mandate.
Copied from original issue: rust-num/num#80

From @gnzlbg on December 17, 2015 15:49
I've implemented this and some other bit wise algorithms in PrimInt.

From @gnzlbg on December 17, 2015 12:27
The problem is that the methods on primitive types like rotate_left expect an u32 and that cannot be changed anymore (that ship has sailed).
Maybe it would be better to require Shl<u32, Output=Self> and Shr<u32, Output=Self> instead. What do you think?

I think changing the trait bounds to u32 sounds fine, but it will be a breaking change, which I want to be pretty conservative about.  I should start a list somewhere of "things to break" so we can plan to do them all at once.

I've decided to limit the clutter of breaking change issues, so they will now be tracked collectively in #47.  I'm closing this issue for now as postponed but we can still discuss its merits here as needed.


Docs Organization [Draft]

WIP PR. Created for visual reference.
Removing examples from the top nav looks/feels significant.

Closing for now. Going to focus on getting current code and then come back to this.


Cannot download Boost

Cannot download Boost. It says that it can't validate the CA certificate. But I can click the link and it downloads just fine in my browser.
I am using this huntergate:
huntergate (
        URL "https://github.com/ruslo/hunter/archive/v0.19.228.tar.gz"
        SHA1 "5f8bde642d44d2ef652c917fa6b36dbc5f693d51"
)

Here is the log of the error:
CMake Error at Build/Boost-prefix/src/Boost-stamp/download-Boost.cmake:157 (message):
  Each download failed!

    error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 60
         status_string: "Peer certificate cannot be authenticated with given CA certificates"
         log:
         --- LOG BEGIN ---
           Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to dl.bintray.com (<IP_ADDRESS>) port 443 (#0)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [215 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [107 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [3591 bytes data]

  TLSv1.1 (IN), TLS handshake, Server key exchange (12):

  [331 bytes data]

  TLSv1.1 (IN), TLS handshake, Server finished (14):

  [4 bytes data]

  TLSv1.1 (OUT), TLS handshake, Client key exchange (16):

  [70 bytes data]

  TLSv1.1 (OUT), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (OUT), TLS handshake, Unknown (67):

  [36 bytes data]

  TLSv1.1 (OUT), TLS handshake, Finished (20):

  [16 bytes data]

  TLSv1.1 (IN), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (IN), TLS handshake, Finished (20):

  [16 bytes data]

  SSL connection using TLSv1.1 / ECDHE-RSA-AES128-SHA

  Server certificate:

   subject: CN=*.bintray.com
   start date: Nov  9 00:00:00 2017 GMT
   expire date: Nov  9 23:59:59 2019 GMT
   subjectAltName: host "dl.bintray.com" matched cert's "*.bintray.com"
   issuer: C=US; O=GeoTrust Inc.; OU=Domain Validated SSL; CN=GeoTrust DV SSL CA - G3
   SSL certificate verify ok.

  GET /boostorg/release/1.66.0/source/boost_1_66_0.7z HTTP/1.1

  Host: dl.bintray.com

  User-Agent: curl/7.54.1

  Accept: */*

  HTTP/1.1 302

  Server: nginx

  Date: Mon, 15 Jan 2018 20:09:23 GMT

  Content-Length: 0

  Connection: keep-alive

  Location:
  https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047683~hmac=a3299f841089ce33068d8598dbcd9de023edb9ec74ca290f937abb5c0372099d&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18AKPxn4oaR4X5Ve9c9Yeb8IPlxCSN8jqSDLxYhtI5u5-88coM4hA8R0ZzOwsYWppRUacLOeFQ4TNhrUKQ5L1xhKuTu5HC1oA5bgMMQbJ35_5LCyWni6arEPV59tlCR4oyQO9dOAfEVZA&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628

  Connection #0 to host dl.bintray.com left intact

  Issue another request to this URL:
  'https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047683~hmac=a3299f841089ce33068d8598dbcd9de023edb9ec74ca290f937abb5c0372099d&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18AKPxn4oaR4X5Ve9c9Yeb8IPlxCSN8jqSDLxYhtI5u5-88coM4hA8R0ZzOwsYWppRUacLOeFQ4TNhrUKQ5L1xhKuTu5HC1oA5bgMMQbJ35_5LCyWni6arEPV59tlCR4oyQO9dOAfEVZA&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628'

    Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to akamai.bintray.com (<IP_ADDRESS>) port 443 (#1)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [219 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [115 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [4116 bytes data]

  TLSv1.1 (OUT), TLS alert, Server hello (2):

  [2 bytes data]

  SSL certificate problem: unable to get local issuer certificate

  Closing connection 1

         --- LOG END ---
         error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 60
         status_string: "Peer certificate cannot be authenticated with given CA certificates"
         log:
         --- LOG BEGIN ---
           Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to dl.bintray.com (<IP_ADDRESS>) port 443 (#0)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [215 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [107 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [3591 bytes data]

  TLSv1.1 (IN), TLS handshake, Server key exchange (12):

  [331 bytes data]

  TLSv1.1 (IN), TLS handshake, Server finished (14):

  [4 bytes data]

  TLSv1.1 (OUT), TLS handshake, Client key exchange (16):

  [70 bytes data]

  TLSv1.1 (OUT), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (OUT), TLS handshake, Unknown (67):

  [36 bytes data]

  TLSv1.1 (OUT), TLS handshake, Finished (20):

  [16 bytes data]

  TLSv1.1 (IN), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (IN), TLS handshake, Finished (20):

  [16 bytes data]

  SSL connection using TLSv1.1 / ECDHE-RSA-AES128-SHA

  Server certificate:

   subject: CN=*.bintray.com
   start date: Nov  9 00:00:00 2017 GMT
   expire date: Nov  9 23:59:59 2019 GMT
   subjectAltName: host "dl.bintray.com" matched cert's "*.bintray.com"
   issuer: C=US; O=GeoTrust Inc.; OU=Domain Validated SSL; CN=GeoTrust DV SSL CA - G3
   SSL certificate verify ok.

  GET /boostorg/release/1.66.0/source/boost_1_66_0.7z HTTP/1.1

  Host: dl.bintray.com

  User-Agent: curl/7.54.1

  Accept: */*

  HTTP/1.1 302

  Server: nginx

  Date: Mon, 15 Jan 2018 20:09:24 GMT

  Content-Length: 0

  Connection: keep-alive

  Location:
  https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047684~hmac=e4aa87c4b561b3860cde5390ac48428e740f79a3c84a57da2e346cf76621d062&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX1-UEq-dO9LvyNLynQOLYmyORz5I6pGEO9wzP39QGym5RAaEzSgz7jjzWqvD7qTVy2xaeR5NtqLbAVGAWoE9Ns5PbVKfAgnwwbjuHjGbbx8AWoc9BnZolFFppdJ4pq4VIKU6Iw6vPySpkQ&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628

  Connection #0 to host dl.bintray.com left intact

  Issue another request to this URL:
  'https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047684~hmac=e4aa87c4b561b3860cde5390ac48428e740f79a3c84a57da2e346cf76621d062&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX1-UEq-dO9LvyNLynQOLYmyORz5I6pGEO9wzP39QGym5RAaEzSgz7jjzWqvD7qTVy2xaeR5NtqLbAVGAWoE9Ns5PbVKfAgnwwbjuHjGbbx8AWoc9BnZolFFppdJ4pq4VIKU6Iw6vPySpkQ&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628'

    Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to akamai.bintray.com (<IP_ADDRESS>) port 443 (#1)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [219 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [115 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [4116 bytes data]

  TLSv1.1 (OUT), TLS alert, Server hello (2):

  [2 bytes data]

  SSL certificate problem: unable to get local issuer certificate

  Closing connection 1

         --- LOG END ---
         error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 60
         status_string: "Peer certificate cannot be authenticated with given CA certificates"
         log:
         --- LOG BEGIN ---
           Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to dl.bintray.com (<IP_ADDRESS>) port 443 (#0)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [215 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [107 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [3591 bytes data]

  TLSv1.1 (IN), TLS handshake, Server key exchange (12):

  [331 bytes data]

  TLSv1.1 (IN), TLS handshake, Server finished (14):

  [4 bytes data]

  TLSv1.1 (OUT), TLS handshake, Client key exchange (16):

  [70 bytes data]

  TLSv1.1 (OUT), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (OUT), TLS handshake, Unknown (67):

  [36 bytes data]

  TLSv1.1 (OUT), TLS handshake, Finished (20):

  [16 bytes data]

  TLSv1.1 (IN), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (IN), TLS handshake, Finished (20):

  [16 bytes data]

  SSL connection using TLSv1.1 / ECDHE-RSA-AES128-SHA

  Server certificate:

   subject: CN=*.bintray.com
   start date: Nov  9 00:00:00 2017 GMT
   expire date: Nov  9 23:59:59 2019 GMT
   subjectAltName: host "dl.bintray.com" matched cert's "*.bintray.com"
   issuer: C=US; O=GeoTrust Inc.; OU=Domain Validated SSL; CN=GeoTrust DV SSL CA - G3
   SSL certificate verify ok.

  GET /boostorg/release/1.66.0/source/boost_1_66_0.7z HTTP/1.1

  Host: dl.bintray.com

  User-Agent: curl/7.54.1

  Accept: */*

  HTTP/1.1 302

  Server: nginx

  Date: Mon, 15 Jan 2018 20:09:31 GMT

  Content-Length: 0

  Connection: keep-alive

  Location:
  https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047691~hmac=baa25c6a10ec066985df748281158243dc8dd0e4e5934d6c14d32886c995f8e5&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX1-2zc4TCJ00-dHK1s_6yUMlBiHv6fe3GDIR3nRvaMZH6fkzx4SG-GFnuD0y1E4PZ2ClAP2fcpjznGHjXmpTNL57-fA3tSe7Bwa7jR8DucaSz7bUZrLZkGRXOfi64laa4f2BybkSIns4FA&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628

  Connection #0 to host dl.bintray.com left intact

  Issue another request to this URL:
  'https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047691~hmac=baa25c6a10ec066985df748281158243dc8dd0e4e5934d6c14d32886c995f8e5&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX1-2zc4TCJ00-dHK1s_6yUMlBiHv6fe3GDIR3nRvaMZH6fkzx4SG-GFnuD0y1E4PZ2ClAP2fcpjznGHjXmpTNL57-fA3tSe7Bwa7jR8DucaSz7bUZrLZkGRXOfi64laa4f2BybkSIns4FA&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628'

    Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to akamai.bintray.com (<IP_ADDRESS>) port 443 (#1)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [219 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [115 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [4116 bytes data]

  TLSv1.1 (OUT), TLS alert, Server hello (2):

  [2 bytes data]

  SSL certificate problem: unable to get local issuer certificate

  Closing connection 1

         --- LOG END ---
         error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 60
         status_string: "Peer certificate cannot be authenticated with given CA certificates"
         log:
         --- LOG BEGIN ---
           Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to dl.bintray.com (<IP_ADDRESS>) port 443 (#0)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [215 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [107 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [3591 bytes data]

  TLSv1.1 (IN), TLS handshake, Server key exchange (12):

  [331 bytes data]

  TLSv1.1 (IN), TLS handshake, Server finished (14):

  [4 bytes data]

  TLSv1.1 (OUT), TLS handshake, Client key exchange (16):

  [70 bytes data]

  TLSv1.1 (OUT), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (OUT), TLS handshake, Unknown (67):

  [36 bytes data]

  TLSv1.1 (OUT), TLS handshake, Finished (20):

  [16 bytes data]

  TLSv1.1 (IN), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (IN), TLS handshake, Finished (20):

  [16 bytes data]

  SSL connection using TLSv1.1 / ECDHE-RSA-AES128-SHA

  Server certificate:

   subject: CN=*.bintray.com
   start date: Nov  9 00:00:00 2017 GMT
   expire date: Nov  9 23:59:59 2019 GMT
   subjectAltName: host "dl.bintray.com" matched cert's "*.bintray.com"
   issuer: C=US; O=GeoTrust Inc.; OU=Domain Validated SSL; CN=GeoTrust DV SSL CA - G3
   SSL certificate verify ok.

  GET /boostorg/release/1.66.0/source/boost_1_66_0.7z HTTP/1.1

  Host: dl.bintray.com

  User-Agent: curl/7.54.1

  Accept: */*

  HTTP/1.1 302

  Server: nginx

  Date: Mon, 15 Jan 2018 20:09:37 GMT

  Content-Length: 0

  Connection: keep-alive

  Location:
  https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047697~hmac=94969a78400e5c59b457377d0d7b43f17d48680b83dfd39b1964546352eea354&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18ImhviRfin9mpxPkbk9koZi3L0Vx2xq2GG7sl554PlAzV3y93qZjbFt-erED66_BQM6St0cS7luCxDMQbhqiVsGyhH0Hu0x4tz3CbKRDNaAhrH5Ff5alDklfAr4xkWo399mJJvaLIz1w&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628

  Connection #0 to host dl.bintray.com left intact

  Issue another request to this URL:
  'https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047697~hmac=94969a78400e5c59b457377d0d7b43f17d48680b83dfd39b1964546352eea354&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18ImhviRfin9mpxPkbk9koZi3L0Vx2xq2GG7sl554PlAzV3y93qZjbFt-erED66_BQM6St0cS7luCxDMQbhqiVsGyhH0Hu0x4tz3CbKRDNaAhrH5Ff5alDklfAr4xkWo399mJJvaLIz1w&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628'

    Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to akamai.bintray.com (<IP_ADDRESS>) port 443 (#1)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [219 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [115 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [4116 bytes data]

  TLSv1.1 (OUT), TLS alert, Server hello (2):

  [2 bytes data]

  SSL certificate problem: unable to get local issuer certificate

  Closing connection 1

         --- LOG END ---
         error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 60
         status_string: "Peer certificate cannot be authenticated with given CA certificates"
         log:
         --- LOG BEGIN ---
           Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to dl.bintray.com (<IP_ADDRESS>) port 443 (#0)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [215 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [107 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [3591 bytes data]

  TLSv1.1 (IN), TLS handshake, Server key exchange (12):

  [331 bytes data]

  TLSv1.1 (IN), TLS handshake, Server finished (14):

  [4 bytes data]

  TLSv1.1 (OUT), TLS handshake, Client key exchange (16):

  [70 bytes data]

  TLSv1.1 (OUT), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (OUT), TLS handshake, Unknown (67):

  [36 bytes data]

  TLSv1.1 (OUT), TLS handshake, Finished (20):

  [16 bytes data]

  TLSv1.1 (IN), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (IN), TLS handshake, Finished (20):

  [16 bytes data]

  SSL connection using TLSv1.1 / ECDHE-RSA-AES128-SHA

  Server certificate:

   subject: CN=*.bintray.com
   start date: Nov  9 00:00:00 2017 GMT
   expire date: Nov  9 23:59:59 2019 GMT
   subjectAltName: host "dl.bintray.com" matched cert's "*.bintray.com"
   issuer: C=US; O=GeoTrust Inc.; OU=Domain Validated SSL; CN=GeoTrust DV SSL CA - G3
   SSL certificate verify ok.

  GET /boostorg/release/1.66.0/source/boost_1_66_0.7z HTTP/1.1

  Host: dl.bintray.com

  User-Agent: curl/7.54.1

  Accept: */*

  HTTP/1.1 302

  Server: nginx

  Date: Mon, 15 Jan 2018 20:09:54 GMT

  Content-Length: 0

  Connection: keep-alive

  Location:
  https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047714~hmac=1d65e8e3c53981b452e8839750bfd83578128f0862c63bd3777d28be361961fd&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18-ZiM20qb5yfRZpw7iSEXyPY8ljuTwCmTOAD7qsKF5qPwtnQSnSNk2_3lLYd-6bBcqjL945HUp5KFokL4DOj29hYTabkbmLmA4Y7hzO6hXCYV8G6YpYiIyX8rdQvcn66kzFRv41TU9tg&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628

  Connection #0 to host dl.bintray.com left intact

  Issue another request to this URL:
  'https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047714~hmac=1d65e8e3c53981b452e8839750bfd83578128f0862c63bd3777d28be361961fd&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18-ZiM20qb5yfRZpw7iSEXyPY8ljuTwCmTOAD7qsKF5qPwtnQSnSNk2_3lLYd-6bBcqjL945HUp5KFokL4DOj29hYTabkbmLmA4Y7hzO6hXCYV8G6YpYiIyX8rdQvcn66kzFRv41TU9tg&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628'

    Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to akamai.bintray.com (<IP_ADDRESS>) port 443 (#1)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [219 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [115 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [4116 bytes data]

  TLSv1.1 (OUT), TLS alert, Server hello (2):

  [2 bytes data]

  SSL certificate problem: unable to get local issuer certificate

  Closing connection 1

         --- LOG END ---
         error: downloading 'https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.7z' failed
         status_code: 60
         status_string: "Peer certificate cannot be authenticated with given CA certificates"
         log:
         --- LOG BEGIN ---
           Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to dl.bintray.com (<IP_ADDRESS>) port 443 (#0)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [215 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [107 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [3591 bytes data]

  TLSv1.1 (IN), TLS handshake, Server key exchange (12):

  [331 bytes data]

  TLSv1.1 (IN), TLS handshake, Server finished (14):

  [4 bytes data]

  TLSv1.1 (OUT), TLS handshake, Client key exchange (16):

  [70 bytes data]

  TLSv1.1 (OUT), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (OUT), TLS handshake, Unknown (67):

  [36 bytes data]

  TLSv1.1 (OUT), TLS handshake, Finished (20):

  [16 bytes data]

  TLSv1.1 (IN), TLS change cipher, Client hello (1):

  [1 bytes data]

  TLSv1.1 (IN), TLS handshake, Finished (20):

  [16 bytes data]

  SSL connection using TLSv1.1 / ECDHE-RSA-AES128-SHA

  Server certificate:

   subject: CN=*.bintray.com
   start date: Nov  9 00:00:00 2017 GMT
   expire date: Nov  9 23:59:59 2019 GMT
   subjectAltName: host "dl.bintray.com" matched cert's "*.bintray.com"
   issuer: C=US; O=GeoTrust Inc.; OU=Domain Validated SSL; CN=GeoTrust DV SSL CA - G3
   SSL certificate verify ok.

  GET /boostorg/release/1.66.0/source/boost_1_66_0.7z HTTP/1.1

  Host: dl.bintray.com

  User-Agent: curl/7.54.1

  Accept: */*

  HTTP/1.1 302

  Server: nginx

  Date: Mon, 15 Jan 2018 20:10:55 GMT

  Content-Length: 0

  Connection: keep-alive

  Location:
  https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047775~hmac=bccb129931acce9e4c93ddeed784e77b30971aa72bd99a450eb7d8e5010e6d2b&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18Qu_QMVmJB-xEQ0_Qd0xtaBduZ2N6N4lMO_kHsMFib9bMl3BRN-wBcbglfaDvvTLjEeyt8ZM0oxXktAY4zQMkEChyhy3rfCm4huqCsf92o1nxhMNql4GcjKEoNJ9rsm43BBD14rAH9PA&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628

  Connection #0 to host dl.bintray.com left intact

  Issue another request to this URL:
  'https://akamai.bintray.com/59/596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628?__gda__=exp=1516047775~hmac=bccb129931acce9e4c93ddeed784e77b30971aa72bd99a450eb7d8e5010e6d2b&response-content-disposition=attachment%3Bfilename%3D%22boost_1_66_0.7z%22&response-content-type=application%2Fx-7z-compressed&requestInfo=U2FsdGVkX18Qu_QMVmJB-xEQ0_Qd0xtaBduZ2N6N4lMO_kHsMFib9bMl3BRN-wBcbglfaDvvTLjEeyt8ZM0oxXktAY4zQMkEChyhy3rfCm4huqCsf92o1nxhMNql4GcjKEoNJ9rsm43BBD14rAH9PA&response-X-Checksum-Sha1=075d0b43980614054b1f1bafd189f863bba6600e&response-X-Checksum-Sha2=596389389c005814ecb2a6b64c31dccd2c3e6fbc5a802b4dfada999ae5844628'

    Trying <IP_ADDRESS>...

  TCP_NODELAY set

  Connected to akamai.bintray.com (<IP_ADDRESS>) port 443 (#1)

  Cipher selection:
  ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  successfully set certificate verify locations:

    CAfile: /etc/ssl/certs/ca-certificates.crt
    CApath: /etc/ssl/certs

  TLSv1.1 (OUT), TLS handshake, Client hello (1):

  [219 bytes data]

  TLSv1.1 (IN), TLS handshake, Server hello (2):

  [115 bytes data]

  NPN, negotiated HTTP1.1

  TLSv1.1 (IN), TLS handshake, Certificate (11):

  [4116 bytes data]

  TLSv1.1 (OUT), TLS alert, Server hello (2):

  [2 bytes data]

  SSL certificate problem: unable to get local issuer certificate

  Closing connection 1

         --- LOG END ---

I finally figured out what was causing it.
The issue only hapenned when I was using the version of cmake that came bundled with my IDE. Switching to the system version fixed it.


supervisorctl cannot connect to supervisord

root@radiodan:~# supervisorctl
http://localhost:9001 refused connection

This is because supervisord is started with the -c flag pointing to:
python /usr/bin/supervisord -c /etc/supervisor/supervisor.conf

/etc/supervisor/supervisor.conf needs to have the following lines added:
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

(see: http://supervisord.org/configuration.html#rpcinterface-x-section-settings)
You'll then be able to run supervisorctl -c /etc/supervisor/supervisor.conf to control the processes.

The config is fixed; I also tweaked the packaging so the config is now under /etc/supervisord.conf, and the -c option is no longer needed.


Inclusion of Statistical Support Program

Statistical Support Program was removed from version 1 as decided during 13 September 2021 task team meeting, due to ongoing discussions in the GSIM task team about it. Reintroducing it should be considered for version 2.

4th July meeting: revive this issue.
@FlavioRizzolo Add or link diagram/text from GSIM revision team.

Just to report on the current status:
GSIM Statistical Support Activity is currently defined as:

definition: activity that supports statistical production
explanatory text: This type of activity program will include such functions as metadata management, data management, methodological research, and design functions. These programs correspond to the overarching processes in the GSBPM, and Corporate Support in GAMSO, as well as programs to create new or change existing Statistical Programs which are covered by GSBPM phase 1-3.

Following the way Statistical Program and Statistical Program are defined in the specification document, we can use:

Statistical Support Activity: it refers to activities that support the production of statistics such as methodological research, quality management, management of registers, identification of user needs (GSBPM Phase 1).

Alternatively, we could just rename Phase to Production Phase, or a similar name, and use it only for GSBPM 4-7. Then we can make the other phases individuals of Overarching Activity.

I think this new definition introduces some complexities that need to be addressed in the ontology. How do we represent that some phases are now individuals of Statistical Support Activity? It seems to me making and individual an instance of two classes is not a good practice, so we'll probably need to split the Phase class into two.
Proposal: replace Phase class by Production Phase (GSBPM 4-7) and Support Phase (GSBPM 1-3); exact names to be determined. That will be aligned with the new definitions of GSIM Statistical Program and Statistical Support Activity.

That would actually be in line with the way GSBPM sees phases:

Background material for this discussion can be found in issue #4.

Summary of my proposal. Please review.
Now, Overarching Activity in COOS captures both GSIM Statistical Support Activity and Overarching Processes.

GSBPM 1, 2, 3 and 8 are now reminding me of GAMSO Capability Development (Plan, Do, Check, Act) then put into Corporate Support.

I think GSBPM Phase 1-3, 8 should not be under "overarching activity". If we use the word "overarching" in a similar sense as GSBPM overarching process (activity that takes place throughout GSBPM phases). Phase 1-3 (less sure about Phase 8 though) is precisely not exactly"overarching" because, for example, consulting user needs does not happen throughout the production process.
How about, in line with what GSBPM has,

On-going work phase (too long?): GSBPM phase 4-7
Change work phase: GSBPM phase 1-3... + 8
Overarching activity: GSBPM OPs

I think GSBPM Phase 1-3, 8 should not be under "overarching activity". If we use the word "overarching" in a similar sense as GSBPM overarching process (activity that takes place throughout GSBPM phases). Phase 1-3 (less sure about Phase 8 though) is not exactly"overarching" because, for example, consulting user needs does not happen throughout the production process.
How about, in line with what GSBPM has,

On-going work phase (too long?): GSBPM phase 4-7
Change work phase: GSBPM phase 1-3... + 8
Overarching activity: GSBPM OPs

Yes, I think that's the best way of avoiding confusion.
How about my first proposal above? Replace Phase class by Production Phase (GSBPM 4-7) and Support Phase (GSBPM 1-3+8). An alternative name could be something like Change Phase for GSBPM 1-3+8.


Updating version.properties and meta.xml dependencies for Households package to version 3.5

@cpolcyn @dospromptman this is good to go, I'd recommend looking over the last time this was done (#2200) to ensure that I'm not missing anything.

Lookin' good

inspected every .-meta.xml file and verified correct versions are specified


Fix for newest PyQt5 and standalone mode

I tried to compile simple project with Qt5
nuitka --standalone --plugin-enable=qt-plugins --windows-icon="c:\convertor\icon.ico" "c:\convertor\convertor.py"
And after compilling it return to cmd:
Traceback (most recent call last):
  File "c:\convertor\convertor.dist\convertor.py", line 2, in <module>
  File "c:\convertor\convertor.dist\PyQt5\__init__.py", line 41, in <module PyQt5>
  File "c:\convertor\convertor.dist\PyQt5\__init__.py", line 33, in find_qt
ImportError: unable to find Qt5Core.dll on PATH

qt5core.dll is in one folder with compilled .exe. If i add qt5core.dll to some of folder in path (for example in windows or python folder, but not for windpows/system32 although it in path too) - it works fine. Why it happend, and how to make it standalone?
programm text:
https://pastebin.com/GsyHvTMk

I just compiled & executed this successfully (using hinted compilation - but that shouldn't be vital):
D:\Jorj\Desktop\Develop\nuitka>python nuitka-hints.py qt-test2.py
NUITKA is compiling 'qt-test2.py' with these options:
 --standalone
 --remove-output
 --experimental=use_pefile
 --recurse-none
 --disable-dll-dependency-cache

Nuitka:INFO:User plugin 'hinted-mods.py' is being loaded.
Nuitka:INFO:'hinted-mods.py' is adding the following options:
Nuitka:INFO:--enable-plugin=qt-plugins=sensible
Nuitka:INFO:--recurse-to for 5 imported modules.
Nuitka:INFO:
Nuitka:INFO:drop types
Nuitka:INFO:drop site
Nuitka:INFO:Injecting plug-in based post load code for module 'PyQt5.QtCore':
Nuitka:INFO:    Setting Qt library path to distribution folder. Need to avoid loading target
Nuitka:INFO:    system Qt plug-ins, which may be from another Qt version.
Nuitka:INFO:drop sip
Nuitka:WARNING:Not recursing to unused 'enum'.
Nuitka:WARNING:Not recursing to unused 'functools'.
Nuitka:INFO:Copying Qt plug-ins 'iconengines,imageformats,mediaservice,platforms,printsupport' to 'qt-test2.dist\PyQt5\qt-plugins'.
Nuitka:INFO:Copying OpenSSL DLLs to 'qt-test2.dist'
Nuitka:INFO:Compile time 107 seconds.

D:\Jorj\Desktop\Develop\nuitka>

How does your compilation log compare to mine?

JorjMcKie, with your option-keys log looks like this:

you forgot to --enable-plugin=qt-plugins - this is also the warning you are getting.
And:

you either use hinted compilation alltogether, or
you must not use --recurse-none

The basic principle of hinted compilation is (1) create a log of all imports during a test execution, and (2) use that logfile to exclude every (= recurse-none) import except the ones actually executed in the test run (ie. found in the logfile).

JorjMcKie, the same result

Can you paste the code of that find_qt function, this seems to be pure Python code, and giving the message. Lets see if it can be right about this. I am pretty sure I never have it in PATH and it works, uncompiled, and compiled. Maybe the code has a glitch that explains the differences.

kayhayen, i'm sorry, i'm newbie and dont understand where i can find it? In  .dist\PyQt5 no __init__.py file.
And its not from my code too

@ATRedline - I have the suspicion that kyrillic letters have something to do with the issue. Can you please provide a directory listing of your Python installation, respectively PyQt installation?
And also a listing of __init__.py inside the Python/lib/site-packages/PyQt5 directory?

@JorjMcKie yet again the issue template was not filled out, how sure are we this is recent Nuitka, because there used to be problems with unicode paths.
I really would tend to want to close these levels of issues without further investigation. But I am also blaming the issue template, maybe we need to make it more clear, that we do not support otherwise, I know you have been more lenient than I am. Ideally the issue template would be impossible to submit without filling out. :/

JorjMcKie, where is no kyrillic letters in pytonpath and other components

listing of init.py:
https://pastebin.com/PQrExa2P

Aah - we finally have the source code of find_qt!
For @kayhayen: the following is bound to fail when compiled under Nuitka.
def find_qt():
    import os

    path = os.environ['PATH']

    dll_dir = os.path.dirname(__file__) + '\\Qt\\bin'
    if os.path.isfile(dll_dir + '\\Qt5Core.dll'):
        path = dll_dir + ';' + path
        os.environ['PATH'] = path
    else:
        for dll_dir in path.split(';'):
            if os.path.isfile(dll_dir + '\\Qt5Core.dll'):
                break
        else:
            raise ImportError("unable to find Qt5Core.dll on PATH")

    try:
        os.add_dll_directory(dll_dir)
    except AttributeError:
        pass

find_qt()
del find_qt

I doubt that you are providing us the complete source of PyQt5/__init__.py, however, @ATRedline.
In my version
python -m pip show pyqt5
Name: PyQt5
Version: 5.12.2

PyQt5/__init__.py looks like this:

import os as _os

_path = _os.path.dirname(__file__) + '\\Qt\\bin;' + _os.environ['PATH']
_os.environ['PATH'] = _path

@ATRedline - you probably should update your Qt version.

Another option might be to just remove find_qt in qt-plugins, @kayhayen ?

JorjMcKie, i have newest version of PyQt installed from pip. I have also newest python version, and last stable Nuitka.
Thanks you! Before i read you i tried to modified that init file by myself this way:
https://pastebin.com/9ij07wLk
(just added current dir in dll search process)
and it works too! I just didnt know where to find the source of issue. Thanks!

And also, my version of PyQt - 5.12.3

I doubt that you are providing us the complete source of PyQt5/__init__.py
it was complete version of my init without comments (in the hat)

@ATRedline - I see. I refreshed my PyQt5 installation, and indeed: __init__.py now looks like yours :-(
Amazingly bad coding style by those Riverbank people, I must say.
@kayhayen - I think this emphasizes my recent last post: we should prevent execution of line find_qt() ... last line before del find_qt

@kayhayen I volunteer doing this in the plugin, or do you have a better idea?

@JorjMcKie fantastic I wasn't aware of os.add_dll_directory being a thing, and well, not calling find_qt() seems good enough, unfortunately not that easy to prevent, I think you may have to patch the source code on the fly, at least I wasn't immediately aware of another way.

I am still a bit surprised, the code doesn't use os.pathsep and hard codes the : which is only ever correct on Windows.

Ok, os.add_dll_directory is a Python 3.8 thing, hence it is new.

But wait, I just compiled your script again @ATRedline with the new Qt version, and it worked without any modification!
This is my Nuitka version:
python -m nuitka --version
0.6.5rc2
Python: 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)]
Executable: C:\Users\Jorj\AppData\Local\Programs\Python\Python37\python.exe
OS: Windows
Arch: x86_64

Please try upgrading to the Nuitka development version and undo your modification of PyQt5 __init__.py to make sure we are on the same page ...

@kayhayen - yes temp source modification was my thinking, too.
But miraculously it works on my machine without that!

JorjMcKie, i tried Nuitka dev version yesterday too. Result the same. Maybe you have this file qt5core.dll in some of PATH folders, and thats why it works for you (and as i sad in first message - it working strang - for example System32 is in path too, but if i put qt5core.dll to it - the propgramm will not work (without init-modification) ).

And another one strange thing:
to make PyQt5 work on PyCharm and Python - i was forced to mannualy put the way for its "platforms" folder to the path:
QT_QPA_PLATFORM_PLUGIN_PATH = C:\Program Files (x86)\Python37-32\Lib\site-packages\PyQt5\Qt\plugins\platforms
in other way it just didnt finded the platforms folder and windows.dll. whe path for platforms, as error show was ' '.
Maybe it's connected somehow...

I am still a bit surprised, the code doesn't use os.pathsep and hard codes the : which is only ever correct on Windows.

Just looked into the Linux version of PyQt5: the __init__.py there is empty ... that's why they afford themselves the usual sloppiness, obviously.

JorjMcKie, i tried Nuitka dev version yesterday too. Result the same. Maybe you have this file qt5core.dll in some of PATH folders, and thats why it works for you (and as i sad in first message - it working strang - for example System32 is in path too, but if i put qt5core.dll to it - the propgramm will not work (without init-modification) ).

I had been thinking the same and set the path to empty in the dist folder before testing your script. It still worked.
Anyway - I will try an on-the-fly modification of __init__.py source in the qt-plugins script. Once done, I will send you that version and ask you to test it, @ATRedline.

@JorjMcKie amazing grace, why would anybody make the source different on a per platform basis, that is crazy.
One solution could be to
a) Adhere to their layout of the binaries, and put the Qt DLLs where they expect it.
b) Put an empty file there (for Windows obviously only)
c) Remove the source code on the fly
d) Create a pre-load module code that adds the _nuitka_binary_dir in PATH, and a post-load module, that removes it again.
All these solutions have something going fore themselves. I think b is ugly, but could work. I think a involves a lot of changes, so we can specify multiple folder to add to the DLL search path. That touches the C layer a bit.
What they (PyQt) really ought to do is to query the DLL load path, and check that. Because Nuitka added the dist folder to it, and that's where it matters. The PATH is only one part of that.
What is your take, do you think we can work on a and get that to work? Because d is really easy, and will work just fine, and maybe is often the solution for this kind of issue should it repeat elsewhere.

@kayhayen - just dumping thoughts for the moment:

the Linux shared libraries are in the root path of PyQt5
on Windows they are in PyQt5\Qt\bin
the find_qt function looks for qt5core.dll in that directory under the obvious assumption that all its other DLLs will also be there.
all this is true only for this PyQt5 version 5.12.3 - not for the earlier ones (which we must also support)
in the numpy plugin I encountered half a dozen of different folder layouts, for numpy itself, then scipy, matplotlib and others. The shared library sets for eg. scipy and numpy have a non-empty overlap, but are also not contained within each other. Here, following the original folder layout resulted in duplicated DLLs in different sub-folders of dist. After strictly using the dist root for all shared libraries solved that problem.

So (modulo logical errors) to me it appears best to make the dist root the recipient for shared libraries where ever / when ever possible.
If you follow this reasoning, then either c) or d) apply. Probably d).

Removing source code on the fly is a bit ugly, you ought to make sure, you don't change the number if new lines btw, or else call stacks can become confusing. And it's fragile to their source changes. Setting PATH and resetting later is something that ought to not harm when it is not needed, more robust.
BTW: I think, the pre and post load codes, we ought to make it so, that they are not compiled via C, but always as bytecode by default. They are rarely ever performance relevant. But that's for another day.

@kayhayen - you are right. In the meantime, I have made a plugin version that prepends the dist dir to os.environ["PATH"]. No-brainer.
Question: why should I ever again remove that entry?
@ATRedline - here is a revised qt-plugins for you to test. Sorry for the delay. Unzip it and manually copy it to this folder of your Python / Nuitka installation:
...\site-packages\nuitka\plugins\standard
Don't forget to remove your modification of the PyQt5 __init__.py file before testing.
PySidePyQtPlugin.zip

@JorjMcKie, i tried it, and it works fine. Thanks

good, thanks for the feedback.
I will include the change on a branch from where @kayhayen will select changes for next versions.

Released as 0.6.5

I was using nuitka 6.9.1, python 3.8.2-32 and PyQt 5.15.0 and encountered a similar issue 'find_qt.py'. However it raised the following type error:
'TypeError: expected str, bytes or os.PathLike object, not NoneType'
nuitka, and PyQt5 installed with PIP. running in a virtual environment
Compiling through nuitka-utilities and fully hinted compilation
I was able to work around this by backdating pyqt5 to 5.12.3, the version debugged above.
Please let me know if this should be opened as a seperate issue


Update main.tf

Removed the update_strategy variable because of this change in the Terraform Google Provider.

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement
Learn more about why HashiCorp requires a CLA and what the CLA includes
Have you signed the CLA already but the status is still pending? Recheck it.

Closing this PR in favor of: https://github.com/hashicorp/terraform-google-consul/pull/55 - I have implemented the appropriate update policy and included tests.


React native app crashes during startup

Bug description
First, everything works fine in development.  I build my own expo dev client app for development.  However, after I just made an official build of our app and install via Apple's TestFlight the app immediately crashes and I get this error in my Sentry logs:
TypeError
undefined is not a function

/Users/expo/workingdir/build/node_modules/posthog-react-native/lib/posthog-react-native/src/hooks/useLifecycleTracker.js in anonymous at line 1:520

{snip} kedRef.current){openTrackedRef.current=true;posthog.capture('Application Opened');}var subscription=_reactNative.AppState.addEventListener(' {snip}

I did dig through the PostHog code and saw that this errored code will never run while the posthog client is undefined.
https://github.com/PostHog/posthog-js-lite/blob/2911a8fbc17db974ec5ed2913a47f2b52bc1586b/posthog-react-native/src/hooks/useLifecycleTracker.ts#L12
Plus I would have gotten a different error (eg. Uncaught TypeError: Cannot read properties of undefined). So my assumption is that capture is undefined somehow causing this error to happen, but that doesn't really make sense as posthog is a class instance and capture is defined on that class.  Any ideas?
Picture for reference:

How to reproduce

Setup up posthog "without the posthog provider" https://posthog.com/docs/libraries/react-native#without-the-posthogprovider but still using PosthogProvider.  Example setup:

import { PostHog } from "posthog-react-native";

export const analytics = PostHog.initAsync(process.env.POSTHOG_API_KEY, {
  host: "https://app.posthog.com",
});

let analyticsSync: PostHog | undefined;
analytics.then((res) => (analyticsSync = res)).catch(console.error);

// wrap your app with this
export function AnalyticsProvider({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <PostHogProvider
      client={analytics}
      autocapture={{
        captureTouches: true,
        captureLifecycleEvents: true,
        captureScreens: true,
		...

Build a standalone version of the iOS app (not a dev client).
Install on device and open.

I understand this isn't a full recreation.  I could try and spend some time recreating this with a simpler repo but it would have to wait a few days.  Let me know.
Related sub-libraries

[ ] All of them
[ ] posthog-web
[ ] posthog-node
[x] posthog-react-native

Additional context
App is on Expo 50 and  posthog-react-native 2.11.3

Certainly a work around is to NOT do this:
captureLifecycleEvents: true,
But that wouldn't be ideal.

This workaround works... just tested it with a production build of our app:
import { PostHog, PostHobProvider } from "posthog-react-native";

// For accessing analytics outside of the React tree
export let analytics: PostHog | undefined;

// wrap your app with this
export function AnalyticsProvider({
  children,
}: {
  children: React.ReactNode;
}) {
  const [client, setClient] = React.useState<PostHog>();

  React.useEffect(() => {
    if (client) return;

    PostHog.initAsync(env.POSTHOG_API_KEY, {
      enable: !IS_DEBUG,
      host: "https://app.posthog.com",
    })
      .then((client) => {
        setClient(client);
        analytics = client;
      })
      .catch(console.error);
  }, [client]);

  if (!client) return;

  return (
    <PostHogProvider
      client={client}
      autocapture={{
        captureTouches: true,
        captureLifecycleEvents: true,
        captureScreens: true,
		...

Hi @johnslemmer thanks for reporting.
I've tried to reproduce this and it works normally either with the PostHogProvider or just with the analyticsSync, see the example.
Can you provide a minimal reproducible example?

@marandaneto here is a reproduction for you: https://github.com/johnslemmer/ph-crash-bug
It appears to be some sort of conflict between sentry and posthog in this case because when I remove sentry posthog no longer causes a crash.

Thanks @johnslemmer
I hope https://github.com/PostHog/posthog-js-lite/pull/184 resolves this issue, I don't think it is a conflict but rather more libraries trying to resolve promises, and trying to use them before it's ready.

@johnslemmer mind testing the latest version?

@marandaneto just updated to 2.11.5, rebuilt and installed.  Sorry to say it is still crashing.

@johnslemmer can you reproduce on Android as well? I could not reproduce it on iOS anymore.

@marandaneto I don't have a way to test on an android device.... I've only been building an iOS app currently. You want me to turn on debug in Sentry?

Yes, posthog also has a debug mode.
    <PostHogProvider
      client={client}
      autocapture={{
        captureTouches: true,
        captureLifecycleEvents: true,
        captureScreens: true,
		...
      debug={true}
      ...

The other question is how you install the downloaded file from Expo (.ipa), are you using any CLI or something?

@marandaneto I'm installing via the expo website.  Specifically for all of this reproduction testing I've been creating an internal preview build and then on the website for a particular build I open that build page in safari and tap install (I also delete the old app first).
I'll try turning on those debugs later tonight and see what I get.... but won't those debugs just print to stdout and be lost in my "production-like" build of the app?

I'm having the same issue, so I though OK I will implement the simple way form the docs, that is using the posthog provider with apiKey instead of client and let it "take care [of the async loading] under the hood"...
https://posthog.com/docs/libraries/react-native#with-the-posthogprovider
Thing is, it means I cannot track or use posthog hook functions at app load since the client is undefined, and I don't want to just bail out and not track: I want to track once it's loaded!
So for that, the provider should handle a queuing system for when its client is still loading, instead of returning an undefined client.

@antoinerousseau do you also experience a crash?
I agree, the RN should provide a sync. init as well so you don't run into those issues, a bit of this work relates to https://github.com/PostHog/posthog-js-lite/issues/96 since it requires the storage to be initialized and React Native is almost everything async.

export const posthog = new PostHog(
  '...,
  {
    host: 'https://app.posthog.com',
  },
);

    <PostHogProvider
      client={posthog}
      autocapture={{
        captureLifecycleEvents: true,
        captureScreens: true,
        captureTouches: true,
      }}
      debug={true}>
      {props.children}
    </PostHogProvider>

This should work because the PostHog creation is sync but it leads to this warning, so I guess it's not recommended as well.
@benjackwhite ideas what's going on here? just asking before I spend more time digging into it since you have worked on it.

@antoinerousseau do you also experience a crash? I agree, the RN should provide a sync. init as well so you don't run into those issues, a bit of this work relates to #96 since it requires the storage to be initialized and React Native is almost everything async.

The provider init does not need to be async: the events queue can just use the memory through a variable instead of local async storage, then when the client and the storage are initialized it reads and executes the queue as a FIFO list

@antoinerousseau Can you reproduce it? Do you also happen to use sentry or was it just a coincidence?
Do you use Expo EAS as well? Can you describe your setup? Does it happen on Android as well? Do you have stack traces?

The provider init does not need to be async: the events queue can just use the memory through a variable instead of local async storage, then when the client and the storage are initialized it reads and executes the queue as a FIFO list

Yes, that is correct, but I'll focus on the crash right now and later improve that.

@antoinerousseau Can you reproduce it? Do you also happen to use sentry or was it just a coincidence? Do you use Expo EAS as well? Can you describe your setup? Does it happen on Android as well? Do you have stack traces?

I didn't reproduce locally, I just received an alert from Google Play Store about our Android vitals dropping since we released an app update that included the async client init of PostHog, and the stacktrace matches the issue:

We do happen to use Sentry too, but I don't see how it could be related?
We don't use EAS, we build with AppCenter.
I don't know if it happens on iOS but the report if for Android.

Here is a log dump from a crashed app that has both sentry and posthog debug on.  I don't see any posthog messages... just sentry.  Also for future reference this article was super helpful in pulling the logs off a production build of an app that crashes at boot: https://docs.expo.dev/debugging/runtime-issues/#production-errors
logs2024.02.22.txt

@johnslemmer can you try to disable onunhandledrejection and patchGlobalPromise and test it?
Or install the promise package as in the logs.

info	08:05:38.670741-0800	Bar	'Sentry Logger [warn]:', 'You appear to have multiple versions of the "promise" package installed. This may cause unexpected behavior like undefined Promise.allSettled. Please install the promise package manually using the exact version as the React Native package. See https://docs.sentry.io/platforms/react-native/troubleshooting/ for more details.'

I wonder if the promise mismatch is causing issues resolving the promises or something, shooting in the dark since I cannot reproduce it.

@marandaneto installed<EMAIL_ADDRESS> The app still crashes.  Here are more logs:
logs2<IP_ADDRESS>.txt

That fixed it!
@marandaneto thanks for digging in to this for me!


Overwriting field title when dynamically creating a model

Hi there, first of all, congrats for the awesome work!
I'm working on a project where I need to dynamically convert a Pandas dataframe to a list of Pydantic "beans", which I later dispatch as Avro. I use the create_model() method to generate the model.
To generate the Avro schema, I leverage the .schema_json() method from Pydantic models.
However, names of the fields in the resulting Json are written as titles (e.g. "CustomerKey" becomes "Customerkey"). Because of that, there is a mismatch between the names in the records and the schema.
My question: is it possible to retain the field name when using schema_json(). If not, is it possible to overwrite/define the title of the field when calling create_model()? I've searched a lot but could not find an example on how to do it.
Thanks in advance.

Hi @felipemmelo
You can overwrite it with thetitle kwarg passed to Field
class Model(BaseModel):
    CustomerKey: str = Field(title='CustomerKey')

So with create_model it's the same
from pydantic import create_model, Field

field_definitions = {
    'CustomerKey': str
}

MyModel = create_model('MyModel', **{
    field_name: (field_type, Field(title=field_name))
    for field_name, field_type in field_definitions.items()
})

assert MyModel.schema() == {
    'title': 'MyModel',
    'type': 'object',
    'properties': {
        'CustomerKey': {'title': 'CustomerKey', 'type': 'string'}
    },
    'required': ['CustomerKey']
}

Hope it helps!

Hi @felipemmelo
You can overwrite it with thetitle kwarg passed to Field
class Model(BaseModel):
    CustomerKey: str = Field(title='CustomerKey')

So with create_model it's the same
from pydantic import create_model, Field

field_definitions = {
    'CustomerKey': str
}

MyModel = create_model('MyModel', **{
    field_name: (field_type, Field(title=field_name))
    for field_name, field_type in field_definitions.items()
})

assert MyModel.schema() == {
    'title': 'MyModel',
    'type': 'object',
    'properties': {
        'CustomerKey': {'title': 'CustomerKey', 'type': 'string'}
    },
    'required': ['CustomerKey']
}

Hope it helps!

Hi @PrettyWood , definitely helped. Tks a lot!

Hi @PrettyWood , definitely helped. Tks a lot!


Type predictions for union types

This PR provides prediction functions that distinguish union types, which are frequently used in request return values. It works very well in my own use cases.
Usage example (modified examples/database-update-send-email):

Should help resolve #92
PS: The added file would look better if printWidth of prettier could be set to larger number than the default 80 :P

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

This is a nice idea, but closing as we're planning to replace many of the existing hand-authored types with OpenAPI-generated types.

So you will deprecate the union types since generating the types from OpenAPI? If not, I am very curious how would you resolve union types. Looking forward to your progress.

@EnixCoda The types may change a bit as we do the transition, and using an OpenAPI schema may allow us to generate type guard functions as well. For those reasons it doesn’t make sense to accept this changeset at the moment. We can revisit after the new types land.


Different results when combining samples into a single AnnData object

Hi,
I am processing CpG data from HiFi reads and wanted to run AltumAge and Horvath2013 models through pyaging.
I have a Nextflow pipeline that generates the AnnData h5ad with my intersected probeIDs from the models.
I noticed that when I run a single sample vs when I combine 2 samples from my initial secondary analysis results, I get very different results. Is this because of the normalization being performed?
Results from concatenated AnnData object

Results from single sample AnnData object

I suspect this is due to the imputation step that occurs when the adata object is created from the pandas dataframe. If a column only has missing values (single sample), it is dropped, but if one of the two samples has a value, the mean imputer will simply use that value. Let me know if that makes sense and if there is anything else I can help with!

I anticipate it will be available in about a month (first in its own repo then on pyaging)! Thanks for your interest!


Add Awesome SEO link

A curated list of seo links.
https://github.com/teles/awesome-seo

There's already a list on SEO: https://github.com/marcobiedermann/search-engine-optimization
Perhaps we could merge the content into @marcobiedermann's list considering that one was created first?

Cool @davisonio,
I will call the creator of the other list to talk about this: @teles.


Feature request: children

Describe the feature
It would be nice if we could pass children to the arc. I could even submit a PR for that if anyone would agree with that kind of logic
Motivation
Currently AFAIK we have to rely on absolute position to render anything inside the arc.

In the I initial version I had a possibility to put children at the end of the arc. So once arc was animated, position of the child followed the end of the arc. Is this your use case?


Add fields 'platforms' and  'status' to Builder.

Consider the following example output:
$ docker buildx inspect default
Name:   default
Driver: docker

Nodes:
Name:      default
Endpoint:  default
Status:    running
Platforms: linux/amd64, linux/arm64

I am using python_on_whales on a project and needed to access the values of fields status and platforms.
However, I was only able to access the values of fields name and driver.
With the proposed changes, the following is now possible:
>>> from python_on_whales import docker
>>> builder = docker.buildx.inspect('default')
>>> builder.platforms
['linux/amd64', 'linux/arm64']
>>> builder.status
'running'

In case no platform data is provided the field platforms assumes value [] .
Updated unit tests to consider the proposed changes.

Thank you very much. I wish docker buildx had some json formatting options. But until then, splitting it is.
Note that you might need to use some linting for the PR to pass.

I run isort  and fixed the imports formatting.
PR should pass now.


Inspector#report(MaterialList, Path) and Inspector#report(MProductGroup, Double, Path) method are incomplete; should not be used

in :tutorial/src/test/java/tut/motivation/TakeScreenshotAndWriteFileTest, I wrote
// create a report of the stored materials
        MaterialList materialList = store.select(jobName, jobTimestamp);
        JobTimestamp reportTimestamp = JobTimestamp.laterThan(jobTimestamp);
        Inspector inspector = Inspector.newInstance(store);
        Path report = outputDir.resolve("stored_materials.html");
        inspector.report(materialList, report);
        assertTrue(Files.exists(report));

and got the  failed to refer to the image URL correctly.

The following code worked find:
// create a report of the stored materials
        MaterialList materialList = store.select(jobName, jobTimestamp);
        JobTimestamp reportTimestamp = JobTimestamp.laterThan(jobTimestamp);
        Inspector inspector = Inspector.newInstance(store);
        Path report = inspector.report(materialList, "stored_materials.html");
        assertTrue(Files.exists(report));

The difference is whether to use Inspector#report(MaterialList, Path) (FAILED) or Inspector#report(MaterialList, String) (SUCCESS).

The method signature Inspector#report(MaterialList, Path) gives me an impression that I can specify ANY Path as the 2nd argument. But it is not true.
Inspector#report() method generates a HTML file inside which all   tags assume that the HTML is located immediately under the store directory. If I locate the HTML file anywhere else, then the relative path to the image files will be invalid.

If Inspector#report(MaterialList, Path) generates a self-contained MHTML file, then the links of  could be valid; but in fact it does not do that.

TENTATIVE CONCLUSION
I should suspend Inspector#report(xxx, Path) method.


[Numpy] add: numpy op trilindices

Description
(Brief description on what this PR is about)
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

@mxnet-bot run ci [all]

@BenjaminCHEN2016 please remember to do git submodule update --init --recursive after you rebase to get rid of the change to 3rdparty/mkldnn

@mxnet-bot run ci [unix-gpu]

@mxnet-bot run ci [macosx]

@mxnet-bot run ci [unix-gpu]

@mxnet-bot run ci [unix-gpu]


Add analytics for features

Tests failing due to missing SessionNavigator.REPORT_CASE_AUTOSELECT. Is this PR missing a cross-request w/ commcare?

ugh yes sorry 1 sec

@phillipm now I'm confused because the test that it says is failing is passing locally for me. Going to look at it a bit more but not sure what the issue could be.


Update Invoices setting screen

Part of the Invoicing payments project
Main issue: https://github.com/Expensify/Expensify/issues/382977
Doc section: https://docs.google.com/document/d/1CF5gw-SJx7ckZCgTJNj1IqBnsRuSxD2Bfd_uB5rRGxk/edit#heading=h.sidhyk9taftq
Project: https://github.com/orgs/Expensify/projects/114/views/3
Feature Description

Manual Test Steps
Automated Tests

I think this is just waiting for payment, right @madmax330 ?

Yeah we need to pay the c+ for their review

cc @VickyStash  I don't think we want to remove it right?

Yeah, ROUTES.WORKSPACE_INVOICES route will be reused in the future.

@madmax330 @VickyStash should we close this issue?

@rezkiy37 I think we still need to align Invoice settings screen with the mockup.

We need to:

Remove outdated sections
Make Invoicing details section be visible
Update the heading

After that we can close the issue.

Hi, I am Michael (Mykhailo) from Callstack, an expert agency and I can work on this issue.

Actively working on the issue.

Payment summary:
C+: @fedirjh - $250 - You can make a manual request


Added Hardhat config maps for volume/common tests

Decided to remove Hardhat, so closing. Will revert changes in volume branch.


[Documentation update required- TaskDetailViewModel is part of TaskDetailFragment & not TasksFragment] - Testing Codelab 5.2, Step 3 - Also Update TaskDetail Fragment and ViewModel

Describe the problem
Point-4: Update TasksFragment to use the factory.
TaskDetailFragment has TaskDetailViewModel & not TasksFragment
It should be "TaskDetailFragment" and not "TasksFragment"
In which lesson and step of the codelab can this issue be found?
Lesson number-5.2 + step number-3
https://codelabs.developers.google.com/codelabs/advanced-android-kotlin-training-testing-test-doubles/#6
How to reproduce?
Please have a look @ "Point-4: Update TasksFragment to use the factory."
Versions

What version of Android Studio are you using?
3.6.1

Additional information
Add any other context about the problem here.
codelab: advanced-android-kotlin

Looks fixed?


refactor (falcon/status_codes.py): Refactor HTTP_Status Codes

Summary of Changes
refactor http_status codes, make them more reader friendly by using python feature of assigning single value to multiple variables.
# before
HTTP_200 = '200 OK'
HTTP_OK = HTTP_200
HTTP_201 = '201 Created'
HTTP_CREATED = HTTP_201

# after
HTTP_200 = HTTP_OK = '200 OK'
HTTP_201 = HTTP_CREATED = '201 Created'

Related Issues
no issue resolved
Pull Request Checklist
This is just a reminder about the most common mistakes.  Please make sure that you tick all appropriate boxes.  But please read our contribution guide at least once; it will save you a few review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing to do.

[x] Added tests for changed code.
[x] Prefixed code comments with GitHub nick and an appropriate prefix.
[x] Coding style is consistent with the rest of the framework.
[x] Updated documentation for changed code.

[x] Added docstrings for any new classes, functions, or modules.
[x] Updated docstrings for any modifications to existing code.
[x] Added references to new classes, functions, or modules to the relevant RST file under docs/.
[x] Updated all relevant supporting documentation files under docs/.
[x] A copyright notice is included at the top of any new modules (using your own name or the name of your organization).
[x] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.

[x] Changes (and possible deprecations) have towncrier news fragments under docs/_newsfragments/. (Run towncrier --draft to ensure it renders correctly.)

If you have any questions to any of the points above, just submit and ask! This checklist is here to help you, not to deter you from contributing!
PR template inspired by the attrs project.

refactoring of http_codes


jQuery: Target HTML Elements With Selectors Using jQuery

https://www.freecodecamp.org/learn/front-end-libraries/jquery/target-html-elements-with-selectors-using-jquery

Code:
$(document).ready(function()
{
  $("button").addClass("animated bounce");
});

Errors: You should use the jQuery addClass() function to give the classes animated and bounce to your button elements. Your jQuery code should be within the $(document).ready(); function.
Code:
$(document).ready(function(){
  $("button").addClass("animated bounce");
});

Error: You should use the jQuery addClass() function to give the classes animated and bounce to your button elements.
But:
$(document).ready(function() {
  $("button").addClass("animated bounce");
});

passes flawlessly. The test regular expressions are obviously poorly written.

How does that PR look @Czespo?

@moT01 @AshNaz87
PR looks good, though I have a minor suggestion for the regular expression:
/\$\(document\)\.ready\(function\s*\(\)\s*{\n\s*\$.*button.*.addClass.*/g
->
/\$\(document\)\.ready\(function\s*\(\)\s*{\s*\$.*button.*.addClass.*/g
This allows the entire function to be on a single line.
Also, should ES6 syntax be allowed? Another thing, jQuery recommends $(<callback>) instead of $(document).ready(<callback>) (which are equivalent); should that also be allowed?

Just my two-cents: Ideally, all tests would look at output, and be almost impartial to method (unless the challenge explicitly excludes a method). However, the seed code is structured in such a way that a user is not asked to change it, and testing for every possible way a user might is odd.
I am all for exhaustive tests, but I think users following instructions is more pertinent.

@Sky020 Hmm, you're right. I thought the seed code contained no JS. In that regard, this issue was misguided.


Issue in Exception handling, Exception Types trying to access invalid properties

Describe the bug in current situation
This is a technical bug/debt. Its being observed that on many locations on BACKEND PYTHON components particularly on
requestmanagementapi and reviewerapi while printing and/or logging exception message , an invalid property is being used as below image. This causes an exception to occur again with that !.  This happens on PROD as well.  Issue is like, messages property does not exists for exception type KeyError . Important , KeyError is only a particular instance for this issue, but there will many other.
Private Zenhub Image
Link bug to the User Story
Impact of this bug
There is no functional impact as such! But troubleshooting for any issues might get diverted due to the unwanted messages.
Chance of Occurring (high/medium/low/very low) : HIGH
Pre Conditions: which Env, any pre-requesites or assumptions to execute steps?
Steps to Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Actual/ observed behaviour/ results
Expected behaviour
A clear and concise description of what you expected to happen. Use the gherking language.
Screenshots/ Visual Reference/ Source
Private Zenhub Image

@Aman-Hundal  - Please check all computing services as well

No functional testing needed / QA needed. Ticket closed.


Migrate relevant command docs from slashes to dashes

Full list of commands: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/commands-by-server-role
For example, timeout -t 5 does the same thing as timeout /t 5
A few reasons why:

Commands also support / as a path separator (cd a/b works the same as cd a\b). Best not to cause unnecessary confusion between arguments and paths.

PowerShell, Microsoft's newer CLI interface, uses dashes for arguments, and uses / as a path separator. Again, better to avoid confusion if - works just fine everywhere.

It would be consistent with other Microsoft products such as the .NET docs, which yet again use - for arguments and / as a path separator: https://github.com/dotnet/docs/issues/4072

Many 3rd-party CLI programs that run on Windows exclusively use dashes for cross-platform compatibility. It would be better if users only need to know dashes for all commands.

I can't really think of any upside to having the docs keep using /. Windows has supported dashes for arguments in most of its command-line programs for decades, so backwards compatibility is not an issue (unless you intend the docs to be relevant for MS-DOS... which is very dead). And for users who are used to using / and scripts that use /, those will continue to work no matter what the docs say.
I haven't tested all of these commands, it's possible that some don't support dashes. Each command would need to be tested before having their documentation changed.

By the way, I would be willing to help out with this. I just need to know if this is what's preferred.

Hi @aaronfranke,
Thank you for the suggestion. Your reasoning makes sense, although this wouldn’t fall among our higher priorities. We wouldn’t undertake this effort ourselves for that reason. We appreciate your willingness to help get it done, but it would be difficult for you to do for two reasons: First, it would have to be consistently applied throughout the commands, so we wouldn’t merge it until a complete PR was submitted, and that would be a substantial undertaking. Second, the testing component you mention would be tedious for you and difficult for us to verify. We wouldn’t make a global change like this without testing it ourselves, and that comes back again to this falling below our current priorities. With that said, we do appreciate your suggestion and will consider it if we do an overhaul of the commands docs in the future.
(Alternatively, you could submit a PR to the page you site with your explanation of dash and slash usage so others are aware and can apply them appropriately.
Thanks,
Corey