When invoke is used with multiple inputs there is 1 thread that gets created for each input.

commit id - d7fcd7e95
Steps to reproduce the problem

Create an agent.
use invoke to chat with the agent and add multiple inputs.

%otto invoke a1n4kn6
Input: who won 2024 superbowk
> Input: who won 2024 superbowk
> Waiting for model...
> Generating tool input for (answersFromTheInternet)...  {"question":"Who won the 2024 Super Bowl?"}
> Running tool (answers-from-the-internet): {"question":"Who won the 2024 Super Bowl?"}
> Waiting for model...
The Kansas City Chiefs won the 2024 Super Bowl (Super Bowl LVIII) by defeating the San Francisco 49ers with a score of 25-22 in overtime. Patrick Mahomes, the quarterback for the Chiefs, was named the MVP of the game.

Input: who won 2024 nba
> Input: who won 2024 nba
> Waiting for model...
> Generating tool input for (answersFromTheInternet)...  {"question":"Who won the 2024 NBA Championship?"}
> Running tool (answers-from-the-internet): {"question":"Who won the 2024 NBA Championship?"}
> Waiting for model...
The Boston Celtics won the 2024 NBA Championship by defeating the Dallas Mavericks in the NBA Finals. The Celtics secured their 18th championship by winning the series 4-1, and Jaylen Brown was named the Finals MVP.

Input:

Notice that there is a thread id created for each input.

otto % otto run a1n4kn6
ID        AGENT     THREAD    STATE      INPUT                    OUTPUT                                                                          CREATED
r1rpv7f   a1n4kn6   t15qs24   continue   who won 2024 superbowk   The Kansas City Chiefs won the 2024 Super Bowl (Super Bowl LVIII) by defea...   1 minute ago
r1wdm4j   a1n4kn6   t1dxp97   continue   who won 2024 nba         The Boston Celtics won the 2024 NBA Championship by defeating the Dallas M...   23 seconds ago

Expected Behavior:

There should be the same thread id used for all the inputs .

Not able to reproduce this with the latest version of Otto8 and the CLI. Moving to "Testing" for verification.

This issue is not seen anymore when testing with latest builds.


Fix problem with timing of accessibility-menu.  #1813

Add accessibility-menu.js to extensions array to get timing right.  Resolves issue #1813.

This is obsolete since the changes are included in the recombining for beta.1


GraphQL gave empty response

Documentation Issue Description
!pip install llama-index openai llama-index-tools-graphql -qU

import os
os.environ["OPENAI_API_KEY"] =

from llama_index.tools.graphql import GraphQLToolSpec
from llama_index.agent.openai import OpenAIAgent

tool_spec = GraphQLToolSpec(
    url="https://streaming.bitquery.io/eap/",
    headers={
        "content-type": "application/json",
        'Authorization': 'Bearer TOKEN_HERE_V2'
    },
)

# agent = OpenAIAgent.from_tools(tool_spec.to_tool_list())

# agent.chat(
#     "get the id, model, name and type of the Ships from the graphql endpoint"
# )

graphql_fields = """subscription {
  Solana {
    InstructionBalanceUpdates(limit: {count: 10}) {
      Transaction {
        Index
        FeePayer
        Fee
        Signature
        Result {
          Success
          ErrorMessage
        }
      }
      Instruction {
        InternalSeqNumber
        Index
        CallPath
        Program {
          Address
          Name
          Parsed
        }
      }
      Block {
        Time
        Hash
        Height
      }
      BalanceUpdate {
        Account {
          Address
        }
        Amount
        Currency {
          Decimals
          CollectionAddress
          Name
          Key
          IsMutable
          Symbol
        }
      }
    }
  }
}
"""

suffix = "Search for the Transaction with positive Balance stored in the graphql database that has this schema "

response = tool_spec.graphql_request(query=graphql_fields + suffix, variables={}, operation_name="YourOperationName")

print(response)

### Documentation Link

https://github.com/run-llama/llama_index/blob/main/llama-index-integrations/tools/llama-index-tools-graphql/examples/graphql.ipynb

To resolve the issue of getting an empty response from the GraphQL endpoint, you should check the following:

Query Alteration: Ensure that the query is being altered correctly to include pagination arguments. The alter_query method is responsible for this. Verify that the query is being modified as expected.
Error Handling: Check if there are any errors in the response. The fetch_data method raises an APICallError if there are errors in the response. Ensure that the response does not contain any errors.
Data Key: Ensure that the response data contains the expected data key. The transform_data method expects the data to be under the DATA_KEY which is "data".

Here is the relevant code for these checks:
def fetch_data(self) -> dict:
    """
    Fetches data from the WordLift GraphQL API.

    Returns:
        dict: The API response data.

    Raises:
        APIConnectionError: If there is an error connecting to the API.
    """
    try:
        query = self.alter_query()
        response = requests.post(
            self.endpoint, json={"query": query}, headers=self.headers
        )
        response.raise_for_status()
        data = response.json()
        if ERRORS_KEY in data:
            raise APICallError(data[ERRORS_KEY])
        return data
    except requests.exceptions.RequestException as e:
        logging.error("Error connecting to the API:", exc_info=True)
        raise APICallError("Error connecting to the API") from e

def transform_data(self, data: dict) -> List[Document]:
    """
    Transforms the fetched data into a list of Document objects.

    Args:
        data (dict): The API response data.

    Returns:
        List[Document]: The list of transformed documents.

    Raises:
        DataTransformError: If there is an error transforming the data.
    """
    try:
        data = data[DATA_KEY][self.fields]
        documents = []
        text_fields = self.configure_options.get("text_fields", [])
        metadata_fields = self.configure_options.get("metadata_fields", [])

        for item in data:
            if not all(key in item for key in text_fields):
                logging.warning(
                    f"Skipping document due to missing text fields: {item}"
                )
                continue
            row = {}
            for key, value in item.items():
                if key in text_fields or key in metadata_fields:
                    row[key] = value
                else:
                    row[key] = clean_value(value)

            text_parts = [
                get_separated_value(row, field.split("."))
                for field in text_fields
                if get_separated_value(row, field.split(".")) is not None
            ]

            text_parts = flatten_list(text_parts)
            text = " ".join(text_parts)
            extra_info = {}
            for field in metadata_fields:
                field_keys = field.split(".")
                value = get_separated_value(row, field_keys)
                if value is None:
                    logging.warning(f"Using default value for {field}")
                    value = "n.a"
                if isinstance(value, list) and len(value) != 0:
                    value = value[0]
                if is_url(value) and is_valid_html(value):
                    value = value.replace("\n", "")
                    extra_info[field] = value
                else:
                    cleaned_value = clean_value(value)
                    cleaned_value = cleaned_value.replace("\n", "")
                    extra_info[field] = cleaned_value
            text = text.replace("\n", "")
            plain_text = re.sub("<.*?>", "", text)
            document = Document(text=plain_text, extra_info=extra_info)
            documents.append(document)

        return documents
    except Exception as e:
        logging.error("Error transforming data:", exc_info=True)
        raise DataTransformError("Error transforming data") from e

Additionally, ensure that your GraphQL request is correctly formed and that the endpoint URL and headers are properly set. Here is an example of how to make a GraphQL request using the Playgrounds API:
def graphql_request(
    self,
    query: str,
    variables: Optional[dict] = None,
    operation_name: Optional[str] = None,
) -> Union[dict, str]:
    """
    Make a GraphQL query.

    Args:
        query (str): The GraphQL query string to execute.
        variables (dict, optional): Variables for the GraphQL query. Default is None.
        operation_name (str, optional): Name of the operation, if multiple operations are present in the query. Default is None.

    Returns:
        dict: The response from the GraphQL server if successful.
        str: Error message if the request fails.
    """
    payload = {"query": query.strip()}

    if variables:
        payload["variables"] = variables

    if operation_name:
        payload["operationName"] = operation_name

    try:
        response = requests.post(self.url, headers=self.headers, json=payload)

        # Check if the request was successful
        response.raise_for_status()

        # Return the JSON response
        return response.json()

    except requests.RequestException as e:
        # Handle request errors
        return str(e)
    except ValueError as e:
        # Handle JSON decoding errors
        return f"Error decoding JSON: {e}"

Ensure that:

The query is correctly altered to include pagination.
The response does not contain any errors.
The response data contains the expected data key and the fields you are trying to extract.

If the response is still empty, you may need to debug further by logging the response content to understand what is being returned by the API [1][2][3].
To continue talking to Dosu, mention @dosu.

Can you please explain what is wrong in the code I shared?

or

Do you suggest any ways to fix it , based on the code I shared?

To address the issue of getting an empty response from your GraphQL query, you can try the following steps:

Check Query Structure: Ensure that your query is correctly structured and matches the schema expected by the GraphQL API. Verify that all fields and types are correctly specified.
Remove Pagination Arguments: If the API does not support pagination arguments, you can modify the alter_query method to remove them. Here is an example:def alter_query(self):
    """
    Alters the GraphQL query by removing pagination arguments.

    Returns:
        str: The altered GraphQL query without pagination arguments.
    """
    from graphql import parse, print_ast

    query = self.query
    ast = parse(query)

    # Assuming the first selection is the main query field
    field_node = ast.definitions[0].selection_set.selections[0]

    # Remove pagination arguments if they exist
    field_node.arguments = [
        arg for arg in field_node.arguments if arg.name.value not in ["page", "rows"]
    ]

    return print_ast(ast)

Log the Response: Add logging to capture the response content. This will help you understand what is being returned by the API and diagnose any issues.def graphql_request(
    self,
    query: str,
    variables: Optional[dict] = None,
    operation_name: Optional[str] = None,
) -> Union[dict, str]:
    payload = {"query": query.strip()}

    if variables:
        payload["variables"] = variables

    if operation_name:
        payload["operationName"] = operation_name

    try:
        response = requests.post(self.url, headers=self.headers, json=payload)
        response.raise_for_status()
        response_data = response.json()
        logging.debug(f"GraphQL response: {response_data}")
        return response_data
    except requests.RequestException as e:
        return str(e)
    except ValueError as e:
        return f"Error decoding JSON: {e}"

Verify Headers and Endpoint: Ensure that the endpoint URL and headers are correctly set. Double-check the authorization token and other headers required by the API.
Check for Errors in Response: Ensure that the response does not contain any errors. You can add error handling to check for errors in the response data.def fetch_data(self) -> dict:
    try:
        query = self.alter_query()
        response = requests.post(self.endpoint, json={"query": query}, headers=self.headers)
        response.raise_for_status()
        data = response.json()
        if "errors" in data:
            logging.error(f"GraphQL errors: {data['errors']}")
            raise APICallError(data["errors"])
        return data
    except requests.exceptions.RequestException as e:
        logging.error("Error connecting to the API:", exc_info=True)
        raise APICallError("Error connecting to the API") from e

By following these steps, you should be able to diagnose and fix the issue with your GraphQL query returning an empty response. If the problem persists, further debugging and logging will help identify the root cause.
To continue talking to Dosu, mention @dosu.

can you share llamaindex version of the code, is the code i shared correct?

The code you shared appears to be mostly correct, but there are a few adjustments and best practices you can follow to ensure it works properly with the llama_index library. Here is a version of your code using llama_index:
!pip install llama-index openai llama-index-tools-graphql -qU

import os
import logging
import requests
from llama_index.tools.graphql import GraphQLToolSpec
from llama_index.agent.openai import OpenAIAgent

# Set up logging
logging.basicConfig(level=logging.DEBUG)

# Set the OpenAI API key
os.environ["OPENAI_API_KEY"] = "your_openai_api_key_here"

# Define the GraphQL endpoint and headers
tool_spec = GraphQLToolSpec(
    url="https://streaming.bitquery.io/eap/",
    headers={
        "content-type": "application/json",
        'Authorization': 'Bearer TOKEN_HERE_V2'
    },
)

# Define the GraphQL query
graphql_fields = """
subscription {
  Solana {
    InstructionBalanceUpdates(limit: {count: 10}) {
      Transaction {
        Index
        FeePayer
        Fee
        Signature
        Result {
          Success
          ErrorMessage
        }
      }
      Instruction {
        InternalSeqNumber
        Index
        CallPath
        Program {
          Address
          Name
          Parsed
        }
      }
      Block {
        Time
        Hash
        Height
      }
      BalanceUpdate {
        Account {
          Address
        }
        Amount
        Currency {
          Decimals
          CollectionAddress
          Name
          Key
          IsMutable
          Symbol
        }
      }
    }
  }
}
"""

# Define the suffix for the query
suffix = "Search for the Transaction with positive Balance stored in the graphql database that has this schema"

# Make the GraphQL request
response = tool_spec.graphql_request(query=graphql_fields + suffix, variables={}, operation_name="YourOperationName")

# Log and print the response
logging.debug(f"GraphQL response: {response}")
print(response)

Key Points:

Logging: Added logging to capture the response content for debugging purposes.
Environment Variable: Ensure the OpenAI API key is set correctly.
GraphQL Request: The graphql_request method is used to make the request and handle potential errors.

Additional Steps:

Check Query Structure: Ensure that your query is correctly structured and matches the schema expected by the GraphQL API.
Verify Headers and Endpoint: Double-check the endpoint URL and headers, including the authorization token.
Error Handling: Ensure that the response does not contain any errors and handle them appropriately.

By following these steps and using the provided code, you should be able to diagnose and fix the issue with your GraphQL query returning an empty response. If the problem persists, further debugging and logging will help identify the root cause [1][2].
To continue talking to Dosu, mention @dosu.

code is similar to what i shared by get empty response

To help identify what might be wrong with your code or suggest further debugging steps, here are a few things you can check:

Check the URL and Headers: Ensure that the url and headers you are passing to the GraphQLToolSpec are correct and that the server is reachable.
Verify the Query and Variables: Make sure that the query, variables, and operation_name you are passing to the graphql_request method are correctly formatted and valid.
Inspect the Response: The method graphql_request returns res.text, which is the raw text of the response. You might want to inspect the response status code and content to get more information about why the response is empty.

Here is an example of how you might modify your code to include additional debugging information:
import logging
import requests
from llama_index.tools.graphql import GraphQLToolSpec

# Set up logging
logging.basicConfig(level=logging.DEBUG)

class GraphQLToolSpec(BaseToolSpec):
    """Requests Tool."""

    spec_functions = ["graphql_request"]

    def __init__(self, url: str, headers: Optional[dict] = {}):
        self.headers = headers
        self.url = url

    def graphql_request(self, query: str, variables: str, operation_name: str):
        r"""
        Use this tool to make a GraphQL query against the server.

        Args:
            query (str): The GraphQL query to execute
            variables (str): The variable values for the query
            operation_name (str): The name for the query

        example input:
            "query":"query Ships {\n  ships {\n    id\n    model\n    name\n    type\n    status\n  }\n}",
            "variables":{},
            "operation_name":"Ships"

        """
        res = requests.post(
            self.url,
            headers=self.headers,
            json={
                "query": query,
                "variables": variables,
                "operationName": operation_name,
            },
        )

        # Debugging information
        logging.debug(f"Status Code: {res.status_code}")
        logging.debug(f"Response Text: {res.text}")

        return res.text

# Define the GraphQL endpoint and headers
tool_spec = GraphQLToolSpec(
    url="https://streaming.bitquery.io/eap/",
    headers={
        "content-type": "application/json",
        'Authorization': 'Bearer TOKEN_HERE_V2'
    },
)

# Define the GraphQL query
graphql_fields = """
subscription {
  Solana {
    InstructionBalanceUpdates(limit: {count: 10}) {
      Transaction {
        Index
        FeePayer
        Fee
        Signature
        Result {
          Success
          ErrorMessage
        }
      }
      Instruction {
        InternalSeqNumber
        Index
        CallPath
        Program {
          Address
          Name
          Parsed
        }
      }
      Block {
        Time
        Hash
        Height
      }
      BalanceUpdate {
        Account {
          Address
        }
        Amount
        Currency {
          Decimals
          CollectionAddress
          Name
          Key
          IsMutable
          Symbol
        }
      }
    }
  }
}
"""

# Define the suffix for the query
suffix = "Search for the Transaction with positive Balance stored in the graphql database that has this schema"

# Make the GraphQL request
response = tool_spec.graphql_request(query=graphql_fields + suffix, variables={}, operation_name="YourOperationName")

# Log and print the response
logging.debug(f"GraphQL response: {response}")
print(response)

By printing the status code and response text, you can get more insight into what might be going wrong. If the status code is not 200, it indicates an error. The response text might contain error messages or other information that can help you debug the issue.
Additionally, here are some examples from the llama_index library that might help you set up your GraphQL requests correctly:
Unauthenticated Server Example
from llama_index.tools.graphql.base import GraphQLToolSpec

# Unauthenticated example against a public server
url = "https://spacex-production.up.railway.app/"
headers = {
    "content-type": "application/json",
}

graphql_spec = GraphQLToolSpec(url=url, headers=headers)
agent = OpenAIAgent.from_tools(
    graphql_spec.to_tool_list(),
    verbose=True,
)

print(agent.chat("get the id, name and type of the Ships from the graphql endpoint"))

Authenticated Server Example
# Authenticated example against a Shopify store

url = "https://your-store.myshopify.com/admin/api/2023-07/graphql.json"
headers = {
    "accept-language": "en-US,en;q=0.9",
    "content-type": "application/json",
    "X-Shopify-Access-Token": "your-admin-key",
}

graphql_spec = GraphQLToolSpec(url=url, headers=headers)
agent = OpenAIAgent.from_tools(
    graphql_spec.to_tool_list(),
    verbose=True,
)

print(
    agent.chat("get the id and title of the first 3 products from the graphql server")
)

These examples show how to set up both unauthenticated and authenticated GraphQL requests using the llama_index library. Make sure your setup aligns with these examples, especially regarding the URL and headers [1][2][3].
To continue talking to Dosu, mention @dosu.

can someone from llama index team look in to it?


Rename ok.sh to ok

#44  👈
main

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

Join @jespert and the rest of your teammates on  Graphite

Merge activity

May 16, 9:06 AM EDT: @jespert merged this pull request with Graphite.


VIM-1062

https://youtrack.jetbrains.com/issue/VIM-1062
added:
:bn select the next editor tab, circling from the last to the first
:bp select the previous editor tab, circling from the first to the last
:bd or bdX

That's great, thank you for your work!


I`m sorry if it's a silly question, but your code isn't open, right?

What's your reasoning for keeping it closed source?
I'm curious because I would like to contribute

I was wondering about this too. I wanted to read your code and maybe use your service, or launch my own instance. But it was just a readme.
I have trouble trusting something like this on my discord server w/o reading the code. I can't imagine why it is closed source.

Some of it is.

But none of it seems to have been made available. Only the readme, license, and changelog, none of which are code... how can it be open if it isn't available?


Check time_zone_aware_types

When testing if a certain attribute is time zone aware in the validator, also check  the value of ActiveRecord::Base.time_zone_aware_types.
We have ActiveRecord::Base.time_zone_aware_types = [:datetime], hence :time types are not time zone aware. When validating times, they are still converted to CET, giving wrong validation errors.
This problem arised with the upgrade to 5.0, because skip_time_zone_conversion_for_attributes is empty in our case, which leads to the attribute being interpreted as time zone aware wrongly. In version 4.1, timeliness_attribute_timezone_aware? returned false by default.

What version of Rails/ActiveRecord are you using?

<IP_ADDRESS>

Hi, I have this same problem because we have disabled time zone award system-wide with the config option config.active_record.time_zone_aware_attributes = false and because the method time_zone_aware? in validator.rb https://github.com/adzap/validates_timeliness/blob/84ff2088eea1d4a35cecc2b9f39e31537c83271a/lib/validates_timeliness/validator.rb#L102 does not check if this config flag is false and then return true, making the parsing wrong.


[BUG] BTC to CAD price conversion warnings

To Reproduce
Setup a wallet with CAD as the fiat price to display
Receive sats with the wallet
(In my case, with a lnaddress setup on a LNURLP extension)
Observe the following lines on the log:
2023-11-23 08:21:34.08 | WARNING | Failed to fetch Bitcoin price for CAD from Binance: Client error '400 Bad Request' for url 'https://api.binance.com/api/v3/ticker/price?symbol=BTCCAD'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
2023-11-23 08:21:34.28 | WARNING | Failed to fetch Bitcoin price for CAD from Bitfinex: Client error '400 Bad Request' for url 'https://api.bitfinex.com/v1/pubticker/btccad'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
2023-11-23 08:21:34.35 | WARNING | Failed to fetch Bitcoin price for CAD from Bitstamp: Client error '404 Not Found' for url 'https://www.bitstamp.net/api/v2/ticker/btccad/'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
2023-11-23 08:21:34.47 | WARNING | Failed to fetch Bitcoin price for CAD from Exir:
2023-11-23 08:21:34.55 | WARNING | Failed to fetch Bitcoin price for CAD from CoinMate: 'NoneType' object is not subscriptable

In my case, I do still see CAD values when looking at the transaction list but am wondering if I have outdated price information, if there is another source providing updated information, etc.  If there is another price conversion source, perhaps adding a line indicating that price information was successfully obtained would help.
Potential feature request:  I believe these URLs are hard-coded.  Perhaps a feature to allow admins to choose the the conversion price sources.

LNbits version: Just updated to 0.11.1, restored database from backups
Database sqlite (for now, still need to migrate to something better)
This LNbits service is available if you want to check anything else at https://lnbits.funkymonkey.org/

After looking at the code I see there are eight providers.  Five providers failed would suggest three are working.  This probably isn't a bug at this point in time but over 50% of the providers not working so this should still be checked.  I'll take a stab at it if I get time.

Exir fails for the BTCEUR ticker as well, while other providers work.
It seems BTCCAD is not supported by all providers.
For example, look at the Binance ticker symbols, there is no CAD at all.
In any case, it seems LNBits calculates an average of all providers it could find, so I don't think missing a few is an issue:
return sum(rates) / len(rates)

Also, there is a warning if only 1 provider succeeded:
len(rates) == 1:
        logger.warning("Could only fetch one Bitcoin price.")

I can add a not to this issue. Infact the warnings appear also to other pairs, for example CHF:
| WARNING | Failed to fetch Bitcoin price for CHF from Bitfinex: Client error '400 Bad Request' for url 'https://api.bitfinex.com/v1/pubticker/btcchf'
web_1       | 2023-12-16T06:54:42.497773952Z For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
web_1       | 2023-12-16T06:54:42.499485409Z 2023-12-16 06:54:42.49 | WARNING | Failed to fetch Bitcoin price for CHF from Kraken: 'XXBTZCHF'
web_1       | 2023-12-16T06:54:42.500522548Z 2023-12-16 06:54:42.50 | WARNING | Failed to fetch Bitcoin price for CHF from Exir: Client error '400 Bad Request' for url 'https://api.exir.io/v1/ticker?symbol=btc-chf'
and it seems on all the price providers.

Happening for the AUD pair as well.
Feb 19 16:03:05 node poetry[83684]: 2024-02-19 16:03:05.30 | WARNING | Failed to fetch Bitcoin price for AUD from CoinMate: 'NoneType' object is not subscriptable
Feb 19 16:03:05 node poetry[83684]: 2024-02-19 16:03:05.34 | WARNING | Failed to fetch Bitcoin price for AUD from Kraken: 'XXBTZAUD'
Feb 19 16:03:05 node poetry[83684]: 2024-02-19 16:03:05.47 | WARNING | Failed to fetch Bitcoin price for AUD from Bitfinex:
Feb 19 16:03:05 node poetry[83684]: 2024-02-19 16:03:05.49 | WARNING | Failed to fetch Bitcoin price for AUD from Exir:


Convert Celsius to Fahrenheit

Challenge Name

https://www.freecodecamp.com/challenges/convert-celsius-to-fahrenheit#?solution=
function convertToF(celsius) {
  var fahrenheit%3B
  %2F%2F Only change code below this line
  fahrenheit%3D(celsius *(9%2F5))%2B32%3B%0A%20%20%0A%20%20%0A%20%20%2F%2F%20Only%20change%20code%20above%20this%20line%0A%20%20return%20fahrenheit%3B%0A%7D%0A%0A%2F%2F%20Change%20the%20inputs%20below%20to%20test%20your%20code%0AconvertToF(0)%3B%0AconvertToF(-30)%3B%0AconvertToF(-10)%3B%0AconvetToF(0)%3B%0AconvertToF(20)%3B%0AconvertToF(30)%3B%0A
Issue Description

Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

Screenshot

Please provide details of the issue that you are facing.
The issue tracker is for reporting bugs only. Please use the help chat room or try looking through the forum for help with a specific challenge.
Happy Coding.

@EULARIAN Your code is not correct, there is a typo.
The issue tracker is for reporting bugs only. Please use the help chat room or try looking through the forum for help with a specific challenge.
Happy Coding.


Using a proxy for http...

Remember #234?  Looks like now we have yet another problem.  After upgrading to the latest, I get this:
Using a proxy for http...
deferred error : (error "$http_proxy/80 Name or service not known")

Just a minor point: why there is a space between error and : (looks bad)?
Anyway, seems like now $http_proxy and $https_proxy environment variables are checked somewhere.  We should guard against this too via the same or dedicated defcustom.

Is this when using curl as request backend? Have you tried to unset those environment variables. Is this also when using url-retrieve as request backend?
What are you refering to with

After upgrading to the latest

ymcd? or emacs-ycmd? or your OS?
There was no recent work in this area on emacs-ycmd side.

Kindly want to apologize for the delay.  Will look into this as time permits.

@Alexander-Shukaev Can you please check if #438 fixes this issue?

@ptrv, you're the best! :+1:


Workaround: Fix library zlib test failures on Ubuntu jammy s390x.

This PR fixes #1083, and ruby/ruby's tests on Ubuntu jammy s390x server on RubyCI. The log is here.
The ruby/spec fails on the s390x jammy s390x where the zlib deb package is configured by ./configure --dfltcc.
It produces a different (but still valid) compressed byte stream, and causes the test failures in ruby/zlib. As a workaround, we need to set the environment variable DFLTCC=0 disabling the implementation in zlib on s390x to the failing tests.
Note we need to test in a child Ruby process with ruby_exe to test on the DFLTCC=0 set by the parent Ruby process.
See https://github.com/ruby/zlib/commit/9f3b9c470c for details.
This PR has 2 commits. The 1st commit is to add Travis CI s390x. As far as I know, Travis CI is only the choice to test on naive s390x on pull-request.
Travis CI log before the commit.
https://app.travis-ci.com/github/junaruga/ruby-spec/jobs/610640347

3715 files, 32206 examples, 181145 expectations, 12 failures, 0 errors, 0 tagged

Travis CI log after the commit.
https://app.travis-ci.com/github/junaruga/ruby-spec/builds/266237275

3715 files, 32206 examples, 158515 expectations, 0 failures, 0 errors, 0 tagged

It seems that right now Travis CI is enabled for only ruby/ruby. I am asking @hsbt to enable Travis CI for ruby/*, all the repositories under Ruby projects.

Thank you for the great issue and this PR.
Does this issue only happen on s390x? It seems so.
I however have multiple concerns about this PR:

I do not want to run TravisCI, it's too slow, I want a single CI system and IMO TravisCI betrayed the OSS community
When googling s390x it seems discontinued
This change means it's a lot slower to run those specs and it's harder to debug them with the extra subprocesses (+ not syntax highlight of the code), even more so on alternative Ruby implementations (where startup tends to be slower).

So I think a practical solution here is wrapping those specs in platform_is_not :s390x or so (that matches by substring of RUBY_PLATFORM IIRC), or documenting that on s390x ruby/spec must be run with DFLTCC=0 like DFLTCC=0 mspec .... That seems a much less invasive approach with no downside for "fully-compatible standard zlib" implementations.

Thank you for the great issue and this PR. Does this issue only happen on s390x? It seems so.

Thank you for raising the concerns. I can understand it.

So I think a practical solution here is wrapping those specs in platform_is_not :s390x or so (that matches by substring of RUBY_PLATFORM IIRC), or documenting that on s390x ruby/spec must be run with DFLTCC=0 like DFLTCC=0 mspec .... That seems a much less invasive approach with no downside for "fully-compatible standard zlib" implementations.

I will change the PR removing the .travis.yml, following on your way. I can understand that we want to make maintaining the repository simple.

I however have multiple concerns about this PR:
* I do not want to run TravisCI, it's too slow, I want a single CI system and IMO TravisCI betrayed the OSS community

In my testing, Travis CI with one build was faster than GitHub Actions with 9 builds. And when comparing the one build between Travis and GitHub Actions, Travis CI's job is faster.
Travis: 3 minutes 24 seconds.
https://app.travis-ci.com/github/junaruga/ruby-spec/builds/266237275
GitHub Actions: macos 3.0.6: 4 minutes 41 seconds.
https://github.com/ruby/spec/actions/runs/6330557388/job/17193217499?pr=1084
Could you tell me more about "TravisCI betrayed the OSS community" in your mind?

* When googling s390x it seems [discontinued](https://en.wikipedia.org/wiki/IBM_System/390)

Seeing the IBM_System/390 Wikipedia page, I don't think it's the case of the s390x. The "Discontinued | December 31, 2004[1]" in the page, citing this reference. I think the CPU architecture s390 and s390x are different.
For example, if you see the ruby deb package on Ubuntu latest version mantic, you see the s390x is one of their 7 supported CPU architectures. Ubuntu also has the s390x page.
In Fedora project, the s390x is one of the supported CPU architectures. I need to care about the s390x when building Ruby RPM package on Fedora.

* This change means it's a lot slower to run those specs and it's harder to debug them with the extra subprocesses (+ not syntax highlight of the code), even more so on alternative Ruby implementations (where startup tends to be slower).

I definitely agree with this. This PR makes us much harder to debug, and to maintain.

So I think a practical solution here is wrapping those specs in platform_is_not :s390x or so (that matches by substring of RUBY_PLATFORM IIRC), or documenting that on s390x ruby/spec must be run with DFLTCC=0 like DFLTCC=0 mspec .... That seems a much less invasive approach with no downside for "fully-compatible standard zlib" implementations.

I will change the PR removing the .travis.yml, following on your way. I can understand that we want to make maintaining the repository simple.

The failures didn't happen in Ubuntu focal (20.04), and also it seems that these didn't happen in Fedora rawhide (Fedora 40) even when the upstream zlib patch implementing this feature is applied and configured with --dfltcc. So, I think that the printing warning in the tests when the DFLTCC=0 is another possible fix.
https://src.fedoraproject.org/rpms/zlib/blob/rawhide/f/zlib.spec#_24
# IBM Z hardware-accelerated deflate
# ref: https://github.com/madler/zlib/pull/410
Patch19: zlib-1.2.13-IBM-Z-hw-accelerated-deflate.patch

I would close this PR, as I opened another PR https://github.com/ruby/spec/pull/1088.

In my testing, Travis CI with one build was faster than GitHub Actions with 9 builds. And when comparing the one build between Travis and GitHub Actions, Travis CI's job is faster.
Travis: 3 minutes 24 seconds. https://app.travis-ci.com/github/junaruga/ruby-spec/builds/266237275
GitHub Actions: macos 3.0.6: 4 minutes 41 seconds. https://github.com/ruby/spec/actions/runs/6330557388/job/17193217499?pr=1084

That's not comparing the same, GitHub Actions also does Run C-API specs as C++.
If we compare times for the step running the specs it's 2min (GHA) vs 3min (TravisCI).

Could you tell me more about "TravisCI betrayed the OSS community" in your mind?

Well, they were acquired by a company which doesn't care, they stopped providing CI for free for the most common architectures for OSS, TravisCI Windows support is crap, etc, etc.

Seeing the IBM_System/390 Wikipedia page, I don't think it's the case of the s390x. I can see the "Discontinued | December 31, 2004[1]" in the page, citing this reference. I think the CPU architecture s390 and s390x are different. In my understand the s390x CPU is currently used in called IBM Z system and Linux One.

Right, that's quite confusing.

In my testing, Travis CI with one build was faster than GitHub Actions with 9 builds. And when comparing the one build between Travis and GitHub Actions, Travis CI's job is faster.
Travis: 3 minutes 24 seconds. https://app.travis-ci.com/github/junaruga/ruby-spec/builds/266237275
GitHub Actions: macos 3.0.6: 4 minutes 41 seconds. https://github.com/ruby/spec/actions/runs/6330557388/job/17193217499?pr=1084

That's not comparing the same, GitHub Actions also does Run C-API specs as C++. If we compare times for the step running the specs it's 2min (GHA) vs 3min (TravisCI).

Ah, right.
How about comparing with GitHub Actions, windows cases?
https://github.com/ruby/spec/actions/runs/6330557388/job/17193218336?pr=1084
Run Specs (Windows) is 6:49 min vs 3 min (Travis CI).

Could you tell me more about "TravisCI betrayed the OSS community" in your mind?

Well, they were acquired by a company which doesn't care, they stopped providing CI for free for the most common architectures for OSS, TravisCI Windows support is crap, etc, etc.

I can understand it. Travis's x86_64 (amd64) CPU, the common architecture's pipeline is not free any more (reference, while other small sized CI services such as Circle CI, Drone CI are still free for the CPU architecture.
Oh, I just found a GitHub Actions helper to run non-x86_64 architectures on QEMU on GitHub here. It doesn't mean I want to apply it to this repository. I am just sharing it.


Changing Streaming settings not working.

Hey there! I am trying to change stream settings on my WP4k, and the commands aren't working. I am on Companion 2.2.0 and version 3.1 on the WP.

Updated Companion to 2.2.2 and still having the same problem.

When I change the variables in the Web Presenter Utility, they update in the companion variables pane. Almost instantly. Still can't update from the streamdeck button though.

Can you show me the settings you are trying to send. I've just retested on a WebPresenter4K and set it to YouTube without any problem.

For YouTube the server needs to be either 'Primary' or 'Secondary', the same as you would see in the WebPresenter desktop app.

Gotcha. Do i need to type "Primary" or "Secondary" instead of the URL in the server text field?

Yes, the config fields in Companion should always show the same text as the WebPresenter desktop app.

That did the trick! Thank you!


Fix test case files

Some of the URLs for the test cases no longer are correct or generate errors which cause some tests to fail. Fix this.

Fixed in 0fdd3c1


Marker Cluster: new marker under cluster

I'm submitting a ...  (check one with "x")

[ ] question
[x] any problem or bug report

OS:  (check one with "x")

[x] Android
[ ] iOS
[ ] Browser

cordova information:  (run $> cordova plugin list)
cordova-ios-plugin-no-export-compliance 0.0.5 "iOS No Export Compliance"
cordova-plugin-add-swift-support 1.7.2 "AddSwiftSupport"
cordova-plugin-advanced-http 2.0.1 "Advanced HTTP plugin"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-browsersync 0.1.7 "cordova-plugin-browsersync"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-globalization 1.11.0 "Globalization"
cordova-plugin-googlemaps 2.5.0-beta-20181030-1133 "cordova-plugin-googlemaps"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 2.1.4 "cordova-plugin-ionic-webview"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-qrscanner 2.6.0 "QRScanner"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"

If you use @ionic-native/google-maps, please tell the package.json (only @ionic-native/core and @ionic-native/google-maps are fine mostly)
"@ionic-native/core": "^5.0.0-beta.22",
"@ionic-native/google-maps": "^5.0.0-beta.22",

Current behavior:
New marker created as single marker with method map.addMarker() is under Marker cluster icon.
Use case:
I have Marker Cluster, zoomed to high zoom level to see single markers. On tap of some marker I need change its icon to mark as active.

There is one option: change marker cluster source and let it assemble again by cluster.remove() and addMarkerCluster() (bad option, too high cpu system resources usage).
My approach: create new marker using addMarker() method with same coords as clicked marker. Marker is placed under clicked marker almost everytime. Zoom out to recalculate cluster and zoom in helps, new added marker is above original marker cluster single icon.

New created marker has big zIndex (99999), it has no effect.
Calling cluster['_objectInstance']._triggerRedraw({force:true}) after marker created does not help - this will let avoid using addMarker() method for changing icon of clicked marker.
Works correct on iOS, new marker is always above single marker of Marker Cluster.
Expected behavior:

Place new markers always above marker cluster single marker.
Working redraw method to update Marker cluster from source icons to avoid using addMarker(). This is preferred solution, if it is possible. Adding new marker is redundant.

Related code, data or error log (please format your code or data):
Will create small git repository if needed.

Will create small git repository if needed.

Yes please

Ping

Since there is no response for a while, I close this thread.


Test: Explorer async find

Refs: #212077

[x] ssh @bhavyaus
[ ] macOS @sbatten
[x] windows @hediet

Complexity: 3
Create Issue

This iteration we worked on improving find in the explorer view. The Explorer now uses file search to provide the results of find.

Open find in the explorer tree (Ctrl+Alt+F)
Try different queries and check if the results make sense and the results don't appear to slow
Make sure you are able to open the files when clicking on the results
Make sure context menu actions work (Some have been disabled, we will look into supporting them next month)
Focus an item and close the find widget => The item should now be revealed in the tree

https://github.com/user-attachments/assets/b29cbd35-006a-4aff-a011-be1a422c246b

Very nice feature!

Yes, very cool!

Works great!


chore(deps): upgrade jenkins-x/jx3-versions to version 1.0.30

from: https://github.com/jenkins-x/lighthouse.git

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign hferentschik
You can assign the PR to them by writing /assign @hferentschik in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Updates to CED Page

We have a few changes to make to update Cloud Engineering Days:
1/ Replace the 'Hackathon' tile with 'Case Studies' and the text below with: 'Learn from Pulumi customers on how they scaled up their infrastructure velocity and reliability with Pulumi. Infrastructure experts from companies like Fauna, Panther Labs, and Altana AI will present best practices for using Pulumi and infrastructure as code to increase velocity and even build their product platforms.' Please change button to a 'Register' button like the others
2/ Please remove Kat and David from the workshops presenter images
3/ Please remove the section about the Pulumi Community Hackathon (right below 'Join the Conversation')
4/ Please add partner logos to the section where Hackathon used to be. This can just be a white background with logos equally distributed horizontally across the page (I will add the logos shortly)
5/ Please remove 'Hackathon Launch' from the agenda and update 'Workshop Day' to the 12PM slot instead of 1PM
6/ It was noticed that sometimes the images of people look stretched at different screen sizes, can we prevent this?

https://github.com/pulumi/pulumi-hugo/pull/2040 this PR covers:
1 (halfway)/ removes hackathon tile (not replaced yet)
2/ removes Kat and David from presenters
3/ removes hackathon section
5/ removes hackathon launch from the agenda
6/ fixes stretchy images
will open a separate PR for:
1 (the rest of it)/ 'Case Studies'
5/ move up workshop day timing
4/ partner logos

Add Customer speakers in the Pulumi Demo's and best practices:
Wondering if there is a way to pull in the customer logos so they feature prominently?
Dan Swartz, Principal Software Engineer, Altana AI
Dennis Webb, Staff Software Engineer, Panther
Also adding to Schedule at a Glance:
Can we add the customer logos in the relevant spots?
Within Achieving Results with Pulumi Customers
Add in the two above

Here are the partner logos @shughes26:

Also could we please add Tushar and Ringo as presenters on the workshop tile (where Kat and David were):


Add new tool choices to the ChatCompletionCreateRequest and ChatMessa…

Add new tool choices to the ChatCompletionCreateRequest and ChatMessage response messages.
Mark the old function api as Obsolete.
Added playground tests to test the new function calling and also get the streaming function calling example working (in a messy way).

Hi, I made some changes. I removed support for legacy functions as they can easily be converted to tools, which will make the SDK cleaner. I also added support for AsObject to the functionDefination in ToolDefinition, as some may need it. I have only one comment, please take a look. I think you may have forgotten to remove that class by mistake.If yes, please remove it. If no, could you please clarify what it is?

Your changes looks good to me.
What class are you referring to by 'may have forgotten to remove that class by mistake'?
Do you mean the class ToolChoiceFunction?
This is meant to be used with the ChatCompletionCreateRequest.ToolChoice field.
That field can be a string, e.g.
request.ToolChoice = StaticValues.CompletionStatics.ToolChoice.Auto;

or
request.ToolChoice = StaticValues.CompletionStatics.ToolChoice.None;

or a ToolChoiceFunction instance.
e.g.
request.ToolChoice = new ToolChoiceFunction() { Function = new FunctionTool() { Name = "get_current_weather" }};

That is why I setup the ToolChoice as a object.
You can see I tested it by commenting out the code bits in this block of the RunChatFunctionCallTest method:
            ConsoleExtensions.WriteLine("Chat Function Call Test:", ConsoleColor.DarkCyan);
            var completionResult = await sdk.ChatCompletion.CreateCompletion(new ChatCompletionCreateRequest
            {
                Messages = new List<ChatMessage>
                {
                    ChatMessage.FromSystem("Don't make assumptions about what values to plug into functions. Ask for clarification if a user request is ambiguous."),
                    ChatMessage.FromUser("Give me a weather report for Chicago, USA, for the next 5 days.")
                },
                Tools = new List<ToolDefinition> { new() { Function = fn1 }, new() { Function = fn2 }, new() { Function = fn3 }, new() { Function = fn4 }, new() { Function = fn4 } },
                // optionally, to force a specific function:
                // ToolChoice = new ToolChoiceFunction() { Function = new FunctionTool() { Name = "get_current_weather" }},
                // or auto tool choice:
                // ToolChoice = StaticValues.CompletionStatics.ToolChoice.Auto,
                MaxTokens = 50,
                Model = Models.Gpt_3_5_Turbo
            });

Oh, I see. That makes sense. I have made some changes to the usage. I don't like the given object as a default field because it may leave developers in the dark about which objects are acceptable. I will be merging these changes. Please leave a comment if you disagree with any of my changes so that we can further improve this pull request and merge again.
(I removed default tool values, etc., because in the future, I think OpenAI will introduce different types, and using functions as defaults will lose its purpose and may create confusion for both new and existing developers.)


Always generates, unable to stop

VS Code Version: 1.78.2 (Universal)
OS Version: Linux ep_dev-4-60 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Logs:

Steps to Reproduce:
in *.tsx file

there are many ' 'in the end
When prompted to generate other  , always generates, unable to stop

Hi, thanks for filing the issue. I do not understand what's happening and how to reproduce. Could you add more details and maybe take a screencast?

Hi, thanks for filing the issue. I do not understand what's happening and how to reproduce. Could you add more details and maybe take a screencast?

Sorry, perhaps my description is not specific enough.
In the tsx file, when I use copolit to generate HTML closing tags, copolit will continuously generate, just like the screenshot above.
f you want to reproduce, you may need to define multipletags without end tags in a tsx file, then write an end tag, wait for the copilot to prompt to generate othertags, and then generate them according to the prompts. The copilot will continuously generatetags.
In the tsx file, when I use copolit to generate HTML closing tags, copolit will continuously generate, just like the screenshot above.
If you want to reproduce, you may need to define multipletags without end tags in a tsx file, then write an end tag, wait for the copilot to prompt to generate othertags, and then generate them according to the prompts. The copilot will continuously generatetags.
I just gave it a try and this issue will continue to arise

Could you please provide a screencast video or gif with how you're triggering this and what happens? I still don't quite understand how to trigger this behavior

you need config  format on save is true .

Save and then generate it according to the prompts.
https://github.com/microsoft/vscode-copilot-release/assets/67349524/d796a24c-5da1-4fb1-9bee-ee1868ecc2ce


sanitizeHTML wrong return result

OpenUI5 version:
1.115.0
Browser/version (+device/version):
Google Chrome Version 113.0.5672.126
URL (minimal example if possible):
https://jsbin.com/coqupokose/edit?html,output
Steps to reproduce the problem:
We are using the sap/base/security/sanitizeHTML to sanitize our string in our product and found an issue for this function with style 'font-weight:900'.
HTML sanitiser will replace the number string '900' with '' before checking the correct policy for font-weight related cssSchema.
This function works well with non-number style like 'font-weight: bold', 'font-weight: bolder', etc.
What is the expected result?
HTML sanitiser to return
test text

What happens instead?
HTML sanitiser returns
test text

Any other information? (attach screenshot if possible)
This issue is related to issue https://github.com/SAP/ui5-webcomponents/issues/7080.

Hello @nnaydenow ,
Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards,
Petya Markova.
(UI5 Dispatcher)

The sanitizer had indeed listed the standard numerical font weights like 100, 200, ... 800, 900 etc. as allowed enum values for the font-weight CSS property (see here). But before checking against  that enum, the sanitizer took the wrong decision to check the value as a numeric value instead (something that the sanitizer's metadata for the font-weight property don't allow).
This has been fixed with https://github.com/SAP/openui5/commit/e8833e66b92fd5bcedf9d8fbe601799e41d25eff and the standard numeric values are now accepted.
However, the sanitizer does still not support the more fine grained values that the CSS Fonts Level 4 spec allows. We have no plans to enhance the caja-html-sanitizer to support this. If this is required in some scenario, using a 3rdparty sanitizer is currently the only possible solution.


i cant open my damn psych engine

Describe your problem here.
so when i try to execute the psych engine exe it doesnt open i click so much and it doesnt open still....if the devs or someone knows how to help please replie here and how
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

If you opened from the .zip file, Extract it.
Else try reinstalling.


add limited support for authenticated proxies using default credentials

add limited support for authenticated proxies using default credentials, which is working only with proxies using Windows SSO.

I verified this change does not brake Fiddler or Charles, but I don't have an auth proxy to see if it really works for the intended use case.

I think I want to take this for the next preview.  Ting/Eric, any obvious reason not to?

It hasn't been tested. And I would guess that it requires DefaultNetworkCredentials not DefaultCredentials. AFAIK, there isn't anyone with an issue ready to confirm this fix.

closing since different PR


[Need help] The method 'screenShot' was called on null

The controller is null.
So you need to check the IjkMediaController object.


Implement full screen in Chrome for iOS

Chrome for iOS does have a real fullscreen mode. This would provide a better experience than the one Safari currently provides.

Nevermind, Chrome for iOS actually doesn't have a fullscreen mode :(


fix: update show message method to get custom error messages

What this PR changes/adds
This PR attempts to fix the issue of having a hardcoded error message for the create and update ops. We added another argument to the private method showError where we can pass a custom message while still logging the original error message
Why it does that
We made this change to get verbose and self-descriptive error
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method
signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes #41
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

thanks!


PNG with colors: 8 on image with transparency broken since v0.31.0

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running npm install sharp completes without error.
[x] Running node -e "require('sharp')" completes without error.

If you cannot confirm both of these, please open an installation issue instead.
Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
  System:
    OS: macOS 12.6
    CPU: (8) arm64 Apple M1
    Memory: 161.36 MB / 8.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.asdf/installs/nodejs/16.13.1/bin/node
    Yarn: 1.22.19 - ~/.asdf/installs/nodejs/16.13.1/.npm/bin/yarn
    npm: 8.9.0 - ~/.asdf/installs/nodejs/16.13.1/.npm/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  npmPackages:
    sharp: 0.31.1 => 0.31.1

What are the steps to reproduce?

Download this PNG file:

Run the code sample with v0.30.7: the generated image will be as expected.
Run the code sample with v0.31.0 (or later): the generated image will be blank.

What is the expected behaviour?
The output image should not be blank. It should be as the one generated with v0.30.7.
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
import * as fs from 'node:fs'
import sharp from 'sharp'

const readStream = fs.createReadStream('./input.png')
const pipeline = sharp().png({ colors: 8 })
const writeStream = fs.createWriteStream('./output.png')
readStream.pipe(pipeline).pipe(writeStream)

Please provide sample image(s) that help explain this problem

Hi, this looks like the same problem as #3395

reverting to 0.31.0 works
– https://github.com/lovell/sharp/issues/3395#issuecomment-1264451788

Last working version for me is v0.30.7.

v0.31.0 appears to work for 256 colour "palette" images, but that's due to a side effect of the now-fixed #3357. For 8 colour palettes, you are correct that v0.30.7 is the most recent version that currently works.
(v0.31.0 switched from libpng to libspng for PNG output, hence these issues appearing.)
Let's track this at #3395


Max Min Problem

💥 Proposal
You will be given a list of integers and a single integer. You must create an array of length N from elements of that array such that its unfairness is minimized, in C++
Have you read the [Contributing Guidelines on Pull Requests]
Yes
I am GSSOC'21 Participant

/assign

I have made a PR yesterday
What is the meaning of this issue?
@ANUJAGRAWAL2000


Change to using specify blocks for providing timing information.

Currently we are using Verilog attributes for timing information because Yosys doesn't support specify blocks. specify blocks are actually the proper way to provide timing information in Verilog, see below;
From http://verilog.renerta.com/source/vrg00044.htm;

Example 1
module ...
...
specify
  (In => Out) = (10);
endspecify
...
endmodule

A specify block with only a path declaration. Delay between input In and output Out is 10 time units.
Example 2
module ...
...
specify
  specparam TRise = 10,
  TFall = 15;
  (In => Out) = (TRise, TFall) ;
endspecify
...
endmodule

Specparam declaration with two parameters TRise and TFall to specify delays on rising transition and falling transition.
Example 3
module ...
...
specify
  specparam TRise = 10,
  TFall = 15;
  (In => Out) = (TRise, TFall) ;
  $setup(Data_in, posedge Clock, TRise) ;
endspecify
...
endmodule

This ultimately depends on support for these in a parser/elaborator that gives us useful output. At the moment Yosys isn't even able to ignore them, let alone handle them (see [https://github.com/YosysHQ/yosys/issues/506](Yosys #506)).
I think Icarus Verilog is the only open source tool at the moment that supports them, but I don't know if we can get any output from that in a useful form. Maybe it would be easier and cleaner to add support for them in Yosys (e.g. so it dumped them as attributes or similar in the JSON) in the long run though.

Please take a look at https://github.com/YosysHQ/yosys/pull/510 as a starting point.
(Parsing done, but no AST created).

Verilog To Routing supports Post Implementation Timing Simulation by generating a "Standard Delay Fromat (SDF)" file. Maybe we should use that file format instead?


Missing "pmi_ngram.py" file

Hi, thanks for sharing the code. I'm trying to run your code but seems missing one file "pmi_ngram.py"? Does this file be supposed to implement by myself?

Hi, thank you very much for sharing the code. I would appreciate it if you can share this pmi_ngram.py. Thanks.  @shizhediao

Hi, I have uploaded the pmi_ngram.py. Hope it helps.
This is an example script for extracting domain-specific words/ngrams and you may find more effective strategies to extract useful ngrams.


Add graffana dashboard for anlytics and monitoring

Graffana has awesome ui and it is a great tool for monitoring and visualization. Add graffana dashboard to display the scrapped metrics from prometheus.

merged via #734


Add time decay to t-digest

By adding a little more state, the averages kept in the centroids could have true exponential decay of results.
http://tdunning.blogspot.de/2011/03/exponential-weighted-averages-with.html

There appears to be little demand for this.
Closing


Backport: Fix backend='pyvista' in stc.plot() (#8395)

I'm not sure why the notebook test fails… @GuillaumeFavelier mind having a look?

@agramfort One test failed, yet you merged this PR – was this intentional or an accident?

yes it's intentional. I did not think the issue was related. Was it?

Yes. But it's just a small thing. On maint/0.21.0 the attribute name is _notebook (with an underscore) instead of just notebook

@GuillaumeFavelier

Yes. But it's just a small thing. On maint/0.21.0 the attribute name is _notebook (with an underscore) instead of just notebook

But this PR didn't touch any of these… I don't get it. But you seem to be understanding what's going on :) I'd appreciate if you could file a follow-up PR if something is broken now? Or we can have a quick chat / call and you tell me what I need to fix :)
btw check your Slack! ;)

oups my bad....

But this PR didn't touch any of these…

The tests use the name :sweat_smile:
I will open a PR that reverts to the old name and we backport it too. What do you say?

I will open a PR that reverts to the old name and we backport it too. What do you say?

perfect :)


Create Public Roadmap doc

Let's create a document with the current roadmap for the project

Let's use projects instead, the current one is the Release 3.0: https://github.com/eventbrite/britecharts/projects/2


[Calibration]Gyro and Accelermeter offset

Hi @brianc118 ,
I am new to the MPU9250, and I find that your code implements and comments are very easy to understand.
I have some questions about the MPU9250.cpp file. I just noticed that you store the gyro offset, and accel offset to the offset registers when you calibrate the MPU9250 by calibrate() function.
Since you had store the offset to the registers, why do you need to subtract the a_bias and g_bias in these two function again, MPU9250::read_acc(); MPU9250::read_gyro()? Wont it be subtracted by the MPU9250 itself?

Hi @YanJenHuang Huang you're probably right though i can't be sure until I check the  code.
Unfortunately i don't have time until the weekend since i'm currently busy with uni work.

I'll try to understand the implement of the MPU9250, initial, and SPI communication, etc.
Now I am still looking at your code and check with the MPU9250 Register-Map! If you have any advice to me, I am willing to listen.
Thanks~