Missing FFI functions

Hi! I've tried to play with the project a bit, but I don't manage to get the script to run. I get this error:
julik@jet <redacted> $ ruby window.rb
/Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/library.rb:216:in `attach_function': Function 'DrawLineBezierQuad' not found in [libraylib.dylib] (FFI::NotFoundError)
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/raylib-4.5.0.alpha1/lib/raylib/core/functions.rb:582:in `<module:Raylib>'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/raylib-4.5.0.alpha1/lib/raylib/core/functions.rb:1:in `<top (required)>'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/raylib-4.5.0.alpha1/lib/raylib/core.rb:5:in `<top (required)>'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:136:in `require'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/raylib-4.5.0.alpha1/lib/raylib.rb:12:in `<top (required)>'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:141:in `require'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:141:in `rescue in require'
	from <internal:/Users/julik/.rbenv/versions/3.3.1/lib/ruby/3.3.0/rubygems/core_ext/kernel_require.rb>:135:in `require'
	from window.rb:1:in `<main>

I've looked for the function in the raylib GH repo but it doesn't show anywhere. Could it be that the FFI bindings need to be regenerated from time to time?
Ruby is
julik@jet banksvc (main) $ ruby -v
ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-darwin21]

and this is macOS Monterey (10.12) and raylib is installed using brew (brew install raylib)

After commenting a few function bindings (GenImageGradientV, GenImageGradientH, DrawLineBezierQuad and DrawLineBezierCubic) the script does start, but then quits with
julik@jet banksvc (main) $ ruby window.rb
INFO: Initializing raylib 5.0
INFO: Platform backend: DESKTOP (GLFW)
INFO: Supported raylib modules:
INFO:     > rcore:..... loaded (mandatory)
INFO:     > rlgl:...... loaded (mandatory)
INFO:     > rshapes:... loaded (optional)
INFO:     > rtextures:. loaded (optional)
INFO:     > rtext:..... loaded (optional)
INFO:     > rmodels:... loaded (optional)
INFO:     > raudio:.... loaded (optional)
INFO: DISPLAY: Device initialized successfully
INFO:     > Display size: 2560 x 1440
INFO:     > Screen size:  640 x 480
INFO:     > Render size:  640 x 480
INFO:     > Viewport offsets: 0, 0
INFO: GLAD: OpenGL extensions loaded successfully
INFO: GL: Supported extensions count: 46
INFO: GL: OpenGL device information:
INFO:     > Vendor:   ATI Technologies Inc.
INFO:     > Renderer: AMD Radeon HD - FirePro D700 OpenGL Engine
INFO:     > Version:  4.1 ATI-4.8.101
INFO:     > GLSL:     4.10
INFO: GL: VAO extension detected, VAO functions loaded successfully
INFO: GL: NPOT textures extension detected, full NPOT textures supported
INFO: GL: DXT compressed textures supported
INFO: PLATFORM: DESKTOP (GLFW): Initialized successfully
INFO: TEXTURE: [ID 1] Texture loaded successfully (1x1 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Default texture loaded successfully
INFO: SHADER: [ID 1] Vertex shader compiled successfully
INFO: SHADER: [ID 2] Fragment shader compiled successfully
INFO: SHADER: [ID 3] Program shader loaded successfully
INFO: SHADER: [ID 3] Default shader loaded successfully
INFO: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
INFO: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
INFO: RLGL: Default OpenGL state initialized successfully
INFO: TEXTURE: [ID 2] Texture loaded successfully (128x128 | GRAY_ALPHA | 1 mipmaps)
INFO: FONT: Default font loaded successfully (224 glyphs)
[DEPRECATION] Struct layout is already defined for class Raylib::Vector2. Redefinition as in window.rb:9:in `initialize' will be disallowed in ffi-2.0.
/Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/types.rb:94:in `find_type': unable to resolve type '' (TypeError)

        raise TypeError, "unable to resolve type '#{name}'"
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/library.rb:415:in `find_type'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/struct.rb:278:in `find_type'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/struct.rb:272:in `find_field_type'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/struct.rb:312:in `array_layout'
	from /Users/julik/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/ffi-1.17.0-x86_64-darwin/lib/ffi/struct.rb:218:in `layout'
	from window.rb:9:in `initialize'
	from window.rb:9:in `new'
	from window.rb:9:in `<main>'

That is on the initialization of the Vector2. What version of raylib is actually supported with these bindings?

Hello @julik these bindings are for Raylib 4.5. They released version 5.0 about 6 months ago. I haven't looked into this yet, but can you try to install an earlier version of the native homebrew raylib package?

It doesn't look like Homebrew has an older formula with a version, so I would have to install all the way from scratch (which is a bit terrifying) 😱  Is there a way to regen the bindings?

@julik, the link to the archive is still valid. Homebrew stores the formulas in a git repository, so there's surely a way to point your homebrew to an earlier version.
https://stackoverflow.com/questions/3987683/homebrew-install-specific-version-of-formula
Alternatively, you'll need to compile raylib from the source. With their Makefiles, you should't run into any issues.
Upgrading the bindings from Raylib v4.5 to v5.0 is not an easy task. There are a lot of dependencies. I'll need to check the validity of every function and manually test all examples. I'll do it someday.
In any case, thanks for bringing this to my attention! This explains why the project stopped getting stars. I'll update the documentation at some point and even implement a version check with troubleshooting instructions.


Can I make Github action not to wait for CodeBuild's completion?

Hi,
Thanks for implementing 'aws-actions/aws-codebuild-run-build@v1'. This is very useful.
My project has a requirement: Once the Codebuild job is triggered from Actions, the workflow should not wait for Codebuild job to complete.
Is there a way to force the Actions not to wait? Appreciate your help.
Thanks

You can call the CodeBuild API directly instead of using this action. See https://github.com/aws-actions/aws-codebuild-run-build/issues/51#issuecomment-792334571 for more info.

You can call the CodeBuild API directly instead of using this action. See #51 (comment) for more info.

thanks much @madebyherzblut  It worked :)

For those who are here for solution, below is the snippet I have used instead of  'aws-actions/aws-codebuild-run-build@v1':
- name: Start CodeBuild run       run: aws codebuild start-build --project-name MOSJ-TEST-AUTOMATION --environment-variables-override "[{\"name\":\"ACTION\",\"value\":\"create\"},{\"name\":\"BRANCH\",\"value\":\"${BITBUCKET_BRANCH}\"}]"


use package "moment.js" get an error

hello, when i use "moment",after Building the Webpack DLL... ,i have a waring like this:

WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/Users/guozhengzhong/Desktop/react-boilerplate/node_modules/moment/src/lib/locale';
i have tried v2.17.1 and v2.18.x, notuseful,what is the trouble with this?

oh,sorry,i have get an idea to resolve this problem

Just in case somebody comes here for the answer to this question, add below code in webpack.base.babel.js inside plugins section.
    // Fixes warning in moment-with-locales.min.js
    //   Module not found: Error: Can't resolve './locale' in ...
    new webpack.IgnorePlugin(/\.\/locale$/),


prisma2 dev should know and only run migrations when there's an actual migration file that's not yet applied.

Hello,
Currently, after the initial successful migration, any attempt to restart dev mode via prisma2 dev will throw because the process tried to reapply already applied migration. Example error from this comment:
thread 'main' panicked at 'The model Place already exists in this data model. It is not possible to create it once more.'

Thus, to be able to restart or use the dev mode again, the developer will need to first undo the initial migration via prisma2 lift down, or just delete the _Migration table from the DB. Personally, I do not  attempt to use the dev mode any more if the first instance was stopped for any reason.
prisma2 dev should not always run migrations and generate Photon/Nexus. It should be smart to know and only run migrations when there's an actual migration file that's not yet applied. If no not-yet-applied-migration, just skip the migration process and start the dev mode.

This error is also frequently occurring for me without ever running prisma2 dev.

Thanks a lot for reporting! @Dajust or @auderer: Do you have a reproduction for this?

this seems to be happening whenever you've created a database and run "lift up" to scaffold the initial schema without first creating an "initial migration" (with the same model). If an initial migration is created first (using "prisma lift save") before running "lift up" the first time, this does not seem to happen.
Agree with the author though, prisma2 dev should intelligently determine if migrations need to be run (and not run them every time regardless).
Also running into #25 on subsequent saves. Avoiding primsa2 dev for the time being due to this...

I am unable to reproduce this one, @priley86, @Dajust, @auderer can you provide a minimal reproduction with exact steps we can follow to reproduce this?

I am also unable to reproduce this now, even with MySQL.
@priley86 Can you please share the version of Prisma 2 that you are using?

i'm using latest.. i'll see if i can't reproduce the exact steps and get back w/ you...
https://github.com/priley86/how-to-graphql/blob/master/backend/Dockerfile#L2
you should be able to:

clone the repo there,
Run npm start to  start the containers and scaffold the mysql database
then try adding a prisma schema change in project.prisma,
run prisma2 lift save, then prisma2 lift up from the backend folder to generate migrations
(you'd need to install prisma2 globally the same way on your local)
then from the root of the project, re-run npm run start to start all containers (including the prisma dev console on http://localhost:5555). You'll see some migration errros...

This would effectively generate migrations AFTER initially scaffolding the db. The problem is, w/o an initial migration run at first, the migrations will try to recreate all tables. The dev console will try to run all migrations w/o scanning the database's _Migrations table first (that seems to be problem)...
this is a "nice-to-have" (b/c the workaround is to simply create an initial migration first and not do step 1 above).
hope it helps!

This is expected as we can't apply the migration unless you save it using prisma2 lift save.
What prisma2 lift save, what lift is will is to create a _Migrations table in your database and it will store the migration metadata rows.
When you will run prisma2 lift up it will apply these migrations.

ok - good to know. Then I think I'm good. Not sure if @Dajust & @auderer are seeing something else though.

Got a reproduction for the original issue: https://github.com/prisma/lift/issues/88#issue-476002405
I can confirm this now.

I no longer can reproduce this issue with<EMAIL_ADDRESS>binary version: bbbeff6f84b408e534ebd866bfd378748e6d6611


⚠ Fortnite has degraded performance

In 6b6017f, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1524 ms

Resolved: Fortnite performance has improved in 55d001f.


Save and save all buttons go off screen when hovering in LES edit screen

Fixed with: https://github.com/quintel/etmoses/commit/a31829bf66cd5c4dfa5c0730efecf056fc87d660


Use the dlang.org's XML stream at feedburner to convert the latest articles to ddoc macros

This won't work on DAutoTest, but the generated Ddoc file will be e.g.
DBLOG_LATEST_TITLE_1=DConf 2018 Programme & Open Registration
DBLOG_LATEST_LINK_1=https://dlang.org/blog/2018/03/19/dconf-2018-programme-open-registration/
DBLOG_LATEST_DATE_1=Mon, 19 Mar 2018
DBLOG_LATEST_AUTHOR_1=Michael Parker
DBLOG_LATEST_TITLE_2=User Stories: Funkwerk
DBLOG_LATEST_LINK_2=https://dlang.org/blog/2018/03/14/user-stories-funkwerk/
DBLOG_LATEST_DATE_2=Wed, 14 Mar 2018
DBLOG_LATEST_AUTHOR_2=Michael Parker

This won't work on DAutoTest, but the generated Ddoc file will be e.g.

One thing we could do is in DIFFABLE mode, use the same code path, but process a dummy static file. That'll allow testing the conversion on CI.

One thing we could do is in DIFFABLE mode, use the same code path, but process a dummy static file. That'll allow testing the conversion on CI.

Done.

So, how will this behave in case something fails?

So, how will this behave in case something fails?

It will exit with a non-zero exit code before writing the file (hence --output) which means the entire deployment will fail.
This doesn't apply for HTML escaping errors though, but for everything else related to extracting the data from the XML.

from Mon, 19 Mar 2018

Oof, I don't suppose we could easily use a more human-friendly date format there...

Oof, I don't suppose we could easily use a more human-friendly date format there...

Well, std.datetime doesn't support this :/
Am I allowed to use http://code.dlang.org/packages/datefmt?

std.datetime.systime.parseRFC822DateTime would handle that particular monstrosity it if it had a time zone on it, but it doesn't, so it won't.

It does have a timezone attached (see the XML), but I think @CyberShadow was asking about a more human-friendly output like "March" instead of "Mar" or "Monday" instead of "Mon".

Am I allowed to use http://code.dlang.org/packages/datefmt?

Blah, that package has nothing on ae.utils.time :P
Formatting is actually much easier than parsing, could be done by hand. No library needed.

Formatting is actually much easier than parsing, could be done by hand. No library needed.
Yeah, formatting is generally

I agree and std.format handles most of this, but for things like weekday.toPretty or month.toPretty I just feel like I'm not the first guy needing to do this conversion.
Anyhow, I now added a hard-coded month "prettification", s.t. we can emulate the current output on dlang.org.
Anything else required from this PR?

(Updated)

Going to merge this now as the RegExp seemed to have failed again:


WeaviateHybridSearchRetriever isn't working with weaviate cliient v4

Checked other resources

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

Example Code
import weaviate

from langchain_community.retrievers import (
    WeaviateHybridSearchRetriever,
)
from langchain_core.documents import Document

from config import OPENAI_API_KEY, WEAVIATE_HOST, WEAVIATE_PORT

headers = {
    "X-Openai-Api-Key": OPENAI_API_KEY,
}

client = weaviate.connect_to_local(headers=headers)

retriever = WeaviateHybridSearchRetriever(
    client=client,
    index_name="LangChain",
    text_key="text",
    attributes=[],
    create_schema_if_missing=True,
)
docs = [
    Document(
        metadata={
            "title": "Embracing The Future: AI Unveiled",
            "author": "Dr. Rebecca Simmons",
        },
        page_content="A comprehensive analysis of the evolution of artificial intelligence, from its inception to its future prospects. Dr. Simmons covers ethical considerations, potentials, and threats posed by AI.",
    )
]

retriever.add_documents(docs)

answer = retriever.invoke("the ethical implications of AI")
print(answer)

Error Message and Stack Trace (if applicable)
Traceback (most recent call last):
  File "main.py", line 17, in <module>
    retriever = WeaviateHybridSearchRetriever(
  File "venv\lib\site-packages\langchain_core\load\serializable.py", line 120, in __init__
    super().__init__(**kwargs)
  File "venv\lib\site-packages\pydantic\v1\main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for WeaviateHybridSearchRetriever
__root__
  client should be an instance of weaviate.Client, got <class 'weaviate.client.WeaviateClient'> (type=value_error)
sys:1: ResourceWarning: unclosed <socket.socket fd=880, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=0, laddr=('::1', 64509, 0, 0), raddr=('::1', 8080, 0, 0)>

Description
windows 11, I'm trying to use WeaviateHybridSearchRetriever with Weaviate client v4 since v3 is deprecated.
 This may help solve the issue.

@Sachin-Bhat I just inspected the source code of that package https://github.com/langchain-ai/langchain-weaviate/tree/main/libs/weaviate

There's no mention of hybridsearch, if you search for the keyword hybrid you find nothing
No documentation whatsoever, it links too the official langchain and weaviate docs where the weaviate package is used instead

So can't use it, I'd rather stick with weaviate v3 client and follow the official docs rather than waste time trying to understand how it works. In any case it doesn't even have hybrid search as I previously said.

Hi @elieobeid7, I took a look at the source code and there's a reference to hybrid search here. The langchain docs also states that similarity_search uses Weaviate hybrid search as can be seen here. Hope this helps.

Hi @elieobeid7,
I'm the maintainer of the langchain-weaviate integration and can confirm what @StreetLamb  said.
Hybrid search is supported in v4, just not through the WeaviateHybridSearchRetriever class.
It has been consolidated into the similarity_search function. By default, it does 50:50 bm25 and vector search. Users can pass the arg alpha to it such that 0 means pure BM25 search, and 1 means pure vector search.

It has been consolidated into the similarity_search function. By default, it does 50:50 bm25 and vector search. Users can pass the arg alpha to it such that 0 means pure BM25 search, and 1 means pure vector search.

@hsm207
It would be helpful if that was made clear in the Weaviate Hybrid Search
docs.
Also, I don't see By default, it does 50:50 bm25 and vector search in the similarity_search function docs:
        """Return docs most similar to query.

        Args:
            query: Text to look up documents similar to.
            k: Number of Documents to return. Defaults to 4.
            **kwargs: Additional keyword arguments will be passed to the `hybrid()`
                function of the weaviate client.

        Returns:
            List of Documents most similar to the query.


[Bug]: Taking unaccepted time while running CALL apoc.meta.subGraph({}) for schema_counts in neo4j_property_graph

Bug Description
I have half million of nodes in my graph with more than million relationships but due to this apoc process my application is not able to start, it is taking unaccepted time.
https://github.com/run-llama/llama_index/blob/2f07a314ce8ee22d6389ae9ad0757c792e04c4db/llama-index-integrations/graph_stores/llama-index-graph-stores-neo4j/llama_index/graph_stores/neo4j/neo4j_property_graph.py#L254
Version
0.11.17
Steps to Reproduce
Take a huge graph and try
graph_store = Neo4jPropertyGraphStore(
        username=neo4j_username,
        password=neo4j_password,
        url=neo4j_url,
        database=db_name,
        liveness_check_timeout=1500,
        max_connection_lifetime=1500,
    )

Relevant Logs/Tracbacks
No response

If you aren't using text2cypher, set refresh_schema=False in the constructor

TLDR: Set neo4j_property_graph_store.allows_structured_queries=False (variable not parameter) to prevent it from refreshing_schema. This will disable you from using Text2Cypher retriever. If you only care about the start up and not every insertion refresh, you can just set refresh_schema=False.
Looks like the Neo4j apoc proc meta.graphSample just takes a very long time to complete as the complexity of the graph scales up. I suspect this problem scales with number of entity/relation types you have because they use a statistical representation.
If you are using Neo4j, I would recommend setting refresh_schema=False when you are initializing the Neo4jPropertyGraphStore. This will prevent it from refreshing on startup. You should also set graph_store.allows_structured_queries=False as it natively sets it to True. This will prevent it from trying to refresh every insertion. Do note that this will prevent you from using Text2Cypher retriever.
If you still want to use Text2Cypher perhaps think about limiting the ontology of your KG.


Fix issue #4480: '[Bug]: Being blocked by cloudflare results in futile retries

End-user friendly description of the problem this fixes or functionality that this introduces

[x] Include this change in the Release Notes. If checked, you must provide an end-user friendly description for your change below

Fixed unlimited retries when queries are blocked by CloudFlare.
Give a summary of what the PR does, explaining any non-trivial design decisions
This PR fixes the fact that OpenHands will perform unlimited retries when a query is blocked by CloudFlare.

Link of any specific issues this addresses
Fixes #4480

@neubig maybe this might be worthwhile looking into: an idea on how to handle this with the help of the existing RetryMixin class and the retry_decorator decorator (used llama-3.1-nemotron-70b-instruct for this):
Q: How could the "retry_decorator" be enhanced to specify a list of exception types, that should NOT be retried, even if the base exception is part of one in the "retry_exceptions" list.
Example: see LLM_RETRY_EXCEPTIONS, where "APIError" is a generic exception that could contain text in the error message that would qualify to NOT be retried?
Enhancing retry_decorator to Exclude Specific Exception Types
To achieve this, we'll modify the retry_decorator to accept an additional parameter, exclude_exceptions, which will contain a list of exception types that should not be retried, even if their base exception is in retry_exceptions.
Updated Code
class RetryMixin:
   ...

    def retry_decorator(self, **kwargs):
       ...
        retry_exceptions = kwargs.get('retry_exceptions')
        exclude_exceptions = kwargs.get('exclude_exceptions', [])  # New parameter
       ...

        def _should_retry(exception):
            """Check if an exception should be retried."""
            return (
                isinstance(exception, tuple(retry_exceptions))
                and not isinstance(exception, tuple(exclude_exceptions))
            )

        return retry(
           ...
            retry=(retry_if_exception_type(_should_retry)),  # Update retry condition
           ...
        )

Explanation

We added a new parameter exclude_exceptions to retry_decorator, defaulting to an empty list.
We defined a new inner function _should_retry that takes an exception as input.
_should_retry checks if the exception is an instance of any type in retry_exceptions but not an instance of any type in exclude_exceptions.
We updated the retry decorator to use _should_retry as the condition for retrying exceptions.

Example Usage
LLM_RETRY_EXCEPTIONS = (
    APIConnectionError,
    APIError,  # Generic exception that might contain non-retryable errors
   ...
)

LLM_EXCLUDE_EXCEPTIONS = (  # New tuple for exceptions to exclude
    APIErrorIfContainsText,  # Custom exception that checks for specific text in APIError
)

...

@self.retry_decorator(
    num_retries=self.config.num_retries,
    retry_exceptions=LLM_RETRY_EXCEPTIONS,
    exclude_exceptions=LLM_EXCLUDE_EXCEPTIONS,  # Pass the exclude exceptions
   ...
)
def wrapper(*args, **kwargs):
   ...

Custom Exception Example (APIErrorIfContainsText)
class APIErrorIfContainsText(APIError):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.text_to_check = "specific error text that should not be retried"

    def __instancecheck__(self, instance):
        return (
            super().__instancecheck__(instance)
            and self.text_to_check in instance.response.text
        )

In this example, APIErrorIfContainsText is a custom exception that checks if the APIError response text contains a specific string. If it does, the exception will be excluded from retries.

Thanks @tobitege! That makes sense, but do you think it should be done in this PR or saved for a future one? My sense is that the current fix is reasonably good, and we can always improve it later.

Thanks @tobitege! That makes sense, but do you think it should be done in this PR or saved for a future one? My sense is that the current fix is reasonably good, and we can always improve it later.

Sure thing, let me move the idea into a new issue for potential tracking.

I think
talk to the litellm project to treat 502 separately from the catch-all
Send like a good first step!


Animation paths that aren't present are exported

When creating a simple animation in blender that only involves rotations, scale and translation paths are exported as well.
Steps to reproduce:

Set the keyframe time(15 in my case)
Rotate the bone using the rotation gizmo
Press 'I' and select Rotation
Set the keyframe time(30 in my case)
Rotate the bone using the rotation gizmo
Press 'I' and select rotation
Export as glTF embedded

The animation only contains rotations yet translation and scale paths are exported as well for each target.
I could not include the glTF file as a file so heres the json: https://pastie.io/kwwhqt.json
Edit: it seems like disabling "Always sample animations" when exporting fixes that(that way it only exported rotation paths but also a lot less targets) the animation still works as it should tho, still not sure why that worked tho.
Another edit: the values don't look right either.
Gif showing the current rotation at each keyframe: https://imgur.com/TwV9KmE
Output when parsing:
Channel: rotation and Left leg | Bone id: 29
Input(time) 0.20833333 at element 0
Input(time) 0.625 at element 1
Output(rotation) 0.0, 0.0, 0.0, 0.0 at element 0
Output(rotation) -0.97014254, -1.8371522E-9, -7.3486084E-9, 0.24253552 at element 1
Output(rotation) 0.0, 0.0, 0.0, 0.0 at element 2
Output(rotation) 0.0, 0.0, 0.0, 0.0 at element 3
Output(rotation) 1.0, 5.1076907E-16, 7.574772E-9, 6.743028E-8 at element 4
Output(rotation) 0.0, 0.0, 0.0, 0.0 at element 5

glTF file(as json) of the animated version: https://pastie.io/kjjgfm.json
Update: Creating an animation with just 1 keyframe (instead of 2 like before), it seems to work:
Channel: rotation and Left leg | Bone id: 29
Input(time) 0.41666666 at element 0
Output(rotation) -0.9663514, -1.948426E-9, -7.319892E-9, 0.2572256 at element 0

Which is indeed correct(well excluding the y, z component which are extremely small values altho in blender it shows 0.000): https://i.imgur.com/iJhx3fF.png
I also tried to add another keyframe now (at t = 10 the bone is rotated and at t = 20 it has no rotation) and it seems to work well:
Channel: rotation and Left leg | Bone id: 29
Input(time) 0.41666666 at element 0
Input(time) 0.45833334 at element 1
Input(time) 0.5 at element 2
Input(time) 0.5416667 at element 3
Input(time) 0.5833333 at element 4
Input(time) 0.625 at element 5
Input(time) 0.6666667 at element 6
Input(time) 0.7083333 at element 7
Input(time) 0.75 at element 8
Input(time) 0.7916667 at element 9
Input(time) 0.8333333 at element 10
Output(rotation) -0.9663514, -1.9484265E-9, -7.3198927E-9, 0.2572256 at element 0
Output(rotation) -0.9681806, -1.8956074E-9, -7.333748E-9, 0.25025254 at element 1
Output(rotation) -0.97290623, -1.7512896E-9, -7.3695428E-9, 0.23120013 at element 2
Output(rotation) -0.97921526, -1.5363454E-9, -7.4173325E-9, 0.2028238 at element 3
Output(rotation) -0.985791, -1.2723838E-9, -7.467143E-9, 0.16797633 at element 4
Output(rotation) -0.9915522, -9.825135E-10, -7.510782E-9, 0.1297085 at element 5
Output(rotation) -0.99582845, -6.9117195E-10, -7.543174E-9, 0.09124638 at element 6
Output(rotation) -0.9984375, -4.232797E-10, -7.562938E-9, 0.055880003 at element 7
Output(rotation) -0.99963987, -2.0327545E-10, -7.572044E-9, 0.026835663 at element 8
Output(rotation) -0.999974, -5.4607152E-11, -7.5745765E-9, 0.007208896 at element 9
Output(rotation) 1.0, 8.980104E-16, 7.574773E-9, 6.743028E-8 at element 10

The only thing im not sure about is why blender exports those extremely small values instead of 0
and also what exactly does the 'always sample animations' toggle does.
NOTE: if it matters im using https://github.com/javagl/JglTF to parse glTF files

Hello,
Can you please test with a more recent version ( 3.0 RC from here : https://builder.blender.org/download/daily/ )
You can use zip file to provide your blend file.
Thanks !

Sorry, i thought 2.93.6 was the latest so i used that(wasn't aware that blender had daily builds)
This issue is fixed in 3.0 RC(i no longer have to disable 'Always sample animations' for it to only export the affected keyframes) and it exports as intended.
Only thing im not sure about is why im getting values like '7.574773E-9' when it should be 0 i'd assume that this has to do with some floating point representation stuff but then again 0 has an exact representation(afaik)

Closing this and asking in a new issue instead


Read metadata from org

To ensure the data generated matches the org's data structure, the tool should read the data structure directly from the Salesforce Org's metadata.

I started to re-label this, but its not really a useful task in the current project.  I may replace with a similar but more targeted one.


How to define two persons with separate ref images and how to save and open a project ?

first problem: I can upload one ref image, or even several of the same person, but how can I introduce a second person and upload an image for this new guy?
would this be something like
adam img
eva img
second problem: Can I save the customized content of the gradio interface for creating my story under a project name ((and how can I open it later again?)

I have the same problem


States are not copyable

Currently, State objects can't be copied -- they return a plain array instead:
import sciris as sc
import starsim as ss

sim = ss.Sim(n_agents=10).run()
alive = sim.people.alive
alive2 = sc.dcp(alive)
print(alive)
print(alive2)

Starsim 0.2.0 (2024-02-12) — © 2023-2024 by IDM
Initializing sim with 10 agents
  Running 1995.0 ( 0/36) (0.01 s)  ———————————————————— 3%
  Running 2005.0 (10/36) (0.01 s)  ••••••—————————————— 31%
  Running 2015.0 (20/36) (0.01 s)  •••••••••••————————— 58%
  Running 2025.0 (30/36) (0.01 s)  •••••••••••••••••——— 86%
     Quantity
UID
0        True
1        True
2        True
3        True
4        True
5        True
6        True
7        True
8        True
9        True
[ True  True  True  True  True  True  True  True  True  True]

Attempted fix here: https://github.com/amath-idm/starsim/pull/270, but @RomeshA you might have a better idea for how to fix!

Fixed


shift and read

Hi there,
I would like to let you know that dash (<IP_ADDRESS> here) does not crash anymore with shift and read examples :
$ cat snip
#!/bin/sh

shift
$ dash snip
snip: 3: shift: can't shift that many

$ cat snip
#!/bin/sh

read -r
$ dash snip
snip: 3: read: arg count

Nice, good to know. I'll update the bible shortly.

I have also tested the examples by @Ypnose and they do not crash for Debian 10.1.0-amd64-xfce-CD-1 updated just the other day.
apt-cache showpkg dash

Package: dash
Versions:
<IP_ADDRESS>-5 (/var/lib/apt/lists/ftp.ca.debian.org_debian_dists_buster_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/ftp.ca.debian.org_debian_dists_buster_main_binary-amd64_Packages
                  MD5: 8d4d9c32c6b2b70328f7f774a0cc1248
 Description Language: en
                 File: /var/lib/apt/lists/ftp.ca.debian.org_debian_dists_buster_main_i18n_Translation-en
                  MD5: 8d4d9c32c6b2b70328f7f774a0cc1248

Reverse Depends:
  apt-move,dash
  libguestfs0,dash
  hibernate,dash
  dphys-config,dash
  ash,dash
Dependencies:
<IP_ADDRESS>-5 - libc6 (2 2.14) debianutils (2 2.15) dpkg (2 1.19.1) debconf (18 0.5) debconf-2.0 (0 (null))
Provides:
<IP_ADDRESS>-5 -
Reverse Provides:


Insert:

Insert:
Thụt dòng
Z:/
_Originally posted by @nthhanh526 in https://github.com/github/opensource.guide/pull/3291#discussion_r1759968041_hunggary

Milestone

Closing


Unable to do binning analysis through correlation_bins_to_csv

Hello, first-time package user here.
I just tried hubbard-chain example, and it gives final result in the term of separated bin. I want to combine them through error analysis (BinningAnalysis), it seems you already provide API function for it, correlation_bins_to_csv.
I got error when calling the function,
the code:
using SmoQyDQMC
correlation_bins_to_csv(folder = "hubbard_chain_mu1.96_n-1.07_L24_b8.00-1",
                        correlation = "spin_z",
                        type = "time-displaced",
                        space = "momentum")

error message:
ERROR: UndefVarError: `_get_num_processes` not defined
Stacktrace:
 [1] correlation_bins_to_csv(; folder::String, correlation::String, type::String, space::String, write_index_key::Bool)
   @ SmoQyDQMC C:\Users\user\.julia\packages\SmoQyDQMC\gOvRz\src\Measurements\binned_data_to_csv.jl:175
 [2] top-level scope
   @ c:\Users\user\Downloads\source codes\DQMC\1d_hubbard\preprocess.jl:3

Thank you for pointing out this issue!
I just released a new version of SmoQyDQMC (v0.2.9 ==> v0.2.10) that should hopefully fix this issues.
I am still working on adding more unit tests to the package, and am grateful for you bring this issue to my attention.
Please let me know if you run into any other problem!
In case you are interested, here is the commit where the fix was implemented:
https://github.com/SmoQySuite/SmoQyDQMC.jl/commit/b2724764526da1e694ffc1c43d7e510e11d0700b


ChannelHeader

Beautiful 👌

The description needs some work because the HTMLView thing is a nightmare. I suspect supporting markdown in descriptions is going to prove to be a problem into the future and something we should consider dropping.


Speed up randomized bench-marking

Currently we generate the matrices for all 11520 elements of the 2 qubit Clifford group and in order to identify the inverse of a specific element we multiply it by all 11520 elements to find a candidate for the inverse. We have cirq.inverse() and should be using that instead. This shaved ~35 seconds off my pytest runs.

As a point of comparison:
Test run-times for most recently merged PR vs. most recent commit on this PR as of when I wrote this comment:
(linux build) check/pytest-and-incremental-coverage 283.33s vs 238.18s
(windows build) check/pytest --benchmark-skip 244.04s vs 211.16s

After the change in how the RB circuits are generated, it looks like the bottleneck for Rabi, RB, and Tomography is the execution/sampling of the circuits rather than circuit generation. I've reduced repetition values in tests and examples to amounts that still keep the generated plots looking fine but save another 20 seconds or so on my machine.

I think the new speeds of the tests mentioned in #1476 merit saying that this PR fixes #1476.


Remove deprecated module ff.py

Removes the deprecated module iris.fileformats.ff, and the test module test__ff_equivalents, which existed to check that ff.py and _ff.py behaved the same. Now that ff.py has been removed, we don't need that test module.
Fixes #2641.

@dkillick What about the module iris.fileformats._ff.py and iris.fileformats._ff_cross_references.py? Do we still need them?

@corinnebosley see https://github.com/SciTools/iris/issues/2641#issuecomment-317415157 for more detail.

@dkillick Sorted.  In that case I'm happy to merge this.

Build failed due to Travis Python version issue: https://github.com/SciTools/iris/pull/2769#issuecomment-335147830
Issue has been resolved, but I am unsure of next steps...


Yossi

I don't know who Yossi is but decided to troll this PR anyways @noisleahcim

Thank you @TomGranot for giving this PR the attention it deserves.
This comment is aligned with the feelings oriented approach, and has eliminated the insecurities that accompanied this branch.

Just effin adorable @noisleahcim.
Effin adorable.


Crash with NullPointer after setContentView

In my Crashlytics logs I get some reports with NullPointerException.
See attaches crashlog. It happens at after setContentView:

Mmmhhhh that really looks like a strange error. Can you give me some more details on what Android version or device this is happening on?
It can somehow only be a mistake in the implementation of ArrayAdapter, as the PickerSpinner constructs a new one in initAdapter() and then calls setAdapter() with it. A subsequent call to getCount() on the ArrayAdapter should never throw a NullPointerException.

Android versions are 7, 5 and 4!
Models Huawei and Samsung.
I don't have implemented ArrayAdapter.
I use the default entries. So it should use the libraries date_items.xml so far I know.

Mmhh so not a single android version to blame here...
The thing is, the crash happens in ArrayAdapter.getCount(). This can only happen if its internal mObjects List null, but this is never the case if one takes a look at the source here. At least I don't see any way this can happen with the current version of this. Might be that some different versions of the class exist in vendor modifications. That is what I meant with implementation of ArrayAdapter above. It also does not really matter how many items are in the List, mObjects should never be null in any case.

I think we can close this. Never had more than a few users with this crash.


Quantifying the LoFTR

Greetings there!
I want to calculate a similarity score between two images (i.e. as we calculate the cosine similarity). So that an image can be said x percentage similar to another image. A score with a fixed range i.e. may be -1 to 1 or 0 to 1. Is there any way to calculate such a score?

Hi, this is related to image retrieval. Maybe checkout Hloc.

Thank you for that!!
Can you pls also suggest how to calculate the AUC score here??


[Request] Apply "compact" view to the "Tiles" view mode as well

What feature or improvement do you think would benefit Files?
When "Use compact spacing in the details layout" option is enabled in settings, it doesn't affect the "Tiles" view mode. However, it would be great if it reduced spacing and font size in "Tiles" view as well, as it could also be considered as one of the more "detailed" views.
By default, "Tiles" view wastes too much screen space.
Here's comparison with tiles from Windows Explorer:

Requirements

"Tiles" is a wonderful view mode, as it shows more text information for each element, while also preserving the thumbnail quite readable. This proposal will make it even more useful by increasing the information density. Current "tiles" design wastes too much screen space on spacing and unneccessary big file titles

Files Version
<IP_ADDRESS>
Windows Version
Windows 11 Pro 23H2 (22631.3155 )
Comments
No response

Thank you for your feedback, this is on our todo list. You can track the progress in #10492.


Update autosuggestboxquerysubmittedeventargs_chosensuggestion.md

Added missing r's

@jwmsft : PR passed checklist review. Please evaluate proposed changes and approve/merge if appropriate. Thanks!


"idleFuture" should reset to "null" after idle bucket closed

If we use "idleTimeout" to roll file, once the flush() method called, it will start a delayed thread to close the idle bucketWriter. The delayed thread will call close() method to check whether the "idleFuture" is done, and close opened file. If the "idleFuture" is running when checking, the idleFuture.isDone() method will return false, and the idleFuture won't be set to "null". When the bucketWriter calls flush() on the next time, the "idleFuture" is not "null" and idleFutrue.cancel(false) method returns false due to the "idleFuture" has completed in the last call. So new thread won't be created to close current idle bucketWriter and keeps current file openning.

Hi @hangc0276,
Thank you for your patch.
Unless I misunderstood your explanation I think it can't happen. Let me summarize it, and please correct me if I got it wrong:

flush() schedules the idleFuture
in close() if idleFuture != null && !idleFuture.isDone() -> cancelling idleFuture and setting to null
But this is a not done check, so if it's not done yet, it will be set to null (regardless if it's currently running, which means that the close() was called by it)

In fact the idleFuture will be set to null for sure:

if in the previously mentioned check idleFuture.isDone() is true that would mean that it had been run before -> called the close() method -> set the BucketWriter.idleFuture to null.
if it's not done yet -> the BucketWriter.idleFuture will be set to null

Let me know if you see any flaw in my reasoning.

Can one of the admins verify this patch?


gulp-util is marked as dev-only dependency

Trying to include gulp-phpunit (i.e. nothing more than var phpunit = require('gulp-phpunit');) fails because gulp-util can't be found:
$ gulp
module.js:327
    throw err;
    ^

Error: Cannot find module 'gulp-util'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (./node_modules/gulp-phpunit/index.js:12:16)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)

Moving gulp-util from devDependencies to dependencies should solve this issue.

@laufhannes Thanks for notice, I will get this cured shortly.

@laufhannes This has been cured in 0.15.1, my apologies for mixup.  Surprised this just appeared now, it has been like this since very early in development :-)


Direct invites to the server break bell role adding

Not actually a direct invite issue, but rather a moebot failed to restart issue...
most likely need to add better management of ports on the server


Microsoftiis snare

log collection for iis logs send via snare agent and not via sftp agent collection

Thanks @epartington  we will modify the cef and winevent_nic parser for the changes you have proposed. Can you please provide example logs for our verification and testing.
But for adding support iis logs with snare collection method, we will need logs and configuration information, so that we can qualify support for it.


Dispatch fails to Conditional(feat: SeparateIndependentMof, kern: SeparateMixedMok)

Code claims it should be the same route as (MixedKernelSharedMof, SeparateMixedMok). The below code produce the traceback:
InvalidArgumentError: Shapes must be equal rank, but are 1 and 2 for 'SVGP-f9d0f4d3-41/conditional/MatrixTriangularSolve_1' (op: 'MatrixTriangularSolve') with input shapes: [2,20,20], [?,?,?,?].

MVCE
import numpy as np
import gpflow as gp

import gpflow.multioutput.kernels as mk
import gpflow.multioutput.features as mf

D = 1  # number of input dimensions
M = 20  # number of inducing points
L = 2  # number of latent GPs
P = 3  # number of observations = output dimensions

X = np.tile(np.linspace(0,1,M*2)[:,None],(1,D))
Y = np.tile(X.sum(1)[:,None],(1,P))

def _kern():
    return gp.kernels.Matern52(D)

W = np.random.uniform(size=(P,L))

kern = mk.SeparateMixedMok([_kern() for _ in range(L)], W)

feature_list = [gp.features.InducingPoints(X[:M,:]) for l in range(L)]
# feature = mf.MixedKernelSharedMof(gpf.features.InducingPoints(X[:M,...].copy())) works
feature = mf.SeparateIndependentMof(feature_list)

q_mu = np.zeros((M, L))
q_sqrt = np.repeat(np.eye(M)[None, ...], L, axis=0) * 1.0

model = gp.models.SVGP(X, Y, kern, gp.likelihoods.Gaussian(),
            feat = feature,
            minibatch_size=50,
            num_data = X.shape[0],
            whiten=False,
          q_mu = q_mu,
          q_sqrt = q_sqrt)

opt = gpf.train.ScipyOptimizer()
opt.minimize(model, disp=True, maxiter=MAXITER)

@Joshuaalbert, good catch! I'll take a look.

@awav did you have a chance to take a look?

#830 would be an appropriate work around if it gets merged.


[Feature Request] Show bookmark ID

I would love an option to show the bookmark ID on the front end. I see this number is unique and not reused. This would help me to create a "link" between handwritten notes in a notebook and my stored bookmarks in linkding. On top, you should be able to enter the bookmark ID in the search field to find the bookmark quickly.
I'm, of course, not fully aware of the architecture of linking, but any other short ID that's linked to the bookmark would help too.

@Sissing This might help you for the time being. If you hover over the edit field of a bookmark you'll see the unique id of the bookmark.

No plans to add this.


Changed property name in error mesage MaximumSizeBytes

In reference to: #60

Hi @ITGuyOU, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


"lineBreak" be configurable

Currently, the "lineBreak" depends on the platform.
There is no way to config "lineBreak" from out side.
Please make it configurable.
Thanks.

Hi all.
I did find this problem too. Because I use windows to compile the CSS the output will not be consistent after upload by ftp and manipulation on the Unix server.
Even if I work on windows all my files use Unix LF and they are consistent, the files generated by clean-css are the only exception.
So my only option would be to manually convert the EOL after each compilation or create a php function to do that on the server side and because the upload is by FTP I will need to manually execute this function each time....
In the end I just change the line break value on the clean-css code because none of the after compilation options are interesting nor good.
Thanks

@seltix5 we may make it configurable


Tests for tree parsing

[ ] Total N nodes
[ ] Total N leaves
[ ] Total tree height (add up branch lengths for getpath between the root and the longest tip).
[ ] Correct N children for each internal node.
[ ] Metadata census after tree load has the right fields

@sidneymbell can you include more detail about what what these tests are for? Are these unit tests for functionality?

@oliviabholmes -- yes, just standard unit tests


Turn off debugPaintPointersEnabled

I accidentally checked in this as true in my patch improving this feature.

TBR @abarth


Broadcasting in Ska.quatutil.yagzag2radec

This issue follows issue sot/chandra_aca/issues/102 and it is better described there.

I have a fix for this which I believe works. Part of the problem is that we (I?) have chosen the wrong convention for where to place the extra axes in places (e.g. eci2radec). These extra axes were put at the end of the shape, which can make life easier if there is just a single extra axis, but for multiple extra axes I think that breaks down. For Quaternion @javierggt got it right.
def yagzag2radec(yag, zag, q):
    """
    Given ACA Y-ang, Z-ang and pointing quaternion determine RA, Dec. The
    input ``yag`` and ``zag`` values can be 1-d arrays in which case the output
    ``ra`` and ``dec`` will be corresponding arrays of the same length.

    :param yag: ACA Y angle (degrees)
    :param zag: ACA Z angle (degrees)
    :param q: Quaternion
    :rtype: list ra, dec (degrees)
    """
    try:
        one = np.ones(len(yag))
    except TypeError:
        one = 1.0
    d_aca = np.array([one, tan(radians(yag)), tan(radians(zag))])
    d_aca *= 1.0 / np.sum(d_aca**2)
    d_aca_t = np.moveaxis(d_aca, 0, -1)
    eci = np.einsum('...jk,...k->...j', q.transform, d_aca_t)
    eci_t = np.moveaxis(eci, 0, -1)
    return eci2radec(eci_t)

One idea that just occurred to me is to basically stop updating Ska.quatutil and copy the functionality we need into Quaternion or chandra_aca.transform, and then make the N-d support work consistently. We could perhaps deprecate Ska.quatutil, but that is not necessarily needed.

I second this last proposal. I would split it: radec2yagzag and yagzag2radec into chandra_aca.transform, the rest into Quaternion.

I may not understand scope, but I was thinking we might want to do something in Ska.quatutil to have those methods just not support a Quaternion with length > 1 and raise an error.  That would at least be consistent.   If we are moving methods around, we may still want something like that and a deprecation warning.

well, I think there is not much difference whether we make it work with the vectorized quaternion before or after deprecating and moving.


I can't get all products and not all submission's downloads contain "drivermetadata"

I have two questions:
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/get-all-products
First question, my company are over 10000 products.
I use Get all products API, only can get 8910 products.
At last times, the service shows the error : "500 - Internal Server Error".
Second question, not all submission's downloads link contain "drivermetadata".
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/create-a-new-shipping-label
In create a shipping label, how can I get all hardwareIDs and boundle ID list to publish all ?
Thank you.

I have a product which contains 3 inf files : Netwtw04.inf、Netwtw06.inf、Netwtw08.inf.
After call createMetadata API, I download drivermetadata from submission's link, it only contains "Netwtw04.inf".
Could you give me some suggestion?
Thank you.

Unless those are extension INFs, I suggest splitting it up into 3 different products.  I avoid mixing multiple INFs together whenever possible.

On Hardware Dashboard website, every SubmissionID will show hardwareids in each inf file, even the SID has lots of inf files.
as above mentioned, there are there inf files in SID, the web site will show HWIds in each Netwtw04.inf、Netwtw06.inf、Netwtw08.inf.
but I download drivermetadata from submission's link, it only contains HWIds in "Netwtw04.inf".
Could you help me how to get HWIds in "all" inf files like website?

We found that "no HWIds" in Netwtw04.inf, it will not parser another inf files.
We try another SID has multiple inf files to create metadata, it is succeed to get all HWIds in all inf files.


"istioctl proxy-status " incorrect (?) diff

To reproduce, a build with https://github.com/istio/istio/pull/23724 merged is needed.
Start bookinfo, istioctl proxy-config productpage-v1-679f4bcbbb-tg4k5 (for example), it reports
Listeners Match
Routes Match (RDS last loaded at Mon, 11 May 2020 15:13:30 EDT)

... but it also reports big changes in the clusters.

Adding area/networking because I'm seeing something strange.  When I ask Envoy for a /config_dump the dynamic active clusters are "@type": "type.googleapis.com/envoy.api.v2.Cluster" yet when I ask Pilot using /debug/config_dump?proxyID=%s.%s the dynamic active clusters are "@type": "type.googleapis.com/envoy.config.cluster.v3.Cluster".
I can paper around that, but I want to confirm the behavior is expected.


update read me's to reflect frontend construction

Summary
Test Plan

Please consider the impact of your changes on the other developers.

#8  👈
main

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

Join @Silver-Sword and the rest of your teammates on  Graphite


Barcode scanner: No visual cues for icons on top of the screen

What
In the barcode scanner, the two icons on top don't have any visual cues for touches events
Important information
Device: Pixel 6 Pro
OS: Android 12
App Version: 3.6.6

It would be nice also if on long press, a tooltip is displayed, just like a regular action menu.
Code for Tooltip:
https://stackoverflow.com/a/66598648

Fixed by #4573


Limit of 8 concurrent Background tasks in FAST API ?

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
import time
from fastapi import BackgroundTasks, FastAPI
import uuid
app = FastAPI()

def write_notification(request_id):
    print("Sleeping for 5 seconds  "+str(request_id))
    time.sleep(5)
    print("rq id"+str(request_id))

@app.post("/send-notification")
async def send_notification(background_tasks: BackgroundTasks):

    request_id = uuid.uuid4()
    background_tasks.add_task(write_notification,request_id)
    return {"message": "Notification sent in the background"}

Description
Hi All,
When I am hitting the send-notification end point from client, I am getting all the responses for my requests because the method is Async.
Server side behavior is not what I expect :
Expected behavior : All the background tasks must be executed as soon as they are added to BackgroundTasks.
Actual Behavior : After 8 requests , background tasks start piling up and wait for other tasks to complete. It appears something is restricting number of concurrent BackgroundTasks to eight.
Not sure if this is Starlette limitation.
I this something we can configure or override ?
Thanks in Advance.
Here are the logs
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  c0cb158a-f4d7-4371-aa08-ceec924d097a
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  55ae53c4-191f-42ba-b85d-0fd47f6d5a68
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  cccb7841-f0da-4f19-afee-b6bdaf12de29
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  967bb3e6-648b-445d-9afd-d393db74f1a0
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  2d709731-ed89-48e3-8f74-65393f9997ac
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  a28d7f7a-096f-41ff-b84e-1c8410048a4a
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  6ddc602b-05c5-4e5f-970f-143fb8d7b9c2
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  8f738fa6-9e8e-411a-94a4-0a9e57241844
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
rq idc0cb158a-f4d7-4371-aa08-ceec924d097a
Sleeping for 5 seconds  3973a355-2880-4f49-b838-bcbeb76d9c15
rq id55ae53c4-191f-42ba-b85d-0fd47f6d5a68
Sleeping for 5 seconds  c2391727-3dc0-44cc-a7e6-03eac3608406
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
rq idcccb7841-f0da-4f19-afee-b6bdaf12de29
Sleeping for 5 seconds  59c5aea9-b497-461e-9096-d92265452442
rq id967bb3e6-648b-445d-9afd-d393db74f1a0
Sleeping for 5 seconds  43d74ad7-0391-467a-ad63-09c55bd6586b
INFO:     <IP_ADDRESS>:52646 - "POST /send-notification HTTP/1.1" 200 OK
rq id2d709731-ed89-48e3-8f74-65393f9997ac
Sleeping for 5 seconds  8ecba683-2603-4b44-9170-196d8abc6604
rq ida28d7f7a-096f-41ff-b84e-1c8410048a4a
Sleeping for 5 seconds  bd72f365-1e6b-4d99-9b2c-fef144dd12e2
rq id6ddc602b-05c5-4e5f-970f-143fb8d7b9c2
Sleeping for 5 seconds  1e9b3d0c-6d3d-4e55-b7ab-cf7e5621006d
rq id8f738fa6-9e8e-411a-94a4-0a9e57241844
Sleeping for 5 seconds  434a5f80-e7fa-4a48-a3ec-af9a92a7076c
rq id3973a355-2880-4f49-b838-bcbeb76d9c15
Sleeping for 5 seconds  c84b6d55-97ef-4a26-b046-413712c4823f
rq idc2391727-3dc0-44cc-a7e6-03eac3608406
Sleeping for 5 seconds  2705a016-482d-4ee0-b09f-c116710498ba
rq id59c5aea9-b497-461e-9096-d92265452442
Sleeping for 5 seconds  d14ee180-424c-4075-80c2-351377b64c42
rq id43d74ad7-0391-467a-ad63-09c55bd6586b
Sleeping for 5 seconds  6245111e-dfe7-4411-a296-72edabfe2576
rq id8ecba683-2603-4b44-9170-196d8abc6604
Sleeping for 5 seconds  5c6bd2b8-af7c-4876-8357-7e37d1dbf901
rq idbd72f365-1e6b-4d99-9b2c-fef144dd12e2
Sleeping for 5 seconds  928a6167-da31-4281-a20d-c43adbc6b990
rq id1e9b3d0c-6d3d-4e55-b7ab-cf7e5621006d
Sleeping for 5 seconds  c6edd17d-c92f-4ef9-804f-f5f724bfec36
rq id434a5f80-e7fa-4a48-a3ec-af9a92a7076c
rq idc84b6d55-97ef-4a26-b046-413712c4823f
rq id2705a016-482d-4ee0-b09f-c116710498ba
rq idd14ee180-424c-4075-80c2-351377b64c42
rq id6245111e-dfe7-4411-a296-72edabfe2576
rq id5c6bd2b8-af7c-4876-8357-7e37d1dbf901
rq id928a6167-da31-4281-a20d-c43adbc6b990
rq idc6edd17d-c92f-4ef9-804f-f5f724bfec36
Operating System
Windows
Operating System Details
Windows 10 H2
FastAPI Version
Version: 0.68.1
Python Version
3.8.10
Additional Context
No response

How are you doing those requests and measuring that they pile after 8 @amardeep2006?
I added a datetime.now() to your write_notification() and ran a
for i in {1..16}
do
curl -X POST <IP_ADDRESS>:8000/send-notification
done

It seems to work as you'd expect:
INFO:     <IP_ADDRESS>:50611 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  177ee6db-87c6-445c-ab52-a58fbd62ded12021-12-18 14:31:15.593910
INFO:     <IP_ADDRESS>:50612 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  e6c5dc5e-8fe0-4118-af0d-b277d601229f2021-12-18 14:31:15.607869
INFO:     <IP_ADDRESS>:50613 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  a5efa0dc-af87-4f5e-8303-7bf73c4976672021-12-18 14:31:15.620553
INFO:     <IP_ADDRESS>:50614 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  2b64ffa0-1ae8-45d3-9fa5-41d13e9d75862021-12-18 14:31:15.633375
INFO:     <IP_ADDRESS>:50615 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  6d91f741-4f0e-49d9-9f06-102915103aff2021-12-18 14:31:15.645207
INFO:     <IP_ADDRESS>:50616 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  a300b2ae-57d7-4bfc-a040-a59fb532af6e2021-12-18 14:31:15.657757
INFO:     <IP_ADDRESS>:50617 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  b44f4a15-688f-4d4b-8d4d-643027e9474d2021-12-18 14:31:15.670397
INFO:     <IP_ADDRESS>:50618 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  7d846633-0d85-4fae-b2fb-20e9022f87e72021-12-18 14:31:15.683769
INFO:     <IP_ADDRESS>:50619 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  9263dce5-e500-4d75-b339-6d2a6d58a4442021-12-18 14:31:15.696140
INFO:     <IP_ADDRESS>:50620 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  01e6507d-8a84-483c-9b6b-5cd075c890682021-12-18 14:31:15.708734
INFO:     <IP_ADDRESS>:50621 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  969a2f05-3f9f-4ee6-9a1e-f14902e5628a2021-12-18 14:31:15.724446
INFO:     <IP_ADDRESS>:50622 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  8400658c-c9ad-4139-8e64-d868f55cd1772021-12-18 14:31:15.737273
INFO:     <IP_ADDRESS>:50623 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  7a4d4cf0-48e4-4a16-a855-d900fadf5f052021-12-18 14:31:15.749940
INFO:     <IP_ADDRESS>:50624 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  ad706dec-a56c-4316-9c98-9d92777c7bf82021-12-18 14:31:15.762147
INFO:     <IP_ADDRESS>:50625 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  552bec72-5c7f-416b-a1bb-cb2f07f9e3872021-12-18 14:31:15.775507
INFO:     <IP_ADDRESS>:50626 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  1b18653a-28ec-42f0-aec5-7ecc910af7812021-12-18 14:31:15.788307
rq id177ee6db-87c6-445c-ab52-a58fbd62ded12021-12-18 14:31:20.597017
rq ide6c5dc5e-8fe0-4118-af0d-b277d601229f2021-12-18 14:31:20.608636
rq ida5efa0dc-af87-4f5e-8303-7bf73c4976672021-12-18 14:31:20.624223
rq id2b64ffa0-1ae8-45d3-9fa5-41d13e9d75862021-12-18 14:31:20.635446
rq id6d91f741-4f0e-49d9-9f06-102915103aff2021-12-18 14:31:20.647588
rq ida300b2ae-57d7-4bfc-a040-a59fb532af6e2021-12-18 14:31:20.660428
rq idb44f4a15-688f-4d4b-8d4d-643027e9474d2021-12-18 14:31:20.673079
rq id7d846633-0d85-4fae-b2fb-20e9022f87e72021-12-18 14:31:20.686956
rq id9263dce5-e500-4d75-b339-6d2a6d58a4442021-12-18 14:31:20.699033
rq id01e6507d-8a84-483c-9b6b-5cd075c890682021-12-18 14:31:20.710383
rq id969a2f05-3f9f-4ee6-9a1e-f14902e5628a2021-12-18 14:31:20.728717
rq id8400658c-c9ad-4139-8e64-d868f55cd1772021-12-18 14:31:20.741334
rq id7a4d4cf0-48e4-4a16-a855-d900fadf5f052021-12-18 14:31:20.753921
rq idad706dec-a56c-4316-9c98-9d92777c7bf82021-12-18 14:31:20.763207
rq id552bec72-5c7f-416b-a1bb-cb2f07f9e3872021-12-18 14:31:20.777005
rq id1b18653a-28ec-42f0-aec5-7ecc910af7812021-12-18 14:31:20.792848

https://github.com/tiangolo/fastapi/issues/4221
https://github.com/tiangolo/fastapi/issues/4107#issuecomment-974797385

How are you doing those requests and measuring that they pile after 8 @amardeep2006? Also, did you pass any parameters to uvicorn?
I added a datetime.now() to your write_notification() and ran a
for i in {1..16}
do
curl -X POST <IP_ADDRESS>:8000/send-notification
done

It seems to work as you'd expect:
INFO:     <IP_ADDRESS>:50611 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  177ee6db-87c6-445c-ab52-a58fbd62ded12021-12-18 14:31:15.593910
INFO:     <IP_ADDRESS>:50612 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  e6c5dc5e-8fe0-4118-af0d-b277d601229f2021-12-18 14:31:15.607869
INFO:     <IP_ADDRESS>:50613 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  a5efa0dc-af87-4f5e-8303-7bf73c4976672021-12-18 14:31:15.620553
INFO:     <IP_ADDRESS>:50614 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  2b64ffa0-1ae8-45d3-9fa5-41d13e9d75862021-12-18 14:31:15.633375
INFO:     <IP_ADDRESS>:50615 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  6d91f741-4f0e-49d9-9f06-102915103aff2021-12-18 14:31:15.645207
INFO:     <IP_ADDRESS>:50616 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  a300b2ae-57d7-4bfc-a040-a59fb532af6e2021-12-18 14:31:15.657757
INFO:     <IP_ADDRESS>:50617 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  b44f4a15-688f-4d4b-8d4d-643027e9474d2021-12-18 14:31:15.670397
INFO:     <IP_ADDRESS>:50618 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  7d846633-0d85-4fae-b2fb-20e9022f87e72021-12-18 14:31:15.683769
INFO:     <IP_ADDRESS>:50619 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  9263dce5-e500-4d75-b339-6d2a6d58a4442021-12-18 14:31:15.696140
INFO:     <IP_ADDRESS>:50620 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  01e6507d-8a84-483c-9b6b-5cd075c890682021-12-18 14:31:15.708734
INFO:     <IP_ADDRESS>:50621 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  969a2f05-3f9f-4ee6-9a1e-f14902e5628a2021-12-18 14:31:15.724446
INFO:     <IP_ADDRESS>:50622 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  8400658c-c9ad-4139-8e64-d868f55cd1772021-12-18 14:31:15.737273
INFO:     <IP_ADDRESS>:50623 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  7a4d4cf0-48e4-4a16-a855-d900fadf5f052021-12-18 14:31:15.749940
INFO:     <IP_ADDRESS>:50624 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  ad706dec-a56c-4316-9c98-9d92777c7bf82021-12-18 14:31:15.762147
INFO:     <IP_ADDRESS>:50625 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  552bec72-5c7f-416b-a1bb-cb2f07f9e3872021-12-18 14:31:15.775507
INFO:     <IP_ADDRESS>:50626 - "POST /send-notification HTTP/1.1" 200 OK
Sleeping for 5 seconds  1b18653a-28ec-42f0-aec5-7ecc910af7812021-12-18 14:31:15.788307
rq id177ee6db-87c6-445c-ab52-a58fbd62ded12021-12-18 14:31:20.597017
rq ide6c5dc5e-8fe0-4118-af0d-b277d601229f2021-12-18 14:31:20.608636
rq ida5efa0dc-af87-4f5e-8303-7bf73c4976672021-12-18 14:31:20.624223
rq id2b64ffa0-1ae8-45d3-9fa5-41d13e9d75862021-12-18 14:31:20.635446
rq id6d91f741-4f0e-49d9-9f06-102915103aff2021-12-18 14:31:20.647588
rq ida300b2ae-57d7-4bfc-a040-a59fb532af6e2021-12-18 14:31:20.660428
rq idb44f4a15-688f-4d4b-8d4d-643027e9474d2021-12-18 14:31:20.673079
rq id7d846633-0d85-4fae-b2fb-20e9022f87e72021-12-18 14:31:20.686956
rq id9263dce5-e500-4d75-b339-6d2a6d58a4442021-12-18 14:31:20.699033
rq id01e6507d-8a84-483c-9b6b-5cd075c890682021-12-18 14:31:20.710383
rq id969a2f05-3f9f-4ee6-9a1e-f14902e5628a2021-12-18 14:31:20.728717
rq id8400658c-c9ad-4139-8e64-d868f55cd1772021-12-18 14:31:20.741334
rq id7a4d4cf0-48e4-4a16-a855-d900fadf5f052021-12-18 14:31:20.753921
rq idad706dec-a56c-4316-9c98-9d92777c7bf82021-12-18 14:31:20.763207
rq id552bec72-5c7f-416b-a1bb-cb2f07f9e3872021-12-18 14:31:20.777005
rq id1b18653a-28ec-42f0-aec5-7ecc910af7812021-12-18 14:31:20.792848

Hi @wcastello : I have done some more analysis on this issue it seems the limit is based on available CPU on the FAST API server. I am running it on a 2 core processor with 4 logical Processor .

Can you please share number of CPU cores on your machine ?
Regarding your another question : I am using this pattern in actual application where background tasks are suppose to update DB continuously , which stops happening after 8 requests. Also in this sample program , You can see that logs show that BG tasks does not start immediately .
Here is another comment which talks about CPU dependency on number of threads limit. May be this issue is related to CPU limitations in my case as well.
https://github.com/tiangolo/fastapi/issues/603#issuecomment-540834120
Summary of that comment :

If you look at the code for starlette's run_in_threadpool function, it is just using the built-in python ThreadPoolExecutor (with default settings) to run the function. If you look in the standard library, you'll see max_workers = (os.cpu_count() or 1) * 5, so the maximum number of threads per process should be bounded by that value.

I am closing this issue as I am not facing this on server which has higher capacity in term of CPU.


Address generation wrong in dash testnet

I'm using the bip32.php example from latest version but switched the network after the autoloading line by adding
Bitcoin::setNetwork(\BitWasp\Bitcoin\Network\NetworkFactory::dashTestnet());
to change to the dash testnet.
At first it looks fine, because the example delivers dash testnet addresses with prefix "y" instead of "X" (for main net) as expected but on the other side, all the addresses are invalid! You cannot use them in dash core latest version. It is impossible to transfer any faucets to it.
And in addition to that (not shown on the screenshot but I noticed that during some experimentation with it): if you use the deriveChild function within a loop or you restart bip32 example several times (about 30x) in a short period, you will create in some situations addresses which starts by "x" (lowercased of the mainnet prefix!) instead of "y"! Really really strange for me because this is not right.
I'm absolute not sure if the lib does all the encryption stuff right for dash testnet? Can you confirm the bug or is the way I did my test wrong? Normally dash should be in most ways compatible with bitcoin protocol because dash does lots of work with backports.
Please see my attached screenshot.

Hey @plessmann
This can happen when a cryptocurrency changes it's address prefixes. When this happens, it's usually a disaster for applications because all their stack needs to be compatible.
Look up the Dash PHP code and copy it directly into your project, then look up the version of dash you are using, and see chainparams.cpp. It will have the version bytes defined there.
This issue pops up like once a year, and I can't change defaults without screwing over peoples applications. So I've stopped merging new cryptocurrency definitions to the project, and expect people to research their own cryptocurrencies and find out the bytes to use. Eventually all altcoin networks will be deleted from this project, but as you note, most cryptos are compatible anyway besides minor differences in configuration.
So this is a won't fix.

if you use the deriveChild function within a loop or you restart bip32 example several times (about 30x) in a short period, you will create in some situations addresses which starts by "x" (lowercased of the mainnet prefix!) instead of "y"! Really really strange for me because this is not right.

regarding this, it's actually sort of expected - it's how the base58 encoding works. On bitcoin testnet P2PKH addresses start with either m or n, so I'm not surprised it happens elsewhere too.

btw, you can compare addresses if you decode the base58 to bytes - you can see if the prefix is wrong or something else, and compare known valid addresses with it.


Fix broken authentication check in azure-ai-projects

Description
Fixed the conditional check to use in instead of == to correctly handle multiple authentication types.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


add code coverage job

This PR adds
1 code coverage for gcc compiler
2 enable code coverage on CI
*show code coverage report markdown in log
like:
Package | Line Rate | Branch Rate | Complexity | Health
-------- | --------- | ----------- | ---------- | ------
src.backend | 0% | 0% | 0 | ❌
src.config | 95% | 59% | 0 | ✔
src.etl | 0% | 0% | 0 | ❌
src.log | 90% | 32% | 0 | ✔
src.rpc | 78% | 33% | 0 | ✔
src.subscriptions | 0% | 0% | 0 | ❌
src.util | 100% | 0% | 0 | ✔
src.webserver | 100% | 55% | 0 | ✔
Summary | 37% (164 / 447) | 15% (174 / 1173) | 0 | ❌
*upload report to CI
Ideally, we can add coverage summary in PR comments. But github does not allow GITHUB_TOKEN to write PR https://docs.github.com/en/actions/security-guides/automatic-token-authentication. To add the coverage summary to comment, we need another workflow triggered by "build.yml". see https://securitylab.github.com/research/github-actions-preventing-pwn-requests/

I think the code coverage should be a completely different step rather than using the experimental Ubuntu 22.04 build to do it.
This PR is also adding a bunch of stuff that isn't really necessary and produced quite different results from what I tested last month. Does CI need to install/run multiple code coverage implementations?
Then again, I can't really tell how the results are being generated from coverage.cmake :grimacing:
src.backend says 0%? That's the most extensively covered part of Clio?

@legleux  I believe @godexsoft has answered some of your questions.
Just keep a note here:
1 Why Ubuntu 22.04 ?
I am not a CI expert. As you can see from the build.yml, I just move Ubuntu 22.04 from build_dev jobs to code_coverage, adding more steps related with code coverage. Please feel free to correct it.
2 The test result:
Because we have to run code coverage with available gcda/gcno files, we need to run it on building machine where db is not available. So I filter out backend testcases. Github action provides services container to run the service in runner. I have tried Cassandra service, however it fails to start. We have planed to remove db dependency from unittests. I think it is okay to disable backend unittests for now. The main purpose of unittest code coverage is to make sure our new added code is covered sufficiently.


⚠ Bofrost.de has degraded performance

In b05b1e4, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1231 ms

Resolved: Bofrost.de performance has improved in 812d0bc.


gradlew is not executable

Hello, when I'm trying to run:
java -jar non.jar gen:hello

I see this error:
Cannot run program "/home/rodislav/Projets/non-hello/.non/gradlew" (in directory ".non"): error=13, Permission denied

workaround is to go inside .non directory, change +x for gradlew (make it executable), can be done also from file properties / rights
Ubuntu 14.04, java 8

Hmm never tested this on Linux. Thanks for report. I have fix for this.

Fixes this in commit what I just pushed, closing.


Integrate Appium Server into the Harness

Also this issue can cover integration of Appium test framework with the Browserstack cloud test framework

No need to integrate Appium server into the test harness as it is run on the Browserstack cloud. The main focus of this issue should be to become familiar with the Browserstack functionality in order to optimise the test runs.
I will go over the Browserstack documentation and put any recommendations here.


Update to Product Data URL

Hi,
I understand most dataholders do not need to take any action in order for their URL to be updated on the product comparator; however this change is for a brand that is not yet an active data holder brand and is therefore not discoverable on the ACCC CDR Register.
From 29th October, Greater Bank brand will be updating their Product Data URL to https://public.cdr.greater.com.au
From this date the old endpoint will no longer work.
Thanks,
NGM Group Open Banking Team

Hi,
Greater Bank brand is already on the product comparator, it has been sharing product data but not customer data.
Does that change your response at all?
Thanks,
NGM Group Open Banking Team

Hi,
This has been resolved by an alternate route by the ACCC.
Many thanks, we will close this.
NGM Group Open Banking Team


Handle chart dependencies

This is an attempt to resolve an issue I discovered while experimenting with the gitops toolkit.
I've observed that gitrepo sourced helm charts that have local (file://) relative dependencies fail to install due to missing dependency chart packages in charts/. Since keeping these built chart package dependencies in git is not really optimal, the only option I see is for the dependencies to be built as part of the reconciliation process when the resulting chart artifact is built.
Note that this is supposed to work for remote dependencies too.
I realize this implementation is rather naive at this point, but I think it should serve well as an initial PoC and to start the debate for a better solution.

First of all, thanks for trying out the GitOps Toolkit, and putting time into this. :tulip:
The PoC as you made it is indeed the easiest fix, but something I purposely left out while writing the features as they stand now. The reason for this is a combination of how Helm works internally, how the source-controller is designed to operate, and problems that arise from the combination of those two (including past experiences with the Helm Operator.
Helm expects to run in either a temporary environment (like a CI job) or a user environment (like your local machine), this means it relies on:

Environmental variables
Cache directories
The filesystem as a way of looking up and storing information

With the source-controller, we went to great lengths to not use any data from the runtime environment (as the Custom Resources should be declarative and the processes that reconcile them self-contained), to the extent that I wrote a  wrapper around Helm's repository index files so that we could work with them directly from memory with the credentials and artifact from a HelmRepository.
Using the downloader.Manager makes none of this possible as it relies heavily on Helm's logic to gather credentials and maintain a cache. This means we would create an alternative reality of (anonymous) indexes (that have to be cleared), whilst not being able to take the artifacts produced by, or credentials configured in HelmRepository resources into account.
The "better" solution, is to do the following (simplified, pseudo and non optimized steps written from the head):

Index the HelmRepository resources by their (normalized) URL
Before building the chart

Look up the HelmRepository resources by their (normalized) URL based on the dependencies.yaml data, and load the credentials and the artifact from the resources into a helm.ChartRepository
Assume an "anonymous" HelmRepository for any item we did not find a resource for, create a helm.ChartRepository for those, and download the index from remote into memory using ChartRepository.DownloadIndex
Download the dependency charts using the client and index from each ChartRepository, while taking into account the contents of the charts/ directory

Continue with the chart build

Note, that this all will likely result in our own version of downloader.Manager, specifically designed for our way of operating and working with Helm.

Thanks for the detailed explanation, now I think I understand a bit better the operational concerns around how the source-controller integrates with helm.
My concern with the downloader.Manager override implementation you outlined is it would stray off course from the original implementation where there's quite a lot of logic especially on the side of dependency resolution. I'm now wondering if there's some way to wrap the repository configuration provided via the HelmRepository around downloader.Manager in a consistent manner so that it wouldn't break the rules imposed by source-controller's operational boundaries.
What I have in mind is something like this:

Gather HelmRepository configurations into a temporary file that we can refer to when initializing downloader.Manager i.e. RepositoryConfig => this would be some sort of a translation layer from the controlled resources configuration (helm repos) to something helm can natively understand (repo config file)
Provide a temporary path for RepositoryCache which would only be available during the lifetime of the dependency build/update process (deferred discarding of a temporary directory)
No solution for handling index files in memory I'm afraid, but since we can pretty much configure helm's cache work directory this might not be a huge deal (the same approach from 2. basically)

Let me know what you think. I'd be glad to further lend a hand with this!

There is proposal on how to pull charts from different repos and inject them into charts/ dir, see https://github.com/fluxcd/toolkit/discussions/326

My concern with the downloader.Manager override implementation you outlined is it would stray off course from the original implementation where there's quite a lot of logic especially on the side of dependency resolution.

The rules for dependency resolution should be pretty static, so I do not see this as a major problem compared to "opting-out" and/or working around a system that is designed for other use-cases. It is easier to continue to integrate (when new features are added) than to continue to opt-out.

My concern with the downloader.Manager override implementation you outlined is it would stray off course from the original implementation where there's quite a lot of logic especially on the side of dependency resolution.

The rules for dependency resolution should be pretty static, so I do not see this as a major problem compared to "opting-out" and/or working around a system that is designed for other use-cases. It is also easier to continue to integrate (when new features are added) than to continue to opt-out.

I think that does make sense. It's a shame the helm (library) wasn't built with more finer-grained decoupling and adapter friendliness of its basic operations components. Maybe that might change in the future.
@stefanprodan thanks for the discussion link reference. My two cents on that one as a potential solution for handling dependencies is that it would require quite a lot of configuration on the side of HelmChart resources since users will have to essentially re-map dependencies already defined in Chart.yml in a new format as part of the HelmChart spec. You'd basically end up with two parallel dependency specifications and I can imagine that might get frustrating when having to deal with more than one level of deps (chart A -> chart B -> chart C etc.).

I think that does make sense. It's a shame the helm (library) wasn't built with more finer-grained decoupling and adapter friendliness of its basic operations components. Maybe that might change in the future.

With Helm 3 they spend a lot of time on making their SDK more developer friendly, it still has some rough edges but it is manageable (and I think our requirements are pretty extreme compared to what some others do).
On a side note: I started working on the above, but would be happy to share what I have and work on something else if you want to give it a shot.

I think that does make sense. It's a shame the helm (library) wasn't built with more finer-grained decoupling and adapter friendliness of its basic operations components. Maybe that might change in the future.

With Helm 3 they spend a lot of time on making their SDK more developer friendly, it still has some rough edges but it is manageable (and I think our requirements are pretty extreme compared to what some others do).
On a side note: I started working on the above, but would be happy to share what I have and work on something else if you want to give it a shot.

I would be glad to do that. If you can share a branch I can look at that would be great!

@relu if you are on Slack (#flux), please send me a DM so I can give you some additional pointers. The WIP state on my machine was far from a committable except for the indexers (see: https://github.com/fluxcd/source-controller/tree/gitrepository-helm-deps).

Closing in favor of https://github.com/fluxcd/source-controller/pull/175.


Fix some words to be of American English

The concerned words are used throughout the library but with different spelling (BE/AE). I tried use AE consistently now.

Thank you! :)


My bad

I accidentally added beaker and its project update directly to the repo. I thought I was pushing to my fork, so I could create a PR.
Should we correct that somehow or just roll with it?

@pfrazee nah i think that's fine!
the pull request mechanism exists to give people notifications that "oh hey paul published a new update!" it's just a kinda pragmatic thing that @RangerMauve come up with when we were jamming

also: yay!


Option to pass auth response token to handlePendingSignIn

Current implementation of handlePendingSignIn uses getAuthResponseToken to get the auth response token from query string. It would be helpful for users implementing their own authentication flow to have an option to pass the auth response token to handlePendingSignIn.
For example, in an electron app (with custom protocol handler blockstack-electron and appDomain  'http://localhost:8080' ), the following would be a possible auth flow:

In a BrowserWindow, makeAuthRequest with 'http://localhost:8080/redirect' as the redirect URL
Call redirectToSignInWithAuthRequest with auth request created in step 1
On successful authentication, Blockstack browser will call the redirect URL 'http://localhost:8080/redirect',  which in turn will redirect to blockstack-electron://redirect?authResponse=xxxxxxx
In electron app, handle the redirect blockstack-electron://redirect?authResponse=xxxxxxx in the main process and pass the auth response token to the BrowserWindow that called redirectToSignInWithAuthRequest
In BrowserWindow, pass the auth response token using handlePendingSignIn to blockstack.js

Thanks for the pull request fixing this @muneebm - will be in the next release!


Remove rst port from br_delay_nr uses

@sherbst-openai This is a high priority PR, blocking an internal bedrock SHA pointer update. Is there a way I can run regression tests on this PR? I also didn't find any explicit dependency on a Bedrock version. LMK if there is such a thing.


More Pipelines API review changes

Mover ReadOnlyBuffer to Buffer.Primitives
Nest BufferEnumerator
Move Advance from PipelineReaderExtensions to IPipeReader; - no change in behaviour yet
Implement IOutput on WritableBuffer
Implement ISequence on ReadableBuffer - Added TryGet method with the same signature will implement when we move it to Buffer.Primitives
Remove ReadCursor and use position - Renamed, we can replace when moving position to Buffer.Primitives
Rename ReadableBuffer to ReadOnlyBuffer
Change IScheduler to Scheduler and hide the concrete classes
ReadableBufferReader - ReadOnlyBufferReader

ReadOnlyBufferReader -> BufferReader?

@dotnet-bot test Innerloop Ubuntu16.04 Release Build and Test

cc: @joshfree, @terrajobst

I resolved the conflicts (as I think my last merge caused them)

Fixed the build and renamed ThrowHelper

I haven't look at this in detail but I'm going to trust you guys are doing good things 😄


Create project

We've created database entity relation diagram, template of DB initialization script, asp.net core rest api project (backend) with sample code and empty Android project. Also there are top-level development plan (see readme file). We are ready to start development on Monday 😄


Update use-intune-config-manager-microsoft-defender-antivirus.md

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@dlmsft Please implement the suggested changes. Thanks

@dlmsft - please also commit the second suggested change. Many thanks.


react-scripts 2 has problem with node_modules folder at project's parent directory

Is this a bug report?
Yes

Did you try recovering your dependencies?

Yes

I have another node_module folder in the parent folder of my project. I updated react-script to v2 and while I am trying to start the project I get an error like below:
The react-scripts package provided by Create React App requires a dependency:

  "webpack": "4.19.1"

Don't try to install it manually: your package manager does it automatically.

However, a different version of webpack was detected higher up in the tree:

  /parent_dir/node_modules/webpack (version: 4.20.2)

My project is in this directory and has its own node_module folder:
 /parent_dir/my_project/node_modules/webpack (version: 4.20.2)
Everything goes OK if I delete parent's node_modules.

This is intended.  You can either use the same webpack version or skip preflight checks per the given instructions


Requires a sample project integrated Swift Protobuf in Obkective-C as well as Swift project

Hi,
I am working with project which had implemented Protobuf in objective-c, currently I would like to add Swift Protobuf into our project. While integrating i getting few errors.
So kindly provide a sample project which integrated the same.

You can use the ObjC protos from Swift.  That way you only have to link one protobuf library.  Is there a specific reason you are trying to use both libraries in a single binary?  I'm also not sure it is something we really would want to encourage.

What errors are you getting?

@ukpOnline this example from google really helped me: https://github.com/GoogleCloudPlatform/ios-docs-samples/tree/master/speech/Objective-C/Speech-gRPC-Streaming

Closing this out since there doesn't seem to be an issue here vs. just a question and there hasn't been activity in a while.


Update the Twitter icon

Context
Please provide any relevant information about your setup
Expected Behavior
The updated Twitter icon should be visible on the events page
Current Behavior
The outdated icon is visible

Hey @Jils31
That is the footer of the meetup.com website, not the Codú site.
Maybe you should contact them to let them know, but it will always be Twitter to me!


adding a "skew" setting?

Hey...
I'm hoping to find a tracking program for my tip and roll array collector. The extra tricky bit is that my collector is made of a group of tubes that contain optics that need two axis tracking (so far so good) But the tubes are anchored at the foot and turn on the central axis for east west and so tip up and down at the top for north south. The hard bit is installation of the array can be along non east west lines (in the graphic that is the foot line) so there needs to be compensating math for the difference... any ideas about how to implement those "corrections" in the code?

Those tubes are the collector surfaces... the sun is at the top of the image shining down on the tubes.

I suppose you could modify the run function in the linearActuator code, the
current implementation assumes a linear movement/positioning, ie one inch
of travel equals a given angle of movement, you could add a function to
calculate a non-linear position to angle.
I'm not sure if this would be accurate enough for what your doing, you
might need actuators with position feedback...
On Tue, Nov 15, 2016 at 12:03 PM, Paul-Bostwck<EMAIL_ADDRESS>wrote:

Hey...
I'm hoping to find a tracking program for my tip and roll array collector.
The extra tricky bit is that my collector is made of a group of tubes that
contain optics that need two axis tracking (so far so good) But the tubes
are anchored at the foot and turn on the central axis for east west and so
tip up and down at the top for north south. The hard bit is installation of
the array can be along non east west lines (in the graphic that is the foot
line) so there needs to be compensating math for the difference... any
ideas about how to implement those "corrections" in the code?
[image: screen shot 2016-11-14 at 6 39 06 pm]
https://cloud.githubusercontent.com/assets/16853997/20291257/cd6ab14e-aa99-11e6-80b2-ed9284d1151f.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/graham22/SkyeTracker/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFGATQPqMajXeJb0coU1wQIR6d2avktdks5q-eXGgaJpZM4Kyxgw
.

--
Graham A. Ross
(613) 769-1331

Hey Graham22
thanks for responding!
I think you described it well (I have a hacking session with a clever friend this weekend and this way of describing the problem will likely help)
I suspect you are right: the position feedback is very likely to be needed. I do have the advantage of a large diameter az wheel (.1m) and the length of the tubes (1.8m) as the radius of the elevation "gear" , so many stepper turns will add up to very small movements of the system but even still, "where are we" will need some kind of verification system.
The non-linear aspect of the function is going to squeeze my brain hard! I guess both axis will have their own adaptation and together they should arrive at the aim...
OK up too late. Thanks for the feedback. More as I know it!
Another image of my collector design, for your entertainment:

That is a section view of a section of one of the tubes.

The code assumes linear actuators


[client] storybook 테스트

vanilla extract랑 충돌이 좀 난다,,,

https://github.com/seek-oss/vanilla-extract/discussions/371


about extentions group

There is no grouping content in the current sidebar about plug-ins. Just like git's grouping, I hope to create a new group in the plug-in, such as the Java component suite currently being developed by vscode. After I download it, he will download some other plug-in packages that can be opened by each workspace Suppose it is designed. Take JS, Java and CPP as examples, I can group a basic, CPP group, Java group, JS. In the file setting interface, there will be a check box to cooperate with the workspace function. In this way, each time you open the corresponding workspace or create a new workspace, you can quickly configure the default plug-in suite and some UI in the plug-in panel on the left GIT and other basic packages can be enabled by default,
I want to use idea as a project for each project, but that will make vscode lose flexibility. The biggest advantage of vscode is lightweight, plug-in customization and semi automation
If the above functions can be implemented in the workspace function, I hope that a document containing the workspace functions can be generated. How to set the contents similar to settings.json However, it is very troublesome to assign the previous configuration every time

Not sure if I understand your requirement completely, if it is about having extensions enabled per workspace (project) you can do that using the action Enable (Workspace) available on each extension. If not, can you please explain the use case in more detail?


Defunct ssh agents

|    by<EMAIL_ADDRESS>
There are currently 156 instances of ssh-agent running on Accessdev, most belonging to just a few users
$ ps aux | grep ssh-agent | awk '{user[$1]++} END {for (u in user) print u, user[u];}'
pfu599 1
jtk561 2
lxs599 2
jtt565 7
jan599 1
pfv599 1
par548 1
llt561 21
akl599 16
csm551 4
dxa565 7
rzl561 17
ewk599 1
mxs561 1
kxs563 64
saw562 1
mxw599 1
jxs599 1
jlc565 7

We should instruct these users on how to use ssh agent forwarding so that we're not left with all these processes hanging about on the machine

Issue migrated from trac:174 at 2024-01-31 17:41:58 +1100

<EMAIL_ADDRESS>changed status from new to accepted

<EMAIL_ADDRESS>changed owner from `` to saw562


Update Babylon Version

Is there any particular reason why Babylon v5 is listed as peer dependancy? From what I know, your library is working just fine with latest Babylon version(6.27.1), but I needed to import it manually without npm.
Both --legacy-peer-deps and --force is something I prefer to avoid if possible.
Thx

Thanks for feedback. Updated!

Same thing with Babylon 7 :)

Oops, I did it again..
Updated!


fix(cli): fix issue with CLI codegen command

:tada: This PR is included in version 2.1.5 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


:tshirt: :fire: :unamused: remove arbnb linter, unused dependencies and es6 code

I just removed a few dependencies that were not used and es6 code too.
I think I should be doing this PR to sprint8...


Write absolute timestamps to HDF file

Write the following to HDF file from the header:

header item
description

arm_time
System timestamp when ARM command was sent

start_time
Timestamp of when PCAP became both armed and enabled

hw_time_offset_ns
Offset in ns from hardware timestamp to captured system time, only present when hardware time source is used.

The last field requires https://github.com/PandABlocks/PandABlocks-server/pull/45, and this also makes the fields nanosecond precision
@dmgav I propose that we keep the timestamp arrays like TS_START relative, and add these as top level HDF attributes to the root of the HDF file as ISO 8601 UTC format with nanosecond resolution, i.e. YYYY-MM-DDTHH:mm:ss.sssssssssZ. What do you reckon?

@coretl I think keeping timestamp arrays relative is fine as long as the keys, such as TS_START do not change. Then we can make Databroker handlers to recognize those keys and convert relative timestamps to absolute (by adding constant start_time and hw_time_offset_ns) when possible. I would also like @danielballan to confirm that this will not be an issue in a long run.

@coretl Would you like me to work on this issue?


Find PI to the Nth digit

Enter a number and have the program generate PI up to that many decimal places. Keep a limit to how far the program will go.


Update s3, sdk-core, sqs to 2.16.20

Updates

software.amazon.awssdk:s3
software.amazon.awssdk:sdk-core
software.amazon.awssdk:sqs

from 2.15.82 to 2.16.20.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, semver-minor

Superseded by #114.


added width: 100% to css of StyledContainer

updated changes #769

@Zezima-sudo Thank you! It looks very beautiful!

I'll merge this change.


Llama Vision Models fail

Llama Vision models either refuse or fail to describe any image regardless of size or content.

or same with larger model

Hi @shaneholloman, thanks for using AI Toolkit. As the error message suggests, your image file size exceeds limit (10M) for that model. Could you try with smaller image files?

The image is 300kb

Something else is going on here

Perhaps the image is being base64 encoded on the way to the model? That would bloat the size by quite a bit.