Analyze prebuilts for corefx

The following prebuilt packages are included as dependencies in source-build by corefx.  These need to be analyzed to determine how to avoid requiring packages that source-build doesn’t build.

Change to use the source-built version
Package is not critical to product and can be removed.  (i.e.test-specific, windows-specific, etc)
The package is used as reference only
The package should be built in source-build
Other – please elaborate on what you think should be done.

For more detailed usage information for these, please see the Usage Exploration tab of the SourceBuildPrebuiltReport.
Prebuilt Status Updated 2019-06-24
Up to date prebuilt status can now be found in the SourceBuildPrebuiltReport in the Repo Status Data tab.
Prebuilt Table Updated 2019-05-07

PackageName
PackageVersion
SourceBuiltVersion
Category

Microsoft.DotNet.ApiCompat
1.0.0-beta.19205.6

Add'l validation - can be disabled for source-build

Microsoft.DotNet.CoreFxTesting
1.0.0-beta.19205.6

Test-only

Microsoft.DotNet.GenAPI
1.0.0-beta.19205.6

Will be turned off for source-build

Microsoft.DotNet.GenFacades
1.0.0-beta.19177.11

Will be getting from Arcade

Microsoft.DotNet.SourceRewriter
1.0.0-beta.19205.6

Will be removed

Microsoft.DotNet.VersionTools.Tasks
1.0.0-beta.19205.6

Will be conditioned out

Microsoft.TargetingPack.NETFramework.v4.7.2
1.0.0

Ref-only

System.Memory
4.5.1

Ref-only (use version below)

System.Security.Cryptography.Cng
4.5.0

Ref-only (use version below)

System.Security.Cryptography.OpenSsl
4.5.0

Ref-only (use version below)

System.Security.Cryptography.Pkcs
4.5.0

Ref-only (use version below)

System.Threading.Tasks.Extensions
4.5.1

Ref-only (use version below)

Original Prebuilt Table

PackageName
PackageVersion
SourceBuiltVersion
Category

Desktop.Analyzers
1.1.0

Microsoft.CodeAnalysis.Common
2.9.0
3.1.0-beta1-19067-14

Microsoft.DiaSymReader.Pdb2Pdb
1.1.0-beta1-62506-02

Microsoft.DotNet.ApiCompat
1.0.0-beta.19115.1

Microsoft.DotNet.Build.Tasks.Feed
2.2.0-beta.19115.1

Microsoft.DotNet.CoreFxTesting
1.0.0-beta.19115.1

Microsoft.DotNet.GenAPI
1.0.0-beta.19115.1

Microsoft.DotNet.GenFacades
1.0.0-beta.19115.1

Microsoft.DotNet.SignTool
1.0.0-beta.19067.6

Microsoft.DotNet.SourceRewriter
1.0.0-beta.19115.1

Microsoft.NETCore.Compilers
3.0.0-beta2-final
3.1.0-beta1-19067-14

Microsoft.Net.Compilers
3.0.0-beta2-final

Microsoft.SourceLink.GitHub
1.0.0-beta2-18618-05

Microsoft.SourceLink.Vsts.Git
1.0.0-beta2-18618-05

Microsoft.SymbolUploader.Build.Task
1.0.0-beta-63604-05

Microsoft.TargetingPack.NETFramework.v4.7.2
1.0.0

System.Memory
4.5.2

System.Runtime.Analyzers
1.1.0

System.Runtime.InteropServices.Analyzers
1.1.0

System.Security.Cryptography.Cng
4.5.0

System.Security.Cryptography.Hashing.Algorithms.Analyzers
1.1.0

System.Security.Cryptography.OpenSsl
4.5.0

System.Security.Cryptography.Pkcs
4.5.0

System.Threading.Tasks.Extensions
4.5.1

sn
1.0.0

vswhere
2.5.2

Looks like this chart is out of date and the report is not accessible.  @dseefeld

@ericstj I updated the chart from the most recent completed source-build build and gave you permissions to the report.

Updated the table and fixed a lot of these with https://github.com/dotnet/corefx/pull/36387.

Hi @dseefeld I was taking a look at the report after my changes went in and I don't see a difference reflected.  How often do you do SourceBuilds and run the report?  Thanks!

@ericstj We've been updating source-build when prodcon has a coherent build (usually around a release).  There's work in progress to get updates from DARC on a more frequent basis, so our build frequency should go up.

It'd be great if there was a way to drive this down that wasn't so much "guess and check".  Any pointers for how to do a single-repo build that would replicate a portion of this?

Unfortunately, we don't have anything to build a single-repo to see how prebuilts are affected.  The way to do this would be to clone source-build, replace the commit for corefx with the desired commit and then build using /p:RootRepo=corefx.  This will build everything up through corefx.

Hi @dseefeld do you have new data for us here?  I checked the report and I'm still seeing all the same data as before.
For example, if I look at https://msit.powerbi.com/groups/me/reports/64e989dd-8072-4d84-8268-140bde0cbc7d/ReportSectionc64da6d8334068f41e23
I see it complaining about packages like System.Runtime.Analyzers, but those are all under '$(DotNetBuildFromSource)' != 'true' since 3/26:
https://github.com/dotnet/corefx/commit/7732d6b2569f5ffa44ecca1755d0135d300e8569

We're working on updating source-build to 3.0 preview 4.  That should pull in the changes you've identified.  See https://github.com/dotnet/source-build/pull/1022

@dseefeld could you add the following as reference-only packages?

PackageName
PackageVersion
SourceBuiltVersion
Category

System.Memory
4.5.2

System.Security.Cryptography.Cng
4.5.0

System.Security.Cryptography.OpenSsl
4.5.1

System.Security.Cryptography.Pkcs
4.5.2

System.Threading.Tasks.Extensions
4.5.2

We pick these up from servicing branches and use their reference assemblies when compiling netstandard assemblies.
Also I had a question about desktop framework reference assemblies: do we have a source-built copy of desktop refrence asemblies?  In corefx we use these to build our .NET framework compat facades.

@ericstj Yes.  I'll add those reference-only packages.  Regarding the desktop framework reference assemblies, we're using these in source-build, but we don't have a source-built copy of these, yet.

I've added one more reference package.  Please take note of these versions as many are different from your current report since the packages have serviced since past source-builds.  @joperezr

@dseefeld we're still being flagged for the packages listed here: https://github.com/dotnet/source-build/issues/884#issuecomment-489268532

Also the current report is flagging us for GenAPI, but we discussed before that this would only be needed for the first phase of sourcebuild and we've conditioned it to be off for the offline portion: https://github.com/dotnet/corefx/blob/1841042b99062de13dc80098cede9413be569238/eng/Tools.props#L21-L25

@ericstj 4 of the packages from above still need to be added as reference-only packages.  I'll add them as soon as I can.

PackageName
PackageVersion
Status

System.Memory
4.5.3
Reference-only - to be added

System.Numerics.Vectors
4.5.0
Reference-only - to be added

System.Security.Cryptography.Cng
4.5.0
Already included as a reference-only package

System.Security.Cryptography.OpenSsl
4.5.1
Reference-only - to be added

System.Security.Cryptography.Pkcs
4.5.2
Reference-only - to be added

System.Threading.Tasks.Extensions
4.5.2
Already included as a reference-only package

WRT the GenAPI prebuilt, I see what the issue is.  The condition in eng/Tools.props is checking for OfflineBuild, but it should be checking for DotNetBuildOffline.  I should have caught that in my review of the PR. I'll add a patch to correct this, so we can see that change in the report.  Can you change the code in corefx so we can pick it up the next time we pick up a coherent build?

I see, I thought we specifically agreed upon that property name.  I submitted change to corefx: https://github.com/dotnet/corefx/pull/39926

I see, I thought we specifically agreed upon that property name. I submitted change to corefx: dotnet/corefx#39926
Thanks for looking into this.

I did state that this was the property name to use, but I was wrong.  Internally, source-build uses OfflineBuild, but the official property passed to the repos is DotNetBuildOffline.  Sorry for the confusion

All prebuilts removed.


Update document

While installing from source with Postgresql, there were no default JDBC driver file, so I add guide for download and setup for this. Please give a comment if there is any problem.

One more, while I am working on tutorial, there are some broken parts in document that are using angle bracket. It looks it is hard to control on markdown text.
http://stackoverflow.com/questions/20610244/how-to-use-angle-brackets-in-url-on-github-flavored-markdown
How about changing this to square bracket?
This is a suggestion, so please let me know if this is not a good choice.

Thanks for your contribution! I don't have a problem with replacing angle brackets with square brackets. The only ask from me is to keep it consistent throughout the whole documentation. Thanks!

@dszeto Okay thanks! I'll keep update it if there is no problem.

@djKooks No problem. Please keep updating. Thanks for your contribution!

@dszeto I reviewed on documents, but only the part that I fixed shows the problem, and other parts used angle bracket shows fine. You can find the problem in link below.
http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
I'm not sure to remove all angle bracket because most of them are working fine, and if I start changing, lots of part need to be changed and maybe some one could be confused in it. Maybe it would be to let it in current state because it is pretty small bug. I'll think about other way to show it clear without replacing it.


Templates for Issues

These are the 2 templates copied and pasted from the M365 repo in addition to the added template.

All the changes requested were made, ready for another review @buidav.

@buidav thanks. We were a bit hamstrung with the requirement to use one of the templates as opposed to a blank issue. If you chat with your crew before Wednesday's meeting just a heads up- Chad said not to make any SCB content changes during the 1 month RFC period while they continue to seek approval for the continuous content update stuff within CISA. We will have to have a good way to queue all of our content updates during that time.


handle reclaimed offsets as a batch

Problem
clean is inefficient and can be very slow.
A big offender is remove_dead_accounts.
Summary of Changes
remove_dead_accounts calls remove_account once per account. For many slots, ALL the accounts need to be removed. It makes more sense to call this once for all accounts at the same time. This change batches many calls together to update the storage once.
Fixes #

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.8%. Comparing base (0025ecd) to head (a09ce57).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #652     +/-   ##
=========================================
- Coverage    81.8%    81.8%   -0.1%
=========================================
  Files         851      851
  Lines      230370   230369      -1
=========================================
- Hits       188669   188629     -40
- Misses      41701    41740     +39


Icon: Add and update 292 icons

Please make sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's contributing guide (中文 | English | Español | Français).
[ ] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

awesome 👍

Can you add icons without changing their names?


Creating and Viewing Live stream

Hi @shivanshtalwar0 , this isn't an issue with the repository itself. Need some help with setting up a live stream. I have tried using your video room example and modified it to create a live stream on one end and view it on another, so two files. Sadly on the viewing end, for some reason the stream isn't getting listed. So I tried using the pre existing Janus Id 1 stream. Still didn't work, no video received.
I think this might be due to my lack of understanding on streaming using webrtc and Janus. Can you please give me a rough idea on how to proceed. Any help would be much appreciated. Thank you.

So as far as i understand from your comment you are trying to setup live streaming using video room this is definitely possible but for this to work you need to rtp forward your publisher's video stream to a pre created streaming endpoint on specific open port and then on recieving end you need to attach streaming plugin list down stream and start viewing stream, this approach is highly scalable but requires some effort from your side on application itself
Other way of doing the same thing (not scalable) , can be using video room alone instead of attaching viewing end with publisher role you only need to attach user with subscriber role with some random username from your side and when all webrtc related stuff is complete you will start receiving video
But know this i haven't tested either of those functionality with janus client yet and i am planning full streaming support in next release until then i encourage you to play with as you see fit

You should consider reading streaming documentation in full https://janus.conf.meetecho.com/docs/streaming.html

@shivanshtalwar0 by using video room, I meant the example code in your repository. I have switched out the videoroom plugin for streaming plugin. And the various messages being sent via plugin have been changed to the streaming related messages. I have made two copies of the videoroom.dart file. One for broadcasting and other for viewing the stream. Is such an approach viable ?

Unfortunately janus streaming plugin in itself cannot stream video without supplying streaming source like ondemand,live (video file stream sent to streaming plugin using gstreamer or ffmpeg)
In your case you need to attach video room plugin then join as publisher then using video room rtp forward feature forward your stream to pre created streaming mountpoint set up to accept rtp stream at pre configured port for both video and audio then on recieving end you need to attach streaming plugin list down streams send watch request along with jsep answer negotiated by jsep offer sent by janus server when you first sent watch request only then video published on video room will be visible to streaming plugin viewer and as of now that's the only way to achieve what you are trying


Editable table

I copied example 11 and only changed the table to my own - Get this error when toggle between display and edit

Not sure what I did wrong - started over and everything is working fine.


None of the available extractors error when play hls in Android

Hi
this is my problem when open link in video_player and  i got this error.
my link video is correct becuase it play in exo player native android.

Hi @mrsalar
Can you please provide your flutter doctor -v,
your flutter run --verbose,
your pubspec.yaml
and a minimal reproducible code sample.
Thank you
ios https://github.com/flutter/flutter/issues/48670

Hi @mrsalar
Can you please provide your flutter doctor -v,
your flutter run --verbose,
your pubspec.yaml
and a minimal reproducible code sample.
Thank you
ios #48670

Hi

Hi @iapicca
this is doctor _v

these are --verbose

this is pubspec.yaml

and this is my code

Hi @mrsalar
Can you please try this solution?
Thank you

Without additional information we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


GH-4952 - Introduce FedXConfig overrides for FedXRepositoryConfig

GitHub issue resolved: #4952
Briefly describe the changes proposed in this PR:
Introduce FedXConfig option overrides for FedXRepositoryConfig so that repo templates can also access options which previously were only available programmatically.
We've raised the PR against the main branch because from our understanding it's not clear yet when v5.0.0 will be released and we'd be looking to use this feature in production ourselves. Looking at what's changed between 4 latest & 5 (against the files affected by this change) I think it should be trivial to port.

PR Author Checklist (see the contributor guidelines for more details):

[x] my pull request is self-contained
[x] I've added tests for the changes I made
[x] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits where necessary

I will squash all the fixup commits once review is complete.

[x] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

Note: Integration test pipeline has failed due to an unrelated reason:

compliance/rio/src/test/java/org/eclipse/rdf4j/rio/n3/N3ParserTest.java:28 | Expected '.', found '3' [line 2]

I've set it to rerun the integration test. I've not seen this test being flaky before, but maybe it is.

It's not an issue with your code. It's a test that is marked as disabled, but has somehow started to run again. Not sure how that happened.

@vtermanis did you have a chance to look at the above feedback? I think it would be ready with a minimal technical change of moving some pieces of code to protected methods.

@aschwarte10  - sorry about the delay, we've been busy. I will update the PR based your recommendations. Thank you for the initial review.
Follow up Q: It occurred to me that it'll be useful to us to also be able to tweak the join block size and maybe the worker thread counts. To that effect: Is it worth exposing all (apart from from TaskWrapper) options? Are there any which you don't think people should touch?

I've added the remaining conf options: f72c49a030b1f244

In addition, users would benefit from a small documentation adjustment of https://rdf4j.org/documentation/programming/federation/#fedx-configuration (stating with a small example that settings can be added in the repository configuration).

I've added that in a separate commit - see what you think.

@aschwarte10 I've created a CQ for the license issue, but you don't need to wait for that before you merge this PR.

Sorry for the delay

No, problem. Thanks for the review!


Tools Instrumentation with additional params

Question
Hi. My first day working with Mirascope. I'm trying to adapt this guide: https://mirascope.io/docs/latest/cookbook/search_with_sources/
In this guide, function nimble_google_search has 1 param named query. When defining the call, it is listed under tools without indication of any params it takes. I'm pretty confused as to how the query is transferred from search function to the tool, since there is no mention of it whatsoever.
In my particular case, the search tool function takes more than 1 param. How do I feed those to the mechanism?
Is there a convention or any nuances as to the naming of these tools? I'm asking because right now I'm getting Pydantic error about a missing argument:
1 validation error for OpenAICallResponse
call_kwargs.tools.0.tool_call
  Field required [type=missing, input_value={'function': {'name': 'se...'}}, 'type': 'function'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/missing

Although, the error response is not particularly clear due to cutting the name of the missing param, I did figure out that it's the name of the search function I'm using, search_the_web.
ALSO: It seems to me that in section Creating the first call, on the first line of the code block, it should be openai and not anthropic.

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file password: changeme In the installer menu, select "gcc."

the hell is this?

ayer me vi de cara con es detalle, pudiéndolo resolver en modo streaming (stream = True )

It seems that what's missing is the original tool_call field of the tool. I'm not sure 100% what's going on here, it would be great if you could print the full original response (i.e. response.response) and share that here so we can have a better sense of what's happening.

what is tool_call? The guide doesn't mention this param. I can see it in the API reference, but it's not clear how to use it.

@willbakst I tried adding tenacity as per your recommendation. Didn't seem to help
Previous Errors: [1 validation error for OpenAICallResponse
call_kwargs.tools.0.tool_call
  Field required [type=missing, input_value={'function': {'name': 'se...'}}, 'type': 'function'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/missing]
Previous Errors: [1 validation error for OpenAICallResponse
call_kwargs.tools.0.tool_call
  Field required [type=missing, input_value={'function': {'name': 'se...'}}, 'type': 'function'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/missing, 1 validation error for OpenAICallResponse
call_kwargs.tools.0.tool_call
  Field required [type=missing, input_value={'function': {'name': 'se...'}}, 'type': 'function'}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/missing]
RetryError[<Future at 0x170ed8dff50 state=finished raised ValidationError>]

I'm probably doing it wrong. This is my code:
    @retry(stop=stop_after_attempt(3), after=collect_errors(ValidationError))
    @openai.call(
        model="gpt-4o-mini",  ## TODO make sure this is the right model
        tools=[search_the_web_with_serper],
        call_params={"tool_choice": "required"}
        )
    @prompt_template(
        """
        {previous_errors}
        SYSTEM:
        You are a an expert at finding information on the web.
        Use the `search_the_web_with_serper` function to find information on the web.
        Rewrite the search_query as needed to better find information on the web.

        USER:
        {search_query}
        """
        )
    def search(search_query: str, *, errors: list[ValidationError] | None = None) -> openai.OpenAIDynamicConfig:
        previous_errors = None
        if errors:
            previous_errors = f"Previous Errors: {errors}"
            print(previous_errors)
        return {"computed_fields": {"previous_errors": previous_errors}}

    @openai.call(
            model="gpt-4o-mini",
            response_model=list[SearchResponse]
            )
    @prompt_template(
        """
        SYSTEM:
        Extract the search_query, results, and sources to answer the question based on the results.

        Results:
        {results}

        USER:
        {search_query}
        """
        )
    def extract(search_query: str, results: str):
        ...

    def run(search_query: str):
        print(f"Running with search query: {search_query}")
        response = search(search_query)
        print(response.response)
        if tool := response.tool:
            output = tool.call()
            result = extract(search_query, output)
            return result

    try:
        res = run("In what year was the Alexandria library destroyed?")
        print(res.response)
    except Exception as e:
        print(e)

search_the_web_with_seprer function takes 5 arguments, I'm still not sure where they should be mentioned.

@betterthanever2 if you use it as a streaming it would not give you error
 @openai.call(
        model="gpt-4o-mini",  ## TODO make sure this is the right model
        stream=True, ##here
        tools=[search_the_web_with_serper],
        call_params={"tool_choice": "required"}
        )
        ```

if you use it as a streaming it would not give you error

Well, I'm still getting an error, but a different one now:
'OpenAIStream' object has no attribute 'tool'

Can you share the function? They should just be mentioned as the arguments.

Here it is:
def search_the_web_with_serper(search_query: str, serper_api_key: str, jina_api_key: str, avoid_sources: list[str], top_n: int = 10):
    """
    User Serper to retrieve top_n results for a given search query.
    1. Perform the search using Serper
    2. Filter out the results that are in the avoid_sources list
    3. For others, fetch content using Jina
    """
    serper_url = "https://google.serper.dev/search"
    payload = json.dumps({
        "q": search_query,
        "location": "United States",
        "num": top_n
        })
    headers = {
        'X-API-KEY': serper_api_key,
        'Content-Type': 'application/json'}

    response = requests.request("POST", serper_url, headers=headers, data=payload)
    response_json = response.json()
    result = []
    for res in response_json.get("organic", []):
        if (any(source.lower().replace(" ", "_") in res.get("link").lower().replace("-", "_") for source in avoid_sources)) or \
            (any(source.lower() in res.get("title").lower() for source in avoid_sources)) or \
                (any(source.lower() in res.get("snippet").lower() for source in avoid_sources)):
            continue
        else:
            page_content = fetch_page_content_with_jina(res.get("link"), jina_api_key)
            if page_content:
                result.append({"url": res.get("link"), "content": page_content})
            else:
                print(f"Failed to fetch content for {res.get('link')}")
                continue
    return result

The OpenAIStream object only returns tools as part of the stream, which you can access by iterating through the stream to get the (chunk, tool) tuple. The stream object itself does not have a tool attribute, so if you call stream.tool that will fail.

Yeah, I eventually figured it out after @Elimeleth updated their recommendation. However, my internet connection is bad at the moment, so can't check, it keeps failing with connection error.

Ok, first things first, I've identified a bug with calling tools and am working on a fix.
Separately, even after the fix is released, your search_the_web_with_search function will need fixing.
The idea with tools is that you are giving the LLM a tool that it can request that you call. When making this request, the LLM will provide every argument needed to call the function.
In your case, you're asking the LLM to generate e.g. serper_api_key, which is going to be garbage, so my guess is that there is some uncaught failure here causing the downstream issue you're facing.
For things like API keys, my recommendation would be to set them in your environment and load them with os directly inside of the function rather than passing them in as arguments.
For other arguments that you may want to set more dynamically (including API keys and such if you desire), you can use BaseToolKit and dynamic tools to access those arguments as state of the toolkit through self. Here is an example:
from mirascope.core import BaseToolKit, openai, prompt_template, toolkit_tool

class BookTools(BaseToolKit):
    reading_level: str

    @toolkit_tool
    def format_book(self, title: str, author: str) -> str:
        """Returns a book's title and author nicely formatted."""
        print(self.reading_level)
        return f"{title} by {author}"

@openai.call("gpt-4o-mini", call_params={"tool_choice": "required"})
@prompt_template("Recommend a {genre} book")
def recommend_book(genre: str, reading_level: str) -> openai.OpenAIDynamicConfig:
    toolkit = BookTools(reading_level=reading_level)
    return {"tools": toolkit.create_tools()}

response = recommend_book("fantasy", "beginner")
print(response.response)
assert (tool := response.tool) is not None
print(tool.call())

For things like API keys, my recommendation would be to set them in your environment and load them with os directly inside of the function rather than passing them in as arguments.

Oh, I've seen such statements in the docs. Now I see there is a reason why it's done like that.
The tool function in this example returns a string, and I've seen somewhere in the docs that tools must return strings... Would the following implementation work?
class SearchTools(BaseToolKit):
    @toolkit_tool
    def search_the_web_with_serper(search_query: str, top_n: int = 10):
        """
        User Serper to retrieve top_n results for a given search query.
        1. Perform the search using Serper
        2. Filter out the results that are in the avoid_sources list
        3. For others, fetch content using Jina  ## NOTE as of moment writing this, Serper has recently launched method for fetching content of a page, but it is in beta, and doesn't fetch everything
        """
        serper_api_key = os.getenv("SERPER_API_KEY")
        jina_api_key = os.getenv("JINA_API_KEY")
        avoid_sources = ["source.com", "anothersource.xyz"]

        serper_url = "https://google.serper.dev/search"

        payload = json.dumps({
            "q": search_query,
            "location": "United States",
            "num": top_n
            })
        headers = {
            'X-API-KEY': serper_api_key,
            'Content-Type': 'application/json'}

        response = requests.request("POST", serper_url, headers=headers, data=payload)
        response_json = response.json()
        result = []
        for res in response_json.get("organic", []):
            if (any(source.lower().replace(" ", "_") in res.get("link").lower().replace("-", "_") for source in avoid_sources)) or \
                (any(source.lower() in res.get("title").lower() for source in avoid_sources)) or \
                    (any(source.lower() in res.get("snippet").lower() for source in avoid_sources)):
                continue
            else:
                page_content = fetch_page_content_with_jina(res.get("link"), jina_api_key)
                if page_content:
                    result.append({"url": res.get("link"), "content": page_content})
                else:
                    print(f"Failed to fetch content for {res.get('link')}")
                    continue
        return result

Ok the fix for this has been released in v1.1.1
I'll mark this issue as closed, but feel free to reopen it if you're still running into issues.

Sorry I didn't notice your response, so reopening and removing bug label.

Would the following implementation work?

For your implementation, you don't need to use BaseToolKit since you aren't using self anywhere. The point of BaseToolKit is to give the toolkit tools access to the state of the toolkit.

The tool function in this example returns a string, and I've seen somewhere in the docs that tools must return strings...

Technically the tool does not have to return a string if you're just calling the tool. The reason we mention returning a string is for reinserting the tool call back into the history (where the message needs the tool output to be a string).
In your case you're just passing the results to another call where the input to your extraction call can be whatever you'd like (so long as the __str__ method works on it, as we'll call str(var) when formatting the prompt template)

@willbakst
Ok, how about this:
class SearchTools(BaseToolKit):
    search_query: str
    top_n: int = 10
    serper_api_key: str = os.getenv("SERPER_API_KEY")
    jina_api_key: str = os.getenv("JINA_API_KEY")

    @toolkit_tool
    def search_the_web_with_serper(self):
        """
        User Serper to retrieve top_n results for a given search query.
        1. Perform the search using Serper
        2. Filter out the results that are in the avoid_sources list
        3. For others, fetch content using Jina  ## NOTE as of moment writing this, Serper has recently launched method for fetching content of a page, but it is in beta, and doesn't fetch everything
        """
        avoid_sources = ["wikipedia"]

        serper_url = "https://google.serper.dev/search"

        payload = json.dumps({
            "q": self.search_query,
            "location": "United States",
            "num": self.top_n
            })
        headers = {
            'X-API-KEY': self.serper_api_key,
            'Content-Type': 'application/json'}

        response = requests.request("POST", serper_url, headers=headers, data=payload)
        response_json = response.json()
        result = []
        for res in response_json.get("organic", []):
            if (any(source.lower().replace(" ", "_") in res.get("link").lower().replace("-", "_") for source in avoid_sources)) or \
                (any(source.lower() in res.get("title").lower() for source in avoid_sources)) or \
                    (any(source.lower() in res.get("snippet").lower() for source in avoid_sources)):
                continue
            else:
                page_content = fetch_page_content_with_jina(res.get("link"), self.jina_api_key)
                if page_content:
                    result.append({"url": res.get("link"), "content": page_content})
                else:
                    print(f"Failed to fetch content for {res.get('link')}")
                    continue
        return result

And then
@retry(stop=stop_after_attempt(3), after=collect_errors(ValidationError))
    @openai.call(
        model="gpt-4o-mini",  ## TODO make sure this is the right model
        stream=True,
        call_params={"tool_choice": "required"})
    @prompt_template(
        """

        SYSTEM:
        You are a an expert at finding information on the web.
        Use the `search_the_web_with_serper` function to find information on the web.
        Rewrite the search_query as needed to better find information on the web.
        Take into account previous errors, if any: {previous_errors}

        USER:
        {search_query}
        """
        )
    def search(search_query: str, *, errors: list[ValidationError] | None = None) -> openai.OpenAIDynamicConfig:
        toolkit = SearchTools(search_query=search_query, top_n=15)
        previous_errors = None
        if errors:
            previous_errors = f"Previous Errors: {errors}"
            print(previous_errors)
        return {"computed_fields": {"previous_errors": previous_errors}, "tools": toolkit.create_tools()}

@betterthanever2 this is closer but may not actually be what you want.
By putting search_query as state of the toolkit and setting it based on the user's actual query, you're removing the LLM's ability to potentially update the search query to something better. If you include search_query as an argument of the tool then the LLM can provide it, and tool.call() will use the search_query provided by the LLM. This may be 1:1 with the user's query, but it may also be updated.
An explicit example would be if you include the current date and time in the system prompt and then the user asks "recent LLM-related news" where the LLM may decide to update the search query to "news about large language models august 29th"
If you always want a 1:1 mapping, then the way you have it is totally fine.

@betterthanever2 this is closer but may not actually be what you want.
By putting search_query as state of the toolkit and setting it based on the user's actual query, you're removing the LLM's ability to potentially update the search query to something better. If you include search_query as an argument of the tool then the LLM can provide it, and tool.call() will use the search_query provided by the LLM. This may be 1:1 with the user's query, but it may also be updated.
An explicit example would be if you include the current date and time in the system prompt and then the user asks "recent LLM-related news" where the LLM may decide to update the search query to "news about large language models august 29th"
If you always want a 1:1 mapping, then the way you have it is totally fine.

Thank you. This makes sense.

@betterthanever2 unfortunately OpenAI can't handle dict types when using tools, so you'll need to set json_mode=True.
You can find the full list of identified support for tools and JSON mode across all providers here

unfortunately...

Hmm, indicating json_mode=True gave me pretty much what I wanted. Nothing unfortunate about that :) Is the difference that for other models you don't need to set the json mode?
Anyway, thank you so much for your kind explanations! I really like the library so far.

Is the difference that for other models you don't need to set the json mode?

yeah, some models support dict type arguments when using tools. For response_model this isn't too big of a deal since you can set json_mode=True, but when you want to use tools for tools it matters

Anyway, thank you so much for your kind explanations! I really like the library so far.

Always happy to help! So glad you're liking the library so far :)


how i can disable popup in cellphone or small devices?

Hi, first i have to say , awesome calendar.
and...
anyone know how i can disable popup in cellphone or small devices and enabled in normal  displays?
thanks

Well i found the answer here:
http://stackoverflow.com/questions/18575582/how-to-detect-responsive-breakpoints-of-twitter-bootstrap-3-using-javascript
if it helps someone else, here is how I did it:
PHP:
// before

javascript:
function isBreakpoint( alias ) {
    return $('.device-' + alias).is(':visible');
}
      if (isBreakpoint('xs')) {
       calendar.setOptions({modal: null});
      }
     if (isBreakpoint('sm') || isBreakpoint('md') || isBreakpoint('lg')) {
     calendar.setOptions({modal: "#events-modal", modal_title : function (e) { return e.title }});
     }

:+1:


Replace broken e2e test with unit test

Description
E2E test was failing on fresh build.  Switched to a unit test, so as not to ignore the functionality, but also not to encourage ignoring broken tests.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

How Has This Been Tested?
Verified that behavior being tested actually worked, npm run test
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Because it has been noted that this is not happening on Windows and only on the fruit company computer, I'm closing this.


feat: handle ingress resources with multiple hosts

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


nomad: 1.1.8 -> 1.2.3

Motivation for this change
update to most recent nomad version 1.2.3
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

nixpkgs-review happy, macos 10.15, nixos x86_64 & aarch64. nixosTests.nomad passes, x86_64.


Warning: Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code.

Do you want to request a feature or report a bug?
What is the current behavior?

Which versions of React and react-helmet, and which browser / OS are affected by this issue?
Did this work in previous versions of React and/or react-helmet?
 "react": "^16.11.0",
 "react-dom": "^16.11.0",
 "react-helmet": "^6.1.0",

Please check this solution https://stackoverflow.com/questions/62202890/how-can-i-fix-using-unsafe-componentwillmount-in-strict-mode-is-not-recommended

Duplicate, original issue here: https://github.com/nfl/react-helmet/issues/548

There is no solution other than react helmet async.

There is no solution other than react helmet async.

react-helmet-async package works well.

I don't get why the issue in this repository (react-helmet) should be avoided by ditching this (react-helmet) entirely and switch to another library  (react-helmet-async with different owner of the repo)
Can't the issue be fixed in this repository with an update? Should we all just stop using react-helmet? I mean if another package made it work (react-helmet-async), why can't also this (react-helmet) change to React's standard recommendations?

What in the world?

Is this library maintained anymore? Last publish was 3 years ago.
I think the least the maintainer/former maintainer could do is update the README and redirect the new users to a suitable alternative.


Race when delete bundle.

$ ctr run -id busybox-2 -t docker.io/library/busybox:latest
/ # exit
$ ctr run -id busybox-2 -t docker.io/library/busybox:latest
/ # exit
ctr: rpc error: code = 2 desc = remove /run/containerd/linux/busybox-2/rootfs: device or resource busy

When Delete a container, it quite frequently fails to delete the bundle with error device or resource busy.
https://github.com/containerd/containerd/blob/master/linux/runtime.go#L140-L144
I'm using naive snapshot plugin. This is very easy to reproduce in my environment, not sure about others.

I have a similar issue.
Frequently create and exit containers, sometimes the "ctr run"  hangs with error printing ERRO[0000] console resize                                error="rpc error: code = 2 desc = bad file descriptor, as follow:
# ctr run --id mytest -t docker.io/library/busybox:latest
/ # exit
# ctr run --id mytest -t docker.io/library/busybox:latest
/ # exit
# ctr run --id mytest -t docker.io/library/busybox:latest
ERRO[0000] console resize                                error="rpc error: code = 2 desc = bad file descriptor"
******block here******

# ps -ef |grep mytest
root     10762  7602  0 11:27 pts/1    00:00:00 ctr run --id mytest -t docker.io/library/busybox:latest
root     10803 10770  0 11:27 pts/5    00:00:00 runc --log /run/containerd/linux/mytest/log.json --log-format json start mytest
root     10812 10499  0 11:27 pts/10   00:00:00 grep --color=auto mytest

The status is STOPPED
# ctr ls
ID       PID       STATUS
mytest   10787     STOPPED

@Random-Liu you are using the shim right?

Also how did you run with naive? Are you on OSX or something?  Running on linux?

@crosbymichael Yeah, I'm using the shim. And running on linux:
$ uname -a
Linux XXXX 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
I'm testing on my own desktop, which doesn't have overlay working. So I use the naive plugin.

@miaoyq are you using naive also?

@Random-Liu outside of the naive issue that I'm looking into, how do you not have overlay working on a 4.4 ubuntu kernel? Without having devmapper in containerd, naive is basically the worst option you can pick, its not even compiled into containerd on linux and is no where close to anything that can or should be used in a production/dev setup.

@Random-Liu outside of the naive issue that I'm looking into, how do you not have overlay working on a 4.4 ubuntu kernel? Without having devmapper in containerd, naive is basically the worst option you can pick, its not even compiled into containerd on linux and is no where close to anything that can or should be used in a production/dev setup.

It's a google internal distribution, containerd with overlay doesn't work. We won't use naive in the production environment, this is only for my own trial.
Post the issue here because this may be a potential bug.

@crosbymichael  Yeah, I'm running containerd like this:
containerd --log-level debug

Running on linux also:
Linux ubuntu 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

@crosbymichael It's weird that I could not reproduce this anymore... Even with the version I was using...
@miaoyq Do you still have this issue?

@Random-Liu  Yes, I still can reproduce this issue with the version #819

@miaoyq your error message is totally different and is a separate issue that has to do with IO, not with an EBUSY on the filesystem.

@crosbymichael  Indeed, I will create a new issue for it.

Close this issue based on:

https://github.com/containerd/containerd/issues/802#issuecomment-300345505
https://github.com/containerd/containerd/issues/802#issuecomment-300651928


"Create variable" button click is only on the button text, not the button rect

Expected Behavior
Clicking anywhere on the "create variable" button makes the modal appear.
Actual Behavior
Only clicking on the text makes the modal appear.
Steps to Reproduce
Open the vertical playground
Go to the "Data" category
Click on the background of the "create variable" button
Operating System and Browser
Ubuntu, Chrome

Can't repro on MacOS, Chrome (latest) but we should try to repro on Ubuntu.

There is some funky behavior on that button. Sometimes clicking the whole button works, but sometimes it doesn't. Here is a gif of what I saw. Note that cursor style correlates directly with clickability, so any time you see the hand it was possible to click.

@paulkaplan that matches what I was seeing.  It seems like once you hit the text it becomes clickable, and then stays clickable to the edge of the button, but I'm not sure.
I quickly checked the Blockly playground and couldn't repro, but that button is styled pretty differently.

@paulkaplan I'm seeing this behavior as well.

We fixed this issue internally (at least for Android) by adding a transparent background to the flyout label attributes in the call to create the background rectangle in Blockly.FlyoutButton.prototype.createDom.

@rachel-fenichel I can hover over the text and then click anywhere in the box, but it seems like the event listener is only attached to the text with a mouseover event with a mouseout on the rectangle.


Can't pass 2FA with application specific password

I already create and add application specific password to this step. But I get error.
Full log here https://app.bitrise.io/build/1897b6874b55e2e4#?tab=log
Connected Apple Developer Portal Account found, exposing FASTLANE_SESSION env var
Session exported
Setup
fastlane version defined: latest-stable, installing...
$ gem "install" "fastlane" "--no-document"
$ rbenv "rehash"
$ fastlane "-v"
fastlane installation at path:
/Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/bin/fastlane
-----------------------------
fastlane 2.152.0
#######################################################################
# fastlane 2.162.0 is available.
# You should use the latest version.
# Please update using `sudo gem install fastlane`.
#######################################################################
Setup took 273.556763 seconds to complete

Deploy
**Note:** if your password
contains special characters
and you experience problems, please
consider changing your password
to something with only
alphanumeric characters.
**Be advised**
that this step uses a well maintained, open source tool which
uses *undocumented and unsupported APIs* (because the current
iTunes Connect platform does not have a documented and supported API)
to perform the deployment.
This means that when the API changes
**this step might fail until the tool is updated**.
$ fastlane "deliver" "--username" "[REDACTED]" "--app_identifier" "[REDACTED]" "--team_id" "[REDACTED]" "--ipa" "/var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/ipaOrPkg241275254/tmp.ipa" "--skip_screenshots" "--skip_metadata" "--force" "--platform" "ios"
[13:53:29]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[13:53:32]: Sending anonymous analytics information
[13:53:32]: Learn more at https://docs.fastlane.tools/#metrics
[13:53:32]: No personal or sensitive data is sent.
[13:53:32]: You can disable this by adding `opt_out_usage` at the top of your Fastfile
[13:53:32]: Login to App Store Connect ([REDACTED])
Two-factor Authentication (6 digits code) is enabled for account '[REDACTED]'
More information about Two-factor Authentication: https://support.apple.com/en-us/HT204915
If you're running this in a non-interactive session (e.g. server or CI)
check out https://github.com/fastlane/fastlane/tree/master/spaceship#2-step-verification
(Input `sms` to escape this prompt and select a trusted phone number to send the code as a text message)
(You can also set the environment variable `SPACESHIP_2FA_SMS_DEFAULT_PHONE_NUMBER` to automate this)
(Read more at: https://github.com/fastlane/fastlane/blob/master/spaceship/docs/Authentication.md#auto-select-sms-via-spaceship_2fa_sms_default_phone_number)
Please enter the 6 digit code:

Looking for related GitHub issues on fastlane/fastlane...
➡  [Swift] undefined method `each' for nil:NilClass - Cannot Create Group Within FastlaneSwiftRunner Project
    https://github.com/fastlane/fastlane/issues/15184 [open] 41 💬
    a week ago
➡  [!] undefined method `[]' for #<Gem::NameTuple fastlane, 2.143.0, ruby> (NoMethodError)
    https://github.com/fastlane/fastlane/issues/16127 [open] 29 💬
    17 hours ago
➡  undefined method `login' for Spaceship::Tunes:Module
    https://github.com/fastlane/fastlane/issues/15495 [closed] 7 💬
    13 Feb 2020
and 8 more at: https://github.com/fastlane/fastlane/search?q=undefined%20method%20%60strip%27%20for%20nil%0ADid%20you%20mean%3F%20%20String&type=Issues&utf8=✓
🔗  You can ⌘ + double-click on links to open them directly in your browser.
#######################################################################
# fastlane 2.162.0 is available.
# You should use the latest version.
# Please update using `sudo gem install fastlane`.
#######################################################################
/Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline/question.rb:413:in `remove_whitespace': [!] undefined method `strip' for nil:NilClass (NoMethodError)
Did you mean?  String
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline.rb:873:in `get_line'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline.rb:891:in `get_response'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline.rb:264:in `ask'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `ask'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/two_step_or_factor_client.rb:225:in `ask_for_2fa_code'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/two_step_or_factor_client.rb:159:in `handle_two_factor'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/two_step_or_factor_client.rb:20:in `handle_two_step_or_factor'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:495:in `send_shared_login_request'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/tunes/tunes_client.rb:127:in `send_login_request'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:777:in `do_login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:385:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:347:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/tunes/spaceship.rb:24:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/runner.rb:30:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/runner.rb:22:in `initialize'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:80:in `new'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:80:in `block (2 levels) in run'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:183:in `run'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:17:in `start'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/fastlane/lib/fastlane/cli_tools_distributor.rb:111:in `take_off'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/bin/fastlane:23:in `<top (required)>'
	from /Users/vagrant/.rbenv/versions/2.6.3/bin/fastlane:23:in `load'
	from /Users/vagrant/.rbenv/versions/2.6.3/bin/fastlane:23:in `<main>'
/Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline/question.rb:413:in `remove_whitespace': undefined method `strip' for nil:NilClass (NoMethodError)
Did you mean?  String
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline.rb:873:in `get_line'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline.rb:891:in `get_response'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/highline-1.7.10/lib/highline.rb:264:in `ask'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `ask'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/two_step_or_factor_client.rb:225:in `ask_for_2fa_code'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/two_step_or_factor_client.rb:159:in `handle_two_factor'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/two_step_or_factor_client.rb:20:in `handle_two_step_or_factor'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:495:in `send_shared_login_request'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/tunes/tunes_client.rb:127:in `send_login_request'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:777:in `do_login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:385:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/client.rb:347:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/spaceship/lib/spaceship/tunes/spaceship.rb:24:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/runner.rb:30:in `login'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/runner.rb:22:in `initialize'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:80:in `new'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:80:in `block (2 levels) in run'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:183:in `run'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/deliver/lib/deliver/commands_generator.rb:17:in `start'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/fastlane/lib/fastlane/cli_tools_distributor.rb:111:in `take_off'
	from /Users/vagrant/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/fastlane-2.152.0/bin/fastlane:23:in `<top (required)>'
	from /Users/vagrant/.rbenv/versions/2.6.3/bin/fastlane:23:in `load'
	from /Users/vagrant/.rbenv/versions/2.6.3/bin/fastlane:23:in `<main>'
If you have issues, use the latest prerelease version of fastlane.
Set the fastlane version input to "latest" to enable prerelease versions.
Deploy failed, error: exit status 1

Hi @rovkinmax! Can you enable Support User access for us in the Settings of the app?

Hi @bitce! Done!

Thanks! Strangely, the URL the build leads to be appears to fail on this step, but with an entirely different output:
Failed to ensure Fastlane version, error: gem install command failed, output: ERROR:  While executing gem ... (Gem::DependencyResolutionError)
    conflicting dependencies faraday (~> 0.12) and faraday (~> 1.0)
  Activated faraday-1.0.0
  which does not match conflicting dependency (~> 0.12)
  Conflicting dependency chains:
    fastlane (= 2.162.0), 2.162.0 activated, depends on
    faraday (~> 1.0), 1.0.0 activated
  versus:
    fastlane (= 2.162.0), 2.162.0 activated, depends on
    google-api-client (>= 0.37.0, < 0.39.0), 0.37.0 activated, depends on
    googleauth (~> 0.9), 0.9.0 activated, depends on
    faraday (~> 0.12)
  Gems matching faraday (~> 0.12):
    faraday-0.17.1, faraday-0.15.4, error: exit status 1

This error above, I think could be fixed by running sudo gem update in a Script step before this one.

@bitce Sorry, you can see other build https://app.bitrise.io/build/244af220befc2a36#?tab=log
I tried set manually fastlane version in build at the topick

Hey @rovkinmax! Sorry you're having issues.
Please go in to your "Deploy to iTunes Connect" step. Under "Debug Options" you'll see a field for "fastlane version". Change that value from latest-stable to latest.

I have the same issue.. I was using fastlane directly with Bitrise for managing all my steps and it was breaking.. I decided to switch to Bitrise Steps instead and it seems that now is also failing on this deployment step...
Could you please help with this issue? I cannot release to AppStore at all because of this. Thanks

@mjones-droid latest instead latest-stable not helps
https://app.bitrise.io/build/d53b193dc115cefe#?tab=log

I think also this issue is related to this.. https://discuss.bitrise.io/t/bitrise-repeatedly-asking-2factor-authentication-on-fastlane-actions/13992/7
It is a Fastlane issue for sure..

I think @victormihaita may be correct. @rovkinmax, please try the suggested workaround.
We do have the "Deploy to iTunes Connect - Application Loader" step, but it only uploads the binary file. It doesn't do any of the other updates (such as version notes).

@mjones-droid can you have a look at this? https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option
I think this is the solution for the issue

I got this answer from Fastlane team: https://github.com/fastlane/fastlane/issues/17415#issuecomment-707328584

I'm experiencing the same issue. Are there any updates yet?

Just created a new account and gave them the App Manager and Developer role for my app. This account has no 2FA enabled. Building the app on bitrise now with this account set up in the Deploy to iTunes Connect step. Let's see. Although, should work.

I know this might seem obvious so I almost hate to ask it, but I want to make sure the bases are covered.
Did you connect your iTunes Connect account to Bitrise? If so, did you use the API connection or the session based auth?

I have the same issue. Did anyone manage to make it work? I cannot upload to Testflight, although the build passes without the upload-to-testflight workflow action.

you need to set an api_key:
api_key = app_store_connect_api_key(     key_id: "xxxxx",     issuer_id: "xxxxx"     key_filepath: "./fastlane/AuthKey_xxx.p8" )
and then you can use that key like this:
upload_to_testflight(api_key: api_key)
more info here: Fastlane-app_store_connect_api_key

It's a pitty that 2FA is still an issue! I'm pretty sure that all it takes is a minor change in the existing bitrise step. It was requested in #37 in January 2018 for the first time but got closed without any solution. And there even is an pull request for it in #77 since December 2019 but nobody seems to care?
For me this works perfectly - but it can't be triggered by this bitrise step:
$ export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD="my-app-specific-password"
$ fastlane "deliver" "--username" "myusername" "--app_identifier" "org.example.myapp" "--team_name" "My Team" "--ipa" "/Users/mickey/Desktop/tmp.ipa" "--skip_screenshots" "--skip_metadata" "--skip_app_version_update" "--force" "--platform" "ios"

Of course supporting the new App Store Connect API method that got added to fastlane recently would be very well appreciated but for now the simple change of making password a non-mandatory field would ease all the pain.
Btw, Apple has just announced that they will require 2FA for all users by february 2021 or so and this issue will affect even more bitrise users by then.

Hi @rovkinmax , @victormihaita and @zdurlan could you please try the latest version of the step with fastlane version input = latest-stable and share the build URL, if it fails?
In the latest version (2.18.1) we improved the logging around Apple developer connection and added validation for the connection (proper connection, connected account, and app store apple id sync, expiry).

@knox you can use the Deploy to iTunes Connect - Application Loader step if you only need to upload a new version of your IPA (password is optional).
The benefit of using this (Fastlane deliver) based step is the metadata and screenshot upload, for that username + password + FASTLANE_SESSION (+application-specific password for binary upload) is needed in the case of TFA enabled accounts.
https://docs.fastlane.tools/best-practices/continuous-integration/#application-specific-passwords:
Note: The application-specific password will not work if your action usage does anything else than uploading the binary,
e.g. updating any metadata like setting release notes or distributing to testers, etc.

Hi @rovkinmax , @victormihaita and @zdurlan could you please try the latest version of the step with fastlane version input = latest-stable and share the build URL, if it fails?
In the latest version (2.18.1) we improved the logging around Apple developer connection and added validation for the connection (proper connection, connected account, and app store apple id sync, expiry).

@knox you can use the Deploy to iTunes Connect - Application Loader step if you only need to upload a new version of your IPA (password is optional).
The benefit of using this (Fastlane deliver) based step is the metadata and screenshot upload, for that username + password + FASTLANE_SESSION (+application-specific password for binary upload) is needed in the case of TFA enabled accounts.
https://docs.fastlane.tools/best-practices/continuous-integration/#application-specific-passwords:
Note: The application-specific password will not work if your action usage does anything else than uploading the binary,
e.g. updating any metadata like setting release notes or distributing to testers, etc.

@godrei i know the benefit of Deliver over Application Loader and that's why i'd prefer to use it.

for that username + password + FASTLANE_SESSION (+application-specific password for binary upload) is needed

I think there is a missunderstanding of application specific passwords. They where ment to be a substition for password + 2nd factor so one does not need to provide the actual password. But the configuration of this build step requires to provide both. I believe that this is wrong. And the worst thing is that even if both are configured the step still fails when 2FA is activated for the account given. 🤷
I once tried to fix the configuration and use of application specific password as you can see here but i did not finish it because application specific passwords are superseeded by API keys for quite a while.
For a proper solution supporting 2FA this step should be updated to support API keys just as the mentioned Application Loader step already does. Thanks.

@godrei i know the benefit of Deliver over Application Loader and that's why i'd prefer to use it.

for that username + password + FASTLANE_SESSION (+application-specific password for binary upload) is needed

I think there is a missunderstanding of application specific passwords. They where ment to be a substition for password + 2nd factor so one does not need to provide the actual password. But the configuration of this build step requires to provide both. I believe that this is wrong. And the worst thing is that even if both are configured the step still fails when 2FA is activated for the account given. 🤷
I once tried to fix the configuration and use of application specific password as you can see here but i did not finish it because application specific passwords are superseeded by API keys for quite a while.
For a proper solution supporting 2FA this step should be updated to support API keys just as the mentioned Application Loader step already does. Thanks.

With #88 we now can forget about application specific passwords now and move on to use App Store Connect API Keys instead.

With #88 we now can forget about application specific passwords now and move on to use App Store Connect API Keys instead.

I'll close this issue, but if you need more info/help just open a new issue!

I'll close this issue, but if you need more info/help just open a new issue!


Local video track is not published on Chrome 74

I use livekit docker method to build my own service, and use javascript sdk to implement audio and video chatting between cell phones, most of the devices have no problem, only some of the phones have problems, the local video of these phones and the other phone video display are not a problem. But the other phone, which is communicating with him, can't receive the video screen, just like the local video screen of the phones with the problem can't be sent out, what could be the problem? What can I try?  There is no error message in the browser console, but the server found the following error message.
2023-05-08T02:40:38.347Z ERROR livekit supervisor/participant_supervisor.go:142 supervisor error on publication {"room": "room1683513603197 ", "roomID": "RM_CgXzUTbuajSw", "participant": "6119B8ABE206421A8DC78ECDCB40B79B", "pID": "PA_hA2bPhWGvMy8", "remote": false, "trackID": "TR _VCGULpvGnbBnGU", "error": "publish time out"}
github.com/livekit/livekit-server/pkg/rtc/supervisor.(*ParticipantSupervisor).checkPublications
        /workspace/pkg/rtc/supervisor/participant_supervisor.go:142
github.com/livekit/livekit-server/pkg/rtc/supervisor.(*ParticipantSupervisor).checkState
        /workspace/pkg/rtc/supervisor/participant_supervisor.go:131

Javascript SDK version : 1.7.1
Livkit Server version : 1.3.4
Chrome version 74.0.3729.186 is causing this problem, can it be solved if I don't upgrade my browser?

Chrome 74 is over 4 years old.
I suspect the issue might be browser bugs with codec. What happens when you force publishing codec to be vp8?


Gitea binary size

gitea-1.23.0-rc0-linux-amd64 152 MB
gitea-1.22.6-linux-amd64 137 MB
gitea-1.21.10-linux-amd64 132 MB
gitea-1.20.4-linux-amd64 128 MB

go-size-analyzer report: https://gist.github.com/wxiaoguang/3cf40614fd7f0a3ee0cc88bc82aa97e9
The major size increment for 1.23 comes from aws sdk and ClickHouse/ch-go. And it seems that the debug_info is not stripped?

So, what's your point?
I don't really see anything large in your report that we can get rid of?
Sure, we should avoid bloating the binary, but only when it makes sense.
Removing features simply because "the binary is too large" is a bad idea.
Stopping development is an equally bad idea.
Am I missing any other option on this tradeoff without an optimal solution?

So, what's your point?

Still analyzing, updated the issue description. I do not mean "stop", but I think it's good for people to know the details.
Something in my mind at the moment:

Gitea binary is executed on every git push, so I do not think we should make bloating too fast
When introducing a dependency, maybe we could spend more time on analyzing it
Whether the build could be optimized (has the debug info been stripped?)
Pay more attentions to each release.

One more thing: it doesn't seem right to have github.com/ClickHouse/ch-go in the build. Need to figure out what's wrong.
# github.com/ClickHouse/ch-go
code.gitea.io/gitea/models/unittest
github.com/go-testfixtures/testfixtures/v3
github.com/ClickHouse/clickhouse-go/v2
github.com/ClickHouse/ch-go/compress

And one more thing, maybe we should use github.com/goccy/go-json to replace github.com/json-iterator/go , it doesn't make sense to use 2 json package here.

V1.22.4 is 90meg on alpine and v1.22.6 is 101meg on Gentoo so there is something in build options outside of actual build dependencies

And one more thing, maybe we should use github.com/goccy/go-json to replace github.com/json-iterator/go , it doesn't make sense to use 2 json package here.
But xorm still hard depends on github.com/json-iterator/go (which is unmaintained for 2 years)

I will take a look at xorm side.

The major size increment for 1.23 comes from aws sdk and ClickHouse/ch-go.

To remove unnecessary dependency:  Refactor fixture loading for testing #33024

github.com/json-iterator/go

There are two build flags of xorm which are gojson and jsoniter to support github.com/goccy/go-json and github.com/json-iterator/go. By default, xorm use standard json library without any build tag.

And it seems that the debug_info is not stripped?

@techknowlogick ->  Release build misses -s -w flag #33030

Now https://dl.gitea.com/gitea/main-nightly/gitea-main-nightly-linux-amd64: 109.8 MiB
Much smaller than https://dl.gitea.com/gitea/1.23.0-rc0/
"Remove aws go sdk package dependency #33029" might still save about 1MB more.

Now:  nightly size is 106.8 MiB
Save bandwidth, save energy,  save the Earth


Sporadic unclobber error

During the RoboStack rebuild, I sometimes get this error:
Error:
  × Failed to resolve dependencies: failed to unclobber clobbered files
  ├─▶ failed to unclobber clobbered files
  ├─▶ failed to rename include/X11/Xlib.h__clobber-from-xorg-libx11 to include/X11/Xlib.h
  ╰─▶ failed to rename file from /Users/fischert/robot/ros-humble/output/bld/rattler-build_ros-humble-apriltag-ros_1735244939/
      host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/X11/
      Xlib.h__clobber-from-xorg-libx11 to /Users/fischert/robot/ros-humble/output/bld/rattler-build_ros-humble-apriltag-ros_1735244939/
      host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_pla/include/X11/Xlib.h:
      No such file or directory (os error 2)

A restart of the build typically fixes it. Not sure if something can be done about it?

This is on macOS?

With the latest version of rattler-build?

Actually, I take it back - you guys are too fast, I'm on 0.33.0 and will update now to see if it still happens

Happened again just now with rattler-build 0.33.1:
Error:
  × Failed to resolve dependencies: failed to unclobber clobbered files
  ├─▶ failed to unclobber clobbered files
  ├─▶ failed to rename include/X11/Xutil.h__clobber-from-xorg-libx11 to include/X11/Xutil.h
  ╰─▶ failed to rename file from /Users/fischert/robot/ros-jazzy/output/bld/rattler-build_ros-jazzy-rqt-gui-cpp_1735278506/
      host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/X11/
      Xutil.h__clobber-from-xorg-libx11 to /Users/fischert/robot/ros-jazzy/output/bld/rattler-build_ros-jazzy-rqt-gui-cpp_1735278506/
      host_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeh/include/X11/
      Xutil.h: No such file or directory (os error 2)


Cleanup error handling in Swagger renderer

Depends on https://github.com/RackHD/on-core/pull/112

*** BUILD #885 ***
Test Name: Services.Http.Swagger renderer() should throw 500 on render error
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9406
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9406
    at spec/lib/services/swagger-api-service-spec.js:510:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Services.Http.Swagger renderer() should throw 500 on invalid template
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9406
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9406
    at spec/lib/services/swagger-api-service-spec.js:522:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

*** BUILD #886 ***
Test Name: Services.Http.Swagger renderer() should throw 500 on render error
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9406
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9406
    at spec/lib/services/swagger-api-service-spec.js:510:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Services.Http.Swagger renderer() should throw 500 on invalid template
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9406
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9406
    at spec/lib/services/swagger-api-service-spec.js:522:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

*** BUILD #888 ***
Test Name: Services.Http.Swagger renderer() should throw 500 on invalid template
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: Cannot read property 'contents' of undefined) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9406
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: Cannot read property 'contents' of undefined) at lib/services/swagger-api-service.js:9:9406
    at spec/lib/services/swagger-api-service-spec.js:509:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Services.Http.Swagger renderer() should throw 500 on render error
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9406
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9406
    at spec/lib/services/swagger-api-service-spec.js:521:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

*** BUILD #893 ***
Test Name: Services.Http.Swagger renderer() should throw 500 on invalid template
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9575
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9575
    at spec/lib/services/swagger-api-service-spec.js:509:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Services.Http.Swagger renderer() should throw 500 on render error
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9575
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9575
    at spec/lib/services/swagger-api-service-spec.js:521:40
    at b (domain.js:183:18)
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

*** BUILD #895 ***
Test Name: Services.Http.Swagger renderer() should throw 500 on invalid template
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9575
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9575
    at spec/lib/services/swagger-api-service-spec.js:509:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Services.Http.Swagger renderer() should throw 500 on render error
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9575
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9575
    at spec/lib/services/swagger-api-service-spec.js:521:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Still :+1: with some minor suggestion.

test this please

*** BUILD #902 ***
Test Name: Services.Http.Swagger renderer() should throw 500 on invalid template
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9575
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9575
    at spec/lib/services/swagger-api-service-spec.js:509:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

Test Name: Services.Http.Swagger renderer() should throw 500 on render error
Error Details: expected stub to have been called with arguments matching { status: 500 }     stub(TypeError: undefined is not a function) at /home/jenkins/workspace/on-http/build/lib/services/swagger-api-service.js:9:9575
Stack Trace: AssertionError: expected stub to have been called with arguments matching { status: 500 }
    stub(TypeError: undefined is not a function) at lib/services/swagger-api-service.js:9:9575
    at spec/lib/services/swagger-api-service-spec.js:521:40
    at tryCatcher (node_modules/on-core/node_modules/bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (node_modules/on-core/node_modules/bluebird/js/main/promise.js:507:31)
    at Promise._settlePromiseAt (node_modules/on-core/node_modules/bluebird/js/main/promise.js:581:18)
    at Promise._settlePromises (node_modules/on-core/node_modules/bluebird/js/main/promise.js:697:14)
    at Async._drainQueue (node_modules/on-core/node_modules/bluebird/js/main/async.js:123:16)
    at Async._drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:133:10)
    at Async.drainQueues (node_modules/on-core/node_modules/bluebird/js/main/async.js:15:14)

https://github.com/RackHD/on-core/pull/112 is merged, so test this please


Cuda

Make package compatible with GPU computation.

This should be handled by package extensions probably. closed.


update.html

how to add a mail
Fixes or introduces:
Proposed Changes

okk.. i will .. you can follow me ! then i will also 😀😀
On Mon, Oct 8, 2018 at 9:38 PM Luke Oliff<EMAIL_ADDRESS>wrote:

@lukeoliff requested changes on this pull request.
Hey, can you update your PR using the example? Something like this is
better;
Name

![github-alt][github-img]

Thanks for contributing :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/my-first-pr/hacktoberfest-2018/pull/304#pullrequestreview-162542143,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AieWxKKp5YPZH-CNCyuZ7riyKQNr9EZhks5ui3iEgaJpZM4XMyDJ
.


Neural network automatic conversion tool

I see the great potential of candle and appreciate the effort of the authors. Is it possible to provide a conversion tool that can convert a PyTorch version of a network into a Candle version? If possible, that would bring tremendous convenience.

You can check our examples.
It' s not zero work, but it should be decently easy (we' ve done it quite a few times by now).
There's never going to be a drop-in autoconvert, simply because it's not possible (Python being python is by definition extremely versatile, where as rust is compiled and requires much more structure in the code itself. the typings for starts need to be fixed, which is not possible in transformers that changes return types based on inputs).
Also in our experience, when we're using candle it's for specific workloads for which we usually write the modeling code differently than transformers (is it CPU-only, GPU-only, flash/no-flash, is batching interesting ?).
Never any major differences, but things that can end up making a difference in production.


Remove jQuery

In the project, jQuery is used only for Ajax requests and for merging objects. There is no need to load this whole library for these operations.
There are popular libraries that can be used specifically for those purposes (reqwest and merge-anything).
This makes the process of updating a library easier because no Go code is needed to be changed, only the version of the packages in the package.json should be updated.
This pull request assumes that this commit is already merged.

Do you have some statistics about performance improvement after this update?

Do you have some statistics about performance improvement after this update?

If there is an improvement in performance, it should not be huge (I have not measure it). The improvement here is more related to maintainability and upgrading, if one wants to update the library, instead of updating the jQuery file, the ui/bindata.go file, and the ui/content.go file, one just needs to deal with the npm packages.

hi @elchininet thanks for making this change. Since it's been a while I couldn't merge your request so I recreated it in this pull request and merged it. I'll continue from where you stopped on removing merge-anything and create-react-class.

Thanks for the update @twizzyyanki,
As it has been a long time, I don‘t remember the order of the branches but I did a lot of improvements in my fork. If you dig a bit you can find some of them interesting.
Regards