Add support to respond error type using http:Caller

Description:
We supports resource functions to return error types which will be converted to an error response with the error message. Similarly, we will allow http:Caller to respond with error type.
service on new http:Listener(9090) {
    resource function get returnedError() returns error {
        return error("return new error");
    }

    resource function get respondedError(http:Caller caller) returns error? {
        check caller->respond(error("respond with new error"));
    }
}

Related Issues:
Part of Move security error reporting to a default error interceptor #2823

We also have a http:CallerInfo annotation which is used to specify the respond type of the caller->respond() method.
Since there is a limitation in specifying the typedesc as generic error (types of error is allowed), at the moment we only support respondType to be http:ResponseMessage|http:Error. So we are using the annotation and respond with the error, we can only use an error of type http:Error

We also have a http:CallerInfo annotation which is used to specify the respond type of the caller->respond() method. Since there is a limitation in specifying the typedesc as generic error (types of error is allowed), at the moment we only support respondType to be http:ResponseMessage|http:Error. So we are using the annotation and respond with the error, we can only use an error of type http:Error

Related lang bug https://github.com/ballerina-platform/ballerina-spec/issues/797


Closes #57: enable concurrency

Description
Enable a concurrency parameter to allow users to concurrently upload assets
Issue Ticket Number
Closes #57
Type of change

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

Checklist

[ ] I have followed the contributing guidelines of this project as mentioned in CONTRIBUTING.md
[ ] I have created an issue ticket for this PR
[ ] I have checked to ensure there aren't other open Pull Requests for the same update/change?
[ ] I have performed a self-review of my own code
[x] I have run tests locally to ensure they all pass
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes needed to the documentation

i updated the project from Jest to Vitest and merged it into this. the problem isn't only Jest, it's that the plugin isnt currently set up as an ESM package. i installed the 3.x version which works
had to make a few other tweaks but got this working


bazel build; encountered error while reading extension file 'swift/repositories.bzl': no such package '@build_bazel_rules_swift//swif

System information

OS Platform and Distribution: Ubuntu 18.04
TensorFlow installed from: source
TensorFlow version: 1.14.0
Python version:3.7.7
Installed using virtualenv? pip? conda?: conda
Bazel version: 0.24.1
trying to build tensorflow cpu not gpu

I followed the intructions and based my versions found here: https://www.tensorflow.org/install/source#tested_build_configurations
Describe the problem
When i run the command
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package it gives the following error:
Starting local Bazel server and connecting to it...
ERROR: error loading package '': Encountered error while reading extension file 'swift/repositories.bzl': no such package '@build_bazel_rules_swift//swift': java.io.IOException: Error downloading [https://github.com/bazelbuild/rules_swift/releases/download/0.9.0/rules_swift.0.9.0.tar.gz] to /home/domingo_cm/.cache/bazel/_bazel_domingo_cm/f08b2f8b39197d5a57f7b557c17f0caf/external/build_bazel_rules_swift/rules_swift.0.9.0.tar.gz: Unknown host: github.com
ERROR: error loading package '': Encountered error while reading extension file 'swift/repositories.bzl': no such package '@build_bazel_rules_swift//swift': java.io.IOException: Error downloading [https://github.com/bazelbuild/rules_swift/releases/download/0.9.0/rules_swift.0.9.0.tar.gz] to /home/domingo_cm/.cache/bazel/_bazel_domingo_cm/f08b2f8b39197d5a57f7b557c17f0caf/external/build_bazel_rules_swift/rules_swift.0.9.0.tar.gz: Unknown host: github.com
INFO: Elapsed time: 14.145s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

Provide the exact sequence of commands / steps that you executed before running into the problem

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout r1.14
./configure
(assuing bazel is installed ) bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

Any other info / logs
I am running under a corporate proxy network if it gives any importance
Also, git version is 2.17.1 (latest in Ubuntu 18.04)

@louiselumapas,
Could you please check if you are able to build the package with the proxy disabled. Thanks!

I am running under a company corporate proxy and i don’t think i can disable it anytime and i’m not allowed to.

Since you are using conda for installing TF please post this issue on ContinuumIO
/anaconda-issues. for official support.
Apologies for redirecting.
Thanks!


version number reported from within the interpreter is inconsistent with tracked version number

Small inconsistency that I found when installing a new development version of Parcels.
_version_setup.py contains:
__version__ = version = '2.3.1.dev239+g31f81d51'
__version_tuple__ = version_tuple = (2, 3, 1, 'dev239', 'g31f81d51')

The install directory is named lib/python3.8/site-packages/parcels-2.3.1.dev239+g31f81d51-py3.8.egg
However, when querying the version from within Python I get:
parcels.__version__
'v2.3.0-239-g31f81d51'

So with 2.3.0 instead of 2.3.1. This differences arise from the code in _version.py, which queries git. Doing this command by hand gives:
git -C . describe --tags
v2.3.0-239-g31f81d51

Not sure what the solution is.

Very strange, especially because Parcels v2.3.1 doesn't even exist...
See https://github.com/OceanParcels/parcels/releases and https://anaconda.org/conda-forge/parcels. So no idea where this _version_setup.py gets its version number from

I think that this is a non-issue. From my understanding, the logic outlined in the _version.py file is:

Development installations: Assumes the presence of a git repo, version is dynamically determined by git
Released version installations (i.e., no git repo): use the variables defined in _version_setup.py  (written by setuptools_scm)

https://github.com/OceanParcels/parcels/blob/6d910191994b659601459520741c7b7f2930b2cc/pyproject.toml#L34-L36
Hence the contents of the _version_setup.py file is not important in the developer case. In both cases the parcels.__version__ variable is the source of truth, which seems to be correctly specified in this case.
That being said, it is weird that _version_setup.py says v2.3.1, but I'm also quite unfamiliar with how setuptools_scm works internally ¯\_(ツ)_/¯
Related: https://github.com/OceanParcels/parcels/pull/1392#issuecomment-1621169578 .

Closing issue


Should the private key start with 0x? Private key in invalid format error

in set_wallet_address() there's this check to see if the private key is valid
if private_key:
    if re.match(r"^0x[0-9a-zA-Z]{64}$", private_key) is None:
        raise(IdexException("Private key in invalid format must satisfy 0x[0-9a-zA-Z]{64}"))

Why would the private key start with 0x? I thought only public addresses started with the 0x prefix? Is there some conversion step I'm missing to convert my private key to a form that starts with 0x? As the code stands now I get this "Private key in invalid format error" every time. Did you mean for this to validate the private key or was this intended to validate public address instead like this?
if address:
     if re.match(r"^0x[0-9a-zA-Z]{64}$", address) is None:
         raise(IdexException("Address in invalid format must satisfy 0x[0-9a-zA-Z]{64}"))
    self._wallet_address = address.lower()

Hi @kefirsutherman you're correct in that Ethereum private keys don't start with an 0x, however the  private key that is given to you by IDEX doesn't follow that convention.
This check is there to make sure that you're using the private key that is provided by IDEX.

Cool. I was wondering what was going on. I've been using a private key from an ethereum address I generated myself not an address generated through idex directly.
I was also getting errors of an invalid signature when trying to place a buy order. And I now see the issue is related.  In _generate_signature() it's removing the 0x chars:
# sign string
    v, r, s = ecsign(salted, codecs.decode(self._private_key[2:], 'hex_codec'))

I removed the [2:] slice and it works for me now with my private key:
# sign string
    v, r, s = ecsign(salted, codecs.decode(self._private_key, 'hex_codec'))

@sammchardy Do does this mean that we can't connect using imported accounts? My primary trading address is one I imported in MetaMask.

@dahifi you can use any Ethereum address you control. Just prepend 0x to your public key.


feat(HMS-4503): add Pendo track event for host-conf endpoint

For measuring engagement metrics.
The sendPendoTrackEvent function should be reusable in different handlers.
The PR contains a couple prerequisites:

move of GetPrincipal to be usable outside of the middleware
generated mock Pendo client
log of track event name in PendoClientDump

It's also possible to implement in a middleware. There the advantage could be that we might be able to send TrackEvent when issue in some other middleware happens(e.g. 404 bad request with request not fulfilling schema).

All review comments are either addressed or commented on (or their related were commented on).


Docset not creating.

Sorry to bother again.
I have checked the installation requirement.
The beautifulsoup4, lxml, and pip3 are install properly, and I i am sure the matlab document were install in my local. But the script that I used in terminal.app doesn't generate any Docset that can be used in Dash.

Is there any possibility that you can upload the generated docset, that i can download it

The file is to large... So it's hard for me to upload my docset file (1.6 GB)
Yesterday I packaged a binary file (about 10 MB). You can use it for generating. Have a try!

MATLAB Docset Host for Dash on Google Drive will be delete in one week. Please download it soon.


Fix/nrf52 i2c hang

The nRF52 TWI peripheral (I2C master) gets in a weird state when writing a reset byte out to the lp5523 (LED driver chip). Once in this state, the TWI will fail to output anything when I2C operations are attempted. A workaround is to reset the TWI by disabling and re-enabling it, after which it will function normally again.
The issue may be related to an errata documented in nRF52832 Rev 2 Errata v1.1, "TWIS: Stopped event occurs twice if the STOP event is triggered during a transaction".
The attached image shows a Saleae capture of an offending frame that causes the issue. The first sign of trouble is a glitch on SDA at the end of the 2nd byte. Also note the double STOP condition at the end of the frame.

@benmccrea I think you did not mean to commit the first two changes. Please remove those and update the PR.

@vrahane Fixed.

I tested it out on the with LP5523 chip as I was having issues with it on a custom board. It works well. Looks good. Thank you.


Adds -DARDUINO_ARCH_AVR to build to comply with recent library sepcs

Arduino 1.5 Library requires ARDUINO_ARCH_AVR or _SAM be defined
to support multiple architectures. The Ethernet library, for example,
cannot be compiled without one of these and instead produces the error:
.../socket.cpp:15:47: error: no matching function for call to
'SPIClass::beginTrans action(int, SPISettings)'
SPI.beginTransaction(SPI_ETHERNET_SETTINGS);
We might need to determine if ARDUINO_ARCH_AVR or _SAM should be set
based on config files.

You can add this to your local build using cflags. That said: I'd take this change into the master branch if you added an --arch argument to build.py and make the define "ARDUINO_ARCH_" + archarg.upper().

Awesome! Sorry for the delay. Thanks!


Add OUSD Collateral swap support to Brownie

Collateral swaps was originally developed for OETH. With the upcoming OUSD Vault upgrade, the OUSD Vault will also be able to do collateral swaps.
This task is to add OUSD swap support to collateralSwap.py

Completed with PR https://github.com/OriginProtocol/origin-dollar/pull/1778


Chirpy default theme with the change theme button

First I'm sorry for my English, I speak portuguese and english is a new language for me. So, I created my 'blog' check here and I'm trying to set the default theme to light, but, I want to keep the theme change button. When I set a default theme in my _config.yml this button fades away.
I tried to find anything about it on google, StackOverflow, here, but I found nothing. My bad if this question was already asked

Really? It would be interesting if we can do both. By the way, It's a wonderful theme for Jekyll, thanks @cotes2020 for answering me, stay good!


JS Errors for wordpress pages

Everything appears to be working as expected, but javascript errors are still showing up in the console,

Hi @oneezy ,
At a first time, it intended to be a feature instead of a bug.
Since you can not select a Polymer's template for your pages in the Wordpress's backoffice and with the Wordpress template hierarchy system in mind, I tried to mimic this behavior in the template's shell. For instance, if the page that your are about to load has a slug called game, the shell will load the first match into the next sequence:

template-game.html
template-page-detail.html
template-404.html

This system allows you to have specific templates for some pages. The problem is that every time that shell fails loading a template, it throws an error. There is not a quiet loading mode in the Polymer's importHref.
Due to this errors, I fear that this is another thing that I will have to move into the backend's config element. So I'm thinking about remove this functionality.
What are your thoughts about this?

Ahh, i see what you mean.
That is a really nice feature to have..those js errors, even though there not doing any major harm are always annoying.
If you were to move it into the wp backend, are you saying that it would be possible to keep this feature?

I think so. I'm already working on this, I wanna have something functional for this week

awesome. I've started developing a custom theme w/ your wp polymer-theme. will keep an eye out on for any bugs and let you know what i come across

hey @trofrigo , does your new additions address this issue? I haven't tested yet

Hi!
I've just push some features, I'm still testing it, it's almost a whole new application.
Now in the backoffice of your wordpress's installation, you will find an admin's section. At the moment, only the templates are working, the other settings are mocked.
If you are updating to this last version, remember to do a bower install


Compute evaluation performance for the test sets

[x] Function to compute evaluation numbers given a confusion matrix

[ ] (Unit-test) script to compute those for the test datasets

A function from MATLAB file exchange can be used for  the performance evaluaiton numbers given actual and predicted classes: conficionmatStats

Computing Best classifier performance for image testing data store # 1 out of 3
Confusion matrix:
     0   361     0
     0   223     0
     0     5     0

Computing Best classifier performance for image testing data store # 2 out of 3
Confusion matrix:
    91   487     0
   111   262     1
     9     8     0

Computing Best classifier performance for image testing data store # 3 out of 3
Confusion matrix:
   594   466     9
   171   554     5
     3    49     0


Coveralls

https://gronlier.fr/blog/2015/01/adding-code-coverage-to-your-c-project/
https://github.com/eddyxu/cpp-coveralls

Changes Unknown when pulling 746770f067775e861369527fdbb3947d8c667ca2 on coveralls into ** on master**.

Maybe switch to https://github.com/JoakimSoderberg/coveralls-cmake

Changes Unknown when pulling 116e03e9ca5321e5b5ffac59adc8f4093bb01a48 on coveralls into ** on master**.

Changes Unknown when pulling 1dce0d0f8970a47fea472e44b8f92ebbab2c7df6 on coveralls into ** on master**.

Changes Unknown when pulling c32001918bb718ec68ef05c68f1fb9b1b1f65d01 on coveralls into ** on master**.

Changes Unknown when pulling 5ddffb35ab95078fe71cba8c99f8cb19c04860ee on coveralls into ** on master**.


RemoteConnectionToCore.disconnect() results in loop/oom

Testing my old code to see how the 1.4.0-alpha.1 handles RemoteConnectionToCore.disconnect()
This is the old code I'm using on one server to connect to the remote server:
// process.env.DEBUG = true;

// Set this ENV variable to make sure secret-agent knows this is a headless server, so don't try to start Replay
process.env.SA_SHOW_REPLAY="false";
process.env.NODE_DISABLE_COLORS = 1;

const { Handler, RemoteConnectionToCore } = require('secret-agent');

async function run() {
    try {
        var remote1 = new RemoteConnectionToCore({ maxConcurrency: 2, host: '<IP_ADDRESS>:2600' });
        await remote1.connect();
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log('Problem setting up RemoteConnectionToCore, exiting.');
        process.exit();
    }

    try {
        // var handler = new Handler( remote1, { maxConcurrency: 1 } );
        var handler = new Handler( remote1 );
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log('Problem setting up Handler, exiting.');
        process.exit();
    }

    handler.dispatchAgent(async agent => {
        // agent is automatically created for us
        try {
            await agent.goto('https://ulixee.org');
            const datasetLinks = await agent.document.querySelectorAll('a.DatasetSummary');
            for (const link of datasetLinks) {
                const name = await link.querySelector('.title').textContent;
                const href = await link.getAttribute('href');
                const dataset = { name, href };
                // add a name to each agent so we can find each scrape on Replay
                const agentOptions = { name };
                console.log(`name: ${name}, href: ${href}`);
                handler.dispatchAgent(getDatasetCost, dataset, agentOptions);
            }
        } catch (err) {
            console.log(`Caught an exception: ${err}`);
            console.log('Problem with dispatchAgent');
            process.exit();
        }
    });
    console.log('About to waitForAllDispatches');
    setTimeout( async function () {
        console.log("setTimeout triggered");
        await remote1.disconnect();
        console.log("Done with disconnect");
    }, 4000);
    // try {
        await handler.waitForAllDispatches();
    // } catch (err) {
    //     console.log(`Caught an exception: ${err}`);
    //     console.log('Problem with waitForAllDispatches.');
    // } finally {
    //     console.log("2nd try at waitForAllDispatches");
    //     await handler.waitForAllDispatches();
    // }
    console.log('Done waiting');
    await handler.close();
}

// my data gets passed in once an agent is available
async function getDatasetCost(agent, dataset) {
    try {
    var { name, href } = dataset;
        // console.log(`here1: ${href}`);
        if (!href.startsWith('http')) href = `https://ulixee.org${href}`;
        console.log(href);
        await agent.goto(href);
        await agent.waitForPaintingStable( { timeoutMs: 5000 } );
        // await agent.activeTab.waitForPaintingStable( { timeoutMs: 5000 } );
        // await agent.activeTab.waitForLoad('PaintingStable', { timeoutMs: 5000 } );
        // await agent.activeTab.waitForLoad('DomContentLoaded');
        const cost = await agent.document.querySelector('.cost .large-text').textContent;
        console.log('Cost of %s is %s', dataset.name, cost);
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log(`Problem with getDatasetCost: ${name}, ${href}`);
        // process.exit();
    }
  }

run();
// run().catch(error => logger.error(error));

It uses a setTimeout after 4000 ms to trigger the disconnect.
The result is I get a huge amount of stack trace output that seems to go on endlessly, and the node process gets hung with near 100% cpu and using all available mem on the instance. Control-c doesn't work, have to kill -9 it.
I head and tail'd the debug output, here is the first 1000 lines of debug:
debug2.txt
here is the last 1000 lines:
debug3.txt

Well, that seems to not be working very well. I probably should have rigged up multiple machines. Will give that a go tomorrow

I still have these 2 instances up if you need any debug session data, but they are spot instances so could be evicted at any time. They are t2.micro instances on AWS running the standard Ubuntu 20.04 AMI (ami-08962a4068733a2b6).

Ok, I feel slightly better about myself... lol. This is an infinite loop if you don't catch errors from run. It's a case I didn't test (obviously). There's a loop failing to report the unhandled exception, and thus, throwing a new unhandled error... doh.

Testing the new 1.4.1-alpha.1, the disconnect() seems to be working better, however am seeing an issue I'm not sure is correct operation or not. When I trigger the disconnect() on a Handler that has both a local and remote connection in operation, it seems to be getting disconnected from both local & remote. Code below triggers a disconnect() after 2000 ms, but when I have the try/catch/finally uncommented it also seems to disconnect from the local agent too:
// process.env.DEBUG = true;

// Set this ENV variable to make sure secret-agent knows this is a headless server, so don't try to start Replay
process.env.SA_SHOW_REPLAY="false";
process.env.NODE_DISABLE_COLORS = 1;

const { Handler, RemoteConnectionToCore } = require('secret-agent');

async function run() {
    try {
        var remote1 = new RemoteConnectionToCore({ maxConcurrency: 1, host: '<IP_ADDRESS>:2600' });
        await remote1.connect();
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log('Problem setting up RemoteConnectionToCore, exiting.');
        process.exit();
    }

    try {
        var handler = new Handler( remote1, { maxConcurrency: 1 } );
        // var handler = new Handler( remote1 );
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log('Problem setting up Handler, exiting.');
        process.exit();
    }

    handler.dispatchAgent(async agent => {
        // agent is automatically created for us
        try {
            await agent.goto('https://ulixee.org');
            const datasetLinks = await agent.document.querySelectorAll('a.DatasetSummary');
            for (const link of datasetLinks) {
                const name = await link.querySelector('.title').textContent;
                const href = await link.getAttribute('href');
                const dataset = { name, href };
                // add a name to each agent so we can find each scrape on Replay
                const agentOptions = { name };
                console.log(`name: ${name}, href: ${href}`);
                handler.dispatchAgent(getDatasetCost, dataset, agentOptions);
            }
        } catch (err) {
            console.log(`Caught an exception: ${err}`);
            console.log('Problem with dispatchAgent');
            process.exit();
        }
    });
    console.log('About to waitForAllDispatches');
    setTimeout( async function () {
        console.log("setTimeout triggered");
        await remote1.disconnect();
        console.log("Done with disconnect");
    }, 2000);
    try {
        await handler.waitForAllDispatches();
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log('Problem with waitForAllDispatches.');
    } finally {
        console.log("2nd try at waitForAllDispatches");
        await handler.waitForAllDispatches();
    }
    console.log('Done waiting');
    await handler.close();
}

// my data gets passed in once an agent is available
async function getDatasetCost(agent, dataset) {
    try {
    var { name, href } = dataset;
        // console.log(`here1: ${href}`);
        if (!href.startsWith('http')) href = `https://ulixee.org${href}`;
        console.log(href);
        await agent.goto(href);
        await agent.waitForPaintingStable( { timeoutMs: 5000 } );
        // await agent.activeTab.waitForPaintingStable( { timeoutMs: 5000 } );
        // await agent.activeTab.waitForLoad('PaintingStable', { timeoutMs: 5000 } );
        // await agent.activeTab.waitForLoad('DomContentLoaded');
        const cost = await agent.document.querySelector('.cost .large-text').textContent;
        console.log('Cost of %s is %s', dataset.name, cost);
    } catch (err) {
        console.log(`Caught an exception: ${err}`);
        console.log(`Problem with getDatasetCost: ${name}, ${href}`);
        // process.exit();
    }
  }

run();
// run().catch(error => logger.error(error));

console output:

About to waitForAllDispatches
name: Wikipedia Entry, href: /datasets/encyclopedia/0/entry/wikipedia-com
name: Resy Availability, href: /datasets/restaurants/0/availability/resy-com
name: YcombinatorNews Headlines, href: /datasets/news/0/headlines/news-ycombinator-com
name: Github Coder, href: /datasets/code/0/coder/github-com
name: Opentable Availability, href: /datasets/restaurants/0/availability/opentable-com
name: Amazon ASIN Seller Prices, href: /datasets/products/0/sku-sellers/amazon-com
https://ulixee.org/datasets/encyclopedia/0/entry/wikipedia-com
https://ulixee.org/datasets/restaurants/0/availability/resy-com
setTimeout triggered
Caught an exception: DisconnectedFromCore: This Agent has been disconnected from Core (coreHost: ws://<IP_ADDRESS>:2600)
Problem with waitForAllDispatches.
2nd try at waitForAllDispatches
Done waiting
Caught an exception: DisconnectedFromCore: This Agent has been disconnected from Core (coreHost: ws://<IP_ADDRESS>:2600)
Problem with getDatasetCost: Wikipedia Entry, https://ulixee.org/datasets/encyclopedia/0/entry/wikipedia-com
Caught an exception: DisconnectedFromCore: This Agent has been disconnected from Core (coreHost: ws://localhost:45169)
Problem with getDatasetCost: Resy Availability, https://ulixee.org/datasets/restaurants/0/availability/resy-com
Done with disconnect

If I comment out the try/catch/finally part like this:
setTimeout( async function () {
        console.log("setTimeout triggered");
        await remote1.disconnect();
        console.log("Done with disconnect");
    }, 2000);
    // try {
        await handler.waitForAllDispatches();
    // } catch (err) {
    //     console.log(`Caught an exception: ${err}`);
    //     console.log('Problem with waitForAllDispatches.');
    // } finally {
    //     console.log("2nd try at waitForAllDispatches");
    //     await handler.waitForAllDispatches();
    // }
    console.log('Done waiting');

Then it will seem to finish getting some of the costs (varies between 1 and 5 randomly) with the local agent after the disconnect triggers, and it then hangs indefinitely, like this:

About to waitForAllDispatches
name: Wikipedia Entry, href: /datasets/encyclopedia/0/entry/wikipedia-com
name: Resy Availability, href: /datasets/restaurants/0/availability/resy-com
name: YcombinatorNews Headlines, href: /datasets/news/0/headlines/news-ycombinator-com
name: Github Coder, href: /datasets/code/0/coder/github-com
name: Opentable Availability, href: /datasets/restaurants/0/availability/opentable-com
name: Amazon ASIN Seller Prices, href: /datasets/products/0/sku-sellers/amazon-com
https://ulixee.org/datasets/encyclopedia/0/entry/wikipedia-com
https://ulixee.org/datasets/news/0/headlines/news-ycombinator-com
setTimeout triggered
Caught an exception: DisconnectedFromCore: This Agent has been disconnected from Core (coreHost: ws://<IP_ADDRESS>:2600)
Problem with getDatasetCost: YcombinatorNews Headlines, https://ulixee.org/datasets/news/0/headlines/news-ycombinator-com
2021-03-24T04:19:42.797Z ERROR [/home/ubuntu/node_modules/@secret-agent/core/index] UnhandledErrorOrRejection {
clientError: 'DisconnectedFromCore: This Agent has been disconnected from Core (coreHost: ws://<IP_ADDRESS>:2600)',
context: {},
sessionId: null,
sessionName: undefined
} DisconnectedFromCore: This Agent has been disconnected from Core (coreHost: ws://<IP_ADDRESS>:2600)
at RemoteConnectionToCore.cancelPendingRequests (/home/ubuntu/node_modules/client/connections/ConnectionToCore.ts:310:28)
at RemoteConnectionToCore.internalDisconnect (/home/ubuntu/node_modules/client/connections/ConnectionToCore.ts:219:10)
at RemoteConnectionToCore.disconnect (/home/ubuntu/node_modules/client/connections/ConnectionToCore.ts:126:16)
at Timeout._onTimeout (/home/ubuntu/SecretAgentTest5-server.js:51:23)
at listOnTimeout (internal/timers.js:554:17)
at processTimers (internal/timers.js:497:7)
------AGENT QUEUE---------------------------------
at Queue.run (/home/ubuntu/node_modules/commons/Queue.ts:28:19)
at CoreSessions.waitForAvailable (/home/ubuntu/node_modules/client/lib/CoreSessions.ts:20:23)
at RemoteConnectionToCore.useAgent (/home/ubuntu/node_modules/client/connections/ConnectionToCore.ts:170:30)
at Handler.dispatchAgent (/home/ubuntu/node_modules/client/lib/Handler.ts:80:8)
at /home/ubuntu/SecretAgentTest5-server.js:40:25
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at /home/ubuntu/node_modules/client/lib/Handler.ts:83:11
at Queue.next (/home/ubuntu/node_modules/commons/Queue.ts:71:19)
------WAIT FOR ALL DISPATCHES---------------------
at Handler.waitForAllDispatches (/home/ubuntu/node_modules/client/lib/Handler.ts:123:24)
at Handler.waitForAllDispatches (/home/ubuntu/node_modules/client/lib/Handler.ts:135:45)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at run (/home/ubuntu/SecretAgentTest5-server.js:55:9) {
coreHost: 'ws://<IP_ADDRESS>:2600',
code: 'DisconnectedFromCore'
}
Done with disconnect
Cost of Wikipedia Entry is $0.00041
https://ulixee.org/datasets/restaurants/0/availability/resy-com
Cost of Resy Availability is $0.00060
https://ulixee.org/datasets/code/0/coder/github-com
Cost of Github Coder is $0.00035

It sounds like it's not behaving correctly. Will take a look at this issue.
For what it's worth, we added an API that will potentially simplify your code waiting for promises to complete:
https://secretagent.dev/docs/basic-interfaces/handler#wait-for-all-dispatches-settled

Thank you for reminding me of that new waitForAllDispatchesSettled(), I now modifed the code above to use that and no longer have the hanging issue, and it doesn't seem to be disconnecting from the local agent.
There is still one thing I don't understand which is depending on roughly when I schedule the setTimeout to trigger the remote disconnect, the local agent will then to proceed to get differing numbers of Costs. I see 1 console print of the "Problem with getDatasetCost:" in my code where I presume the remote agent that was in progress working on a getDatasetCost call got interrupted, but when I add that to how many Costs are ultimately returned in the console output, it varies.
It should end up as 6 Costs returned on a successful run I think, but with the setTimeout set to 3000 ms, I get sometimes just 1 Cost, plus the interrupted getDatasetCost console print. On other runs the local agent seems to go on a bit further and get 2 or 3 Costs.
Do you know where this variability is coming from, and how could I modify the code to always get all 6 Costs assuming I handle the interrupted getDatasetCost call to requeue that one?

I added another fix. I think the thing you aren't able to catch is "unstarted" dispatches that get canceled. The new PR automatically moves those to another connection, so once you have access to this code, you would just need to requeue the failure in getDatasetCost


Running into error with "lzutf8" import in ESM projects

I'm getting:
file:///C:/Users/joshua/dev/vitesse-vuetify-ssg/node_modules/pinia-plugin-history/dist/index.mjs:44980
import { compress, decompress } from "lzutf8";
         ^^^^^^^^
SyntaxError: Named export 'compress' not found. The requested module 'lzutf8' is a CommonJS module, which may not support all module.exports as named exports.CommonJS modules can always be imported via the default export, for example using:

import pkg from 'lzutf8';
const { compress, decompress } = pkg;

Me too. any luck?

https://github.com/wobsoriano/pinia-undo
I found this which seems to work.


Revert onclick menus.

This reverts the changes in #1081 and #1097.
As reported in #1103, those changes broke navigation to the crate page with JavaScript turned off.

FWIW, I'd be ok with leaving this broken temporarily until we get the proper fix in, non-JS users are a small minority and very few people visit /crate.


add support for Bitbucket scanning

Describe your changes
Screenshots - If Any (Optional)
This PR fixes:

Resolved #

Checklist before requesting a review

[ ] My code follows the style guidelines of this project
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.
[ ] New and existing unit tests pass locally with my changes

Please open the PR against the dev branch (Unless the PR contains only documentation changes)

I have replaced go-git-url with my fork for you to test before merging

@matthyx Merged

ready for review


Incompatibility with Minimal Theme

Only happens with the Minimal theme for me, othersl ike anuppucin and the default theme work fine

Gonna give this a looksee if this is something that can be resolved within Banners, as well as if it's something to be fixed from the alternative banner placement that I mentioned earlier (#129)

It seems that this part of Minimal's theme.css is the problem:
.minimal-line-nums .workspace-leaf-content[data-type=markdown] .is-readable-line-width {
	--file-margins: 1rem 0 0 var(--folding-offset)
}

and this --file-margin variable is referenced by Banners' style.css:
obsidian-banner-wrapper.with-banner:not(.in-internal-embed) {
    width: calc(100% + 2 * var(--file-margins));
    margin: calc(-1 * var(--file-margins));
    margin-bottom: var(--file-margins);
}

--file-margins is var(--size-4-8) = 32px in the default theme, so width: calc(100% + 2 * var(--size-4-8));can be a quick fix. Of course this may not be a proper solution, but I'm not sure how this should be resolved cuz I don't know much about CSS...

Mm, so it's sort of two-fold because of how this variable specifically (and probably others) are treated as single-valued and multi-valued. This one in Obsidian defaults, for example, is treated as var(--size-4-8) on desktop, but on mobile it's var(--size-4-2) var(--size-4-5). I think what I'll do is encapsulate more CSS variables within Banners and set their defaults to more atomic variables found in Obsidian (so I'll probably make a --banners-margin-horizontal and --banners-margin-vertical for these and assign them to the aforementioned variables). This'll give the right defaults and more control for themes.
Now with that said, I think there'll still be some theme incompatibility out-of-the-box, but I do think that will be up to the theme to keep that in check (though for now, I'd rather wait until Banners is out of beta to avoid outdated changes for themes, since I'm still moving things around)


feat: add postgres support

Signed-off-by: Firas Qutishat<EMAIL_ADDRESS>

Codecov Report

Merging #87 (970c126) into main (0886cdd) will decrease coverage by 0.18%.
The diff coverage is 50.00%.

:exclamation: Current head 970c126 differs from pull request most recent head 9b1dc0d. Consider uploading reports for the commit 9b1dc0d to get more accurate results

@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
- Coverage   85.30%   85.12%   -0.19%
==========================================
  Files          13       13
  Lines        2151     2151
==========================================
- Hits         1835     1831       -4
- Misses        183      187       +4
  Partials      133      133

Impacted Files
Coverage Δ

cmd/vct/startcmd/start.go
80.78% <50.00%> (-0.88%)
:arrow_down:

Continue to review full report at Codecov.

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


Create a new pull request by comparing changes across

Pull Request Test Coverage Report for Build 906950399

54 of 54 (100.0%)  changed or added relevant lines in 15 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.03%) to 95.138%

Files with Coverage Reduction
New Missed Lines
%

js/src/dom/event-handler.js
1
93.13%

Totals

Change from base Build 896527770:
0.03%

Covered Lines:
1988

Relevant Lines:
2046

💛  - Coveralls


bug:  Can't read FM1108 chip on ios

Plugin version:
0.3.1
Platform(s):
iOS
Current behavior:
The NFC Tag is not detected. After Start Session nothing happens.
Expected behavior:
The Chip should be detected and readed.
Steps to reproduce:
Start Sample App and use a FM1108 Chip. (https://www.synolock.com/rfid-cards/plastic-mifare-cards/fudan-fm1108-rfid-cards/)
Other information:
The NFC Tag is formated with NDEF. This NDEF Record is successfully read by the iPhone.
When I use the "NFC" App from AppStore thie tag can't be readed either. But in this App there is a special "compatibility mode". When i turn this mode on, the Chip can be used by the app. (Used App: https://apps.apple.com/app/apple-store/id1249686798?pt=106913804&ct=Website&mt=8)
So I think we need something similiar in the NFC Plugin.

I retried the same with the App "NFC Tools". Acting same. There is also a compatibility Mode with this the tag is read successfull. Without, the tag is not detected.


Excludes sensitive environment variables from containers

[#102605808]
Signed-off-by: Micah Young<EMAIL_ADDRESS>

@brannon: any concerns with this pr ?


[Bug] Mutating State directly

As far as I've traced it, state is modified directly and the object is never re-declared or over-written. This had led to feature developments and new implementations difficult, as I can't trust that the original objects I supply to schedulerData will not be modified.

@bchuntley
Yeah, that's a problem, I didn't consider it when designing. But the scheduler component is simple:), the Scheduler JSX is view, the SchedulerData is view model, it has a few core properties: time window, view type, config, resources, events, and it regenerates renderData the view need every time after resources or events change, usually we concern the events data, we should ensure the events are not unexpectedly modified, so in  my practice I'll commit the modified event to server after editing it, re-request the events data and refresh the view.
Can rendering the component from server side resolve the problem you mentioned, or any suggestions?

The fix I'm running with is actually managing the events outside of the scheduler and removing the scheduler data completely, and instead using memoiziation to calculate render data, that way you dont run into the issue of needing to regenerate everything inside the scheduler for one change.
I think this fits a lot better in-line with React's docs because then its not inherintly tied to the blackbox'd SchedulerData object

Thanks for the reply, removing the scheduler data completely means many changes:-), I'll think about it.

The fix I'm running with is actually managing the events outside of the scheduler and removing the scheduler data completely, and instead using memoiziation to calculate render data, that way you dont run into the issue of needing to regenerate everything inside the scheduler for one change.
I think this fits a lot better in-line with React's docs because then its not inherintly tied to the blackbox'd SchedulerData object

Would love to see your implementation of this if possible @bchuntley

@cmorrow-tg This was back at a company I'm no longer working at, but the code I wrote for it is publicly available here. We ended up just rewriting it from scratch.


Should make bundle update kustomization.yaml?

As discussed in https://github.com/apache/camel-k/pull/3601#discussion_r963234805 the make bundle is adding images property. Is that correct?

Can you help @phantomjinx ?

Yes, I think so too. This is the most itchy part of kustomize for me. The kustomize developers has deliberately chosen that user-customised changes are directly applied to the kustomization.yaml file. And there seems to be no way to parameterise user configs other than tainting kustomization.yaml:
https://kubectl.docs.kubernetes.io/faq/kustomize/eschewedfeatures/#build-time-side-effects-from-cli-args-or-env-variables

Can this be closed as asked and answered?


ERROR: Service 'cvat_ui' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 137

I got this error when build
Love nodemon? You can now support the project via the open collective:
 > https://opencollective.com/nodemon/donate

npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN<EMAIL_ADDRESS>scripts['server'] should probably be scripts['start'].
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 819 packages from 427 contributors and audited 887 packages in 36.508s
found 583 vulnerabilities (580 low, 3 moderate)
  run `npm audit fix` to fix them, or `npm audit` for details
Removing intermediate container bd1a86ac7f63
 ---> 58a921a64974
Step 15/29 : WORKDIR /tmp/cvat-core/
 ---> Running in 0e77abfe8875
Removing intermediate container 0e77abfe8875
 ---> 0fa64ccb13ae
Step 16/29 : RUN npm install
 ---> Running in 84a177705fca
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated<EMAIL_ADDRESS>use String.prototype.padStart()
npm WARN deprecated<EMAIL_ADDRESS>CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
ERROR: Service 'cvat_ui' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 137

so,how to solutation

Duplicate of #1071
How much RAM is on your machine?


add support for calloutAnchor with GoogleMaps on iOS; fixes #1852

Does any other open PR do the same thing?
No, I haven't seen any PR referenced in the outstanding issue, nor does the title of any open PR indicate this fix.
What issue is this PR fixing?
https://github.com/react-community/react-native-maps/issues/1852
How did you test this PR?
Platform: iOS Simulator 6s 11.2 using Google Maps provider
Patched changes into an existing project (on react-native 0.55.3) that is making use of calloutOffset to successfully offset callouts on Android. Was able to compare views on Android and iOS to see that they now match

@rdixonbhw do we need to add/change  anything in the docs? If yes please do so ❤
@alvelig LGTM 🐽

LGTM


Make it possible to whitelist user agents.

Paths, IDs can be whitelisted already - why not UA strings?
(Idea to discuss: making it possible to pass not only exact-match UA strings, but rather regular expressions.)

@bardzusny Since in recent version custom_rule block has been introduced you can now easily achive filtering by user agent or any other header, see the usage section in readme.
I'm closing this PR.

Yup - :+1: , especially with this exact example in the README. :)


Added New Contributor

Added new contributor - Pramit Bhatia.

Thanks @pramitbhatia25 for your PR. Welcome to the community!


軟體啓動后紅字報錯，重新安裝chrome也無法修復

2024-02-21 00:17:25,307 INFO: -----------------------------------------------------------------------
2024-02-21 00:17:25,307 INFO: ---------------------- Program started 2.3.2   -----------------------
2024-02-21 00:17:25,307 INFO: ---------------------- Open Source on github  ----------------------
2024-02-21 00:17:25,307 INFO: ------- Address: https://github.com/Yudaotor/EsportsHelper ------
2024-02-21 00:17:25,307 INFO: ---------------- Please give me a star,Thanks(^_^)  ---------------
2024-02-21 00:17:25,307 INFO: -----------------------------------------------------------------------
2024-02-21 00:17:25,500 ERROR: 从Github获取参数文件失败, 将尝试从Gitee获取
2024-02-21 00:17:32,206 INFO: 獲取參數檔案成功
2024-02-21 00:17:37,459 INFO: ====== WebDriver manager ======
2024-02-21 00:17:37,459 INFO: ====== WebDriver manager ======
2024-02-21 00:17:38,420 INFO: Get LATEST chromedriver version for google-chrome
2024-02-21 00:17:38,420 INFO: Get LATEST chromedriver version for google-chrome
2024-02-21 00:17:38,421 INFO: There is no [win64] chromedriver "121.0.6167.185" for browser google-chrome "121.0.6167.185" in cache
2024-02-21 00:17:38,421 INFO: Get LATEST chromedriver version for google-chrome
2024-02-21 00:17:40,481 INFO: WebDriver version 121.0.6167.184 selected
2024-02-21 00:17:40,487 INFO: Modern chrome version https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/win32/chromedriver-win32.zip
2024-02-21 00:17:40,487 INFO: About to download new driver from https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/win32/chromedriver-win32.zip
2024-02-21 00:17:40,490 ERROR: ++++++++++++++++++++++++++++++++++++++++++++++++++
Traceback (most recent call last):
File "socks.py", line 614, in _negotiate_SOCKS4
OSError: illegal IP address string passed to inet_aton
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "socks.py", line 809, in connect
File "socks.py", line 622, in _negotiate_SOCKS4
socket.gaierror: [Errno 11004] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "urllib3\contrib\socks.py", line 96, in _new_conn
File "socks.py", line 209, in create_connection
File "socks.py", line 199, in create_connection
File "socks.py", line 47, in wrapper
File "socks.py", line 814, in connect
socks.GeneralProxyError: Socket error: [Errno 11004] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "urllib3\connectionpool.py", line 703, in urlopen
File "urllib3\connectionpool.py", line 386, in _make_request
File "urllib3\connectionpool.py", line 1042, in _validate_conn
File "urllib3\connection.py", line 363, in connect
File "urllib3\contrib\socks.py", line 127, in _new_conn
urllib3.exceptions.NewConnectionError: <urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x000001F3720AEFD0>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests\adapters.py", line 486, in send
File "urllib3\connectionpool.py", line 787, in urlopen
File "urllib3\util\retry.py", line 592, in increment
urllib3.exceptions.MaxRetryError: SOCKSHTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /chrome-for-testing-public/121.0.6167.184/win32/chromedriver-win32.zip (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x000001F3720AEFD0>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "webdriver_manager\core\http.py", line 32, in get
File "requests\api.py", line 73, in get
File "requests\api.py", line 59, in request
File "requests\sessions.py", line 589, in request
File "requests\sessions.py", line 703, in send
File "requests\adapters.py", line 519, in send
requests.exceptions.ConnectionError: SOCKSHTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /chrome-for-testing-public/121.0.6167.184/win32/chromedriver-win32.zip (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x000001F3720AEFD0>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 34, in initWebdriver
File "Webdriver.py", line 63, in createWebdriver
File "webdriver_manager\chrome.py", line 40, in install
File "webdriver_manager\core\manager.py", line 40, in _get_driver_binary_path
File "webdriver_manager\core\download_manager.py", line 29, in download_file
File "webdriver_manager\core\http.py", line 35, in get
requests.exceptions.ConnectionError: Could not reach host. Are you offline?

可是我直接打開chrome上去看又完全沒有影響，我這樣看了幾天掉寶也是照常，就是有些晚上的場次看不了


Confusing/misleading download links for the latest asp.net core runtime for windows

I wanted to comment here but the issue is locked:
https://github.com/aspnet/Docs/issues/6281
ran into the error mentioned in that issue after deployment of latest bits of an asp.net core 2.0.x app.
My feedback is the download links are very confusing. If you look here:
https://www.microsoft.com/net/download/Windows/run
you see a download for the latest ASP.NET Core Runtime which you would guess is all you need to "Run Apps". I installed that and still had the error from the linked issue.
Really for windows you need to dig into the full list of downloads for the current version ie here:
https://www.microsoft.com/net/download/dotnet-core/runtime-2.0.7
to get the Hosting Bundle Binaries
even more confusing is that the Hosting Bundle Binaries download is listed under Linux not under Windows where it should be

I think the IIS hosting package should be front and center on the main download page "Run Apps" section

I wanted to comment here but the issue is locked:

Yes, I locked that as not actionable for docs. Just trying to reduce the pings that that docs cats couldn't address. 😅

which you would guess is all you need to "Run Apps".

There is an internal issue to address this aptly titled: Consider adding an info bubble for the Hosting Bundle Installer. I ask in the issue to add an info bubble next to the Hosting Bundle Installer link with text along the lines of ...

The .NET Core Hosting Bundle installs the .NET Core Runtime, .NET Core Library, and the ASP.NET Core Module. The module creates a reverse proxy between IIS and the Kestrel server on Windows platforms.

I don't have an ETA on when the issue will be worked. I will add a note to that issue that links to your remarks so that they'll see this when they work it.
btw - The binaries you mentioned are specifically for Linux.

Agreed, we are working on a set of updates to the page at the moment and the Hosting Bundle will be what you get for the main "Runtime" button.

We'll have a table below the main download section that has other downloads, like the separate runtime installers

also confusing is this page which one clicks to get to all downloads:
https://www.microsoft.com/net/download/all which I clicked to look for the hosting bundle.
looking at the list there my first thought is that those links are for individual downloads and clicking one will start a download, but that is not the case, I have to click the link for the runtime I want and it goes to a page with the actual downloads including the hosting bundle. It would be more clear if those links indicated that they are not file downloads but links to lists of files. It took me a while to realize I should click the link to see more files because I thought the links I was looking at were for actual file downloads and I was reluctant to click because it wasn't what I was looking for.

Good grief, to make things even worse, when you install the download for hosting bundle 2.0.7 it does not install the 2.0.8 runtime store, which caused me 4 hours of trouble where my updated app won't run and trying to figure out what is wrong.
Why the heck do I have go here to get the 2.0.8 runtime store installer and it isn't on the main downloads? I only found this from someone helping me on stackoverflow.
https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.1.200-sdk-download.md
really difficult getting the right files for windows server, not exactly falling into the pit of success
Also would be much better if versions could be consistent across sdk/runtime/frameworks
very confusing to have 2.1.x sdk, 2.0.8 runtime store 2.0.7 hosting bundle and know which ones go together. It should not be this hard to upgrade an app to the newer version of asp.net and the missing and confusing downloads is a major factor.

Hopefully things are a bit more intuitive now.

The big "give me the latest runtime" button on the downloads page now gives you the hosting bundle.
We've surfaced all of the vCurrent files on the main downloads page, so a lot less folks should need to delve into the complexity of the All Downloads section.
Our plan is to always release the entire runtime as a single version, but that didn't happen with 2.0.8. We've created a 2.0.8 release on the site, and it gives you 2.0.7 files for the ones that weren't released (with a big orange banner explaining that you're getting a 2.0.7 file when you download the affected ones).
Added the word "downloads" to the end of the .NET Core links on the All Downloads page. I know that doesn't completely solve the issue with expecting to get the actual download, but hopefully it helps. There isn't really a feasible way to list all the actual downloads for all versions on a single page.

We're very open to more feedback if there are things you think could still be improved.

@rowanmiller

The big "give me the latest runtime" button on the downloads page now gives you the hosting bundle.

I'm working out what our new IIS doc instruction can say based on the links/buttons present.
You're saying that the button doesn't download what the first runtime link downloads? ... or do they both download the runtime with the ANCM?

@guardrex the big button gives you the hosting bundle, not just the .NET Core runtime. I agree there should be some way to identify this based on the text in the button. I'll put some thought into how to solve this.

Definitely much better now, thanks for the improvements!

Closing because it appears that the main issue has been resolved. If there are remaining issues, please log new issues with details. Thanks!


added ?T option to run-tests.sh

added ?T option to run-tests.sh to ignore ansi styling mismatch errors and recaptured the outputs. Fixing  https://github.com/chubin/cheat.sh/issues/345

We will need test for highlighting, but that could be another issue to keep this minimal.
Looks good, but tests are failing. Probably escaping got wrong at some point so the server returns StackOverflow answers instead of stored data.

I've fixed the escaping. Now it may show one unrelated test failing in both modes, which looks like a different issue. And there is one more unrelated test failing in standalone mode.

Added #352 for failing test.
I would actually get rid of eval logic, because I don't really get what it does. But it doesn't seem relevant to this PR.
Need @chubin feedback on the whole idea of suppressing colors in tests.

@chubin what do you think about suppressing colors in tests? Feel free to point out an alternative approach if you don't feel like this is the right way to do it. Thanks!


Loading is freezing after some time

Hello! I'm doing something like that:
CDP((client) => {
    // extract domains
    const {Network, Page} = client;
    // setup handlers
    Network.requestWillBeSent((params) => {
        console.log(params.request.url);
    });
    Page.loadEventFired(() => {
        client.close();
    });
    // enable events then start!
    Promise.all([
        Network.enable(),
        Page.enable()
    ]).then(() => {
        return Page.navigate({url: 'https://github.com'});
    }).catch((err) => {
        console.error(err);
        client.close();
    });
}).on('error', (err) => {
    // cannot connect to the remote endpoint
    console.error(err);
});

After loadEventFired i execute some javascript in the page and close client. I'm doing this a lot of time for different sites. It's working well, but after some time it stop working. It can't load anything. The restart of chrome helps to solve this.
What am i doing wrong? Hope on your response

This is the main example, AFAIK there's nothing wrong with it. You should allow me to reproduce your problem, can you show me your code and how you repeat the script for different sites?
Also, does the browser actually loads the last page or the load indicator keep spinning?

CDP = require('chrome-remote-interface');

const options = {
    host: arg_host, port : chrome_port
};

CDP(options, (client) => {
  // Extract used DevTools domains.

  setTimeout(function()
  {
      console.log('Can\'t load the page...');
      client.close();
      process.exit(1);
  }, page_timeout);

  console.log('Extract used DevTools domains');
  const {Page, Network, Runtime, DOM, Security} = client;

  // Enable events on domains we are interested in.
  Promise.all([
    Page.enable(),
    Runtime.enable(),
    DOM.enable(),
    Security.enable()
  ]).then(() => {
    Security.certificateError(({eventId}) => {
        Security.handleCertificateError({
            eventId,
            action: 'continue'
        });
    });

    return Page.navigate({url: downloaded_url}).then((res) => { });
  }).catch((err) => {
        console.error(err);
        client.close();
	process.exit(1);
  });

  Page.domContentEventFired(() => {
       console.log('Page loaded...');

       var script = fs.readFileSync(readability_js, 'utf8');

       var saveOutTitlePromise = saveOutTitle(Runtime);

       Promise.all([saveOutTitlePromise]).then(values =>
       {
           Runtime.evaluate({expression: script}).then((result) => {
       	        Runtime.evaluate({expression: 'document.documentElement.innerHTML = clearly()'}).then((result) => {
                        Runtime.evaluate({expression: 'document.documentElement.innerHTML'}).then((result) => {
				var plainTextPromise = getPlainText(Runtime);

                                //console.log(result);
                                var fs = require('fs');
				fs.writeFileSync(out, result.result.value, { mode: '666' });

                                console.log("The file was saved!");

				Promise.all([plainTextPromise]).then(()=>
				{
                                        client.close();
					console.log('Client closed!');
					process.exit(0);
				});
  			});
		  });
            });
       });
   });
}).on('error', (err) => {
  console.error('Cannot connect to browser:', err)});
}

This is the main part of my code. I execute this script from another program for different urls. And after about ~2-3k  urls it stop loading any of them. As i said before, only restarting of chrome helps.
I don't fully understand your question, by the last pages are really loading in normal chrome.

I execute this script from another program for different urls.

One execution after the other or somewhat in parallel?

I don't fully understand your question, by the last pages are really loading in normal chrome.

Suppose that you're feeding http://example.com and then this issue happens, if you take a look at the Chrome window do you find http://example.com fully loaded or that it's still loading/incomplete.

The restart of chrome helps to solve this.

I cannot immagine a way to break Chrome so that a restart is required using the CDP. When this happens, is there any Node.js instances still running? If this is the case, try to kill all those instances then restart loading URLs, if this is enough to solve this issue then maybe the last script execution fails to complete taking the ownership over the current tab thus preventing the successive instance to start.
But I'm not too sure as the page_timeout should trigger after some time...

I'm experiencing them same (but for certain requests).
Requesting a simple page with a "heavy" image (6000x4500 pixels), results in Network.dataReceived stalling (for the image request).
In this case, Page.loadEventFired never triggers, and a restart is needed.

@ErlendSB can you provide a reproducible example? Also, what version of Chrome?

const CDP = require('chrome-remote-interface');
const spawn = require('child_process').spawn;
const sleep = require('sleep-promise');

spawn('google-chrome', ['--headless', '--remote-debugging-port=9222', '--disable-gpu', '--no-sandbox', '--hide-scrollbars']);

async function example() {
	try {
                // wait for chrome to start
		await sleep(2000);
		// connect to endpoint
		var client = await CDP();
		// extract domains
		const { Network, Page } = client;
		// setup handlers
		Network.requestWillBeSent((params) => {
			console.log(params.request.url);
		});
		Network.dataReceived((params) => {
			console.log('Network.dataReceived', params);
		});
		Page.loadEventFired((params) => {
			console.log('Page.loadEventFired', params);
		});
		// enable events then start!
		await Promise.all([Network.enable(), Page.enable()]);
		await Page.navigate({ url: 'https://static.pexels.com/photos/197935/pexels-photo-197935.jpeg' });
		await Page.loadEventFired();
	} catch (err) {
		console.error(err);
	} finally {
		if (client) {
			await client.close();
		}
	}
}

example();

I'm running it in a debian docker container, with google-chrome (59.0.3071.86-1)

Same issue with latest unstable (for debian): 60.0.3112.20-1

@ErlendSB yes, I can reproduce this. Funny thing is also that when it does not happen (i.e., when the Node.js process terminates) the code after await Page.loadEventFired(); is not executed, this may happen if the Chrome process is killed before the example() promise is resolved thus allowing the Node.js process to terminate.
And actually the Chrome process is killed by SIGBUS in my case.
I mean, a successful run of the above script should print all the events and hang until the Chrome process is alive, so in either case there's something fishy going on here. Moreover if you fetch the list of targets while the above script hangs you get [], you should get a JSON object with id, type and so on.
Later on today I will try with a proper Debian box (no Docker), but in any case I suspect that this is a Chrome bug that you should report here.

Later on today I will try with a proper Debian box (no Docker)

And I cannot reproduce it, so it seems this is a Docker-related issue. Also, probably obvious but both Docker (Debian) on Debian and on macOS behave the same, i.e, SIGBUS, etc.

but in any case I suspect that this is a Chrome bug that you should report here.

Even more positive about it.

Ok, good. I submitted an issue here: https://bugs.chromium.org/p/chromium/issues/detail?id=730995

SIGBUS on Docker can be related to shared memory issue
For comparison, on various container environments, /dev/shm can be much smaller by default.

Heroku: 5MB
Docker: 64MB
Vagrant ubuntu/trusty64: 256MB

To fix /dev/shm issue, simply configure --shm_size to be 256 or more in Docker config. Or if you use docker-compose, use shm_size: 256MB in your service config

Excellent! That did it.

@cungminh2710 awesome, thanks!
@ErlendSB so I can close this assuming that the problem initially reported by @hgfdd is similar to this one (feel free to add comments if that's not the case).


1.10 Compatibility issue

settings.LOGOUT_URL was removed
https://code.djangoproject.com/ticket/25918

Thanks, fixed in 23ad139e3b0c5ec3cf1b01a4f624a533424459f6.

@Bouke thanks a lot
When will you release a new version?


Fixup typo; sports -> supports

(title says it all)

IMHO it's not a typo.

:  to display or wear usually ostentatiously :  boast
http://www.merriam-webster.com/dictionary/sport

oh, I didn't know that.
thank you!


Closes: #XXX
What is the purpose of the change
Reverting tm v0.34.21
Testing and Verifying
This change is a trivial rework / code cleanup without any test coverage.
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? not applicable

Are all these go reverts to 1.16 required/desired?

What I mean is, should we decouple the go bump from the tendermint bump?

I'm ok reverting everything here personally, all part of the bug surface area

Are we reverting this just to tag an SDK version compatible with v12?

Are we reverting this just to tag an SDK version compatible with v12?
These changes are a requirement and a foundation for ABCI++ work to land. It's also a prerequisite for #324.

osmosis-main will not have anything reverted so it should be fine for any future work depending on this

Ahh derp, my bad! I didn't see the base branch 😆
ACK


Add respond to email. Fixes #2221

There was a change in the navigation bar part from v0.6.7.
This change generate the #2221 problem.
Therefore, I added of the confirmation whether user model has the email column.

Could you add some tests for this?

@mshibuya Added some tests.:dog:

Thank you:+1:


f --compatibility-eth64-forkid-enabled is set to true and there are no forks

PR description
This fixes an NPR that was thrown when no forks are configured and --compatibility-eth64-forkid-enabled is set to true.

one test failing
EthProtocolManagerTest > forkIdForChainHeadMayBeNull() FAILED
java.lang.AssertionError at EthProtocolManagerTest.java:1152


FEATURE REQUEST: Allow optional fields

Hello, thanks for the good library, is it possible to allow optional fields in Model when using Model.objects.create() (just don't pass fields to INSERT INTO)? Can work on this feature.
My use case is this: I have a table that automatically updates/sets some fields (ex. dt_created, dt_changed) and I would like to not pass datetime.now every time I need to insert a new row. Table SQL is below (PostgreSQL):
CREATE TABLE tokens (
    id               bigserial NOT NULL,
    user_id          text NOT NULL CHECK(trim(user_id) != ''),
    scope            text NOT NULL,
    access           text NOT NULL CHECK(trim(access) != ''),
    refresh          text NOT NULL CHECK(trim(refresh) != ''),
    expires_at       bigint NOT NULL,
    dt_created       timestamp with time zone NOT NULL DEFAULT NOW(),
    dt_changed       timestamp with time zone NOT NULL DEFAULT NOW(),
    dt_deleted       timestamp with time zone NULL,
    PRIMARY KEY (id)
);

Right now I don't even add dt_* fields to model, but I would like to have access to them without the need to specify dt_created/dt_changed when calling Model.objects.create()
Model right now:
class Token(Model):
    __tablename__ = "tokens"
    __database__ = database
    __metadata__ = metadata

    id = Integer(primary_key=True)
    user_id = Text()
    scope = Text(allow_blank=True)
    access = Text()
    refresh = Text()
    expires_at = Integer()

Model I would like to use:
class Token(Model):
    __tablename__ = "tokens"
    __database__ = database
    __metadata__ = metadata

    id = Integer(primary_key=True)
    user_id = Text()
    scope = Text(allow_blank=True)
    access = Text()
    refresh = Text()
    expires_at = Integer()
    dt_created = DateTime(optional=True)
    dt_created = DateTime(optional=True)
    dt_deleted = DateTime(allow_null=True, optional=True)

I guess we can add check for optional flag here:
https://github.com/encode/orm/blob/0eb84cb96c4f876997c7f2d340ede1723788a8e1/orm/models.py#L248

I saw that read_only flag was used in #64 (right now you can't provide it directly into DateTime like DateTime(read_only=True) on that branch), but maybe if it will be possible - problem will be solved.


Minor fix on string #190 (proposal)

It is ok on string #200: (...) we use the a simple Python transform (...) I wonder: "the a simple Python" is right?

@kant i removed the in your second comment


List[int] = Form(...) -> value is not a valid integer

Hi team,
I am trying to send a list of int alongside a Document, so I have to use Form().
The problem is that if I send a list of int, the data is passed like this:
curl -X POST "http://localhost:8000/items" -H  "accept: application/json" -H  "Content-Type: application/x-www-form-urlencoded" -d "list_int=1,2"
I have -d "list_int=1,2" which seems to be interpreted as a float...
I get the error:
      "msg": "value is not a valid integer",
      "type": "type_error.integer"

To reproduce, just run this and call then endpoint using the OpenApi ui:
from typing import List

from fastapi import FastAPI, Form

app = FastAPI()

@app.post("/items")
async def create_item(
        list_int: List[int] = Form(...),
):
    return list_int

FastAPI Version: 0.63.0

Do you have any idea how to solve this ?

As far as I know lists/arrays aren't really a supported thing in form data in general.
I see a few potential options, one is just having separate routes and making a request for sending the file, and a separate request which can accept JSON for the other data.
Or you can somehow serialize the list at the client end into a comma separated list and just send that as a string and deserialize it on the backend.
So build a string with all of your ints like "1,2,3,4,5" and send that as a string value in the form data and decode it like so:
from fastapi import FastAPI, Form

app = FastAPI()

@app.post("/items")
async def create_item(
    numbers: str = Form(...),
):
    list_ints = [int(number) for number in numbers.split(",")]
    return list_ints

This feels pretty hacky and not like an optimal solution though. You could instead just serialize JSON and send as a string doing something like this. Unfortunately this would not provide you with the same level of data validation that FastAPI normally provides. You would still get data validation when parsing the Pydantic object, but it probably wouldn't be as seemless as accepting a Pydantic model directly in the route.
from fastapi import FastAPI, Form

from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    list_int: List[int]

@app.post("/items")
async def create_item(
    raw_data: str = Form(...),
):
    item = Item.parse_raw(raw_data)
    return item.list_int

The method below will work just fine but as you mentioned

To reproduce

If you have a more complex logic move that to Pydantic's validator.

Ok, I'll go with numbers: str = Form(...), for now.
Thank you guys for all the information !

Try to change the curl command to this
curl -X POST "http://localhost:8000/items" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "list_int=1&list_int=2"
This way will make list_int: List[int] = Form(...) to receive the correct values as list of int

Thanks for the help here everyone! 👏  🙇
Thanks for reporting back and closing the issue @VictorBac  👍

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


paren parser garbles "or"

Originally on 2011-06-22
User reports...TCB verified:
If I type
find (title top or t or top-quark or top-antitop) and (a abachi or abbott or abazov) and cn d0
it returns 71 papers (I am hoping to get all 80) so this is close.
If I type
find (title top or t or top-quark or top-antitop or t-tbar) and (a abachi or abbott or abazov) and cn d0
just adding t-tbar trying to find the missing 9 papers, then I get only 6 records returned,
Problem is clear from here:
http://inspirebeta.net/search?ln=en&ln=en&verbose=9&p=find+(title+top+or+t+or+top-quark+or+top-antitop+or+t-bar)+and+(a+abachi+or+abbott+or+abazov)+and+cn+d0&action_search=Search&sf=&so=d&rm=&rg=25&sc=0&of=hb
Where s_p_p completely mangles the ands and ors.   I'm guessing this is because the user used "t" as a search term (top quark) and this is confusing things...

If needed, should be reopened on invenio-query-parser.