Trouble running docker in a lxc container created with lxd

Description of problem:
When trying to run Docker in an ubuntu trusty lxc container created with lxd (cli, not openstack) on an ubuntu vivid host (created with vagrant from a cloud-images.ubuntu.com image) I get the following error:
# docker -d --exec-driver=lxc
INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
FATA[0000] Shutting down daemon due to errors: error intializing graphdriver: permission denied

From VirtualBox host:
docker version:
Client version: 1.6.0
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 4749651
OS/Arch (client): linux/amd64
Server version: 1.6.0
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 4749651
OS/Arch (server): linux/amd64

docker info:
Containers: 0
Images: 0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.19.0-15-generic
Operating System: Ubuntu 15.04
CPUs: 1
Total Memory: 489.1 MiB
Name: vagrant-ubuntu-vivid-64
ID: LF2T:DNN2:JF5H:IMQS:S7LK:7WDA:CETE:ABRV:LLKH:APKY:75UI:AT2B
WARNING: No swap limit support

uname -a:
Linux vagrant-ubuntu-vivid-64 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

From lxc container
docker version:
Client version: 1.6.0
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 4749651
OS/Arch (client): linux/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.18/version: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

docker info:
FATA[0000] Get http:///var/run/docker.sock/v1.18/info: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?

uname -a:
Linux test 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Environment details (AWS, VirtualBox, physical, etc.):

VirtualBox host (Ubuntu Vivid from cloud-images.ubuntu.com) running lxd
the lxc guest is running Ubuntu Trusty

How reproducible:
Steps to Reproduce:

Boot ubuntu vivid vm in VirtualBox
Install Docker on host (to make sure kernel has everything)

wget -qO- https://get.docker.com/ | sh

Install Lxd Container

sudo apt-get install -y lxd
sudo service lxd start
sudo lxd-images import lxc ubuntu trusty amd64 --alias trusty
sudo lxc launch trusty test
sudo lxc exec test -- /bin/bash

Install Docker on lxc guest

apt-get install wget
wget -qO- https://get.docker.com/ | sh

Try to start Docker

service docker start (fails)
docker -d --exec-driver=lxc (fails)
docker -d (fails)

Actual Results:
docker -d --exec-driver=lxc
INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
FATA[0000] Shutting down daemon due to errors: error intializing graphdriver: permission denied

Expected Results:
docker -d --exec-driver=lxc
...
INFO[0000] Daemon has completed initialization

Additional info:
I have tried this without docker installed on the host and with it installed but not running in addition to the above "steps to reproduce."
My thoughts were that any kernel dependencies docker needs would get sucked in on the virtualbox host by installing docker there and would be made available to the lxd guest where I actually want to run docker from.

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any duplicates already open.
We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:

`docker version`:

`docker info`:

`uname -a`:

Environment details (AWS, VirtualBox, physical, etc.):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual Results:

Expected Results:

Additional info:

#ENEEDMOREINFO

sorry about that, I've updated the decription

Is this a use case docker should be concerned with? Or is it better left to the implementor to figure out.
Obviously there are any number of things that could go wrong running one opinionated lxc impl inside another, but does lxd have a critical mass such that this is a docker problem too?

@benschw Docker at the very least needs to be able to mount filesystems and manipulate networks... probably other caps as well, and need to not be confined by SELinux or AppArmor.
Docker itself already supports docker-in-docker, whoever else wants to run docker in a contained environment needs to look at that and make sure docker has the right privileges to run.

closing  as this is not a bug with docker itself


Bias Correction Literature Review

Update 26th Jan
Potential change to methods is to:

widen the initial search criteria, but to a manageable amount (e.g. WoS search for topic: climate data, title: bias correction = 298 studies)
Inclusion would necessitate a bias correction rather than downscaling (although both together allowed)
Aim is to create a comprehensive summary of bias correction methods and tools applied to climate data. This is a completion of the 'methods taxonomy'
Therefore the info to extract would be: author, method, tool used to apply (eg software etc), citation of method (this most important - the originator paper for the method), any noted advantages/disadvantages, climate model applied to, and key result. All of this should be obtainable from the abstract alone, apart from potential the tool.
We summarise all methods, referencing the 'originator paper' where possible, and give studies using them as examples of application.

Therefore plan for next week:

[ ] See how many abstracts can be processed with the above method in 1hr, then put forward to folks who have previously offered a collaboration if seems feasible.

Previous thoughts:
In order to create the 'methods taxonomy' and ensure we are capturing the widest breadth of methods, a semi-systematic search was undertaken using the methodology recorded here.
The methods taxonomy itself is here
The paper synthesis is here (this doc is restricted - and rough - please request access)
Tasks to complete this would be:

[ ] Read papers listed in tab x and complete entry via tab x
[ ] Read papers listed in tab x and complete entry via tab x/also provide short summary of paper
[ ] Check over the taxonomy, particularly the description of methods (to ensure consensus - this will be iterative as newer methods are added)
[ ] Help with preparing the tables for publication

Once this is done I can finish drafting the paper, and then tasks would be:

[ ] Proofing the doc
[ ] Aggreeing on authorship and publication target!

Based on Ruth's test of extraction speed/hour, potential co-working day in late Feb or early March?


feat: show error message when setting payment by setup intent fails (EMI-1282)

The type of this PR is: Feat
This PR solves EMI-1282
Description
This is a companion PR to artsy/exchange#1733 that displays an error message to users if it doesn't pass backend validation in Exchange. (See the companion PR in Exchange for more context.)

@starsirius this is a WIP because the copy in the error dialog needs to be updated, and the error recovery needs to be completed (ie. what happens after the error message is displayed).


Add index_mul, index_div, index_pow

Currently the only scatter operations implemented as primitives are update, add, min and max. index_update has limited support for transposing, which means some custom_jvp rules implemented using index_update cannot be automatically converted into vjp form. Extending the indexing operations would fix this, in particular in the fix for issue #2380.

One third of the way there!


Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOOS="darwin"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.17.0/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.17.0/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.17"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/h1/qnz0z93n4_7fymcgs9wd8ls00000gn/T/go-build2980224056=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

I trying to use go compress/gzip package to unzip this file.
But program pop me an error and then use gzip -d -k server.data I can get the actually data.

gzip -d -k server.data.gz
gzip: stdin: decompression OK, trailing garbage ignored.

Then I looking into what is happened then I found this compress file include extra data.
Look back in go standard package code I did not see any code handle compress file extra data instead trying to use remaining data for next compress file (when MultipleStream is True).
Gzip file format documentation reference  (from stackoverflow): https://stackoverflow.com/questions/4928560/how-can-i-work-with-gzip-files-which-contain-extra-data
Fully example code here: https://github.com/kunsonx/go-reproduce-data/blob/master/test-gzip-without-handle-extra-data.go
What did you expect to see?
No errors pop. compress file extra data handled.
What did you see instead?
error : "gzip: invalid header"

According to the documentation for compress/gzip.Reader:

In general, a gzip file can be a concatenation of gzip files, each with its own header. Reads from the Reader return the concatenation of the uncompressed data of each. Only the first header is recorded in the Reader fields.

That probably explains why it says there's an invalid header. This lines up with what the Stack Overflow post suggests for Python.
It may be that this is a bug, at least according to the Stack Overflow post, but I'm not sure. The link in that post re: the spec is broken. Looking at RFC 1952 which the package claims to follow, I don't see mention of this behavior. If you could provide a reference, that would be great.
CC @dsnet via https://dev.golang.org/owners ?

This is working as intended.
The grammar in RFC 1952 does not allow for arbitrary junk at the end since a gzip file must be a series of valid members (section 2.2). It explicitly says that the "members simply appear one after another in the file, with no additional information before, between, or after them." This implies that it is not legal to have trailing junk.
If you would like the ability to read a valid gzip member and specially handle non-gzip data after the member, then you can use the gzip.Reader.Multistream feature to read the file one member at a time.

Just test this compress from gzip/7zip other decompress software it can decompress whole file succeed.
@mknyszek I will looking for it when available.

Regardless of what other popular software do, their behavior is clearly non-compliant with the specification.

OK. Good to know that. It according RFC 1952 may be better. Thanks!

It have any plan for support other compress/decompress algorithm?

It have any plan for support other compress/decompress algorithm?

Can you explain what you mean?
https://pkg.go.dev/compress shows the list of the compression formats that the Go standard library supports. The bar for a new format to be added is very high. It would have to be very popular format and someone needs to be willing to own it for the long term. The formats I can potentially see being added are Brotli and Zstandard, but I think their popularity still has a ways to go before it would considered for being added. Even then, there's still the question of who's going to maintain it.

It have any plan for support other compress/decompress algorithm?

Can you explain what you mean?
https://pkg.go.dev/compress shows the list of the compression formats that the Go standard library supports. The bar for a new format to be added is very high. It would have to be very popular format and someone needs to be willing to own it for the long term. The formats I can potentially see being added are Brotli and Zstandard, but I think their popularity still has a ways to go before it would considered for being added. Even then, there's still the question of who's going to maintain it.

For extract question without this issue. I'm looking for LZ4 or ZStandard algorithms. It's any possible to become contributor with those compress packages?

Any new formats to be added needs to be approved as a Go proposal. I doubt lz4 would ever be added. Zstandard is still in my opinion too young.

It have any plan for support other compress/decompress algorithm?

Can you explain what you mean?
https://pkg.go.dev/compress shows the list of the compression formats that the Go standard library supports. The bar for a new format to be added is very high. It would have to be very popular format and someone needs to be willing to own it for the long term. The formats I can potentially see being added are Brotli and Zstandard, but I think their popularity still has a ways to go before it would considered for being added. Even then, there's still the question of who's going to maintain it.

And compare with other language (Like Java/Python). The also support rich compress algorithm on standard library supports. In my opinion.

@kunsonx
Both compressions already exist as pure Go libraries:
https://github.com/pierrec/lz4
https://github.com/KillingSpark/sparkzstd
So I think this is https://golang.org/doc/faq#x_in_std.

Closing as this is working as intended
Please file a proposals if you think something should be added to the stdlib


Verified User Icons

Setting a users uploaderstatus to 2 (Trusted) or 3 (VIP) will give that use a "Verified/Trusted User Icon" next to their name on the torrents.php page.

Also @KevinJDurant if you could help me out with this "refresh seeders/leechers button" that would be much appreciated. I know you're not too interested in coming back to work on this project, but it would be much appreciated if you ever have some free time.

@AzukaChan I'll take a look at it this week :)

@AzukaChan I'll take a look at it this week :)

That would be amazing. After that button has been added the major features of this template are pretty much complete, besides a few small changes to make for a more comfortable user browsing experience like:
*add verified user icons to search.php and index.php  - Easier to find verified users/torrents.
*have search.php display X amount of torrents per page  -  Would look a bit nicer.
*Category view (with pages)  -  Comfortable category browsing experience.


Export location saving to JS

Add a method to save locations from JS.
Update database schema to store location hashes.
Save/restore location hashes to/from database.
Add a test to verify the functionality.
Remove code to save background locations from Android application.

Description:

Linked issues:

Screenshots:

How to test:

Closing this one, new attempt at #925.


Implement remaining tasks in InferenceClient

InferenceClient is a new user-friendly client to deal with inference on HF products. It can seamlessly interact with both the Inference API, the free service to quickly discover and evaluate hosted models, and Inference Endpoints, the paid product for production-ready cloud-based inference.
The InferenceClient (see https://github.com/huggingface/huggingface_hub/pull/1510) offers a simple API with 1 method per task. It handles input/output serialization out of the box to make it easy to use. Similarly, AsyncInferenceClient provides the same interface but for async calls (see https://github.com/huggingface/huggingface_hub/pull/1524). In the initial implementation, only a subset of tasks have been implemented. It is now time to implement the rest!
This issue is meant to centralize the development of the other tasks. The idea is to create 1 PR for each new task, depending on the demand on each task. Here is a good example from @dulayjm who implemented the zero_shot_image_classification task.
Requirements for each task:

Implement method in _client.py

inputs and output must be type annotated to help documentation
usually comes down to a self.post call with correct parameter + deserialization

Add docstring including sections description, args, returns, raises and example.
Add a test in ./tests/test_inference_client.py
Generate test record with pytest tests/test_inference_client.py -k <test_name> --vcr-record=all => generates a YAML file to mock HTTP call to avoid using the InferenceAPI prod for CI tests (see comment)
Update table in inference.md
Run make style => will format code correctly AND generate the asyncio version of the code out of the box
Run make quality => make sure the code is correctly formatted/typed => don't hesitate to ask for help if needed

Remaining tasks:

[x] object-detection https://github.com/huggingface/huggingface_hub/pull/1548 (thanks @dulayjm)
[x] document-question-answering https://github.com/huggingface/huggingface_hub/pull/1620 @martinbrose
[x] visual-question-answering https://github.com/huggingface/huggingface_hub/pull/1621 @martinbrose
[x] fill-mask https://github.com/huggingface/huggingface_hub/pull/1613 @martinbrose
[x] question-answering https://github.com/huggingface/huggingface_hub/pull/1609 @martinbrose
[x] table-question-answering https://github.com/huggingface/huggingface_hub/pull/1612 @martinbrose
[x] text-classification https://github.com/huggingface/huggingface_hub/pull/1606 @martinbrose
[x] token-classification https://github.com/huggingface/huggingface_hub/pull/1607 @martinbrose
[x] translation https://github.com/huggingface/huggingface_hub/pull/1608 @martinbrose
[x] tabular-classification https://github.com/huggingface/huggingface_hub/pull/1614 @martinbrose
[x] tabular-regression https://github.com/huggingface/huggingface_hub/pull/1615 @martinbrose
[x] zero-shot-classification https://github.com/huggingface/huggingface_hub/pull/1644 @Wauplin

Well-written issue! I'll take a look and see if I can implement a few others potentially.

Hi @dulayjm / @Wauplin,
I ended up going through the list and doing all of the remaining tasks as little challenges.
Thanks @dulayjm for providing a good template with your object detection PR. I hope you weren't working on any of the remaining ones. I'm sorry if you did...

Thank you for writing them!!

@Wauplin, many thanks for all the PR reviews and the review points provided.
It's been a great learning experience.
You've been on 🔥 after your holiday!

Marathon is now over!🏃😴
Thanks @martinbrose @dulayjm for the massive community work on this issue :hugs:  I never thought it would be closed that quickly. We now support all main tasks available on the Hub which is a very nice improvement :fire: :rocket:

@Wauplin, there is one more thing I would like to discuss:
When looking at the tasks that don't have inference models readily available and a model needs to start up, like tabular classification, I ran into some problems in my Jupyter Notebook playground.
I believe the implementation is sending API requests in quick succession while the model is starting up, and the user gets rate-limited super quickly.
Should that be mentioned in the doc string, and advice added on how to avoid this from happening?

Hmm, that's a good question.  In general rate limits happen quickly if the user is not logged in (e.g. not registered with a token). What we could do is to catch HTTP 429 errors here and here and if:

a HTTP 429 happen

no token in the header

uses InferenceAPI (e.g. url starts with "https://api-inference.huggingface.com")

=> Then we raise append a message to the raised error saying "hey, you should use a token".
This way it would be seen much more easily by user (than completing the docstring). WDYT?
Also maybe we should add a warning on tabular-classification/tabular-regression that they are not working on InferenceAPI at the moment (which is not so problematic given how little usage we have for tabular data on the Hub).

Yeah, I think some sort of error-catching and warning might be needed. I'll have a look at the above links tonight.
I was logged in with a token and even signed up for Pro for a few days. In all cases, I got rate-limited myself very quick.
I haven't had the time to understand exactly why it's happening. I did add the additional parameter "wait_for_model": True", but that didn't seem to help much either.

Hmm interesting feedback, I didn't know about that. Let's open a new issue then to address it specifically. Would you mind doing it and report your use case + error?
For what I understand, in the worst case scenario InferenceClient should make 1 call per second which shouldn't lead rate-limits too quickly. I saw the "wait_for_model": True but to be honest this is a bit outdated now that we've set a retry mechanism in InferenceClient directly (or at least I thought so). I'll investigate further when I have time.

Sure, no problem.
Will attend to this over the weekend.


[2.x] Upgrade javax.servlet.jsp:jsp-api to 2.1.1

javax.servlet.jsp:jsp-api:2.1 directly includes the javax.el API classes from el-api. This causes classpath conflicts.
javax.servlet.jsp:jsp-api:2.1.1 instead depends on the correct el-api package to avoid duplicate classes on the classpath.
https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api/2.1
https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api/2.1.1
This is not fixed upstream in either the 2.x or 3.x branches.
I've opened an upstream PR on the 3.x branch in https://github.com/apache/hadoop/pull/2474.

Done in https://github.com/palantir/hadoop/pull/65


How to connect to Carla with ROS1

carla_control.py is used for ROS2. But I want to connect to Carla with ros1 because I use ubuntu. Could you please share me your code with ros1. Thank you very much ！

Example code for ros1-carla connection was uploaded.
Please check https://github.com/kuriatsu/ros-g29-force-feedback/tree/ros1.
If you found some error, please notify me.


support https

Simple https encryption with tempory generated certificate would be awesome.

There are many options to develop this feature like whether to use native openssl or rust. Then should use wrapper such as tokio_tls or do it from low-level crate like native_tls. I am quite comfortable for all these options.

when i'm looking for a static file server, this is a feature i consider as over-engineered b/c services should be served through reverse proxies that can handle TLS / the latest http-extension..

when i'm looking for a static file server, this is a feature i consider as over-engineered b/c services should be served through reverse proxies that can handle TLS / the latest http-extension..

While I generally agree, there are many Web APIs working only in secure contexts and some browsers disregard whether it's localhost or something remote. Having an ability to at least provide SSL certs generated by tools like mkcert would allow developers to avoid setting up nginx or other solutions to do SSL termination. If you set up nginx, why you'd use sfz anyway?

Thank you for the PR. Unfortunately I have no time working on it. See #108.


types: Optimize timer using ReturnType

Summary
因为 node 版本会更新，这个类型可能也会改，用 ReturnType可以保证类型永远是最新的
Related Links

Checklist

[ ] Tests updated.
[ ] Documentation updated.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks!


c.order_type='taker' in conf.js not working on Binance

System information

Have I written custom code (as opposed to using zenbot vanilla): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows Bash (Ubuntu 16.04)
Zenbot version (commit ref, or version):
Zenbot branch: unstable (pulled latest code at 2/25/2018)
NodeJS version:
Python version (when using a python script):
Exact command to reproduce (include everything):
Did I make any changes to conf-sample.js?: Yes

I am testing my own strategy with Zenbot on Binance. My conf.js looks like:
...

// avoid trading at a slippage above this pct
c.max_slippage_pct = 5
// buy with this % of currency balance (WARNING : sim won't work properly if you set this value to 100)
c.buy_pct = 100 //99
// sell with this % of asset balance (WARNING : sim won't work properly if you set this value to 100)
c.sell_pct = 100 //99
// ms to adjust non-filled order after
c.order_adjust_time = 3000
// avoid selling at a loss below this pct set to 0 to ensure selling at a higher price...
c.max_sell_loss_pct = 25
// avoid buying at a loss above this pct set to 0 to ensure buying at a lower price...
c.max_buy_loss_pct = 25
// ms to poll order status
c.order_poll_time = 3000
// ms to wait for settlement (after an order cancel)
c.wait_for_settlement = 3000
// % to mark down buy price for orders
c.markdown_buy_pct = 0
// % to mark up sell price for orders
c.markup_sell_pct = 0
// become a market taker (high fees) or a market maker (low fees)
c.order_type = 'taker'
// when supported by the exchange, use post only type orders.
c.post_only = false

...

I checked my order status on Binance. I specified order_type as taker in conf.js but the bot always makes limit orders and slippage is somtimes > 0.5%.

Some market orders on the above image are orders that I made manually.
Maker and taker fees are the same on Binance. So it's always better to make market orders.

Check the order_type of the my_trades object at the API endpoint /trades

Where is that file located?

Point your browser to http://ip.of.your.bot:port/trades

It's weird. order_type on the API endpoint says maker.
[{"order_id":"59214030","time":1519954231610,"execution_time":28810,"slippage":0,"type":"buy","size":"0.445704","fee":0,"price":"11113.00","order_type":"maker","cancel_after":"day","id":"b483ef13","_id":"b483ef13","selector":"binance.BTC-USDT","session_id":"e9ef0702","mode":"live"}]

I also added some debugging lines to binance exchange.js
    buy: function (opts, cb) {
      var func_args = [].slice.call(arguments)
      var client = authedClient()
      if (typeof opts.post_only === 'undefined') {
        opts.post_only = true
      }
      opts.type = 'limit'
      process.stdout.write('\nAPI BUY:'+opts.order_type+'\n')

and it says
2018-03-01 17:30:01 - preparing buy order over 0.44570400 BTC of 4953.10 USDT (98.9998178287712%) tradeable balance with a expected fee of 0.00000000 USDT (0%)

2018-03-01 17:30:01 - placing buy order...

API BUY:maker
2018-03-01 17:30:01  11115.00 BTC-USDT   +0.03%        1   64.87 ++      buying  0.00000 BTC  5003.15009114 USDT   +0.00%   -1.54%
2018-03-01 17:30:01 - buy order placed at 11113.00 USDT

buy order completed at 2018-03-01 17:30:31:

0.44570400 BTC at 11113.00 USDT
total 4953.10 USDT
0.0000% slippage (orig. price 11113.00 USDT)
execution: a few seconds

2018-03-01 17:33:00  11131.94 BTC-USDT   +0.18%      293   66.89 +++     bought

I think in c.order_type in conf.js is just ignored?

Adding the question as well as the bug label, as I'm questioning if this is a bug at this point.

Dump the running config using O in the console and verify its indeed taker

same issue, always need to start live trading and type the "T" uppercase for making taker working

This is indeed a bug.
c.order_type has no effect, the bot will always start in maker mode unless switched using T
Let me take a look whats broken.

I checked that It's fixed in PR #1459.
Thanks again @defkev @DeviaVir.


Server error, please report the following request id: 65b02b79-277f-4310-bb17-e01a6c165bd4

Server error, please report the following request id: 65b02b79-277f-4310-bb17-e01a6c165bd4

Hi could you please provide more information as to when you saw this message. What were you dong, where did you see the message? A screen recording would be helpful.

There was an incident that has since been resolved, please let us know if you have any other issues.


Title bar min/max/close button area blocks the context menu

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.84.2
OS Version: windows 10

Steps to Reproduce:

Right click on title bar near the top right corner;
See the context menu was blocked by min/max/close buttons:

Trivia:
There seems to have a window.experimental.windowControlsOverlay.enabled config that can make title bar min/max/close buttons to have transparent background (see https://stackoverflow.com/a/73595132/14963554), but it's gone in recent versions, can we bring back the feature in other ways?

dupe of https://github.com/microsoft/vscode/issues/160518


chore: Initial code to generate ts code from Noir ABI

This is some rough code to generate typescript bindings for a given abi.json
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

For private kernel init, this generates:

// Type aliases needed for Noir primitives
type Field = number;
type u32 = number;

interface Address {
  inner: Field;
}

interface Point {
  x: Field;
  y: Field;
}

interface EthAddress {
  inner: Field;
}

interface ContractDeploymentData {
  deployer_public_key: Point;
  constructor_vk_hash: Field;
  function_tree_root: Field;
  contract_address_salt: Field;
  portal_contract_address: EthAddress;
}

interface TxContext {
  is_fee_payment_tx: boolean;
  is_rebate_payment_tx: boolean;
  is_contract_deployment_tx: boolean;
  contract_deployment_data: ContractDeploymentData;
  chain_id: Field;
  version: Field;
}

interface FunctionSelector {
  inner: u32;
}

interface FunctionData {
  selector: FunctionSelector;
  is_internal: boolean;
  is_private: boolean;
  is_constructor: boolean;
}

interface TxRequest {
  origin: Address;
  args_hash: Field;
  tx_context: TxContext;
  function_data: FunctionData;
}

interface CallContext {
  msg_sender: Address;
  storage_contract_address: Address;
  portal_contract_address: EthAddress;
  function_selector: FunctionSelector;
  is_delegate_call: boolean;
  is_static_call: boolean;
  is_contract_deployment: boolean;
}

interface Block {
  private_data_tree_root: Field;
  nullifier_tree_root: Field;
  contract_tree_root: Field;
  l1_to_l2_data_tree_root: Field;
  public_data_tree_root: Field;
  global_variables_hash: Field;
}

interface HistoricalBlockData {
  blocks_tree_root: Field;
  block: Block;
  private_kernel_vk_tree_root: Field;
}

interface PrivateCircuitPublicInputs {
  call_context: CallContext;
  args_hash: Field;
  return_values: Field[];
  read_requests: Field[];
  new_commitments: Field[];
  new_nullifiers: Field[];
  nullified_commitments: Field[];
  private_call_stack: Field[];
  public_call_stack: Field[];
  new_l2_to_l1_msgs: Field[];
  encrypted_logs_hash: Field[];
  unencrypted_logs_hash: Field[];
  encrypted_log_preimages_length: Field;
  unencrypted_log_preimages_length: Field;
  historical_block_data: HistoricalBlockData;
  contract_deployment_data: ContractDeploymentData;
  chain_id: Field;
  version: Field;
}

interface CallStackItem {
  contract_address: Address;
  public_inputs: PrivateCircuitPublicInputs;
  is_execution_request: boolean;
  function_data: FunctionData;
}

interface PrivateCallStackItem {
  inner: CallStackItem;
}

interface Proof {
}

interface VerificationKey {
}

interface MembershipWitness {
  leaf_index: Field;
  sibling_path: Field[];
}

interface ReadRequestMembershipWitness {
  leaf_index: Field;
  sibling_path: Field[];
  is_transient: boolean;
  hint_to_commitment: Field;
}

interface PrivateCallData {
  call_stack_item: PrivateCallStackItem;
  private_call_stack_preimages: PrivateCallStackItem[];
  proof: Proof;
  vk: VerificationKey;
  function_leaf_membership_witness: MembershipWitness;
  contract_leaf_membership_witness: MembershipWitness;
  read_request_membership_witnesses: ReadRequestMembershipWitness[];
  portal_contract_address: EthAddress;
  acir_hash: Field;
}

interface PrivateKernelInputsInit {
  tx_request: TxRequest;
  private_call: PrivateCallData;
}

interface AggregationObject {
}

interface NewContractData {
  contract_address: Address;
  portal_contract_address: EthAddress;
  function_tree_root: Field;
}

interface OptionallyRevealedData {
  call_stack_item_hash: Field;
  function_data: FunctionData;
  vk_hash: Field;
  portal_contract_address: EthAddress;
  pay_fee_from_l1: boolean;
  pay_fee_from_public_l2: boolean;
  called_from_l1: boolean;
  called_from_public_l2: boolean;
}

interface PublicDataUpdateRequest {
  leaf_index: Field;
  old_value: Field;
  new_value: Field;
}

interface PublicDataRead {
  leaf_index: Field;
  value: Field;
}

interface CombinedAccumulatedData {
  aggregation_object: AggregationObject;
  read_requests: Field[];
  new_commitments: Field[];
  new_nullifiers: Field[];
  nullified_commitments: Field[];
  private_call_stack: Field[];
  public_call_stack: Field[];
  new_l2_to_l1_msgs: Field[];
  encrypted_logs_hash: Field[];
  unencrypted_logs_hash: Field[];
  encrypted_log_preimages_length: Field;
  unencrypted_log_preimages_length: Field;
  new_contracts: NewContractData[];
  optionally_revealed_data: OptionallyRevealedData[];
  public_data_update_requests: PublicDataUpdateRequest[];
  public_data_reads: PublicDataRead[];
}

interface CombinedConstantData {
  block_data: HistoricalBlockData;
  tx_context: TxContext;
}

interface KernelCircuitPublicInputs {
  end: CombinedAccumulatedData;
  constants: CombinedConstantData;
  is_private: boolean;
}

export interface ReturnType {
  value: KernelCircuitPublicInputs;
}

export interface InputType {
  input: PrivateKernelInputsInit;
}

export function execute(input: InputType): ReturnType {
   throw Error('Add execute function logic here')
}

Last three structs are the most important, ReturnType may need to be changed to a type alias:
export interface ReturnType {
  value: KernelCircuitPublicInputs;
}


add Freifunk KBU

Köln, Bonn und Umgebung are missing from the census
https://map.kbu.freifunk.net/

That was fast, thank you for taking a look <3


What if upsPlus.py consistently fails to run

or isn't found?
Essentially my question is, what will the f/w do, if there is no control program and external power fails?
Will the UPS eventually stop draining the batteries at a voltage still safe for the batteries? I'm just wondering ...

i think have discovered that tonight. or that, or some bad configuration on raspi-blacklist.conf file.
On the morning got my rpi OFF and batteries empty.
:o

Well, the question is how empty? Below 2,5 V?  Or did you mean the ups did
its job on its own and switched power to the pi off to protect the battery?
Did you mean that I2C was disabled on the Pi?
I had to Google raspi-blacklist.conf and it was suggested raspberry os
doesn't have a blacklist like that. I am only familiar with raspi-config.
Arjen
(On The Road)
Op ma 17 mei 2021 20:47 schreef hellrezistor @.***>:

i think have discovered that tonight. or that, or some bad configuration
on raspi-blacklist.conf file.
On the morning got my rpi OFF and batteries empty.
:o
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/geeekpi/upsplus/issues/31#issuecomment-842513943, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANCBKNSEJIDGUQPNZIRXVUDTOFJCHANCNFSM45AFNP4A
.

according to a comment in issue #21, the firmware will shut down the output voltage of the UPS when battery voltage goes below the "protection voltage" (ups registers at address 0x11 / 0x12)

Well, the question is how empty? Below 2,5 V? Or did you mean the ups did its job on its own and switched power to the pi off to protect the battery? Did you mean that I2C was disabled on the Pi? I had to Google raspi-blacklist.conf and it was suggested raspberry os doesn't have a blacklist like that. I am only familiar with raspi-config. Arjen (On The Road) Op ma 17 mei 2021 20:47 schreef hellrezistor @.***>:
…
i think have discovered that tonight. or that, or some bad configuration on raspi-blacklist.conf file. On the morning got my rpi OFF and batteries empty. :o — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#31 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANCBKNSEJIDGUQPNZIRXVUDTOFJCHANCNFSM45AFNP4A .

have reverted-back raspi-blacklist.conf file.
batteries (4x) with 4.2v (3.7v) fullcharged.
Click power button (NO power cable connect), Ups on and detecting battery low (1 led blink), raspberry and OS run.
Re-run the upsplus.git repository, execute uninstall.sh and then install.sh
Fast/drastic power off of rpi and ups power
Connect power cable. UPS/Rpi power on auto. and wait until reach 2nd led blinking (on 1st try will happens error, because script detect low battery and send the  power off)
Execute curl -Lso- https://git.io/JLygb | bash

Seems working and show charging leds now 1 led fix 2nd led blink
23:23
------------------------------------------------------------
------Current information of the detected Raspberry Pi------
------------------------------------------------------------
Raspberry Pi Supply Voltage: 4.908 V
Raspberry Pi Current Current Consumption: 1135.071 mA
Raspberry Pi Current Power Consumption: 5571.068 mW
------------------------------------------------------------
-------------------Batteries information-------------------
------------------------------------------------------------
Voltage of Batteries: 3.764 V
Battery Current (Charging) Rate: 4167.805 mA
Current Battery Power Supplement: 15726.829 mW
Successfully set the protection voltage to: 3700 mV
------------------------------------------------------------
Currently charging via Type C Port.

1minutes later
------------------------------------------------------------
------Current information of the detected Raspberry Pi------
------------------------------------------------------------
Raspberry Pi Supply Voltage: 4.908 V
Raspberry Pi Current Current Consumption: 1131.034 mA
Raspberry Pi Current Power Consumption: 5793.103 mW
------------------------------------------------------------
-------------------Batteries information-------------------
------------------------------------------------------------
Voltage of Batteries: 3.784 V
Battery Current (Charging) Rate: 4203.902 mA
Current Battery Power Supplement: 15887.805 mW
Successfully set the protection voltage to: 3700 mV
------------------------------------------------------------
Currently charging via Type C Port.

+1minutes later
------------------------------------------------------------
------Current information of the detected Raspberry Pi------
------------------------------------------------------------
Raspberry Pi Supply Voltage: 4.912 V
Raspberry Pi Current Current Consumption: 1075.862 mA
Raspberry Pi Current Power Consumption: 5281.749 mW
------------------------------------------------------------
-------------------Batteries information-------------------
------------------------------------------------------------
Voltage of Batteries: 3.784 V
Battery Current (Charging) Rate: 4129.756 mA
Current Battery Power Supplement: 15536.585 mW
Successfully set the protection voltage to: 3700 mV
------------------------------------------------------------
Currently charging via Type C Port.

Why did you install the software again?
If an original script has changed, isn't it easier to just download the
newer version?
I rewrote the scripts because I found the output formatting terrible.
Values accurate to the mV, mA and mW are not credible, let alone decimal
fractions of those units.
You wrote you have 4 batteries. Did you make your own expansion board
connecting to the 2 groups if 4 pins?
Arjen
(On The Road)
Op di 18 mei 2021 01:29 schreef hellrezistor @.***>:

Well, the question is how empty? Below 2,5 V? Or did you mean the ups did
its job on its own and switched power to the pi off to protect the battery?
Did you mean that I2C was disabled on the Pi? I had to Google
raspi-blacklist.conf and it was suggested raspberry os doesn't have a
blacklist like that. I am only familiar with raspi-config. Arjen (On The
Road) Op ma 17 mei 2021 20:47 schreef hellrezistor @.***>:
… <#m_-7383259235678430471_>
i think have discovered that tonight. or that, or some bad configuration
on raspi-blacklist.conf file. On the morning got my rpi OFF and batteries
empty. :o — You are receiving this because you authored the thread. Reply
to this email directly, view it on GitHub <#31 (comment)
https://github.com/geeekpi/upsplus/issues/31#issuecomment-842513943>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANCBKNSEJIDGUQPNZIRXVUDTOFJCHANCNFSM45AFNP4A
.

have reverted-back raspi-blacklist.conf file.
batteries (4x) with 4.2v (3.7v) fullcharged.
Click power button (NO power cable connect), Ups on and detecting
battery low (1 led blink), raspberry and OS run.
Re-run the upsplus.git repository, execute uninstall.sh and then
install.sh
Fast/drastic power off of rpi and ups power
Connect power cable. UPS/Rpi power on auto. and wait until reach 2nd
led blinking (on 1st try will happens error, because script detect low
battery and send the power off)
Execute curl -Lso- https://git.io/JLygb | bash

Seems working and show charging leds now 1 led fix 2nd led blink
23:23

------Current information of the detected Raspberry Pi------

Raspberry Pi Supply Voltage: 4.908 V
Raspberry Pi Current Current Consumption: 1135.071 mA
Raspberry Pi Current Power Consumption: 5571.068 mW

-------------------Batteries information-------------------

Voltage of Batteries: 3.764 V
Battery Current (Charging) Rate: 4167.805 mA
Current Battery Power Supplement: 15726.829 mW
Successfully set the protection voltage to: 3700 mV

Currently charging via Type C Port.
1minutes later

------Current information of the detected Raspberry Pi------

Raspberry Pi Supply Voltage: 4.908 V
Raspberry Pi Current Current Consumption: 1131.034 mA
Raspberry Pi Current Power Consumption: 5793.103 mW

-------------------Batteries information-------------------

Voltage of Batteries: 3.784 V
Battery Current (Charging) Rate: 4203.902 mA
Current Battery Power Supplement: 15887.805 mW
Successfully set the protection voltage to: 3700 mV

Currently charging via Type C Port.
+1minutes later

------Current information of the detected Raspberry Pi------

Raspberry Pi Supply Voltage: 4.912 V
Raspberry Pi Current Current Consumption: 1075.862 mA
Raspberry Pi Current Power Consumption: 5281.749 mW

-------------------Batteries information-------------------

Voltage of Batteries: 3.784 V
Battery Current (Charging) Rate: 4129.756 mA
Current Battery Power Supplement: 15536.585 mW
Successfully set the protection voltage to: 3700 mV

Currently charging via Type C Port.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/geeekpi/upsplus/issues/31#issuecomment-842683030, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ANCBKNTXQEIPEBWOY4D6H4DTOGKFPANCNFSM45AFNP4A
.

You wrote you have 4 batteries. Did you make your own expansion board connecting to the 2 groups if 4 pins?

NONONO!!!!!! i use 2 and have other to for replacement

With the watchdog  (0x18 being set to 180 in upsPlus every time it runs), and all the exception handling that I can throw at it, it still happens rather often that 0x18 is NOT updated to 180 by upsPlus.py.
At the moment I have taken out most time.sleep().
There is something very strange to me going on with that SMBus writing. Something I can't find.
And so, every morning early I find the Pi stopped. In the UPS_event.log, I see regular cases where my upsPlus.py reports 0x18=120 ... (first it really hard tries to update to 180 .... and then a few lines of code later the script reads 120 from that register .... it should always be either 180 or 179 .... and then when upsPlus is done, the f/w counts down to 120 .... until 0x18 gets reset to 180 by the script running again one minute later.
Next I'll  take out the watchdog .... have the upsPLus.py set 0x18 to 0. And test again ...
And add time.sleep(0.25) or so back in in those places where something bad goes on.
I'm also thinking of making a short version of upsPlus.py with no other output than timestamp and 0x18 content. That way I'll have a log that's short enough to post ...
Also I found that not updating 0x18 correctly is apparently not the reason for PowerCycle.py to fail to restart the Pi.
In v.7 it SHOULD restart the Pi ca. 10 minutes after starting the script (which sets  0x18-0x1A and then shuts down the Pi; the UPS cuts power and then 10 min. later it poweers the Pi on again .... most of the time .... sometimes it fails to start up the Pi ...
in v.5 it wouldn't take 10 minutes, just 5 seconds. They changed it .... probably changed something radical in the f/w ...

With the watchdog (0x18 being set to 180 in upsPlus every time it runs), and all the exception handling that I can throw at it, it still happens rather often that 0x18 is NOT updated to 180 by upsPlus.py.
At the moment I have taken out most time.sleep().
There is something very strange to me going on with that SMBus writing. Something I can't find.
And so, every morning early I find the Pi stopped. In the UPS_event.log, I see regular cases where my upsPlus.py reports 0x18=120 ... (first it really hard tries to update to 180 .... and then a few lines of code later the script reads 120 from that register .... it should always be either 180 or 179 .... and then when upsPlus is done, the f/w counts down to 120 .... until 0x18 gets reset to 180 by the script running again one minute later.
Next I'll take out the watchdog .... have the upsPLus.py set 0x18 to 0. And test again ...
And add time.sleep(0.25) or so back in in those places where something bad goes on.
I'm also thinking of making a short version of upsPlus.py with no other output than timestamp and 0x18 content. That way I'll have a log that's short enough to post ...
Also I found that not updating 0x18 correctly is apparently not the reason for PowerCycle.py to fail to restart the Pi.
In v.7 it SHOULD restart the Pi ca. 10 minutes after starting the script (which sets 0x18-0x1A and then shuts down the Pi; the UPS cuts power and then 10 min. later it poweers the Pi on again .... most of the time .... sometimes it fails to start up the Pi ...
in v.5 it wouldn't take 10 minutes, just 5 seconds. They changed it .... probably changed something radical in the f/w ...

hi ArgenR49,
you do not need to always set 0x18 register , you can comment it out , it is Shutdown Countdown setting , it will start countdown once you set it to a number in range 10 ~255 ,
for example, it will told ups to shutdown power after 240 seconds.
i2cset -y 1 0x17 24 20
it means starting countdown in 20 seconds.
why i put 24 after 0x17?
0x18 | Shutdown Countdown | 0(False)/10 - 255 | Bool/Sec
beacuse 0x18 in binary is 00011000, decimal number is : 24
and you can modify your upsPlus.py file to fit for your needs,  it is a demo code for you.


WIP: Refactor markdown

Here's our start at rewriting the markdown extension as proposed in #160.  Feedback or suggestions are welcome!

Ah can you do the PR on the next branch by any chance?

I'm guessing this PR can be redone from scratch with the coming changes to the shortcode handling? Or at least significant changes


Could not find gem 'geotab' in any of the gem sources

I'm using RVM: ruby 2.2.3 and got this error while installing the bundler:
Could not find gem 'geotab' in any of the gem sources listed in your Gemfile or available on this machine.

I'm assuming you already fixed this, but in case someone else has this issue; you can try adding the github repo path to your gemfile:
gem 'geotab', git: 'git://github.com/rarestep/geotab.git'


[KED-1242] Kedro 'core' library without included io DataSets or contrib.io

Description
This was discussed in a comment on a separate issue, but I figured it merited its own feature request, so I'll repeat here:

I can't provide Kedro as a library to AWS Glue, because it includes in its dependency list libraries that break on Glue for relying on C extensions.
One thought this raises for me is the possibility of having a version of Kedro that is essentially a pure python 'Kedro Core' library with no io or contrib.io datasets built-in (besides the core AbstractDataSet), leaving each of those to be pip installed separately as io plugins based on one's needs.
That would make it so that I can provide this hypothetical Kedro core library to Glue and not worry that it's going to choke on trying to include pandas or numpy (as I can't use any of those io DataSets anyways in Glue).

Since then I ended up taking my thought a step further by forking Kedro and coarsely removing the non-core functionality (branch here) that causes Kedro to depend on pandas, numpy, and other libraries that I considered not part of the 'core' Kedro runtime context/catalog/pipeline/node machinery.   By providing my forked "Kedro core" branch to AWS Glue, I have been able to deploy my Kedro project and run it in Glue successfully 🎉
Context
This opens up the opportunities for Kedro to handle a purely Pyspark pipeline use-case and to allow for simple deployment to AWS Glue, a good choice for running spark in the cloud without the need for managing one's own cluster.
Possible Implementation
I've also been using the AWS CDK library, and thought Kedro could use a similar approach to what CDK uses: providing a 'core' library and have every other use-case-specific 'io' plugin as a separate small library that could be installed as needed.  e.g. see https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html#hello_world_tutorial_add_bucket

Good to hear back from you @sarchila! That is excellent news, thank you for sharing! This was added to our backlog a while ago, with a view to deliver in 2020. We welcome any contributions in this space if you are interested. :)

We're on our way to this issue! We're launching these datasets in the next release: https://github.com/quantumblacklabs/kedro/tree/develop/kedro/extras/datasets
And we will give users time to use these ones instead. The major release following this will have io and contrib dependencies removed from Kedro.

Great news @yetudada - thanks so much for your team's responsiveness on this issue 🙌

@sarchila this issue can finally be closed. Commit ecd7277 has addressed this change. Thank you so much for submitting this request!


spike: warp routes

https://docs.hyperlane.xyz/docs/reference/applications/warp-routes

Can i pick this up, I would also need to know more about the necessary todos because i believe it's beyond just the interface and implementations

Can i pick this up, I would also need to know more about the necessary todos because i believe it's beyond just the interface and implementations

Yes definitely this is a spike issue, we are scoping it and splitted in multiple issues. Ping me on the telegram group

Okay

Request for assignment: Dynamic Security Routes
Hello @EvolveArt
I'm Diego Duarte from Costa Rica and I would like to help with this issue. I am a Web3 learner but I have experience using Typescript and Nodejs.
Here is my OD profile.

Thanks for your consideration!
Best regards,
Diego Duarte.

Hey @EvolveArt, I'm trying to deploy a warp route on a chain that uses a starknet protocol. I'm confused by the fact that the README shows a green checkmark for warp routes. Has this been implemented already? If so, could you provide instructions on how to deploy one? I was able to deploy the core contracts. I was also able to deploy a warp route using the official hyperlane monorepo.

@EvolveArt I'm trying to deploy the token_HypXERC20 contract. However, I'm getting Execution failed. Failure reason: 0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473 ('Input too long for arguments').\n","transaction_index":0}
Here's my config
"token_HypXERC20": {
            "name": "token_HypXERC20",
            "constructor": {
                "owner": {
                    "type": "ContractAddress",
                    "value": "$OWNER_ADDRESS"
                },
                "name": {
                    "type": "String",
                    "value": "CUSDC"
                },
                "symbol": {
                    "type": "String",
                    "value": "CUSDC"
                },
                "decimals": {
                    "type": "u8",
                    "value": "6"
                },
                "total_supply": {
                    "type": "u256",
                    "value": "1000000"
                },
                "interchain_security_module": {
                    "type": "ContractAddress",
                    "value": "$trusted_relayer_ism"
                },
                "hook": {
                    "type": "ContractAddress",
                    "value": "$hook"
                },
                "mailbox": {
                    "type": "ContractAddress",
                    "value": "$mailbox"
                }
            }
        }


[stable/influxdb]   Add release label into chart.

Signed-off-by: youngman<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
https://github.com/helm/charts/pull/19295
There are 3 feature in it, I think separating them separately would make more sense.

Add release label into chart.

Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @aisuko

/ok-to-test


Broken sites: trypuppeteer.com and puppeteersandbox.com

https://puppeteersandbox.com/ gives error when running examples:
WebSocket connection to 'wss://a28klffomxbxm8.iot.eu-central-1.amazonaws.com/mqtt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ7Z7C26WYKEAIL7A%2F20181116%2Feu-central-1%2Fiotdevicegateway%2Faws4_request&X-Amz-Date=20181116T033232Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=d0575f9bad51f919ba710bb2088bfe40d9a461d6bf466e13c8988a4f79307b2d' failed: Error in connection establishment: net::ERR_CERT_SYMANTEC_LEGACY
and https://trypuppeteer.com/ does not respond at all.

@iamchriswick thanks for pointing out the trypuppeteer.com link. That domain does not exist anymore. I updated the docs to point to puppeteersandbox.com. I can however not reproduce the websocket error. I'm running Chrome 70.0.3538.102 on MacOS. The error seems an SSL certificate issue with AWS IOT (which we use for websocket functionality).

Issue was solved

Was this change ever pushed?
trypuppeteer.com has been purchased and is now a phishing site. puppeteersandbox.com still links to it as of 5/14/2019

@SamKirkland as mentioned earliers, trypuppeteer was abandoned a pretty long time ago. I updated most links, but forgot one. The Readme should be up to date now.

@tnolet yep I saw those commits.
However on puppeteersandbox.com if you click on the "Puppeteer Sandbox 1.11.0" text (the logo class) links to trypuppeteer

@SamKirkland aha, gotcha. Will fix it right away. Tnx for that!


Avoid frequent polling in OSMInputFile

This PR tries to avoid the locking overhead caused by polling the LinkedBlockingQueue for each element by draining up to 1k available elements into an ArrayDeque.

Should this be faster and/or did you benchmark the code?

I tested it with an Austria pbf (596MB)
Master:
2020-11-25 21:40:07.645 [main] INFO  com.graphhopper.reader.osm.OSMReader - 100 000 (preprocess), osmWayMap:467 156 totalMB:5120, usedMB:1553
2020-11-25 21:40:07.914 [main] INFO  com.graphhopper.reader.osm.OSMReader - creating graph. Found nodes (pillar+tower):13 271 268, totalMB:5120, usedMB:1827
2020-11-25 21:40:33.973 [main] INFO  com.graphhopper.reader.osm.OSMReader - 69 914 450, now parsing ways
2020-11-25 21:40:58.963 [main] INFO  com.graphhopper.reader.osm.OSMReader - 77 497 029, now parsing relations
2020-11-25 21:40:59.179 [main] INFO  com.graphhopper.reader.osm.OSMReader - finished way processing. nodes: 1979024, osmIdMap.size:13291849, osmIdMap:168MB, nodeFlagsMap.size:20581, relFlagsMap.size:619224, zeroCounter:20298 totalMB:5120, usedMB:3216
2020-11-25 21:40:59.179 [main] INFO  com.graphhopper.reader.osm.OSMReader - time pass1:23s, pass2:51s, total:74s

PR:
2020-11-25 21:34:16.921 [main] INFO  com.graphhopper.reader.osm.OSMReader - 100 000 (preprocess), osmWayMap:467 156 totalMB:5120, usedMB:1638
2020-11-25 21:34:17.253 [main] INFO  com.graphhopper.reader.osm.OSMReader - creating graph. Found nodes (pillar+tower):13 271 268, totalMB:5120, usedMB:1916
2020-11-25 21:34:28.660 [main] INFO  com.graphhopper.reader.osm.OSMReader - 69 914 450, now parsing ways
2020-11-25 21:34:48.808 [main] INFO  com.graphhopper.reader.osm.OSMReader - 77 497 029, now parsing relations
2020-11-25 21:34:49.081 [main] INFO  com.graphhopper.reader.osm.OSMReader - finished way processing. nodes: 1979024, osmIdMap.size:13291849, osmIdMap:168MB, nodeFlagsMap.size:20581, relFlagsMap.size:619224, zeroCounter:20298 totalMB:5120, usedMB:3023
2020-11-25 21:34:49.082 [main] INFO  com.graphhopper.reader.osm.OSMReader - time pass1:19s, pass2:31s, total:50s

It's a little bit faster :grin:

Impressive. I can reproduce this approx. 30% speed up :+1:

Very nice!


Provide a way to show json expanded on first build

thx for your advice! This is a good feature. But I think expanded on first build may cause performace issue when face large json list or map.


Access to callbacks exported by Wasm script

Hello!
I'm currently embedding the Wasmtime in the C/C++ and got an issue with the callbacks.
What I'm trying to achieve is to call a function, exported by the WASM script, from within the host system.
Here is the example:

From the host side, when conditions occur, I want to call the onTimer1 function.
This generates the following WASM code:

Now from the C/C++ host, I get the following exports:

My issue is that when the script invokes the function "startTimer" in the callback parameter I get 1 (integer value of one). And if I try to get the callback with the 'wasm_extern_as_func' function it will misbehave because the index of the exported function in the exports is 2, not 1. If I hardcode the index of 2 it will work as expected.
I assumed that there is a need to create a table but I tried creating it using 'memory' (exports index 0) and '__table_base' (exports index 11), but the created table is always NULL (the module and exports are correct).
After I took a look at some examples I came to the conclusion that the only way to call a function is to know exactly the index of it in the exports, which can be found if I know the name of the function. For example (taken from https://github.com/WebAssembly/wasm-c-api/blob/master/example/table.c):

Am I missing something? Is the only way to get the function is to know the index of it in the exports? Is there a way to get a function via WASM table or something similar by using the value provided when the startTimer function is called?
Thank you in advance and sorry for the long post.

Thanks for the report! There's a number of things to digest here and I think we could definitely improve our documentation in a few respects to help you here as well.
Your host-defined function, startTimer, is receiving an indirect function pointer from the wasm module. In WebAssembly C/C++ indirect function pointers are represented as 32-bit integers (you're seeing the value of 1). Unlike native platforms where the representation is the address of the native code in memory, the address of a function in WebAssembly is its index into the module's function table. The 1 that you're getting is not the export or function index, rather it's the index of the function within the module's function table.
What you'll need to do is to ensure that the module exports its function table (I'm not sure how to do this off-hand in C++). Once that's done though you'll need to acquire the function table, lookup slot 1, convert that to a Func of your expected signature, and call it.
Given the *.wat code you gisted I don't think the function table is exported so you may need to find the right argument to LLD to create an export for it.
Note that the examples in this repository work because the exports of the wasm module are known in advance. A more robust implementation would do string-based matching to find the right export. Again though that's just the index of exports, and that's different from the index space of the table itself.

Thank you for such a fast response!
Yes, here we had a similar idea BUT I forgot completely about the exports on the LLVM side. I was already using the --export-all option so I was convinced that everything was included. But I was wrong.
I adapted the compilation option and now I get the following exports:

The good news is that now I can in fact create a table, but the bad news was found here:

Taken from here: https://github.com/bytecodealliance/wasmtime/blob/main/crates/c-api/include/doc-wasm.h
Or I'm missing something or there is no way, at least for now, to convert wasm_ref_t into wasm_func_t ?

I tried reinterpreter_cast, it seems to work, but it is a bit strange, will test a bit more...

Ah ok so with those exports you'll want to index into __indirect_function_table, and you should be able to use wasmtime_funcref_table_get thorugh the C API to load the function which is then callable.

Thank you for your help @alexcrichton! Will try this wasmtime_funcref_table_get.
Will close the issue :+1:


Splashscreen show and hide methods do not trigger visibilitychange

This may be related: https://forums.appgyver.com/#!/steroids:visibilitychange-on-fresh-a
"visibilitychange doesn't actually trigger with the first tab because visibility doesn't change. document.visibilityState == visible for the first tab even though it really isn't on the screen yet. How can I determine when the first (primary) tab is actually displayed to the user?"

The splashscreen show/hide happens separate of the WebView stack, so the solution would be to manually broadcast a visibilitychange event to the topmost WebView when the splashscreen is shown, and another when it is hidden.


Manage TiCDC with TiDB SQL command

Description
Is your feature request related to a problem? Please describe:

TiCDC as a member of the TiDB ecosystem, should managed by SQL interface.
Describe the feature you'd like:

Hope the user can want to operate TiCDC like this:
# create changefeed
CREATE CHANGEFEED xxx
# query changefeed
SHOW CHANGEFEED

[ ] implement ticdc-lib library
[ ] implement changefeed management
[ ] implement capture management
[ ] import meta data management

Describe alternatives you've considered:

Value
Value description
This will provide a unified usage experience as a TiDB component.
Value score

(TBD) / 5

Workload estimation

(TBD) person-day

Time

GanttStart: 2020-09-01
GanttDue: 2020-10-31

Closed, as it's no longer in our roadmap (within 1 year)


make user arrive at top of page on internal links

every time a user is navigated internally, make sure their scroll position is at the top of the screen.

Done 53b8a9b5cd096d9006a99fdfadc027e1de3e2baa.


Created ListMessage Function - Filter Chat

solves issue https://github.com/mjimenez98/chat-web-app/issues/5

Return all posted messages that are within the date/time range
If no range is specified, all messages are returned

Added ListMessages(date-range) Function in ChatManager
Updated Front-End for testing

Chat without filter:

Chat with start Date no end Date:

result (none)

Chat with start Date no end Date: (1 result)

Chat with end Date no Start date:

result

Chat with Start & End date:

Result:

Chat when filtered with no start & end date : (All messages)

Awesome! 🥳 You got it working 🙌 And you are also solving #1! Feel free to add that to your PR with Closes #1 so it is automatically closed once this PR is merged.
Also, while I was looking through the code I thought of a few things:
Using a different form for the filter
As opposed to posting a message in which we send the server information to be saved, here we are trying to receive information from the server based on our date parameters. Because of this, what would you think about moving the logic in the jsp and the servlet from a Post to a Get request by using a new form that is exclusive to the filter?
Turning chatManager and filteredChat into one in the controller
Right now we are setting chatManager and filteredChat in the servlet. What if we combined the two? I only created chatManager because I wanted to test what I was posting when I created postMessage.
All requests for message retrieval should go through the ListMessages function in the model and the parameters should be (from, to, format). You have already made it so the full chat is returned if no date parameters have been received. This same logic would be 💯 if implemented in the servlet. What do you think? Do you agree?
Java Stream API
We can tackle this in another issue, but this would greatly affect the current implementation of the ListMessages function by using the built-in filter function for Java streams.
Here is an example:
filteredList = originalList.stream()
      .filter(employee -> nameFilter.contains(employee.getName()))

Warnings
These have been highlighted by IntelliJ:

Chat.jsp line 34: Unchecked cast: 'java.lang.Object' to 'java.util.LinkedList<chat.Message>'
Chat.jsp line 65: Element br is not allowed here
Chat.jsp line 67: Wrong attribute value
Chat.jsp line 68: Closing tag matches nothing

Formatting
So we stay consistent with Java conventions, I would say select all the lines in the 3 modified files and do Command/Control + Alt/option + L so they are automatically formatted by IntelliJ

wow great review thanks 👌 ! I 100% agree with making a GET form for the filter, I will do that !
However, I'm not sure I understand the "Turning chatManager and filteredChat into one in the controller" , can you elaborate please?
Thanks for catching all those warnings 😅 I will fix that !

@CoBatool Here we are setting both chatManager and filteredChat as attributes so we can access them in the JSP. And if we go to the JSP we can see how at the moment there are two for loops: one for chatManager and one for filteredChat. Even for the for loop in which filteredChat is being probed, chatManager is being used for obtaining the filtered messages.
I believe the good practice here would be not to set chatManager as an attribute to be passed to the JSP. That way we are not giving the JSP access to the whole object. Instead, we use the filteredMessages attribute to access the messages in the JSP.
I could explain this better over Discord if preferred. All these variables and locations are becoming confusing to me as I write this 😅


Videos are not mirrored

Hey,
videos are not mirrored. My logs don't mention any issues.
Source: https://twitter.com/Hetzner_Online/status/1521825499072323584
Result: https://social.cologne/@Hetzner_Online/108243649641750950

Hi!
Nice find! It looks like this was an extended tweet and that was the main reason it didn't get all the entities.
Could you try with version 1.0.3rc15? It should be able to mirror these kind of extended tweets.
You can install it like so:
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pleroma-bot==1.0.3rc15


gcp_sql_backup table is throwing interfaceToColumnValue failed for column 'start_time' error

Describe the bug
we're getting this error interfaceToColumnValue failed for column 'start_time': found , expected number\n when we try to execute a query from this table gcp_sql_backup it seems in some point in your side the value cannot be casted or something like that
probably the vlaue cannot be converted in the sql translation
Steampipe version (steampipe -v)
0.21.3
Plugin version (steampipe plugin list)
v0.47.0
To reproduce
Cannot reproduced
but you can make a query to gpc_sql_backup with invalid date or null maybe
Expected behavior
Should return values
Additional context

@ParthaI i created this issue, because is continue happening

Hello @jeffreymp17,
I hope this message finds you well. I am writing to sincerely apologize for the recurring issue you've been experiencing recently. I understand how frustrating and inconvenient this must be for you, and I want to assure you that resolving this matter is our top priority.
After implementing the recent bug fix for the end_time column issue, I didn't observe any similar problems with the other TIMESTAMP columns. I executed the query with most possible lifecycle states (which were manually simulated) and in each case, I successfully retrieved the value.
I apologize for the oversight in not running the query with the DELETION_PENDING backup state. In this state, it appears that we are receiving null values for both the start_time and end_time columns.
A PR has been raised to address this issue across all TIMESTAMP type columns. I am optimistic that this will resolve any similar issues with these types of columns.
Have you observed a similar issue in any columns other than those of the timestamp type?
Test Result:
> select id, instance_name, status, end_time, start_time, window_start_time, enqueued_time from gcp_sql_backup;
+---------------+---------------+---------+----------+---------------------------+---------------------------+---------------------------+
| id            | instance_name | status  | end_time | start_time                | window_start_time         | enqueued_time             |
+---------------+---------------+---------+----------+---------------------------+---------------------------+---------------------------+
|<PHONE_NUMBER>811 | test53        | RUNNING | <null>   | 2024-01-12T10:41:22+05:30 | 2024-01-12T10:41:22+05:30 | 2024-01-12T10:41:22+05:30 |
+---------------+---------------+---------+----------+---------------------------+---------------------------+---------------------------+

Time: 1.6s. Rows fetched: 1. Hydrate calls: 0.
> select id, instance_name, status, end_time, start_time, window_start_time, enqueued_time from gcp_sql_backup;
+---------------+---------------+------------+---------------------------+---------------------------+---------------------------+---------------------------+
| id            | instance_name | status     | end_time                  | start_time                | window_start_time         | enqueued_time             |
+---------------+---------------+------------+---------------------------+---------------------------+---------------------------+---------------------------+
|<PHONE_NUMBER>811 | test53        | SUCCESSFUL | 2024-01-12T10:42:44+05:30 | 2024-01-12T10:41:22+05:30 | 2024-01-12T10:41:22+05:30 | 2024-01-12T10:41:22+05:30 |
+---------------+---------------+------------+---------------------------+---------------------------+---------------------------+---------------------------+

Time: 1.7s. Rows fetched: 1. Hydrate calls: 0.

> select id, instance_name, status, end_time, start_time, window_start_time, enqueued_time from gcp_sql_backup;
+---------------+---------------+------------------+----------+------------+---------------------------+---------------------------+
| id            | instance_name | status           | end_time | start_time | window_start_time         | enqueued_time             |
+---------------+---------------+------------------+----------+------------+---------------------------+---------------------------+
|<PHONE_NUMBER>811 | test53        | DELETION_PENDING | <null>   | <null>     | 2024-01-12T10:41:22+05:30 | 2024-01-12T10:41:22+05:30 |
+---------------+---------------+------------------+----------+------------+---------------------------+---------------------------+

Thank You!

Thanks @ParthaI for your work, I'll test the plugin to see if everything is working as a expected


Deprecated items not handled correctly

The "deprecated" flag is not currently handled; it should either result in a synthetic @Deprecated annotation, or a fake deprecated keyword in the signature.

The annotations are present, it's just that they're not currently emitted for fields or methods.
So all that's really needed is to ignore the ACC_DEPRECATED bit, and make sure that annotations are emitted.


Dropdown: border between first two options is missing

As can be seen on the screenshot:

I've tested this on latest firefox and chrome on ubuntu 14.04 64bit.

Border is not added by default
On Feb 1, 2015 10:39 AM, "Serkan Durusoy"<EMAIL_ADDRESS>wrote:

As can be seen on the screenshot:
[image: image]
https://cloud.githubusercontent.com/assets/4649948/5992600/0cd69446-aa39-11e4-9178-30df28a0260d.png
I've tested this on latest firefox and chrome on ubuntu 14.04 64bit.
—
Reply to this email directly or view it on GitHub
https://github.com/Dogfalo/materialize/issues/584.

Ok then please reopen this because there is a border after the second item.
So there clearly is an inconsistency here. You should either add the border to the first item, or remove the border on the second item.

There is no real border. There is li.divider added to just show an option how to do that border.

Oh! Thank you for the clarification.
For what its worth, compared to other frameworks such as bootstrap, foundation, semantic-ui etc I seem to keep myself having similar problems across materialize css. The documentation is kind of sparse among a few sentences and some code samples.
Now, I'm not saying that I should not be doing my homework, indeed I should.
Nonetheless, a more complete documentation, at least short list of pointers would go a long way.
In retrospect, it would be great if there were some vetted repository of documentation, a wiki perhaps, that we could contribute to. And perhaps in time, some of that could make their way into the official docs.
What's the best way to go about this? I see that wiki is enabled on this repo, but it is empty. Could we utilize that? Would one or more people be able to review contributions?

You can help framework and do pull request with some wiki docs))

Yes, I know that.
Since the github wiki has never been used so far, I'm asking if it is what the repository owner prefers.
And there are no official wiki article guidelines posted. So I don't know in what format and outline the wiki contributions should be.
So in order to actually help, rather than throw in random pull requests, I would like to learn and go by the suggested standards.
I hope you understand.

Sure i do. @Dogfalo answer plz something.

Great! Thanks. I'm actually eager to get going with this.

This actually sounds like a great idea! Feel free to start making wiki pages and we'll check them periodically and try and incorporate more detailed things into our documentation.

Ok, I'll go ahead and try to lay out an outline that I feel makes sense and send in a PR.

It appears github wikis do not go through pull requests. I was able to add two pages without a review requirement.
https://github.com/Dogfalo/materialize/wiki/
Are you sure this is OK with you guys? I mean anyone can add/edit anything.

Yeh it's fine. We can moderate it hopefully

Ok then. Thanks.


Better support for relative links when multiple symbols in the hierarchy have the same name

Bug/issue #, if applicable:

rdar://76252171 #516
#572

Summary
This implements much better support for relative symbol links when multiple symbols in the hierarchy have the same name (or have the same name as the module). This also unblocks—and reenables—support for omitting the module name in documentation extensions.
This change is smaller than the diff makes it appear. 867 of the additions are tests and test data and much of the implementation changes are moved or updated code (153 added, 143 removed).
Details
To describe these changes in detail it's easiest to look at an example. If we consider this Swift code:
/* in a module named "Something" */

public struct Something {
    /// Example 1: ``Something/second``
    /// Example 2: ``Something/fourth``
    public enum Something {
        case first
    }
    /// Example 3: ``Something/Something/Something``
    public var second = 0
}

/// Example 4: ``Something/second``
public struct Wrapper {
    public struct Something {
        /// Example 5: ``Something/Something/second``
        public var third = 0
    }
}

Considering example 1 in the code above
The link resolution starts at the scope of the enum (since the link is in the enum's documentation comment).
Before these changes, the link would match the "Something" with the enum and look for "second" among the enum's members. This would result in an error that "second" doesn't exist at "Something/Something" (the enum).
With these changes, the link resolution would start out the same way as before but when it fails to find "second" within the the enum it would remember that error and walk up the hierarchy to find a new starting point for the search. Since the struct also matches "Something", the implementation would proceed to look for "second" among the struct's members. This succeeds, so the implementation discards the previous error and returns the found "second" struct property.
Considering example 2 in the code above
The link resolution starts at the scope of the enum (since the link is in the enum's documentation comment).
Before these changes, just like in example 1, the link would match the "Something" with the enum and look for "fourth" among the enum's members. This would result in an error that "fourth" doesn't exist at "Something/Something" (the enum).
With these changes, like in example 1, the link resolution would start out the same way as before but when it fails to find "fourth" within the the enum it would remember that error and walk up the hierarchy to find a new starting point for the search. Since the struct also matches "Something", the implementation would proceed to look for "fourth" among the struct's members. This also fails, so the implementation walks up to the module which also match "Something". When the implementation fails to find "fourth" all the way up the hierarchy it raises the first (inner most) error that it encountered. This is the same error that would be raised before these changes.
Considering example 3 in the code above
A bit more condensed. Link resolutions starts at the "second" property. It's not a good starting point for the search (neither it nor its members match the first path component) so the implementation checks the outer scope. The "Something" struct matches the first component and the "Something" enum matches the second component but the enum doesn't have a "Something" member. Before these changes, link resolution would stop here with this error.
With these changes, the implementation encounters the same error, remembers that error, and tries again at the module scope (the scope that contained the previous starting point). At this scope the first "Something" match the module, the second "Something" match the struct, and the final "Something" match the enum. Since all path components are found the implementation discards the previous error and returns the found "Something" enum.
Considering example 4 in the code above
A bit more condensed. Link resolutions starts at the Wrapper. Wrapper has a "Something" member but that doesn't have a "second" member. Before these changes, link resolution would stop here with this error.
With these changes, the implementation encounters the same error, remembers that error, and tries the link at the module's scope. The module has a "Something" member (the struct) which has a "second" member (the property) so the property is returned.
Considering example 5 in the code above
A bit more condensed. Link resolutions starts at the "third" property. Similar to example 3, the property isn't a good starting point so the implementation checks the outer scope (the "Something" struct within the "Wrapper"). This matches the first component so the implementation tries—and fails—the second "Something" as an member of that inner struct. Before these changes, link resolution would stop here with this error.
With these changes the implementation encounters the same error, remembers that error, and tries the link at the Wrapper scope (the scope that contained the previous starting point). The wrapper isn't a good starting point so the implementation tries its outer scope (the module). The module match the first "Something" component, the "Something" top-level struct match the second path component, and the "something". property match the last path component. Since all path components are found the implementation discards the previous error and returns the found "Something" enum.
Performance
In my testing across different OS versions and architectures I haven't found any measurable performance difference from these changes. The retry logic is lazy and only happens when a link previously couldn't be resolved. Traversing the path hierarchy is pretty fast and the implementation peeks one level down before descending to avoid unnecessary traversal and error handling.
In practice symbol hierarchies aren't very deep (almost always single digit) and name collisions in one path branch are uncommon so multiple retries for a single link are expected to be very uncommon.
Previous regressions
The first PR that enabled module-relative documentation extension links needed to be reverted (https://github.com/apple/swift-docc/pull/574) because it introduced a regression.
This root cause for that regression was that documentation links were resolved relative to the module scope with a special case for matching a single path component against the module. This meant that the two links in this documentation extension resolved to the same symbol (the module).
# ``Something``

## Topics

- ``Something``

I added a new test to verify that with these new changes the documentation extension match the module but the curation math the top-level symbol.
I also manually tested the project where this regression was first encountered.
Dependencies
None
Testing
See the Details section for examples of links that used to fail to resolve but work with these changes.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran the ./bin/test script and it succeeded
[x] Updated documentation if necessary

@swift-ci please test

@swift-ci please test


Opening garage results in repeated door openings until HA restart

Finally getting around to logging this issue!
Changes to my garage door state and attributes (e.g. for position) never update in HA.
When I issue a close or open command, there is a delay (~10s) and then the action is carried out successfully - but the state doesn't change in HA.
I think this then triggers a retry in the integration because it assumes the command failed!
This had the effect of me fighting my garage door to stay closed - me with the remote vs Home Assistant with the API. Once i figured out this was the cause, I just stopped using HA to move the door instead using the Zimi app.
Is it just me?

I must confessI haven't looked at this code or solution for a year.   Let me check with Anthony who is actually using HA and Zimi.

Anthony will check - he says that it works for his garage door open/closed but isn't sure about partial states.
Can you upload the logs?   You might need to increase the debug level.
Can you also setup a port-forward and firewall to open the zcc port to me?   If so I can do a remote debug session with you from a local HA instance.   This is how I built the basic integration using Anthony's home and all the lights/doors/switches as a test bed.   I would need you onsite and monitoring the door while I test of course!

Anthony tried this today.   He sent me a video of the UI state changing as the door opened.
Can we arrange a time for some debug?


scenario_starting_state to late

Hello, i have problem when running tests.
I start my database in memory before each scenario. When scenario finishes i kill that task.
  scenario_starting_state fn state ->
    task = Task.async fn ->
      Mix.Shell.cmd("cd event_store && ./run-node.sh --mem-db", fn _ -> nil end)
    end

    state |> Dict.put(:event_store, task)
  end

I also have supervised database GenServer which, as i understand, because of beeing supervised, is started immediately after application is started. But it can't connect to db port, because db isn't started yet.
So how could i make sure that db is started for tests before supervisors spawn workers? Or are there any other ways?
P.S. I am new to elixir and otp.

I think you should start event_store in test/test_helper.ex file before ExUnit.start call

It doesn't seem to work. When i run mix white_bread.run it ignores test/test_helper.exs file. I tried to put there IO.inspect and even break syntax.
Nothing changed.

How about creating your own mix task then which would start event_store and then run mix test task? I'm just thinking loud. Take a look @ http://elixir-lang.org/docs/stable/mix/Mix.Task.html for more info how to create your own mix task.

@revati you could run white_bread with the --no-start (https://github.com/meadsteve/white-bread/blob/master/lib/mix/tasks/white_bread.run.ex#L64) option.
Then in feature or scenario starting function you could start the db then start your app manually after waiting for the db to come up.
Does that help? Or have I misunderstood the issue?

@revati Are you still having this problem?

It is ok now :)


Error: Access is denied. Check credentials and try again. when using service account.

I have a shared mailbox in exchange. Using the api I can connect fine using my personal credentials, specifying username/password. This mailbox access is controlled by an AD group. When I try using a service account it fails with the stack trace.
Exception in thread "main" microsoft.exchange.webservices.data.core.exception.service.remote.ServiceResponseException: Access is denied. Check credentials and try again.
	at microsoft.exchange.webservices.data.core.response.ServiceResponse.internalThrowIfNecessary(ServiceResponse.java:278)
	at microsoft.exchange.webservices.data.core.response.ServiceResponse.throwIfNecessary(ServiceResponse.java:267)
	at microsoft.exchange.webservices.data.core.request.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:165)
	at microsoft.exchange.webservices.data.core.ExchangeService.findItems(ExchangeService.java:985)
	at microsoft.exchange.webservices.data.core.ExchangeService.findItems(ExchangeService.java:1049)
	at abbvie.ir.pikm.assistance.ConnectionTest.processInboxItems(ConnectionTest.java:44)
	at abbvie.ir.pikm.assistance.ConnectionTest.main(ConnectionTest.java:80)

Any suggestions?

I am seeing the same. I started out getting the App-only token to ensure my app is authorized by the admin to silently perform actions across all users. The token has the permissions required to access EWS APIs. However I get a 401 Unauthorized instead of the error your seeing.
Exception in thread "main" microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. The request failed. The remote server returned an error: (401)Unauthorized
at microsoft.exchange.webservices.data.core.request.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:74)
at microsoft.exchange.webservices.data.core.request.GetInboxRulesRequest.execute(GetInboxRulesRequest.java:143)
at microsoft.exchange.webservices.data.core.ExchangeService.getInboxRules(ExchangeService.java:3459)
at com.paloaltonetworks.aperture.token.ExchangeTokenService.getRules(ExchangeTokenService.java:164)
at com.paloaltonetworks.aperture.token.ExchangeTokenService.main(ExchangeTokenService.java:193)

Caused by: microsoft.exchange.webservices.data.core.exception.service.remote.ServiceRequestException: The request failed. The remote server returned an error: (401)Unauthorized
at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.validateAndEmitRequest(ServiceRequestBase.java:644)
at microsoft.exchange.webservices.data.core.request.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:62)
... 4 more
Caused by: microsoft.exchange.webservices.data.core.exception.http.HttpErrorException: The remote server returned an error: (401)Unauthorized
at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.getEwsHttpWebResponse(ServiceRequestBase.java:723)
at microsoft.exchange.webservices.data.core.request.ServiceRequestBase.validateAndEmitRequest(ServiceRequestBase.java:639)
... 5 more


Updating npm package

The last update to the package number was done a month ago, but a bunch of commits have happened since then.
Would it be possible to publish the updated package to npm and bump to 1.0.2.

@elie222 updated :-) thx 4 your feedback ! (https://github.com/inProgress-team/react-native-meteor/commit/662cbbe16e76abb1e1aedf879c0ec3ce55168f91)

Thanks!
On 8 Nov 2016 12:33 p.m., "Georgiy Trokovets"<EMAIL_ADDRESS>wrote:

@elie222 https://github.com/elie222 updated :-) thx 4 your feedback ! (
662cbbe
https://github.com/inProgress-team/react-native-meteor/commit/662cbbe16e76abb1e1aedf879c0ec3ce55168f91
)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/inProgress-team/react-native-meteor/issues/159#issuecomment-259280824,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC8oX7E0U8PuidaeMefHwtvH4pQuTp4kks5q8PihgaJpZM4Ks-1d
.

The npm package hasn't been updated yet:
https://www.npmjs.com/package/react-native-meteor
(Last update a month ago and version 1.0.1)

@Mokto can you help to update version ?

theo-mathieu published a month ago according to RN. Is that @Mokto?

@elie222 yes i only can make changes in repo not in npm package. Need wait @Mokto.

I just updated the npm package to 1.0.2.
;)

@elie222 all good 💯  I already update package in my application. Try again please.
$ npm i react-native-meteor@latest
<EMAIL_ADDRESS>/Volumes/NORISCLOUD/Development/ReactNative/...
└──<EMAIL_ADDRESS>

cool. that works. thanks --save
On 11 November 2016 at 11:32, Georgiy Trokovets<EMAIL_ADDRESS>wrote:

@elie222 https://github.com/elie222 all good 💯 I already update
package in my application. Try again please.
$ npm i react-native-meteor@latest
<EMAIL_ADDRESS>/Volumes/NORISCLOUD/Development/ReactNative/...
└──<EMAIL_ADDRESS>—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/inProgress-team/react-native-meteor/issues/159#issuecomment-260060357,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC8oX9A73G_AbBO04YDZnaK1dQvMwiknks5q9N7agaJpZM4Ks-1d
.


Add more info on the nature of NAN

As NAN is a tricky thing, especially with vectors I've noticed, not exactly sure about the wording so if there's any suggestions I'm grateful (and if it is excessive to add it to all the comparisons I can change it)

I think a bit more context would be helpful. Instead of "see also NaN" perhaps consider "Note: NaNs don't behave the same as other numbers (see also NaN)."

Thanks!

Thank you!

Cherry-picked for 4.0.4.


DO NOT MERGE! Fast Forward stable to 682e41cfc5dabf1020203247c94c2259d7cf1ffc.

This PR will be merged automatically once checks are successful.

Jenkins job manager/postsubmit passed


Truncate long descriptions

Some article descriptions are very long and unsightly in the layout of the results page. Truncating them with an ellipsis after a certain length will look a lot better without losing the gist of the description.

PR was merged


关于wxc-ep-slider在ios下,官方demo无法正常运行

我刚开始在自己的项目中做了一个demo,在安卓下是可以的,但是在ios下不行,我的bindingx环境都已经搭建完成,我查看过之前的Issues,然后把官方的demo在weex playround中运行,也不可以,也参考过https://github.com/alibaba/weex-ui/blob/master/example/ep-slider/index.vue这个的方式;
https://h5.m.taobao.com/trip/wx-detection-demo/ep-slider/index.weex.js这个是编译后的地址,我把生成二维码在weex playgound运行,我去滑动元素,总是会跳转到第一个元素

I will Google Translate your questions first

I just started to make a demo in my project, it is ok under Android, but not under ios, my bindingx environment has been built, I have looked at the previous Issues, and then put the official demo in weex playround Running in, can't, also refer to [https://github.com/alibaba/weex-ui/blob/master/example/ep-slider/index.vue this way] (https://github.com /alibaba/weex-ui/blob/master/example/ep-slider/index.vue%E8%BF%99%E4%B8%AA%E7%9A%84%E6%96%B9%E5%BC%8F );
[https://h5.m.taobao.com/trip/wx-detection-demo/ep-slider/index.weex.js This is the compiled address, I will generate the QR code in weex](https:/ /h5.m.tao.com/trip/wx-detection-demo/ep-slider/index.weex.js%E8%BF%99%E4%B8%AA%E6%98%AF%E7%BC%96 %E8%AF%91%E5%90%8E%E7%9A%84%E5%9C%B0%E5%9D%80,%E6%88%91%E6%8A%8A%E7%94%9F% E6%88%90%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%9C%A8weex) playgound runs, I go to slide the element and always jump to the first element

I think The wxc-ep-slider component you mentioned is not under this repo, maybe you should ask this question in that repo, Thanks.

yes ,u are right,but weex-ui not reply

You may contact tw93 of weex-ui, I see there is a lot of commit by him.


can we add the new wallet standard? - BIP39HDWallet

Is that possible to add BIP39HDWallet and its implementations?
Some research progress in here bip39

Nop, it's entropy, mnemonic & seed standard. For more see the v3 package. Thank you.


How do you filter results?

I couldn't seem to find an example of how to filter results. How is this accomplished?
Assume that I'm getting a collection of Posts with a createdDate property. How would I grab only the posts within a range of dates?
If you can't do ranges, can you do simple matches? For example:
/api/posts?title=Post%201
That doesn't work, but how exactly should the url look?
Thanks!

Nevermind. I believe I found it. Here is how I'm doing it for anyone else that may wonder how it's done:
restList._render = function (req, instance) {
	if (req.query.title) {
		return (instance.title === req.query.title) ? instance : null;
	}

	return instance;
};

module.exports.default = {
	'httpMethods': 'get',
	'httpGroupMethods': 'get',
	'defaultKey': 'name',
	'permanentFilter': 'isActive',
	'columns': {
		'visible': [
			'title'
		]
	},
	'RestList': restList
};

There a better ways to achieve what you want...
When you filter via "render" you actually do a bigger query then spend work on reducing it...
resty-stone uses the built-in filtering system used by keystone.
It is achieved via "q" parameter or "search" parameter.
q is the built-in keystone made filtering system.
search is the mongoose system.
They both work, you should read about it in the keystone docs/google groups.
I tried to stick with keystone core whenever possible.
a - it saves time.
b - it keeps consistency.

That's awesome! Is there documentation anywhere on using the "q" query string parameter? I searched keystone's documentation as well as resty-stone's and didn't see it mentioned anywhere.

This is quite an issue as there is no clear documentation for it in KeystoneJS.
Basically it is a separate NPM package called queryfilter (GitHub)
Here is a little example you can play with to get a better understanding.

Create a directory
Install the package: npm install queryfilter
Create a file and paste the following code:

var qf = require("queryfilter");

var queryExamples = [
    'title:hello',
    'title:=:hello',
    'title:!:hello',
    'title:hello:world',
    'quantity:lt:15',
    'quantity:gt:15',
    'quantity:bt:15:20',
    'title:hello;quantity:lt:15'
];

queryExamples.forEach(function(query){
    console.log(
        query + ' ==> ' + qf.QueryFilters.create(query).toHumanString()
    );
});

You should get the following results:
title:hello ==> title matches hello
title:=:hello ==> title exactly matches hello
title:!:hello ==> title does not match hello
title:hello:world ==> title matches hello and world
quantity:lt:15 ==> quantity matches less than 15
quantity:gt:15 ==> quantity matches greater than 15
quantity:bt:15:20 ==> quantity matches between 15 and 20
title:hello;quantity:lt:15 ==> title matches hello and quantity matches less than 15

The same idea apply with query string, you just post it as a q parameter:
http:\\www.example.com\api\posts?q=title:hello

Thanks! That gets me started. I really wish they provided documentation on all of the possible options. :+1: