multi_retrieval_qa.py hardwires ChatOpenAI() at the _default_chain

System Info
System:
langchain   0.0.321
Python 3.10
Hi,
I get an error related to a missing OpenAI token when trying to reuse the code to dynamically select from multiple retrievers at the MultiRetrievalQAChain initialization step,
multi_retriever_chain = MultiRetrievalQAChain.from_retrievers(
    llm=llm, # Llama2 served by vLLM via VLLMOpenAI
    retriever_infos=retrievers_info,
    verbose=True)

I get an error because I'm not using OpenAI LLMs and the LangChain code (multi_retrieval_qa.py) hard wires ChatOpenAI() as the LLM  for the _default_chain.
_default_chain = ConversationChain(
                llm=ChatOpenAI(), prompt=prompt, input_key="query", output_key="result"
            )

I think you need to assign the llm variable to the llm provided when initializing the class.
Who can help?
No response
Information

[X] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[ ] Callbacks/Tracing
[ ] Async

Reproduction
Including the Python code and the PDF files that get loaded by the retrievers.
#%%
import torch
from langchain.llms import VLLMOpenAI
from langchain.document_loaders import PyPDFLoader

# Import for retrieval-augmented generation RAG
from langchain import hub
from langchain.chains import RetrievalQA, MultiRetrievalQAChain
from langchain.vectorstores import Chroma
from langchain.text_splitter import SentenceTransformersTokenTextSplitter
from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
#%%
# URL for the vLLM service
INFERENCE_SRV_URL = "http://localhost:8000/v1"

def setup_chat_llm(vllm_url, max_tokens=512, temperature=0.2):
    """
    Intializes the vLLM service object.

    :param vllm_url: vLLM service URL
    :param max_tokens: Max number of tokens to get generated by the LLM
    :param temperature: Temperature of the generation process
    :return: The vLLM service object
    """
    chat = VLLMOpenAI(
        openai_api_key="EMPTY",
        openai_api_base=vllm_url,
        model_name="meta-llama/Llama-2-7b-chat-hf",
        temperature=temperature,
        max_tokens=max_tokens,
    )
    return chat
#%%
# Initialize LLM service
llm = setup_chat_llm(vllm_url=INFERENCE_SRV_URL)
#%%
%%time
# Set up the embedding encoder (Sentence Transformers) and vector store
model_name = "all-mpnet-base-v2"
model_kwargs = {'device': 'cuda' if torch.cuda.is_available() else 'cpu'}
encode_kwargs = {'normalize_embeddings': False}
embeddings = SentenceTransformerEmbeddings(
    model_name=model_name,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs
)

# Set up the document splitter
text_splitter = SentenceTransformersTokenTextSplitter(chunk_size=500, chunk_overlap=0)

# Load PDF documents
loader = PyPDFLoader(file_path="../data/AI_RMF_Playbook.pdf")
rmf_doc = loader.load()
rmf_splits = text_splitter.split_documents(rmf_doc)
rmf_retriever = Chroma.from_documents(documents=rmf_splits, embedding=embeddings)

loader = PyPDFLoader(file_path="../data/OWASP-Top-10-for-LLM-Applications-v101.pdf")
owasp_doc = loader.load()
owasp_splits = text_splitter.split_documents(owasp_doc)
owasp_retriever = Chroma.from_documents(documents=owasp_splits, embedding=embeddings)

loader = PyPDFLoader(file_path="../data/Threat Modeling LLM Applications - AI Village.pdf")
ai_village_doc = loader.load()
ai_village_splits = text_splitter.split_documents(ai_village_doc)
ai_village_retriever = Chroma.from_documents(documents=ai_village_splits, embedding=embeddings)
#%%
retrievers_info = [
    {
        "name": "NIST AI Risk Management Framework",
        "description": "Guidelines for organizations and people to manage risks associated with the use of AI ",
        "retriever": rmf_retriever.as_retriever()
    },
    {
        "name": "OWASP Top 10 for LLM Applications",
        "description": "Provides practical, actionable, and concise security guidance to navigate the complex and evolving terrain of LLM security",
        "retriever": owasp_retriever.as_retriever()
    },
    {
        "name": "Threat Modeling LLM Applications",
        "description": "A high-level example from Gavin Klondike on how to build a threat model for LLM applications",
        "retriever": ai_village_retriever.as_retriever()
    }
]
#%%
# Import default LLama RAG prompt
prompt = hub.pull("rlm/rag-prompt-llama")
print(prompt.dict()['messages'][0]['prompt']['template'])
#%%
multi_retriever_chain = MultiRetrievalQAChain.from_retrievers(
    llm=llm,
    retriever_infos=retrievers_info,
    #default_retriever=owasp_retriever.as_retriever(),
    #default_prompt=prompt,
    #chain_type_kwargs={"prompt": prompt},
    verbose=True)
#%%
question = "What is prompt injection?"
result = multi_retriever

AI_RMF_Playbook.pdf
OWASP-Top-10-for-LLM-Applications-v101.pdf
Threat Modeling LLM Applications - AI Village.pdf
Expected behavior
I was expecting to get results equivalent to what is shown at LangChain's documentation  dynamically select from multiple retrievers

@dosu-bot
Thanks
Your answer helped me run the script without errors, however I got an unintended result as well as some warnings that might indicate I'm not using the MultiRetrievalQAChain properly.
Here the new code
#%%
import torch
import langchain
langchain.debug = True

from langchain.llms import VLLMOpenAI
from langchain.document_loaders import PyPDFLoader
from langchain.prompts import PromptTemplate

# Import for retrieval-augmented generation RAG
from langchain import hub
from langchain.chains import ConversationChain, MultiRetrievalQAChain
from langchain.vectorstores import Chroma
from langchain.text_splitter import SentenceTransformersTokenTextSplitter
from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
#%%
# URL for the vLLM service
INFERENCE_SRV_URL = "http://localhost:8000/v1"

def setup_chat_llm(vllm_url, max_tokens=512, temperature=0.2):
    """
    Intializes the vLLM service object.

    :param vllm_url: vLLM service URL
    :param max_tokens: Max number of tokens to get generated by the LLM
    :param temperature: Temperature of the generation process
    :return: The vLLM service object
    """
    chat = VLLMOpenAI(
        model_name="meta-llama/Llama-2-7b-chat-hf",
        openai_api_key="EMPTY",
        openai_api_base=vllm_url,
        temperature=temperature,
        max_tokens=max_tokens,
    )
    return chat
#%%
# Initialize LLM service
llm = setup_chat_llm(vllm_url=INFERENCE_SRV_URL)
#%%
%%time
# Set up the embedding encoder (Sentence Transformers) and vector store
model_name = "all-mpnet-base-v2"
model_kwargs = {'device': 'cuda' if torch.cuda.is_available() else 'cpu'}
encode_kwargs = {'normalize_embeddings': False}
embeddings = SentenceTransformerEmbeddings(
    model_name=model_name,
    model_kwargs=model_kwargs,
    encode_kwargs=encode_kwargs
)
# Set up the document splitter
text_splitter = SentenceTransformersTokenTextSplitter(chunk_size=500, chunk_overlap=0)

# Load PDF documents
loader = PyPDFLoader(file_path="../data/AI_RMF_Playbook.pdf")
rmf_doc = loader.load()
rmf_splits = text_splitter.split_documents(rmf_doc)
rmf_retriever = Chroma.from_documents(documents=rmf_splits, embedding=embeddings)

loader = PyPDFLoader(file_path="../data/OWASP-Top-10-for-LLM-Applications-v101.pdf")
owasp_doc = loader.load()
owasp_splits = text_splitter.split_documents(owasp_doc)
owasp_retriever = Chroma.from_documents(documents=owasp_splits, embedding=embeddings)

loader = PyPDFLoader(file_path="../data/Threat Modeling LLM Applications - AI Village.pdf")
ai_village_doc = loader.load()
ai_village_splits = text_splitter.split_documents(ai_village_doc)
ai_village_retriever = Chroma.from_documents(documents=ai_village_splits, embedding=embeddings)
#%%
retrievers_info = [
    {
        "name": "NIST AI Risk Management Framework",
        "description": "Guidelines for organizations and people to manage risks associated with the use of AI ",
        "retriever": rmf_retriever.as_retriever()
    },
    {
        "name": "OWASP Top 10 for LLM Applications",
        "description": "Provides practical, actionable, and concise security guidance to navigate the complex and evolving terrain of LLM security",
        "retriever": owasp_retriever.as_retriever()
    },
    {
        "name": "Threat Modeling LLM Applications",
        "description": "A high-level example from Gavin Klondike on how to build a threat model for LLM applications",
        "retriever": ai_village_retriever.as_retriever()
    }
]
#%%
prompt_template = (
""" [INST]<<SYS>> You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Use three sentences maximum and keep the answer concise.<</SYS>>
Question: {query}
Context: {history}
Answer: [/INST]
""")
prompt = PromptTemplate(template=prompt_template, input_variables=['history', 'query'])
#%%
default_chain = ConversationChain(
    llm=llm,  # Your own LLM
    prompt=prompt,  # Your own prompt
    input_key="query",
    output_key="result",
    verbose=True,
)

multi_retriever_chain = MultiRetrievalQAChain.from_retrievers(
    llm=llm,
    retriever_infos=retrievers_info,
    default_chain=default_chain,  # Pass your default_chain here
    verbose=True
)
#%%
question = "What is prompt injection?"
result = multi_retriever_chain.run(question)
#%%
result

The first possible issue is the following warning:
llm.py:280: UserWarning: The predict_and_parse method is deprecated, instead pass an output parser directly to LLMChain.

I have not explicitly defined any LLMChain. From the code examples you provided, that was not needed, unless my case is different because I'm using LLama2 instead of OpenAI LLMs.
The second issue is that the chain is answering a question I never asked. From the code you can see I'm running the MultiRetrievalQAChain chain with question (query) "What is prompt injection?", the chain seems to respond to a question it made up: "What are the potential risks associated with the use of AI in the organization?"
Here the debug messages:
[chain/start] [1:chain:MultiRetrievalQAChain] Entering Chain run with input:
{
  "input": "What is prompt injection?"
}
[chain/start] [1:chain:MultiRetrievalQAChain > 2:chain:LLMRouterChain] Entering Chain run with input:
{
  "input": "What is prompt injection?"
}
[chain/start] [1:chain:MultiRetrievalQAChain > 2:chain:LLMRouterChain > 3:chain:LLMChain] Entering Chain run with input:
{
  "input": "What is prompt injection?"
}
[llm/start] [1:chain:MultiRetrievalQAChain > 2:chain:LLMRouterChain > 3:chain:LLMChain > 4:llm:VLLMOpenAI] Entering LLM run with input:
{
  "prompts": [
    "Given a query to a question answering system select the system best suited for the input. You will be given the names of the available systems and a description of what questions the system is best suited for. You may also revise the original input if you think that revising it will ultimately lead to a better response.\n\n<< FORMATTING >>\nReturn a markdown code snippet with a JSON object formatted to look like:\n```json\n{\n    \"destination\": string \\ name of the question answering system to use or \"DEFAULT\"\n    \"next_inputs\": string \\ a potentially modified version of the original input\n}\n```\n\nREMEMBER: \"destination\" MUST be one of the candidate prompt names specified below OR it can be \"DEFAULT\" if the input is not well suited for any of the candidate prompts.\nREMEMBER: \"next_inputs\" can just be the original input if you don't think any modifications are needed.\n\n<< CANDIDATE PROMPTS >>\nNIST AI Risk Management Framework: Guidelines for organizations and people to manage risks associated with the use of AI \nOWASP Top 10 for LLM Applications: Provides practical, actionable, and concise security guidance to navigate the complex and evolving terrain of LLM security\nThreat Modeling LLM Applications: A high-level example from Gavin Klondike on how to build a threat model for LLM applications\n\n<< INPUT >>\nWhat is prompt injection?\n\n<< OUTPUT >>"
  ]
}

/home/vmuser/miniconda3/envs/llm-env2/lib/python3.10/site-packages/langchain/chains/llm.py:280: UserWarning: The predict_and_parse method is deprecated, instead pass an output parser directly to LLMChain.
  warnings.warn(

[llm/end] [1:chain:MultiRetrievalQAChain > 2:chain:LLMRouterChain > 3:chain:LLMChain > 4:llm:VLLMOpenAI] [7.02s] Exiting LLM run with output:
{
  "generations": [
    [
      {
        "text": "\n{\n    \"destination\": \"NIST AI Risk Management Framework\",\n    \"next_inputs\": \"What are the potential risks associated with the use of AI in the organization?\"\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",
        "generation_info": {
          "finish_reason": "length",
          "logprobs": null
        }
      }
    ]
  ],
  "llm_output": {
    "token_usage": {
      "prompt_tokens": 342,
      "completion_tokens": 512,
      "total_tokens": 854
    },
    "model_name": "meta-llama/Llama-2-7b-chat-hf"
  },
  "run": null
}
[chain/end] [1:chain:MultiRetrievalQAChain > 2:chain:LLMRouterChain > 3:chain:LLMChain] [7.02s] Exiting Chain run with output:
{
  "text": "\n{\n    \"destination\": \"NIST AI Risk Management Framework\",\n    \"next_inputs\": \"What are the potential risks associated with the use of AI in the organization?\"\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
}
[chain/end] [1:chain:MultiRetrievalQAChain > 2:chain:LLMRouterChain] [7.02s] Exiting Chain run with output:
{
  "destination": "NIST AI Risk Management Framework",
  "next_inputs": {
    "query": "What are the potential risks associated with the use of AI in the organization?"
  }
}
[chain/start] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA] Entering Chain run with input:
{
  "query": "What are the potential risks associated with the use of AI in the organization?"
}
[chain/start] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA > 7:chain:StuffDocumentsChain] Entering Chain run with input:
[inputs]
[chain/start] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA > 7:chain:StuffDocumentsChain > 8:chain:LLMChain] Entering Chain run with input:
{
  "question": "What are the potential risks associated with the use of AI in the organization?",
  "context": "Context:\nmanage 1. 2 treatment of documented ai risks is prioritized based on impact, likelihood, or available resources or methods. about risk refers to the composite measure of an event ’ s probability of occurring and the magnitude ( or degree ) of the consequences of the corresponding events. the impacts, or consequences, of ai systems can be positive, negative, or both and can result in opportunities or risks. organizational risk tolerances are often informed by several internal and external factors, including existing industry practices, organizational values, and legal or regulatory requirements. since risk management resources are often limited, organizations usually assign them based on risk tolerance. ai risks that are deemed more serious receive more oversight attention and risk management resources. suggested actions assign risk management resources relative to established risk tolerance. ai systems with lower risk tolerances receive greater oversight, mitigation and management resources. document ai risk tolerance determination practices and resource decisions. regularly review risk tolerances and re - calibrate, as needed, in accordance with information from ai system monitoring and assessment. transparency & documentation did your organization implement a risk management system to address risks involved in deploying the identified ai solution ( e. g., personnel risk or changes to commercial objectives )? what assessments has the entity conducted on data security and privacy impacts associated with the ai system? does your organization have an existing governance structure that can be leveraged to oversee the organization ’ s use of ai? organizations can document the following : 1 7 6\n\nContext:\nmanage 2 strategies to maximize ai benefits and minimize negative impacts are planned, prepared, implemented, and documented, and informed by input from relevant ai actors. manage 2. 1 resources required to manage ai risks are taken into account, along with viable non - ai alternative systems, approaches, or methods – to reduce the magnitude or likelihood of potential impacts. about organizational risk response may entail identifying and analyzing alternative approaches, methods, processes or systems, and balancing tradeoffs between trustworthiness characteristics and how they relate to organizational principles and societal values. analysis of these tradeoffs is informed by consulting with interdisciplinary organizational teams, independent domain experts, and engaging with individuals or community groups. these processes require sufficient resource allocation. suggested actions plan and implement risk management practices in accordance with established organizational risk tolerances. verify risk management teams are resourced to carry out functions, including : establishing processes for considering methods that are not automated ; semi - automated ; or other procedural alternatives for ai functions. enhance ai system transparency mechanisms for ai teams. enable exploration of ai system limitations by ai teams. identify, assess, and catalog past failed designs and negative impacts or outcomes to avoid known failure modes. identify resource allocation approaches for managing risks in systems : deemed high - risk, that self - update ( adaptive, online, reinforcement self - supervised learning or similar ), 1 8 2\n\nContext:\nmap 3. 2 potential costs, including non - monetary costs, which result from expected or realized ai errors or system functionality and trustworthiness - as connected to organizational risk tolerance - are examined and documented. about anticipating negative impacts of ai systems is a difficult task. negative impacts can be due to many factors, such as system non - functionality or use outside of its operational limits, and may range from minor annoyance to serious injury, financial losses, or regulatory enforcement actions. ai actors can work with a broad set of stakeholders to improve their capacity for understanding systems ’ potential impacts – and subsequently – systems ’ risks. suggested actions perform context analysis to map potential negative impacts arising from not integrating trustworthiness characteristics. when negative impacts are not direct or obvious, ai actors can engage with stakeholders external to the team that developed or deployed the ai system, and potentially impacted communities, to examine and document : who could be harmed? what could be harmed? when could harm arise? how could harm arise? identify and implement procedures for regularly evaluating the qualitative and quantitative costs of internal and external ai system failures. develop actions to prevent, detect, and / or correct potential risks and related impacts. regularly evaluate failure costs to inform go / no - go deployment decisions throughout the ai system lifecycle. 83\n\nContext:\ngovern 2. 3 executive leadership of the organization takes responsibility for decisions about risks associated with ai system development and deployment. about senior leadership and members of the c - suite in organizations that maintain an ai portfolio, should maintain awareness of ai risks, affirm the organizational appetite for such risks, and be responsible for managing those risks. accountability ensures that a specific team and individual is responsible for ai risk management efforts. some organizations grant authority and resources ( human and budgetary ) to a designated officer who ensures adequate performance of the institution ’ s ai portfolio ( e. g., predictive modeling, machine learning ). suggested actions declare risk tolerances for developing or using ai systems. support ai risk management efforts and play an active role in such efforts. integrate a risk and harm prevention mindset throughout the ai lifecycle as part of organizational culture. support competent risk management executives. delegate the power, resources, and authorization to perform risk management to each appropriate level throughout the management chain. organizational management can : organizations can establish board committees for ai risk management and oversight functions and integrate those functions within the organization ’ s broader enterprise risk management approaches. 2 3"
}
[llm/start] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA > 7:chain:StuffDocumentsChain > 8:chain:LLMChain > 9:llm:VLLMOpenAI] Entering LLM run with input:
{
  "prompts": [
    "Use the following pieces of context to answer the question at the end. If you don't know the answer, just say that you don't know, don't try to make up an answer.\n\nContext:\nmanage 1. 2 treatment of documented ai risks is prioritized based on impact, likelihood, or available resources or methods. about risk refers to the composite measure of an event ’ s probability of occurring and the magnitude ( or degree ) of the consequences of the corresponding events. the impacts, or consequences, of ai systems can be positive, negative, or both and can result in opportunities or risks. organizational risk tolerances are often informed by several internal and external factors, including existing industry practices, organizational values, and legal or regulatory requirements. since risk management resources are often limited, organizations usually assign them based on risk tolerance. ai risks that are deemed more serious receive more oversight attention and risk management resources. suggested actions assign risk management resources relative to established risk tolerance. ai systems with lower risk tolerances receive greater oversight, mitigation and management resources. document ai risk tolerance determination practices and resource decisions. regularly review risk tolerances and re - calibrate, as needed, in accordance with information from ai system monitoring and assessment. transparency & documentation did your organization implement a risk management system to address risks involved in deploying the identified ai solution ( e. g., personnel risk or changes to commercial objectives )? what assessments has the entity conducted on data security and privacy impacts associated with the ai system? does your organization have an existing governance structure that can be leveraged to oversee the organization ’ s use of ai? organizations can document the following : 1 7 6\n\nContext:\nmanage 2 strategies to maximize ai benefits and minimize negative impacts are planned, prepared, implemented, and documented, and informed by input from relevant ai actors. manage 2. 1 resources required to manage ai risks are taken into account, along with viable non - ai alternative systems, approaches, or methods – to reduce the magnitude or likelihood of potential impacts. about organizational risk response may entail identifying and analyzing alternative approaches, methods, processes or systems, and balancing tradeoffs between trustworthiness characteristics and how they relate to organizational principles and societal values. analysis of these tradeoffs is informed by consulting with interdisciplinary organizational teams, independent domain experts, and engaging with individuals or community groups. these processes require sufficient resource allocation. suggested actions plan and implement risk management practices in accordance with established organizational risk tolerances. verify risk management teams are resourced to carry out functions, including : establishing processes for considering methods that are not automated ; semi - automated ; or other procedural alternatives for ai functions. enhance ai system transparency mechanisms for ai teams. enable exploration of ai system limitations by ai teams. identify, assess, and catalog past failed designs and negative impacts or outcomes to avoid known failure modes. identify resource allocation approaches for managing risks in systems : deemed high - risk, that self - update ( adaptive, online, reinforcement self - supervised learning or similar ), 1 8 2\n\nContext:\nmap 3. 2 potential costs, including non - monetary costs, which result from expected or realized ai errors or system functionality and trustworthiness - as connected to organizational risk tolerance - are examined and documented. about anticipating negative impacts of ai systems is a difficult task. negative impacts can be due to many factors, such as system non - functionality or use outside of its operational limits, and may range from minor annoyance to serious injury, financial losses, or regulatory enforcement actions. ai actors can work with a broad set of stakeholders to improve their capacity for understanding systems ’ potential impacts – and subsequently – systems ’ risks. suggested actions perform context analysis to map potential negative impacts arising from not integrating trustworthiness characteristics. when negative impacts are not direct or obvious, ai actors can engage with stakeholders external to the team that developed or deployed the ai system, and potentially impacted communities, to examine and document : who could be harmed? what could be harmed? when could harm arise? how could harm arise? identify and implement procedures for regularly evaluating the qualitative and quantitative costs of internal and external ai system failures. develop actions to prevent, detect, and / or correct potential risks and related impacts. regularly evaluate failure costs to inform go / no - go deployment decisions throughout the ai system lifecycle. 83\n\nContext:\ngovern 2. 3 executive leadership of the organization takes responsibility for decisions about risks associated with ai system development and deployment. about senior leadership and members of the c - suite in organizations that maintain an ai portfolio, should maintain awareness of ai risks, affirm the organizational appetite for such risks, and be responsible for managing those risks. accountability ensures that a specific team and individual is responsible for ai risk management efforts. some organizations grant authority and resources ( human and budgetary ) to a designated officer who ensures adequate performance of the institution ’ s ai portfolio ( e. g., predictive modeling, machine learning ). suggested actions declare risk tolerances for developing or using ai systems. support ai risk management efforts and play an active role in such efforts. integrate a risk and harm prevention mindset throughout the ai lifecycle as part of organizational culture. support competent risk management executives. delegate the power, resources, and authorization to perform risk management to each appropriate level throughout the management chain. organizational management can : organizations can establish board committees for ai risk management and oversight functions and integrate those functions within the organization ’ s broader enterprise risk management approaches. 2 3\n\nQuestion: What are the potential risks associated with the use of AI in the organization?\nHelpful Answer:"
  ]
}
[llm/end] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA > 7:chain:StuffDocumentsChain > 8:chain:LLMChain > 9:llm:VLLMOpenAI] [5.56s] Exiting LLM run with output:
{
  "generations": [
    [
      {
        "text": " Based on the provided context, the potential risks associated with the use of AI in the organization include:\n1. Data security and privacy risks: The organization may face risks related to data security and privacy due to the use of AI systems.\n2. Impact on personnel: The use of AI may lead to changes in personnel roles and responsibilities, which could result in negative impacts on employees.\n3. Changes to commercial objectives: AI may lead to changes in commercial objectives, which could result in negative impacts on the organization.\n4. Liability and regulatory risks: The organization may face liability and regulatory risks due to the use of AI systems.\n5. Ethical risks: The use of AI may raise ethical concerns, such as bias, discrimination, and transparency, which could result in negative impacts on the organization.\n6. Reputation risks: The organization may face reputation risks due to the use of AI systems, such as negative media coverage or public perception of the technology.\n7. Technical risks: The organization may face technical risks related to the development and deployment of AI systems, such as system failures or errors.\n8. Integration risks: The organization may face integration risks due to the use of AI systems, such as compatibility issues with existing systems or processes.\n9. Dependence risks: The organization may face dependence risks due to the use of AI systems, such as over-reliance on the technology.\n10. Unknown risks: There may be other risks associated with the use of AI in the organization that are not yet known or anticipated.\n\n\n\n\n\n",
        "generation_info": {
          "finish_reason": "stop",
          "logprobs": null
        }
      }
    ]
  ],
  "llm_output": {
    "token_usage": {
      "prompt_tokens": 1293,
      "completion_tokens": 377,
      "total_tokens": 1670
    },
    "model_name": "meta-llama/Llama-2-7b-chat-hf"
  },
  "run": null
}
[chain/end] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA > 7:chain:StuffDocumentsChain > 8:chain:LLMChain] [5.56s] Exiting Chain run with output:
{
  "text": " Based on the provided context, the potential risks associated with the use of AI in the organization include:\n1. Data security and privacy risks: The organization may face risks related to data security and privacy due to the use of AI systems.\n2. Impact on personnel: The use of AI may lead to changes in personnel roles and responsibilities, which could result in negative impacts on employees.\n3. Changes to commercial objectives: AI may lead to changes in commercial objectives, which could result in negative impacts on the organization.\n4. Liability and regulatory risks: The organization may face liability and regulatory risks due to the use of AI systems.\n5. Ethical risks: The use of AI may raise ethical concerns, such as bias, discrimination, and transparency, which could result in negative impacts on the organization.\n6. Reputation risks: The organization may face reputation risks due to the use of AI systems, such as negative media coverage or public perception of the technology.\n7. Technical risks: The organization may face technical risks related to the development and deployment of AI systems, such as system failures or errors.\n8. Integration risks: The organization may face integration risks due to the use of AI systems, such as compatibility issues with existing systems or processes.\n9. Dependence risks: The organization may face dependence risks due to the use of AI systems, such as over-reliance on the technology.\n10. Unknown risks: There may be other risks associated with the use of AI in the organization that are not yet known or anticipated.\n\n\n\n\n\n"
}
[chain/end] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA > 7:chain:StuffDocumentsChain] [5.56s] Exiting Chain run with output:
{
  "output_text": " Based on the provided context, the potential risks associated with the use of AI in the organization include:\n1. Data security and privacy risks: The organization may face risks related to data security and privacy due to the use of AI systems.\n2. Impact on personnel: The use of AI may lead to changes in personnel roles and responsibilities, which could result in negative impacts on employees.\n3. Changes to commercial objectives: AI may lead to changes in commercial objectives, which could result in negative impacts on the organization.\n4. Liability and regulatory risks: The organization may face liability and regulatory risks due to the use of AI systems.\n5. Ethical risks: The use of AI may raise ethical concerns, such as bias, discrimination, and transparency, which could result in negative impacts on the organization.\n6. Reputation risks: The organization may face reputation risks due to the use of AI systems, such as negative media coverage or public perception of the technology.\n7. Technical risks: The organization may face technical risks related to the development and deployment of AI systems, such as system failures or errors.\n8. Integration risks: The organization may face integration risks due to the use of AI systems, such as compatibility issues with existing systems or processes.\n9. Dependence risks: The organization may face dependence risks due to the use of AI systems, such as over-reliance on the technology.\n10. Unknown risks: There may be other risks associated with the use of AI in the organization that are not yet known or anticipated.\n\n\n\n\n\n"
}
[chain/end] [1:chain:MultiRetrievalQAChain > 5:chain:RetrievalQA] [5.58s] Exiting Chain run with output:
{
  "result": " Based on the provided context, the potential risks associated with the use of AI in the organization include:\n1. Data security and privacy risks: The organization may face risks related to data security and privacy due to the use of AI systems.\n2. Impact on personnel: The use of AI may lead to changes in personnel roles and responsibilities, which could result in negative impacts on employees.\n3. Changes to commercial objectives: AI may lead to changes in commercial objectives, which could result in negative impacts on the organization.\n4. Liability and regulatory risks: The organization may face liability and regulatory risks due to the use of AI systems.\n5. Ethical risks: The use of AI may raise ethical concerns, such as bias, discrimination, and transparency, which could result in negative impacts on the organization.\n6. Reputation risks: The organization may face reputation risks due to the use of AI systems, such as negative media coverage or public perception of the technology.\n7. Technical risks: The organization may face technical risks related to the development and deployment of AI systems, such as system failures or errors.\n8. Integration risks: The organization may face integration risks due to the use of AI systems, such as compatibility issues with existing systems or processes.\n9. Dependence risks: The organization may face dependence risks due to the use of AI systems, such as over-reliance on the technology.\n10. Unknown risks: There may be other risks associated with the use of AI in the organization that are not yet known or anticipated.\n\n\n\n\n\n"
}
[chain/end] [1:chain:MultiRetrievalQAChain] [12.61s] Exiting Chain run with output:
{
  "query": "What are the potential risks associated with the use of AI in the organization?",
  "result": " Based on the provided context, the potential risks associated with the use of AI in the organization include:\n1. Data security and privacy risks: The organization may face risks related to data security and privacy due to the use of AI systems.\n2. Impact on personnel: The use of AI may lead to changes in personnel roles and responsibilities, which could result in negative impacts on employees.\n3. Changes to commercial objectives: AI may lead to changes in commercial objectives, which could result in negative impacts on the organization.\n4. Liability and regulatory risks: The organization may face liability and regulatory risks due to the use of AI systems.\n5. Ethical risks: The use of AI may raise ethical concerns, such as bias, discrimination, and transparency, which could result in negative impacts on the organization.\n6. Reputation risks: The organization may face reputation risks due to the use of AI systems, such as negative media coverage or public perception of the technology.\n7. Technical risks: The organization may face technical risks related to the development and deployment of AI systems, such as system failures or errors.\n8. Integration risks: The organization may face integration risks due to the use of AI systems, such as compatibility issues with existing systems or processes.\n9. Dependence risks: The organization may face dependence risks due to the use of AI systems, such as over-reliance on the technology.\n10. Unknown risks: There may be other risks associated with the use of AI in the organization that are not yet known or anticipated.\n\n\n\n\n\n"
}

@dosu-bot
Thanks, now I'm confused about what the llm parameter from the call ConversationChain actually means. Should it be an LLM pipeline instead of a chat LLM?


Add namespace; closes #4

Whoops, got the wrong namespace, will fix in a new PR.

haha, should've tested it before merging, my bad.
go ahead, i'll publish again tomorrow or later today

@cbrauchli just fixed it in version 1.0.5.
it should work now.


CVC Interface method

Is your feature request related to a problem? Please describe.
We're building a security feature in our app where we require members to re-enter the CVC of chosen payment method. The React Native Stripe SDK provides a method to tokenize the CVC value programmatically. The issue we're running into is that our code will have direct access to the CVC value the user inputs. To our knowledge, this requires us to conform to a higher level of PCI compliance.
When Stripe released their React Native SDK (rather than relying on tipsi-stripe) the method allowing programmatic credit card entry was removed in favor of a Stripe SDK interface. Our understaning was that removing this method was to better conform to PCI standards and prevent developers/scripts from directly accessing the CC information. The CVC methods don't provide an interface method so we are left to programmatically collect the CVC and tokenize it via the SDK method. With our code having direct access to the CVC number we're concerned about PCI compliance. Perhaps having visibility to the CVC isn't an issue?
Describe the solution you'd like
An interface to tokenize the CVC value
Describe alternatives you've considered
Creating a custom interface so members can input the CVC and use the SDK to tokenize the CVC programmatically
Additional context
I'm not a PCI expert.

Hi, we've gotten this request elsewhere and have it in our backlog to work on :) thanks for the ticket!

Hi @charliecruzan-stripe does this also mean you guys are working on exposing the CVC of CardField when enabling dangerouslyGetFullCardDetails?
In my scenario, I would like to confirmSetupIntent to process the 3D secure authentication and I also need to add a payment method that requires the credit card details like card number, expiry, and cvv to Chargebee which is another payment gateway. But I couldn't do that since the CardField doesn't provide CVC data. I can only be able to process the 3D secure authentication when I'm using the CardField to collect credit card details
Question: Is it possible to get the CVC data from CardField? Or any suggestions?
Thank You in Advance

Is it possible to get the CVC data from CardField?

Yes, this was added in 0.9.0

Thanks @charliecruzan-stripe  Is it still be in 0.18.0?
I am currently using "@stripe/stripe-react-native": "0.18.1"
I logged the card details from onCardChange and I always got this

It is still in that version, yes, I just tested on both android and iOS. If you're using Expo then make sure you're using expo install to get the right version.

That's right. I'm using React Native Expo. I've just tried to install using expo install and the version was changed to "@stripe/stripe-react-native": "0.6.1". Does this mean it is the right version for Expo?
Question: Am I able to use the version 0.9.0 or above? I also tried to change the version to 0.9.0 and 0.18.1 but they both don't work for me. I still get the cvc: ""

That's because you cannot use those versions, you have to use the version installed by Expo. If you'd like to update it, you need to update your Expo SDK

Hey @charliecruzan-stripe I've tried updating Expo SDK and it worked!
Thanks for your quick response and that's very helpful.


Can Read data from Athena table, but not able to create Dataset

I've created the connection to Athena and am able to query the Athena tables. However, When I try to create a Dataset from the athena table it fails with the error.
superset_app             | 2021-08-16 22:04:03,786:ERROR:root:'Engine' object has no attribute 'connection'
Expected results
To create a Dataset from athena table.
Actual results
Fails with the ERROR:root:'Engine' object has no attribute 'connection'
Screenshots

Environment
(please complete the following information):

superset version: superset version  == 0.0.0dev
python version: python --version  = 3.7.9
node.js version: node -v   == v14.17.4
any feature flags active:

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

Hi there @Kiezer can you share your database connection string (anonymized of course)?
I can't see your full error but it seems like the connection string you're giving Superset may be incorrect. This part looks potentially problematic: theast-2}.amazonaws.com
Connection strings shouldn't have braces like {}. It looks like we have braces as variable-placeholders in our docs (https://superset.apache.org/docs/databases/athena) but that's more to convey the fact that these are variables not literal values!
For future reference, I recommend copying & pasting your stack trace (hiding sensitive data ofc) instead of putting a screenshot. This will make it easier for the community to help you! 🙏

Closing since we never heard back and this has gone stale.


[v2.2.0] Missing build folder

The build folder is missing in the latest release v2.2.0 and therefore the main file which make it unusable 😕
Environment details

OS: macOS Mojave
Node.js version: 9.11.1
yarn version: 1.12.3
@google-cloud/spanner version: 2.2.0

Steps to reproduce

yarn add<EMAIL_ADDRESS>The build directory and therefore the main file is missing

Thank you filing. I am fixing this now and should have a patch release out very soon. Thanks!

Once merged, v2.2.1 will be published: https://github.com/googleapis/nodejs-spanner/pull/455

@MatthieuLemoine 2.2.1 is published.


chore: test node 17, remove node 15

Codecov Report

Merging #2423 (a2c34ba) into master (3fca9a6) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master     #2423   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          188       188
  Lines        10640     10640
  Branches      2415      2415
=========================================
  Hits         10640     10640

Continue to review full report at Codecov.

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


Change client-side redirects to server-side

This is for site SEO. This is the first of several PRs
transforming client-side to server-side redirects. Also
updating internal links and, where relevant, removing old pages
we were already redirecting away from.

This change is


How to adopt changelogen for an already conventional commit project

Describe the feature
Hello,
I'm going to move from standard-version and friends since the project is deprecated. I found changelogen and I really like it!
Not only that, but I wanted to ask if it could be possible to regenerate the CHANGELOG.md for a project that is already uses conventional commits.
Like generating all the releases from the beginning, is that possible? 🙂
Additional information

[ ] Would you be willing to help implement this feature?

Hi dear @Kikobeats. I made changelogen to move away from standard-version too. Ans yes! It is compatible and will append new release notes to the exiciting CHANGELOG.md. Also you can use changelogen github release all to sync all previous releases!
I would recommand to use without --release for bumping first virsion and then use github release subcommand to trigger github sync to make sure nothing goes wrong.

Ideally, I want to regenerate the whole changelog file; something similar to this:

If this is your first time using this tool and you want to generate all previous changelogs, you could do
$ conventional-changelog -p angular -i CHANGELOG.md -s -r 0

is that possible?


Fix for failure to call callbacks leading to memory leaks

Description
Code paths in Router and RouterElement failed to call the callbacks which leaves walkers and other asynchronous chains to be hanging and leak memory.
Motivation and Context
Issue: https://github.com/IBM-Swift/Kitura/issues/1216
Checklist:

[x] If applicable, I have updated the documentation accordingly.
[x] If applicable, I have added tests to cover my changes.

 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.

Codecov Report

Merging #1232 into master will decrease coverage by 0.24%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1232      +/-   ##
==========================================
- Coverage   89.39%   89.14%   -0.25%
==========================================
  Files          38       38
  Lines        2234     2239       +5
==========================================
- Hits         1997     1996       -1
- Misses        237      243       +6

Flag
Coverage Δ

#Kitura
89.14% <0%> (-0.25%)
:arrow_down:

Impacted Files
Coverage Δ

Sources/Kitura/RouterElement.swift
92% <0%> (-3.88%)
:arrow_down:

Sources/Kitura/Router.swift
83.13% <0%> (-0.98%)
:arrow_down:

Continue to review full report at Codecov.

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

@ianpartridge It looks like sendIfFound() calls response.end(), so we should not then call next().


Rick: review IIS, ASP.NET Framework, and misc Issues and PR's

review IIS, ASP.NET Framework, and misc Issues and PR's

Done


Upload image in WYSIWYG

Can we consider uploading images in the WYSIWYG? Very handy when you want to allow users to post article-like content.
Currently users need technical knowledge to use the workaround described below.
Describe the solution you'd like
Add an image button to the wysiwyg.
Describe alternatives you've considered
Adding the images to an external service, using markdown and writing html code.
Additional context
I saw that quill has an image option, any reason not to enable it? It translates the image to base64, which prevents the need from adding an endpoint to handle the file upload.
If base64 is an issue, there seems to be an issue describing the file upload in quill's repo

I hear you. In the case of quill, the image is inserted as base64, so I guess this would need to be handled browser-side(should we use base64).
I took a look into the source code of quill, though, and couldn't find anything related to that bit(nor was I able to plug into the quill image handler) 🤔. Upcoming version 2.x might solve this.

I dig how they use base64—makes everything else downstream so much easier. I'll look into our options too.

Just want to add my vote -- I imagine this is a dealbreaker for many people. Maybe cloudinary.com or imgix.com are worth looking into

Wondering if there was any progress made on this front? what is the current state of dev and PR acceptance?

@walidvb Thanks for the nudge on this. I just released v0.6.0 which includes the ability to embed images from the WYSIWYG. It's turned off by default, but you can enable it by passing an images=true option. e.g.,
{{body type=html images=true}}

Superb, thanks!
I guess a next step will be to allow resizing of the images, to avoid base64 embedding 8MB images. :)

Yeah, that's kind of why I disabled it by default. We can proceed with caution and see if resizing/limiting becomes an issue.


added some annotations and enhancements.

please check changelog:

@DtoCreateHidden, @DtoUpdateHidden, @DtoCreateApiResponse,@DtoUpdateApiResponse, @DtoPlainApiResponse, @CustomValidator
enhanced @Matches to allow brackets in regex;
output NestJs pluralized model folders

Thanks for this extensive merge request! I may need some time to look through and test it.

Is there an update on this? The changes are very nice and would help us. Can also help improving some of the asked-for changes :)


[WebToolsE2E][Aspire] After adding Aspire.StackExchange.Redis.OutputCaching component, cannot show the intellisense of AddRedisOutputCache.

REGRESSION INFO: Also repro on 8.0.0-preview.3.24105.21
INSTALL STEPS

Clean machine: Win11 x64 23h2 ENU
Install 17.10.0 Preview 2.0 [34701.141.d17.10] (Includes Aspire 8.0.0-preview.4.24129.7)
Apply NuGet Feeds
Install Docker Desktop

REPRO STEPS

New Project > .NET Aspire Starter Application > name it 'AspireRedis'> 8.0 > uncheck 'Use Redis for caching'
Update the Program.cs file of the AspireRedis.AppHost project to match the following code:

var builder = DistributedApplication.CreateBuilder(args);
var redis = builder.AddRedis("cache");
var apiservice = builder.AddProject<Projects.AspireRedis_ApiService>("apiservice")
      .WithReference(redis);
builder.AddProject<Projects.AspireRedis_Web>("webfrontend")
      .WithReference(apiservice)
      .WithReference(redis);
builder.Build().Run();

Add the Redis connection string in each project's appsettings.json file:

{
      "ConnectionStrings": {
            "cache": "localhost:6379"
        }
}

Right-click AspireRedis.Web project > Add > Aspire component > install Aspire.StackExchange.Redis.OutputCaching
In the Program.cs file of the AspireRedis.Web project, type following code:

  builder.AddRedisOutputCache("cache");

Notes:

It will meet Bug 1985774 when adding the aspire component.
This issue also repro on Aspire.StackExchange.Redis.DistributedCaching component.
When opening the Home.razor, type @DateTime also cannot show the intellisense.

ACTUAL
It cannot show the intellisense of 'AddRedisOutputCache'

EXPECTED
Can show the intellisense and correct colorization.

We are encountering the same issue on both "new from template" and existing (big) Aspire solution - not just Redis but all packages showing as not loaded (intellisense not working either). Observed from around 4:30PM GMT last Friday 1st March. Projects run but it is now pretty impossible to develop further without intellisense. Have tried on three different machines, all the same.

Verified this issue that is not reproduced on latest 17.10 P2 [34705.46.d17.10, also include Aspire 8.0.0-preview.4.24129.7]. closed it as fixed.

Unfortunately we have had to discontinue working with our entire Aspire project due to this; please could you advise when Preview 4 is due for release so we can replan our workload accordingly?

@JMadle we suspect issues #2614 and #2612 happened due to restore issues caused due to the json schema store going down last week (issue https://github.com/SchemaStore/schemastore/issues/3620). Now that the site is back up, these issues don't reproduce anymore. Hence, I'm closing this one.


[Live Components]Docs for Data Binding are insufficient

Attempts to reproduce the behavior demonstrated at Data Binding fail. The docs appear to be insufficient. For example,

    <input
        type="number"
        value="{{ max }}"
        data-model="max"
    >

    Generating a number between 9 and {{ max }}
    {{ this.randomNumber }}

lacks <form>...</form> and <button>...</button>. But even when added the value of max always reverts to the value in .../Components/RandomNumberComponent. Surely something else is missing.

Hey @truckee, are you manually refreshing the page? Does your $max property have #[LiveProp(writable: true)]? The  value should be changing as you type into the input.

Hiya.
... are you manually refreshing the page? If you mean after updating the source code, yes.
Does your $max property have #[LiveProp(writable: true)]? Yes.
Puzzle pieces:
#[AsLiveComponent('random_number')]
class RandomNumberComponent
{
    use DefaultActionTrait;

    #[LiveProp(writable: true)]
    public int $max = 1000;

    public function getRandomNumber(): int
    {
        return rand(0, $this->max);
    }
}

and

    <form>
        <input
            type="number"
            value="{{ max }}"
            data-model="max"
            >
        <button data-action="live#$render">Generate a new number!</button>
    </form>
    {{ this.randomNumber }}

and
{{ component('random_number') }}

I'm not terribly proficient with the frontend part of live components. @weaverryan, any ideas?

I misunderstood the intended behavior. I thought that changing the value of max at input would cause the value of max to change for the next Generate a new number. That is not what I observed. Only today did I note what must be the intended behavior: when the input value of max is changed a new random number within the revised bounds immediately appears. This behavior is substantially more useful.
Apologies for my misunderstanding.

No worries, glad you got it figured out! Be sure to let us know if you have any suggestion on how the docs could be more clear.


Update 'ros_common_msgs' to 1.12.7-p0

I've followed this guide step by step carefully. [Yes]

I've tested this package remotely and have excluded all broken builds.
Here is the links to the Travis/AppVeyor with status "All passed":

https://ci.appveyor.com/project/kgeorgiev93/hunter/builds/25028396
https://travis-ci.com/kgeorgiev93/hunter/builds/114243054

This update will requires a change in one toolchains.
They is done in this pull request: https://github.com/ingenue/hunter/pull/371

Testing:

https://ci.appveyor.com/project/ingenue/hunter/builds/25030433
https://travis-ci.org/ingenue/hunter/builds/541211824?utm_source=github_status&utm_medium=notification

Released: https://github.com/ruslo/hunter/releases/tag/v0.23.187


Use zig for benchmarking

Closes #4
For now generating JSON data from zig works. I have not tested the python chart drawing yet.
What about using mermaid syntax for showing benchmark results instead of python?

Very nice!
when writing that i didn't know anything about python. and as u can see it's buggy. so it's good to hear mermaid exists.
i think this can merged now and then add you as collaborator
what do you think?

Hi,
OK, this is the initial working version. What do You think?

amazing!


Config Wizard text didn't display in a useable way in light UI mode

Config Wizard - did not work for me - text didn't display in a way I could use this. With dark theme I could use it.

I actually found the fix for this in a couple minutes and is relatively straight forward. So I am moving this to 1.2.0, this issue and #266 will be done in the same PR as they both pretty simple things


fix(ci): add test step

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Question: Webpack-style hmr hook

Wondering how I'd do this with 3.0.
Previously I remember we had some compile time thing that passed module into our @view decorator at certain places so it would accept all over.
Now, I have it more standard. Just react-hot-loader latest and it accepts at the root. In the single file below that accept, I have this:

This basically saves all the states, and then reloads them after HMR.
Basically, wondering if I can hook into pre/post HMR. It may be worth adding this style hook just to be compat.
Secondarily, would be interested in avoiding full-tree reloads, though if it's only calling the handler and not actually re-compiling the tree that may be unnecessary complexity.

Pundle does not subscribe/check for status changes, It applies as soon as it gets it
According to the HMR API there's a addDisposeHandler that you can add that you can emit will-hmr in, and then do module.hot.accept('*', callback) in Pundle or module.hot.accept('.', callback) in Webpack and in that callback you can emit the did-hmr as it's invoked after the module is replaced
This is not ideal though, and will vary from bundler to bundler. (Pundle may not support ['*'] in the future).
I think the least side effective way to do it is to do something like
// Added process env check so static analysis can remove this node in prod
// instead of ignoring on runtime
if (process.env.NODE_ENV === 'development' && module.hot) {
  const { data } = module.hot
  if (data.oldView) {
    data.oldView.emit('did-hmr')
  }
  module.hot.addDisposeHandler(function(newData) {
    newData.oldView = view
  })
}

This is fixed by https://github.com/steelbrain/pundle/pull/175


Service Refactor

Status
READY
Description
A few sentences describing the overall goals of the pull request's commits.
Todos

[x] Tests
[x] Documentation
[x] License

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
git fetch --all
git checkout <feature_branch>
xctool -workspace SpatialConnect.xcworkspace -scheme SpatialConnect -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6 Plus' ONLY_ACTIVE_ARCH=NO test

@boundlessgeo/spatial-connect

👍


Confirmation is (still) not clickable on 1.19.2

What is your Quests version / build number (do not say "latest")?
Quests 4.5.3-b359
Describe the problem and how to replicate it.
Server version:
Current: git-Purpur-1778 (MC: 1.19.2)*
Previous: git-Purpur-1777 (MC: 1.19.2)

Unfortunately, I made an Git issue before, for the same problem #1999 .. The solution provided sounded promising, but it didn't fix the problem for me 😞
I am using a chatmanager (ChatControl Red). When a user clicks an NPC with a quest, the confirmation message is not clickable (the "Accept quest? Yes / No" message). Of course players can enter 'yes' or 'no' in the chat, and that works fine, but when looking at UX I prefer the message to be clickable.
This problem might be ChatControl related, I'm not sure. I've tried a bunch of random things myself to fix this problem. For example, I've tested every CHAT LISTENER PRIORITY level possible in the ChatControl Red configuration. Nothing seems to work.
Any console errors to share?
Nope

If applicable, can you provide an example quest from quests.yml?
No response

Have you tried temporarily removing ChatControl? Please do so to affirm whether this is a plugin conflict.

Have you tried temporarily removing ChatControl? Please do so to affirm whether this is a plugin conflict.

I've tried it on a empty server, unfortunately it still does not work. The issue doesn't seem to be ChatControl Red related.

Thanks for the information. Please also check whether the player has the quests.choice permission.

Thanks for the information. Please also check whether the player has the quests.choice permission.

I've checked this, player has the permission so it doesn't seem to be a permission issue unfortunately:

Just tested with git-Purpur-1778 and clicking editor prompts work but, as described, the Yes / No for accepting a quest from NPC does not. Will investigate this issue further soon.


Document config file

I want to keep the no-console rule, but disallow debug and log, only allow the other methods. eslint have a config option for this.

you can write a  configuration file: .eslintrc.json
{
  "rules": {
    "no-console": [
      "error",
      {
        "allow": [
          "info"
        ]
      }
    ]
  }
}

and use it with cli:
npx oxlint@latest -c ./.eslintrc.json

Is it mentioned in the docs? I couldn't find it.
Also, is it possible to disable some rules in the config or only in command line?

Is it mentioned in the docs? I couldn't find it. Also, is it possible to disable some rules in the config or only in command line?

I don't think it is in the docs yet.
You could disable a rule like so:
{
    "rules": {
        "no-console": "off"
    }
}

And how to enable all rules like -D all?

don't think that can be done via config file - must be done by CLI currently

Then it's pointless to have a config file as it's not possible to use both CLI and config file together.

We are still in the process of figuring out the best way to support .eslintrc.json along with oxlint's categories.
Forbidding --config and -D allows us to not introduce any breaking changes for the time being.
We are a bit slow right now because it is still the holiday season, we'll pick some pace in January.
Anyway, this is a free open source project, feel free to make any constructive feedbacks so we can have more context to help us with the decisions.

I just want a config that would

exit with error on warnings (--deny-warnings)
enable customizing few rules
enabling all other rules with default parameters
enable all new rules as they are added to new oxlint releases, without modifying the config file

Documented: https://oxc-project.github.io/docs/guide/usage/linter.html#usages


pkgsStatic.openssh: fix build

Description of changes
This change fixes pkgsStatic build by:

Adding enableSecurityKey that will by default disable SK support on static build
Adding -lcrypto to NIX_LDFLAGS needed by withLdns

And re-enables withFIDO for pkgsMusl which now compiles properly ( #89246 still occurs )

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg eval


Restore particle with getters/setters, fixes #11

:)

I appreciate the work here!
But I don't think I can accept this.
I know I complained about the "public fields as API" approach, but it kind of is what it is. Changing everything to getters/setters will break compatibility with anyone using EffectLib (except those few using the config-based API).
In the future I'd also really like to see any PR's broken up into multiple commits for different things. For instance I would accept some of this cleanup, and you adding yourself as a developer ( 😉 ) if those were separate.
But these mega commits are what got me into this trouble in the first place.
Anyway, I'll find some time today to fix the particle issue.

I'll admit, I'm a little annoyed. If compatibility was a concern, then the particle parameter should not have been removed in the first place (even if it slipped by). I did break cleanup into a separate PR (#12) but if you're referring to the handful of grammatical corrections to README.md that's trivial in my book. Adding myself to the pom seemed appropriate given other contributors (whom haven't contributed as of late) are present. If there are additional qualifications to be added, do let me know.
The only thing "mega" about this PR is the accessors, which you said would be best at this point. Perhaps I should have asked for further clarification. Maybe a good middle-ground would be to keep the accessors but leave the variables public? This would allow for a sort of transitional period.

The problem with the particle change is that it never should've gotten moved. I didn't know that had happened, much less that anyone had already started using it that way. Undoing that change was a fix, in my opinion- but since it was nearly a year before I noticed and fixed it I can't fault you for using it that way.
You say cleanup was in a separate commit- did you rebase them all before PR'ing? There's only one commit here.
I'll accept this PR and change all the properties back to public.


OAK-10741 : added separate logger for detailed gc

Logging into 2 separate log files would be an overkill. We should keep the error log in the normal logger.

(Sorry about the conflict I caused with OAK-10743!)
I think we should revisit what we want in the audit log and what in the normal log. Initially thought the audit log should be as compact as possible and not leak any information (eg property names might be risky).

Created a separate jira for audit logger OAK-10753


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Minor Changes

#2453 1b41e33c Thanks @thomasheyenbrock! - Add execution context to @graphiql/react and move over the logic from graphiql

#2452 ee0fd8bf Thanks @thomasheyenbrock! - Move tab state from graphiql into editor context from @graphiql/react

#2449 a0b02eda Thanks @thomasheyenbrock! - Assume all context values are nullable and create hooks to consume individual contexts

#2450 1e6fc68b Thanks @thomasheyenbrock! - Extract the copy, merge, prettify, and autoCompleteLeafs functions into hooks and remove these functions from the editor context value

Patch Changes

#2451 0659e96e Thanks @thomasheyenbrock! - Always use the current value of the headers for the introspection request

<EMAIL_ADDRESS>Minor Changes

#2457 8241f56d Thanks @B2o5T! - rename exteralFragmentDefinitions to externalFragmentDefinitions

<EMAIL_ADDRESS>Patch Changes

#2453 1b41e33c Thanks @thomasheyenbrock! - Add execution context to @graphiql/react and move over the logic from graphiql

#2454 a53bec64 Thanks @thomasheyenbrock! - Deprecate the public methods getQueryEditor, getVariableEditor, getHeaderEditor, and refresh on the GraphiQL class.

#2451 0659e96e Thanks @thomasheyenbrock! - Always use the current value of the headers for the introspection request

#2452 ee0fd8bf Thanks @thomasheyenbrock! - Move tab state from graphiql into editor context from @graphiql/react

#2454 a53bec64 Thanks @thomasheyenbrock! - Continue forwarding the ref to the class component to not break public methods

#2449 a0b02eda Thanks @thomasheyenbrock! - Assume all context values are nullable and create hooks to consume individual contexts

#2450 1e6fc68b Thanks @thomasheyenbrock! - Extract the copy, merge, prettify, and autoCompleteLeafs functions into hooks and remove these functions from the editor context value

Updated dependencies [1b41e33c, 0659e96e, ee0fd8bf, a0b02eda, 1e6fc68b]:

<EMAIL_ADDRESS>

@thomasheyenbrock I am going to merge some LSP and vscode-graphql related changes, is it possible we can move some of these graphiql-in-progress related changesets into  prerelease state for now?

@thomasheyenbrock off we go! Have a great weekend!


UIMediaPlayer.h has a 'DrawNode* _debugDrawNode;' line which is not used => remove it or implement the 'debugDraw' section

UIMediaPlayer.h:
#    if AX_VIDEOPLAYER_DEBUG_DRAW
    DrawNode* _debugDrawNode;
#    endif

UIMediaPlayer.cpp
has  only the #include "2d/DrawNode.h" whithout any source part

Opps. I look on different files. Sorry. closed it


pip install -r kubespray/requirements.txt fails in the container

pip install -r kubespray/requirements.txt
fails in the tk8 container image:
Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-3xxUgv/bcrypt/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-Z8WEoI/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-3xxUgv/bcrypt/

which leads to:
/tk8 # tk8 cluster aws -i
Found Ansible at /usr/bin/ansible
ansible 2.5.5
  config file = /tk8/ansible.cfg
  configured module search path = ['/tk8/library']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.4 (default, May  1 2018, 11:38:09) [GCC 6.4.0]
Configuration folder already exists
coreos
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/tk8/kubespray/roles/vault/handlers/main.yml': line 44, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- name: unseal vault
  ^ here

@MuellerMH this can be closed, right?


Transfer solution to Mac OS X using cmake

done in https://github.com/Esentiel/HurricaneEngine3D/pull/15


Added browser and OS info on clicks

Saving more analytics data on each click with additional User Agent, Broswer name and version, OS.
browscap-php library is being used via a wrapper library here to generate concise information on the user agent.
To properly update the cached data required by browscap-php library, the command php artisan browscap:update needs to be run initially to work.
Example:

I wish this was added


Corrupt TSM files not always skipped

When we initially open TSM files, if we get an error we skip the file and rename it for future reference. However, future reads don't do the same check so a corrupt block can cause errors. One place we've hit this recently is during compaction, which is convenient because we can set aside the bad file right there. I'm not clear yet if that's sufficient to solve this issue in general.

CC @dgnorton let me know if this roughly makes sense to you.

@tmgordeeva Makes sense. I think if compaction encounters a corrupt file, it should do the same, log it and move the file aside.

PR waiting for one more review at https://github.com/influxdata/influxdb/pull/15885 and backport (clean cherry-pick) at https://github.com/influxdata/influxdb/pull/16221

@dgnorton I think @tmgordeeva  should not work on this anymore, shall I take it over ?

@dgnorton I think this one is already done, #15885 and #16221 are merged, or


Drop DBs on cleanup

Dropping the db was removed from the operator logic. For development its still useful to start from scratch.
This drops the DBs on the _deploy_cleanup target.

I'm good with this form.  @Akrog what do you think?

I like the DB side of it, but I don't see the need to change the cleanup part.
The issue that Cinder was having with make cinder_deploy and make cinder_deploy_cleanup is caused by a missing export which gets fixed with https://github.com/openstack-k8s-operators/install_yamls/pull/35

I like the DB side of it, but I don't see the need to change the cleanup part. The issue that Cinder was having with make cinder_deploy and make cinder_deploy_cleanup is caused by a missing export which gets fixed with #35

I dropped the commit on the cleanup in favor of #35.

/lgtm


Wrong line number in some cases.

For example:
In MATH-101b:
377 | if (
378 |     source.substring(startIndex, endIndex).compareTo(
379 |     getImaginaryCharacter()) != 0) {
380 |     // set index back to initial, error index should be the start index
381 |     // character examined.
382 |     pos.setIndex(initialIndex);
383 |     pos.setErrorIndex(startIndex);
384 |     return null;
385 | }

The exception is thrown from substring(int, int) at line 378, but in JCrashPack it was logged as 377.
In LANG-44b:
193 | if (dec == null
194 |     && exp == null
195 |     && (numeric.charAt(0) == '-' && isDigits(numeric.substring(1)) || isDigits(numeric))) {
196 |     try {
197 |         return createLong(numeric);
198 |     } catch (NumberFormatException nfe) {
199 |         //Too big for a long
200 |     }
201 |     return createBigInteger(numeric);
202 |
203 | }

The exception is actually thrown from charAt(int) at line 195, but in JCrashPack it was logged as 193

It is showing that line no. which is the beginning of block of code that is throwing exception.


build: update webpack for npm linking plugins

SUMMARY
Update webpack config so that developers can npm link .../plugin-path without also having to npm link ../path/to/superset-ui/packages/superset-ui-core/.  Currently you have to do the additional linking because npm link will install its own version of @superset-ui/core under the plugin's node_modules, which will take precedent for the plugin's JS modules during module resolution.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A
TEST PLAN

clone the superset-ui repo
npm link a plugin npm link ~/projects/superset-ui/plugins/legacy-preset-chart-nvd3/ in superset-frontend
Your plugin should show up in viz type selection

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

cc @rusackas @villebro

Codecov Report

Merging #11253 into master will decrease coverage by 5.89%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11253      +/-   ##
==========================================
- Coverage   65.59%   59.69%   -5.90%
==========================================
  Files         832      394     -438
  Lines       39448    24746   -14702
  Branches     3598        0    -3598
==========================================
- Hits        25874    14773   -11101
+ Misses      13465     9973    -3492
+ Partials      109        0     -109

Flag
Coverage Δ

#cypress
?

#javascript
?

#python
59.69% <ø> (-1.07%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/databases/commands/create.py
31.91% <0.00%> (-59.58%)
:arrow_down:

superset/db_engine_specs/hive.py
53.90% <0.00%> (-30.08%)
:arrow_down:

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.32%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/api.py
81.38% <0.00%> (-7.98%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

superset/views/database/validators.py
78.94% <0.00%> (-5.27%)
:arrow_down:

... and 455 more

Continue to review full report at Codecov.

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

@ktmud this PR breaks linking superset-ui/core. I reverted this locally, and got it working again.


Reversed mac address byte order fixed caused by previous commit.

Good thing I had not created a new version yet ;)


3DS

Hello,
We are using your plugin for our application. It works beautifully.
I was just wondering about the new 3D Secure.
Are there any changes we should do to the plugin ?
See : https://developers.braintreepayments.com/guides/3d-secure/client-side/javascript/v3

Hi,
Thanks for using our plugin.... we are glad that our plugin is working for you. Currently this plugin does not support 3D secure and also we don't have any plan to implement it in near future.
If you want to contribute in this plugin...Please send us the pull request.

I'm currently working on my own for a bridge with 3D secure gestion.
I managed to handle it in iOS for now, I'm trying my best to finish both Android and iOS implementation by the end of the weekend.
Stay tuned @gillestasse

That´s great ! I will be able to test in both iOS and Android.

That´s great ! I will be able to test in both iOS and Android.

See progression there: https://github.com/florent-huran/braintree_dropin I'll be committing all the weekend on it.
Currently iOS seems to work but I'll let you know when everything will be done and published


AND/OR of bitmaps within a range

Currently And/or are evaluated on the entire range. In some cases we know that we only care about the result for give range start to end. Similar to flip interface, it will be great to have something like
or(ImmutableRoaringBitmap... bitmaps, int rangeStart, int rangeEnd)
and(ImmutableRoaringBitmap... bitmaps, int rangeStart, int rangeEnd)

@kishoreg
That's interesting. It is doable, certainly. It is probably less than 200 lines, not counting unit tests and benchmarks.
Would you be willing to help out in some way?

Definitely, I can write test cases. Still getting to understand the
internal data structures.
On Feb 18, 2016 6:58 AM, "Daniel Lemire"<EMAIL_ADDRESS>wrote:

@kishoreg https://github.com/kishoreg
That's interesting. It is doable, certainly. It is probably less than 200
lines, not counting unit tests and benchmarks.
Would you be willing to help out in some way?
—
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-185756679
.

@kishoreg
If you create a fork, and let me know about it, I could issue a PR on your fork with a sketch of an implementation.

https://github.com/kishoreg/RoaringBitmap here it is.
thanks,
Kishore G
On Thu, Feb 18, 2016 at 8:13 AM, Daniel Lemire<EMAIL_ADDRESS>wrote:

@kishoreg https://github.com/kishoreg
If you create a fork, and let me know about it, I could issue a PR on your
fork with a sketch of an implementation.
—
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-185795802
.

See
https://github.com/kishoreg/RoaringBitmap/pull/1

https://github.com/kishoreg/RoaringBitmap/commit/a51db4c6ab893237b04520a4dff27f0567d2c237
Added a test case. Does not seem to work, it returns the entire range. I
will try to debug and understand the code base. Are you available on any IM?
On Thu, Feb 18, 2016 at 9:07 AM, Daniel Lemire<EMAIL_ADDRESS>wrote:

See
kishoreg#1 https://github.com/kishoreg/RoaringBitmap/pull/1
—
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-185817573
.

I expect to be in meetings for the next few hours, but I am available through Twitter (@lemire), Google+ (https://plus.google.com/+DanielLemirePhD) and so forth. You can email me directly (lemire@gmail.com). If you get stuck, let me know, I can see if I can do some surgery on your fork.

I think I see the problem in selectRangeWithoutCopy
final MappeableContainer c = rb.highLowContainer.getContainerAtIndex(i)
.remove(lbStart, lbLast + 1);
Its trying to do the opposite of what we want. You probably wanted to
remove [0,lbStart) and [lbLast, infinity) right.
How do I know the end size of container.
On Thu, Feb 18, 2016 at 11:04 AM, Daniel Lemire<EMAIL_ADDRESS>wrote:

I expect to be in meetings for the next few hours, but I am available
through Twitter (@lemire https://github.com/lemire), Google+ (
https://plus.google.com/+DanielLemirePhD) and so forth. You can email me
directly (lemire@gmail.com). If you get stuck, let me know, I can see if
I can do some surgery on your fork.
—
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-185863322
.

changing that line to fixes it.
final MappeableContainer c =
containerAtIndex.and(MappeableContainer.rangeOfOnes(lbStart, lbLast + 1));
but i see another snippet here
final MappeableContainer c =
rb.highLowContainer.getContainerAtIndex(ifirst).remove(
lbStart,BufferUtil.maxLowBitAsInteger()+1);
Trying to understand what this is doing. I will try the test case with
larger size.
On Thu, Feb 18, 2016 at 11:23 AM, kishore g<EMAIL_ADDRESS>wrote:

I think I see the problem in selectRangeWithoutCopy
final MappeableContainer c = rb.highLowContainer.getContainerAtIndex(i)
.remove(lbStart, lbLast + 1);
Its trying to do the opposite of what we want. You probably wanted to
remove [0,lbStart) and [lbLast, infinity) right.
How do I know the end size of container.
On Thu, Feb 18, 2016 at 11:04 AM, Daniel Lemire<EMAIL_ADDRESS>wrote:

I expect to be in meetings for the next few hours, but I am available
through Twitter (@lemire https://github.com/lemire), Google+ (
https://plus.google.com/+DanielLemirePhD) and so forth. You can email me
directly (lemire@gmail.com). If you get stuck, let me know, I can see if
I can do some surgery on your fork.
—
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-185863322
.

Test case seems to work for large array size as well. Does the change look
ok?
On Thu, Feb 18, 2016 at 11:29 AM, kishore g<EMAIL_ADDRESS>wrote:

changing that line to fixes it.
final MappeableContainer c =
containerAtIndex.and(MappeableContainer.rangeOfOnes(lbStart, lbLast + 1));
but i see another snippet here
final MappeableContainer c =
rb.highLowContainer.getContainerAtIndex(ifirst).remove(
lbStart,BufferUtil.maxLowBitAsInteger()+1);
Trying to understand what this is doing. I will try the test case with
larger size.
On Thu, Feb 18, 2016 at 11:23 AM, kishore g<EMAIL_ADDRESS>wrote:

I think I see the problem in selectRangeWithoutCopy
final MappeableContainer c = rb.highLowContainer.getContainerAtIndex(i)
.remove(lbStart, lbLast + 1);
Its trying to do the opposite of what we want. You probably wanted to
remove [0,lbStart) and [lbLast, infinity) right.
How do I know the end size of container.
On Thu, Feb 18, 2016 at 11:04 AM, Daniel Lemire<EMAIL_ADDRESS>
wrote:

I expect to be in meetings for the next few hours, but I am available
through Twitter (@lemire https://github.com/lemire), Google+ (
https://plus.google.com/+DanielLemirePhD) and so forth. You can email
me directly (lemire@gmail.com). If you get stuck, let me know, I can
see if I can do some surgery on your fork.
—
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-185863322
.

@kishoreg
I'll check your code soon. Hopefully this evening. Thanks.
Note that your membership is private : https://github.com/orgs/RoaringBitmap/people/kishoreg

have some cycles to get back to this.

Excellent.

Preparing release.

@kishoreg
We have a broken build. By making your tests stronger, we see that all the new functions fail.
Can you have a look if it is convenient?
c.c. @gssiyankai

Will look into later tonight.
On Mar 25, 2016 8:44 PM, "Daniel Lemire"<EMAIL_ADDRESS>wrote:

@kishoreg https://github.com/kishoreg
We have a broken build. By making your tests stronger, we see that all the
new functions fail.
Can you have a look if it is convenient?
c.c. @gssiyankai https://github.com/gssiyankai
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-201700547

Excellent.  I suspect that it is one silly code path that breaks everything... because everything (all functions) fail the same way (with an empty set). Could even be in the code I pushed onto you.

Is select for copy used anywhere else. The reason I ask is the code I added
is self contained.
On Mar 25, 2016 8:50 PM, "Daniel Lemire"<EMAIL_ADDRESS>wrote:

Excellent. I suspect that it is one silly code path that breaks
everything... because everything (all functions) fail the same way
(with an empty set). Could even be in the code I pushed onto you.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/RoaringBitmap/RoaringBitmap/issues/78#issuecomment-201700802

selectRangeWithoutCopy was introduced by your PR. Please see your diff...
https://github.com/RoaringBitmap/RoaringBitmap/pull/96/commits/353abfe31d49f0d1ecda2a29461331ad0c6ed72b
So no, selectRangeWithoutCopy is not used elsewhere and so, it could be buggy.

The reason I ask is the code I added is self contained.

The test functions that your PR introduced did not unmask the bugs. I modified your functions (testRangedOr) so that they run more tests and this triggered the bugs.
So, yes, your code is "self-contained" in the sense that your new functions do not mix with the rest of the code in a complicated way, they are just straight additions. But these new functions are buggy... and this is shown by a slight modification of your tests:
https://github.com/RoaringBitmap/RoaringBitmap/commit/bcab708a7f6c679b108996c4a04c89434cbf07c3

Implemented as of version 0.6.11. We had to correct an issue with ranged removes in the process.
@kishoreg  Thanks for your valued contribution.
Closing.


PDFMiner seems to be unable to extract images from scanned PDFs

Hi,
I'm trying to read the images off a scanned pdf to conduct OCR on them , I can't include this PDF for data privacy reasons.
General code run -
def _parse_lt_objs(lt_objs):
    for lt_obj in lt_objs:
        if isinstance(lt_obj, LTImage):
           iw = ImageWriter('output_dir')
           iw.export_image(lt_obj)
        elif isinstance(lt_obj, LTFigure):
            image_text+= _parse_lt_objs(lt_obj, page_number)

pdfrsrcmgr = PDFResourceManager()
pdflaparams = LAParams()
pdfdevice = PDFPageAggregator(pdfrsrcmgr, laparams=pdflaparams)
pdfinterpreter = PDFPageInterpreter(pdfrsrcmgr, pdfdevice)
img_content = []
fp = open(file, 'rb')
print(PDFPage.create_pages(fp))
i=0
for page in PDFPage.get_pages(fp):
    pdfinterpreter.process_page(page)
    # receive the LTPage object for this page
    pdflayout = pdfdevice.get_result()
    img_content.append(_parse_lt_objs(pdflayout))
    i+=1
fp.close()

Error given
ValueError: Unsupported `bitspercomponent': 1
Hi,
It is possible to have one bit per component PNGs especially with scanned pdfs
in the section https://github.com/pdfminer/pdfminer.six/blob/master/pdfminer/utils.py
please look at the page here https://stackoverflow.com/questions/757265/how-does-pdfs-bitspercomponent-translate-to-bits-per-pixel-for-images
some work needs to be performed to insure correct images can be extracted

The [PNG specification] only mentions bytes, not bits. The apply_png_predictor() needs a lot of rework when it needs to be applied on bits instead of bytes. But it might be easier if your PNG does not use a filter, which does make sense if it only uses bits. Can you check the filter type?

Hi Pietermarsman,
I removed the element that throws the error and it successful saved the image to .btm while this was not readable when I used pillow to convert it to JPG it could now be displayed , it seems that the code around line 136 of "utils.py " should be amended as a bits per component of 1 is supported.


update CPM

Codecov Report

Merging #44 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #44   +/-   ##
=======================================
  Coverage   98.54%   98.54%
=======================================
  Files           9        9
  Lines         617      617
=======================================
  Hits          608      608
  Misses          9        9

Continue to review full report at Codecov.

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


Pipelines v0.20+ release broken for Kubernetes v1.16.x

Expected Behavior
Tekton installation docs say Pipelines is compatible with Kubernetes >= v1.16
Actual Behavior
Attempting to upgrade from Pipelines v0.19.0 to v0.21 (and v0.20) results in the following error:
Error from server (Invalid): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.20.0/release.yaml": ValidatingWebhookConfiguration.admissionregistration.k8s.io "validation.webhook.pipeline.tekton.dev" is invalid: webhooks[0].admissionReviewVersions: Invalid value: []string{"v1"}: must include at least one of v1beta1
Error from server (Invalid): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.20.0/release.yaml": MutatingWebhookConfiguration.admissionregistration.k8s.io "webhook.pipeline.tekton.dev" is invalid: webhooks[0].admissionReviewVersions: Invalid value: []string{"v1"}: must include at least one of v1beta1
Error from server (Invalid): error when creating "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.20.0/release.yaml": ValidatingWebhookConfiguration.admissionregistration.k8s.io "config.webhook.pipeline.tekton.dev" is invalid: webhooks[0].admissionReviewVersions: Invalid value: []string{"v1"}: must include at least one of v1beta1

Additionally, the pipeline and webhook controllers are in CrashLookBackOff with this error in the logs:
{"level":"fatal","ts":"2021-03-02T23:08:30.079Z","logger":"tekton-pipelines-webhook","caller":"sharedmain/main.go:287","msg":"Version check failed","commit":"49244c6","error":"pre-release kubernetes version \"1.16.15-gke.7800\" is not compatible, need at least \"1.17.0-\" (this can be overridden with the env var \"KUBERNETES_MIN_VERSION\"); note pre-release version is smaller than the corresponding release version (e.g. 1.x.y-z < 1.x.y), using 1.x.y-0 as the minimum version is likely to help in this case","stacktrace":"github.com/tektoncd/pipeline/vendor/knative.dev/pkg/injection/sharedmain.CheckK8sClientMinimumVersionOrDie\n\tgithub.com/tektoncd/pipeline/vendor/knative.dev/pkg/injection/sharedmain/main.go:287\ngithub.com/tektoncd/pipeline/vendor/knative.dev/pkg/injection/sharedmain.MainWithConfig\n\tgithub.com/tektoncd/pipeline/vendor/knative.dev/pkg/injection/sharedmain/main.go:184\nmain.main\n\tgithub.com/tektoncd/pipeline/cmd/webhook/main.go:235\nruntime.main\n\truntime/proc.go:204"}

Despite the error, tkn reports v0.21 after applying.
Steps to Reproduce the Problem

Start from Tekton Pipelines v0.19.0
kubectl apply -f https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.21.0/release.yaml

Additional Info

Kubernetes version:
Client Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.13-dispatcher", GitCommit:"fd22db44e150011eccc8729db223945384460143", GitTreeState:"clean", BuildDate:"2020-07-24T07:27:52Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.15-gke.7800", GitCommit:"cef3156c566a1d1a4b23ee360a760f45bfbaaac1", GitTreeState:"clean", BuildDate:"2020-12-14T09:12:37Z", GoVersion:"go1.13.15b4", Compiler:"gc", Platform:"linux/amd64"}

Tekton Pipeline version:
Client version: 0.15.0
Pipeline version: v0.21.0

I've verified that v0.21.0 installation works as expected on a clean 1.18 cluster.
I think that https://github.com/tektoncd/pipeline/pull/3640 introduced the admissionReviewVersions breakage, but the knative error implies we have deeper dependencies on 1.17 that might be harder to weed out.
It's been 2 releases and no one has appeared to notice until now(?), so it might make more sense to just rev the supported version in the docs and say that Tekton starting v0.20 requires v1.17. Not sure what the deprecation implications are here though.

Uhm, it looks like we forgot to update the installation guide. It was definitely in the release notes.

besides https://github.com/tektoncd/pipeline/pull/3640, knative version was bumped to v0.20 in https://github.com/tektoncd/pipeline/pull/3605 which bumped the min Kubernetes version to 1.17
the upgrade notice that Kubernetes 1.17+ is required to run Pipelines was included in v0.20.0, does it make sense to add it to v0.21.0 as well?
@wlynch is this the doc you're referring to or there's somewhere else as well?

Uhm, it looks like we forgot to update the installation guide. It was definitely in the release notes.

the upgrade notice that Kubernetes 1.17+ is required to run Pipelines was included in v0.20.0, added it to v0.21.0 too

phew I think that takes care of the deprecation issue then.

@wlynch is this the doc you're referring to or it's somewhere else as well?

https://github.com/tektoncd/pipeline/blob/master/docs/install.md is where I noticed it. I can throw together a PR to update the docs tomorrow!
/assign me

/assign @wlynch


Dark theme incorrect NXline color

Good day
Looks like that legend color changes with theme switch, but not the lines color. (Incorrect view in dark mode)
Screenshots

Context

OS: Ubuntu 22.04.2 LTS
Browser: Chrome
Version: 7.1.2
JupyterLab version: 2.5.0

Extension lists

 jupyterlab-h5web v7.1.2 enabled OK (python, jupyterlab_h5web)
jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
jupyter_server_ydoc  enabled
- Validating...
X is jupyter_server_ydoc importable?
jupyterlab  enabled
- Validating...
jupyterlab 3.6.3 OK
jupyterlab_h5web  enabled
- Validating...
jupyterlab_h5web 7.1.2 OK

Thanks for the report ! I will have a look.

This should be fixed in latest version (8.0.0)


Fix gen-module migration creation for brand new modules

To test this, I both re-ran it on aws_account and I created a fake foo module:

The module migration generation now takes 17 seconds on my machine:

And the result is a success!


Class signature parsing skipped for records

The Indexer#applySignatures method requires that the signature for a class be the last entry in the list of signatures. However, with records, the class's signature is followed by the record components' signatures.
An example record that where generic type information is not included in the index for the class's type parameters.
record MyRecord<T>(T content) {
}

That's probably because record components are stored in class attributes and hence are parsed later on. Still, should be straightforward to fix. If you don't get to it, I should in the next few days.

That's probably because record components are stored in class attributes and hence are parsed later on.

Yep, exactly. I have a local fix that I've tested locally that I will push to a PR today.

Perfect, thank you!


Fix two non-deterministic behaviours that cause divergence between compilers

Default Compare function of SigSet<T, std::less<T>> causes pointer addresses to be compared leading to non-deterministic behaviour.
Code inside alumacc allows compiler the free choice of function call order:
https://github.com/YosysHQ/yosys/blob/4da6e19fe1c326bb86e68f4446597c2163f3fbb2/passes/techmap/alumacc.cc#L58
The problem with this is that Or(), get_lt(), etc. have side effects (i.e. use NEW_ID which increments autoidx) thus causing signals and cells to be named differently and thus a different downstream trajectory.

Fixes #1371

I guess that kind of performance optimization isn't a pressing issue for SigSet<>, but we wouldn't want to add similar restrictions for more fundamental container types.

IMO determinism is far more important than performance, so nondeterministic sorting order should only be opt-in.

However, it can be argued that it's fine to sort by pointer values in cases where one never iterates over the set. (And then it wouldn't be necessary to dereference two pointers in order to compare them.)
Admittedly I didn't check before, but I just over all the instances of SigSet<Cell*> above and value-set is iterated over in all cases.

IMO determinism is far more important than performance, so nondeterministic sorting order should only be opt-in.
100% agree, which is why I went as far as to ban it outright.

However, I've now added some template magic so that SigSet<Cell*> defaults to sort_by_id, but still allows SigSet<Cell*, std::less<Cell*>> for those who are really masochistic.

#1371 reporter confirms issue is resolved now. Will merge when CI goes green.

IMO determinism is far more important than performance, so nondeterministic sorting order should only be opt-in.

Just on a side note: This is only an issue because SigSet is still using std::set. The iterator order for dict and pool only depends on insertion order.