ISEAR Emotions Processor

@lapolonio thanks for the reply.
I'll just try to explain where I am so far:
I have created a fine-tuned model with the isear.csv dataset following your instructions and that all works good.
I am now trying to serve the model and use the run_app.py to return predictions.
The saved_model and variables I have downloaded locally and when I run a do_predict locally on that model the results look accurate. I will post some examples shortly, but basically the sentences in test.tsv would be like 'I am very happy' and 'I am very sad' and the 7 float values returned would match under the label types. That all works good with do_predict.
However when i use the model in serving from the run_app.py (hardcoding a test example like 'I am very sad'. I seem to get the same prediction, regardless of what I send in. The values are all pretty even, but the Joy label comes out tops EVERY time.
If you could have a look at the run_classifier.py and point me in the right direction with what I am doing wrong I would really appreciate it.
Thank you,
Tom

looks alright to me.
it probably has to do with how you are actually calling the model. How are you running predictions?
Also check out https://github.com/tomaryancit/bert/blob/a5b8ead400e91a3b3dbb67295e17583d714869c4/run_app.py#L60 for how to get the pretty label.

@lapolonio I am running predictions with this script:

#!/bin/bash
TRAINED_CLASSIFIER="C:\models\best_model_ckpt\model.ckpt-581"
ISEAR_DIR="C:\models\isear_data"
BERT_BASE_DIR="C:\models\bert_base\uncased_L-12_H-768_A-12"
OUTPUT_DIR="C:\models\outputs"
OUTPUT_FILE="C:\models\outputs\test_results.tsv"
python run_classifier.py --task_name=isear --do_predict=true --data_dir=$ISEAR_DIR --vocab_file=$BERT_BASE_DIR/vocab.txt --bert_config_file=$BERT_BASE_DIR/bert_config.json --init_checkpoint=$TRAINED_CLASSIFIER --max_seq_length=128 --output_dir=$OUTPUT_DIR
test,tsv is:
index	sentence
0	i am so angry
0	i am extremely sad
0	i am extremely happy
0	i am very unhappy
test_results.tsv I get are:
0.8718204	0.017259441	0.010415434	0.06656713	0.0014592747	0.015705448	0.016772918
0.0068754684	0.0051930887	0.005554631	0.018795557	0.004932479	0.9541948	0.0044539524
0.0024607785	0.004653761	0.0027854743	0.0022160264	0.9713467	0.007915857	0.008621418
0.018595515	0.009295957	0.00865367	0.10277452	0.007821805	0.8311814	0.021677122
Emotions are:
anger	disgust	fear	guilt	joy	sadness	shame
These test_results are accurate,
All good so far!
Then I run the following with do_serve=True which gives me a saved_model.pb:
ft_estimator = TensorFlow(source_directory=project_folder,
vm_size='STANDARD_NC6',
script_params = {
'--task_name': 'isear',
'--do_train' : True,
'--do_serve': True,
'--data_dir': ds.path('isear_data_path/').as_mount(),
'--vocab_file': ds.path('BERT_model/uncased_L-12_H-768_A-12/vocab.txt').as_mount(),
'--bert_config_file': ds.path('BERT_model/uncased_L-12_H-768_A-12/bert_config.json').as_mount(),
'--init_checkpoint': ds.path('BERT_model/uncased_L-12_H-768_A-12/bert_model.ckpt').as_mount(),
'--max_seq_length': 128,
'--train_batch_size': 32,
'--learning_rate': 0.00015152,
'--num_train_epochs': 3.0,
'--output_dir': './outputs'
},
entry_script='run_classifier.py',
use_gpu=True)
I put the saved_model.pb into C:\models\model_6\ and when I run
saved_model_cli show --dir C:\models\model_6\1554648672 --all
I get
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:
signature_def['serving_default']:
The given SavedModel SignatureDef contains the following input(s):
inputs['examples'] tensor_info:
dtype: DT_STRING
shape: (-1)
name: input_example_tensor:0
The given SavedModel SignatureDef contains the following output(s):
outputs['probabilities'] tensor_info:
dtype: DT_FLOAT
shape: (-1, 7)
name: loss/Softmax:0
Method name is: tensorflow/serving/predict
PS C:\models>
I then run tensorflow/serving using the docker image ( https://www.tensorflow.org/tfx/serving/docker):
docker run -p 8500:8500 -p 8501:8501 --mount type=bind,source=c:\models\model_6,target=/models/model_6 -e MODEL_NAME=model_6 -t tensorflow/serving
Then I use a version of your run_app.py to run locally on port 5000.
I then send requests in POSTMAN but I get the same label every time!
Output of run_app.py is here:
Use a production WSGI server instead.

Debug mode: on
Restarting with stat
Debugger is active!
Debugger PIN: 197-615-899
Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
['anger', 'disgust', 'fear', 'guilt', 'joy', 'sadness', 'shame']
I am sad
[2019-04-12 19:03:41,381] INFO in run_app: Predicted Label: joy
<IP_ADDRESS> - - [12/Apr/2019 19:03:41] "?[37mPOST / HTTP/1.1?[0m" 200 -
['anger', 'disgust', 'fear', 'guilt', 'joy', 'sadness', 'shame']
I am angry
[2019-04-12 19:03:56,029] INFO in run_app: Predicted Label: joy
<IP_ADDRESS> - - [12/Apr/2019 19:03:56] "?[37mPOST / HTTP/1.1?[0m" 200 -

I'm stuck at this stage and would really appreciate some guidance!
Thanks.
run_app.py is:
import grpc
import tensorflow as tf
import run_classifier as classifiers
import tokenization
from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_service_pb2_grpc
from tensorflow.core.framework import tensor_pb2
from tensorflow.core.framework import tensor_shape_pb2
from tensorflow.core.framework import types_pb2
from flask import Flask
from flask import request
import random
app = Flask(name)
@app.route("/", methods = ['GET'])
def hello():
return "Hello BERT predicting your emotions! Try posting a string to this url"
@app.route("/", methods = ['POST'])
def predict():
MODEL PARAMS
max_seq_length = 128
channel = grpc.insecure_channel("localhost:8500")   #("bert-agnews:8500")
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
Parse Description
tokenizer = tokenization.FullTokenizer(
vocab_file="asset/vocab.txt", do_lower_case=True)
processor = classifiers.IsearProcessor()
label_list = processor.get_labels()
print(label_list)
content = request.get_json()
request_id = str(random.randint(1,<PHONE_NUMBER>854775807))
inputExample = processor._create_example([request_id, content['description']], 'test')
tf_example = classifiers.from_record_to_tf_example(3, inputExample, label_list, max_seq_length, tokenizer)
model_input = tf_example.SerializeToString()
Send request
See prediction_service.proto for gRPC request/response details.
model_request = predict_pb2.PredictRequest()
model_request.model_spec.name = 'model_6'
model_request.model_spec.signature_name = 'serving_default'
dims = [tensor_shape_pb2.TensorShapeProto.Dim(size=1)]
tensor_shape_proto = tensor_shape_pb2.TensorShapeProto(dim=dims)
tensor_proto = tensor_pb2.TensorProto(
dtype=types_pb2.DT_STRING,
tensor_shape=tensor_shape_proto,
string_val=[model_input])
print([model_input])
print(content['description'])
model_request.inputs['examples'].CopyFrom(tensor_proto)
result = stub.Predict(model_request, 10.0)  # 10 secs timeout
result = tf.make_ndarray(result.outputs["probabilities"])
pretty_result = "Predicted Label: " + label_list[result[0].argmax(axis=0)]
app.logger.info("Predicted Label: %s", label_list[result[0].argmax(axis=0)])
return pretty_result
if name == 'main':
app.run(debug=True, host='<IP_ADDRESS>')

Don't mean to be annoying you @lapolonio but would you get a chance to have a quick look at the method I am using above for calling the model and doing predictions?
Just that I am stuck on this and would really appreciate some advice or help to move forward.
Thank you.

I think when you export the init_checkpoint should be TRAINED_CLASSIFIER="C:\models\best_model_ckpt\model.ckpt-581"

Thanks @lapolonio I made that change to use model.ckpt-581 as the init_checkpoint.
This created a new saved_model.pb which unfortunately is giving the same problem as before - i.e. prediction is always 'joy', regardless of utterance.
Output from run_app.py :
<IP_ADDRESS> - - [20/Apr/2019 11:11:25] "?[37mPOST / HTTP/1.1?[0m" 200 -
['anger', 'disgust', 'fear', 'guilt', 'joy', 'sadness', 'shame']
utterance: i am so angry
result: [[0.13873199 0.14457144 0.13604145 0.1460678  0.14955397 0.138183
0.14685035]]
[2019-04-20 11:13:25,623] INFO in run_app: Predicted Label: joy
<IP_ADDRESS> - - [20/Apr/2019 11:13:25] "?[37mPOST / HTTP/1.1?[0m" 200 -
['anger', 'disgust', 'fear', 'guilt', 'joy', 'sadness', 'shame']
utterance: i am extremely happy
result: [[0.13873194 0.14457141 0.13604145 0.1460678  0.14955392 0.13818304
0.14685036]]
[2019-04-20 11:13:50,502] INFO in run_app: Predicted Label: joy
<IP_ADDRESS> - - [20/Apr/2019 11:13:50] "?[37mPOST / HTTP/1.1?[0m" 200 -

Are the predictions the same or different than before?
You have to isolate whether the difference is the model or the scoring
code. Are you using the original serving function?
On Sat, Apr 20, 2019, 6:22 AM tomaryancit<EMAIL_ADDRESS>wrote:

Thanks @lapolonio https://github.com/lapolonio I made that change to
use model.ckpt-581 as the init_checkpoint.
This created a new saved_model.pb which unfortunately is giving the same
problem as before - i.e. prediction is always 'joy', regardless of
utterance.
Output from run_app.py :
<IP_ADDRESS> - - [20/Apr/2019 11:11:25] "?[37mPOST / HTTP/1.1?[0m" 200 -
['anger', 'disgust', 'fear', 'guilt', 'joy', 'sadness', 'shame']
utterance: i am so angry
result:
[[0.13873199 0.14457144 0.13604145 0.1460678 0.14955397 0.138183
0.14685035]]
[2019-04-20 11:13:25,623] INFO in run_app: Predicted Label: joy
<IP_ADDRESS> - - [20/Apr/2019 11:13:25] "?[37mPOST / HTTP/1.1?[0m" 200 -
['anger', 'disgust', 'fear', 'guilt', 'joy', 'sadness', 'shame']
utterance: i am extremely happy
result:
[[0.13873194 0.14457141 0.13604145 0.1460678 0.14955392 0.13818304
0.14685036]]
[2019-04-20 11:13:50,502] INFO in run_app: Predicted Label: joy
<IP_ADDRESS> - - [20/Apr/2019 11:13:50] "?[37mPOST / HTTP/1.1?[0m" 200 -
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tomaryancit/bert/pull/1#issuecomment-485086492, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AANZ73D5QTGC3SYNUFQCOWDPRLVERANCNFSM4HE2RJAQ
.

@lapolonio the predictions are the same as before I made the init_checkpoint change.
They are always similar to the results I provided above.
The scores can differ ever so slightly, as you can see from the two separate result scores listed, but they are always very close to these scores.
You can see that the third last score in each case is always slightly the highest, giving a classification of 'joy'.
I have not changed the serving function that i posted up originally in run_classifier.py
Just a thought - would it be anything to do with the fact that we supply the set_type as 'test' in the _create_example() method or the fact that we do not supply 'is_real_example' in the features?
I'm grasping at straws a bit here!

is_real_examples is handled here:
https://github.com/lapolonio/bert/blob/master/run_classifier.py#L639
So your serving code is the following?
https://github.com/lapolonio/bert/blob/master/run_classifier.py#L980
the label is generated so no need to specify.

@lapolonio serving code has some slight differences, but i think it does the same?
if FLAGS.do_serve:
feature_spec = {
    "input_ids": tf.FixedLenFeature([FLAGS.max_seq_length], tf.int64),
    "input_mask": tf.FixedLenFeature([FLAGS.max_seq_length], tf.int64),
    "segment_ids": tf.FixedLenFeature([FLAGS.max_seq_length], tf.int64),
    "label_ids": tf.FixedLenFeature([], tf.int64),
    "is_real_example": tf.FixedLenFeature([], tf.int64)
  }

def serving_input_receiver_fn():
  serialized_tf_example = tf.placeholder(dtype=tf.string,
                                          shape=[None],
                                          name='input_example_tensor')
  receiver_tensors = {'examples': serialized_tf_example}
  features = tf.parse_example(serialized_tf_example, feature_spec)

  return tf.estimator.export.ServingInputReceiver(features, receiver_tensors)

tf.logging.info("***** Running new serve *****")

estimator._export_to_tpu = False  # this is important
path = estimator.export_savedmodel(FLAGS.output_dir, serving_input_receiver_fn)
print(path)

if name == "main":
flags.mark_flag_as_required("data_dir")
flags.mark_flag_as_required("task_name")
flags.mark_flag_as_required("vocab_file")
flags.mark_flag_as_required("bert_config_file")
flags.mark_flag_as_required("output_dir")
tf.app.run()

it's best to change as little as possible while you are working out bugs.

This has an example of executing the model without the tensorflow serving container. http://shzhangji.com/blog/2018/05/14/serve-tensorflow-estimator-with-savedmodel/

thanks for this @lapolonio , i will try this example.


fix cli argument option

--update option did not work

bug found in this problem was diverted to #5 and #6

c8d45795f3fd20985c47881b9bd8c1c24fd4555e


Fix follow @mbrodala 's review

Fix follow @mbrodala 's review in PR #102

Changed $paser to $parser
Show error on fail. Now it look like:

➤ Executing task deploy:configure
✘ test.tpl
  ERROR: Configuration parameter `a` does not exists.
✔ Ok

Cool.

Thanks. :-)


Update boost pin

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Seems reasonable @conda-forge/libdiffpy thoughts?

@conda-forge-admin, please rerender

@jschueller should we have a pinning bot, that just goes around pinning things?

I think I read conda-forge is already planning that for GSOC projects, ask @conda-forge/core.

So I don't think a pinning bot will be necessary as conda-build 3 takes over that work for us.

Thank you @jschueller


Improvements in the GitHub action summary report

The GitHub Action summary report has been updated:

Tests table

After testing different ways to show the white circle for Skipped tests in the summary report and not finding any suitable option, @beltran-rubo and I have decided to leave the skipped tests column without emoticon.

I left some comments you may like to consider, nevertheless LGTM!


blocking interface

It would be cool, if teslatte also had a blocking interface.
BDK for example has a blocking and an async interface, depending on the features selected. If it caould be selected in the same way, that would be perfect.
The reason I'm asking is a strange problem I ran into:
https://gitlab.com/ubports/porting/reference-device-ports/android11/volla-phone-22/volla-mimameid/-/issues/13

Seems like a reasonable request. I would probably want this to default to async, and have a blocking feature to use reqwest::blocking instead. Let me know if you want to do this PR, otherwise I can look at it sometime within the next few weeks.

I would like to do it, but it's always hard to predict in advance when I have time. So, whoever is first...
I will post here if I find time, and start with it. Please do the same, so we don't end up doing it both.


Rank Points to Experience Points

Please describe what you'd like the bot to do
Rank points should be renamed to experience points. This is mostly in the profiles cog.
Why should the bot do this?
The name was changed in-game, and to avoid confusion, should also be changed on the bot.
Additional context
As per 8.0. Full discord patch notes here: Message Link

Merged with #41


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v4.9.294",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=99120c8230fdd5e8b72a6e4162db9e1c0a61954a"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "99120c8230fdd5e8b72a6e4162db9e1c0a61954a",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "xen/netfront: harden netfront against event channel storms\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.9.294 by commit 99120c8230fdd5e8b72a6e4162db9e1c0a61954a. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002628


Harden our SSH configuration against Logjam attack

https://stribika.github.io/2015/01/04/secure-secure-shell.html provides some useful suggestions how to defend against weakness in the Deploying Diffie-Hellman key exchange, i.e. removing entries from /etc/ssh/moduli  that are too small. We should implement those recommends ASAP.
Also, our version of Firefox appears to be vulnerable: visit https://weakdh.org/ to check.

See https://github.com/NixOS/nixpkgs/pull/5870 and https://github.com/NixOS/nixpkgs/issues/5809 for previous discussion.


[3511] Eager load associations on subjects page

Context

https://trello.com/c/6SqF8p2F/3511-optimize-find-courses-by-subject-page
The subject pages on the find course wizard is not eager loading associations when it hits the api

Before (API)
2020-06-09 11:15:24.785430 D [8674:puma threadpool 001] Rails -- API HIT => http://localhost:3001/api/v3/subject_areas?include=subjects
2020-06-09 11:15:24.789229 D [8674:puma threadpool 001] Rack -- Started -- { :method => "GET", :path => "/api/v3/subject_areas?include=subjects", :ip => "::1" }
2020-06-09 11:15:25.048886 D [8674:puma threadpool 001] API::V3::SubjectAreasController -- Processing #index
2020-06-09 11:15:25.069156 D [8674:puma threadpool 001] (0.449ms) ActiveRecord -- SubjectArea Load -- { :sql => "SELECT \"subject_area\".* FROM \"subject_area\" WHERE \"subject_area\".\"typename\" != $1", :binds => { :typename => "DiscontinuedSubject" } }
2020-06-09 11:15:25.084449 D [8674:puma threadpool 001] (0.786ms) ActiveRecord -- Subject Load -- { :sql => "SELECT \"subject\".* FROM \"subject\" WHERE \"subject\".\"type\" = $1", :binds => { :type => "PrimarySubject" } }
2020-06-09 11:15:25.100208 D [8674:puma threadpool 001] (1.015ms) ActiveRecord -- Subject Load -- { :sql => "SELECT \"subject\".* FROM \"subject\" WHERE \"subject\".\"type\" = $1", :binds => { :type => "SecondarySubject" } }
2020-06-09 11:15:25.112032 D [8674:puma threadpool 001] (1.575ms) ActiveRecord -- Subject Load -- { :sql => "SELECT \"subject\".* FROM \"subject\" WHERE \"subject\".\"type\" = $1", :binds => { :type => "ModernLanguagesSubject" } }
2020-06-09 11:15:25.128707 D [8674:puma threadpool 001] (3.293ms) ActiveRecord -- Subject Load -- { :sql => "SELECT \"subject\".* FROM \"subject\" WHERE \"subject\".\"type\" = $1", :binds => { :type => "FurtherEducationSubject" } }
2020-06-09 11:15:25.145438 D [8674:puma threadpool 001] (0.603ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 1, :limit => 1 } }
2020-06-09 11:15:25.147567 D [8674:puma threadpool 001] (1.182ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 2, :limit => 1 } }
2020-06-09 11:15:25.149453 D [8674:puma threadpool 001] (1.161ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 3, :limit => 1 } }
2020-06-09 11:15:25.151702 D [8674:puma threadpool 001] (1.410ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 4, :limit => 1 } }
2020-06-09 11:15:25.171174 D [8674:puma threadpool 001] (1.091ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 5, :limit => 1 } }
2020-06-09 11:15:25.172994 D [8674:puma threadpool 001] (1.012ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 6, :limit => 1 } }
2020-06-09 11:15:25.174776 D [8674:puma threadpool 001] (1.088ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 7, :limit => 1 } }
2020-06-09 11:15:25.176475 D [8674:puma threadpool 001] (0.871ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 8, :limit => 1 } }
2020-06-09 11:15:25.178607 D [8674:puma threadpool 001] (1.150ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 9, :limit => 1 } }
2020-06-09 11:15:25.181304 D [8674:puma threadpool 001] (1.120ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 10, :limit => 1 } }
2020-06-09 11:15:25.183232 D [8674:puma threadpool 001] (0.528ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 11, :limit => 1 } }
2020-06-09 11:15:25.184967 D [8674:puma threadpool 001] (0.689ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 12, :limit => 1 } }
2020-06-09 11:15:25.191831 D [8674:puma threadpool 001] (5.571ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 13, :limit => 1 } }
2020-06-09 11:15:25.196290 D [8674:puma threadpool 001] (3.129ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 14, :limit => 1 } }
2020-06-09 11:15:25.204840 D [8674:puma threadpool 001] (7.171ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 15, :limit => 1 } }
2020-06-09 11:15:25.207166 D [8674:puma threadpool 001] (1.171ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 16, :limit => 1 } }
2020-06-09 11:15:25.208955 D [8674:puma threadpool 001] (0.806ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 17, :limit => 1 } }
2020-06-09 11:15:25.211886 D [8674:puma threadpool 001] (1.855ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 18, :limit => 1 } }
2020-06-09 11:15:25.213597 D [8674:puma threadpool 001] (0.871ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 19, :limit => 1 } }
2020-06-09 11:15:25.215221 D [8674:puma threadpool 001] (0.926ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 20, :limit => 1 } }
2020-06-09 11:15:25.216654 D [8674:puma threadpool 001] (0.603ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 21, :limit => 1 } }
2020-06-09 11:15:25.218306 D [8674:puma threadpool 001] (0.668ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 22, :limit => 1 } }
2020-06-09 11:15:25.219996 D [8674:puma threadpool 001] (0.672ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 23, :limit => 1 } }
2020-06-09 11:15:25.221818 D [8674:puma threadpool 001] (0.973ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 24, :limit => 1 } }
2020-06-09 11:15:25.232255 D [8674:puma threadpool 001] (8.687ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 25, :limit => 1 } }
2020-06-09 11:15:25.234919 D [8674:puma threadpool 001] (0.504ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 26, :limit => 1 } }
2020-06-09 11:15:25.237665 D [8674:puma threadpool 001] (1.654ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 27, :limit => 1 } }
2020-06-09 11:15:25.240439 D [8674:puma threadpool 001] (1.781ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 28, :limit => 1 } }
2020-06-09 11:15:25.242144 D [8674:puma threadpool 001] (0.723ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 29, :limit => 1 } }
2020-06-09 11:15:25.244514 D [8674:puma threadpool 001] (0.772ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 30, :limit => 1 } }
2020-06-09 11:15:25.246552 D [8674:puma threadpool 001] (1.257ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 31, :limit => 1 } }
2020-06-09 11:15:25.249147 D [8674:puma threadpool 001] (1.132ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 32, :limit => 1 } }
2020-06-09 11:15:25.251468 D [8674:puma threadpool 001] (1.551ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 33, :limit => 1 } }
2020-06-09 11:15:25.253314 D [8674:puma threadpool 001] (0.816ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 34, :limit => 1 } }
2020-06-09 11:15:25.261899 D [8674:puma threadpool 001] (7.122ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 35, :limit => 1 } }
2020-06-09 11:15:25.263415 D [8674:puma threadpool 001] (0.500ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 36, :limit => 1 } }
2020-06-09 11:15:25.264778 D [8674:puma threadpool 001] (0.471ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 37, :limit => 1 } }
2020-06-09 11:15:25.266717 D [8674:puma threadpool 001] (1.124ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 38, :limit => 1 } }
2020-06-09 11:15:25.272748 D [8674:puma threadpool 001] (4.158ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 39, :limit => 1 } }
2020-06-09 11:15:25.277757 D [8674:puma threadpool 001] (3.646ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 40, :limit => 1 } }
2020-06-09 11:15:25.282059 D [8674:puma threadpool 001] (2.405ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 41, :limit => 1 } }
2020-06-09 11:15:25.285314 D [8674:puma threadpool 001] (1.881ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 42, :limit => 1 } }
2020-06-09 11:15:25.290432 D [8674:puma threadpool 001] (2.301ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" = $1 LIMIT $2", :binds => { :subject_id => 43, :limit => 1 } }
2020-06-09 11:15:25.384051 I [8674:puma threadpool 001] Rails -- Completed JSON API rendering (316.76ms)
2020-06-09 11:15:25.384287 I [8674:puma threadpool 001] (335.3ms) API::V3::SubjectAreasController -- Completed #index -- { :controller => "API::V3::SubjectAreasController", :action => "index", :params => { "include" => "subjects" }, :format => "JSONAPI", :method => "GET", :path => "/api/v3/subject_areas", :status => 200, :view_runtime => 230.74, :sk_rendered_format => :jsonapi, :sk_variant => [], :db_runtime => 86.29, :status_message => "OK" }

Before (Find)
2020-06-09 10:53:21.408527 D [40024:puma threadpool 003] Rack -- Started -- {:method=>"GET", :path=>"/start/subject?l=2", :ip=>"::1"}
2020-06-09 10:53:21.410335 D [40024:puma threadpool 003] ResultFilters::SubjectController -- Processing #start
2020-06-09 10:53:21.826747 D [40024:puma threadpool 003] ActionView -- Rendering -- {:template=>"result_filters/subject/start.html.erb"}
2020-06-09 10:53:21.827221 D [40024:puma threadpool 003] (0.048ms) ActionView -- Rendered -- {:partial=>"shared/_error_message.html.erb"}
2020-06-09 10:53:21.828227 D [40024:puma threadpool 003] (0.791ms) ActionView -- Rendered -- {:partial=>"shared/_hidden_fields.html.erb"}
2020-06-09 10:53:21.883158 D [40024:puma threadpool 003] (56.0ms) ActionView -- Rendered -- {:partial=>"result_filters/subject/_form.html.erb"}
2020-06-09 10:53:21.883216 D [40024:puma threadpool 003] (56.4ms) ActionView -- Rendered -- {:template=>"result_filters/subject/start.html.erb", :within=>"layouts/application"}
2020-06-09 10:53:21.890372 I [40024:puma threadpool 003] [Webpacker] Rails -- Everything's up-to-date. Nothing to do
2020-06-09 10:53:21.891476 D [40024:puma threadpool 003] (0.145ms) ActionView -- Rendered -- {:partial=>"layouts/_cookie-banner.html.erb"}
2020-06-09 10:53:21.898380 I [40024:puma threadpool 003] [Webpacker] Rails -- Everything's up-to-date. Nothing to do
2020-06-09 10:53:21.899145 I [40024:puma threadpool 003] (488.7ms) ResultFilters::SubjectController -- Completed #start -- {:controller=>"ResultFilters::SubjectController", :action=>"start", :params=>{"l"=>"2"}, :format=>"HTML", :method=>"GET", :path=>"/start/subject", :status=>200, :view_runtime=>72.6, :request_id=>"6efe5868-a2d3-4689-9521-b183dbc7dce0", :status_message=>"OK"}

After (API)
2020-06-09 11:10:04.191840 D [8674:puma threadpool 005] Rails -- API HIT => http://localhost:3001/api/v3/subject_areas?include=subjects
2020-06-09 11:10:04.206727 D [8674:puma threadpool 005] Rack -- Started -- { :method => "GET", :path => "/api/v3/subject_areas?include=subjects", :ip => "::1" }
2020-06-09 11:10:04.883354 D [8674:puma threadpool 005] API::V3::SubjectAreasController -- Processing #index
2020-06-09 11:10:04.916829 D [8674:puma threadpool 005] (1.207ms) ActiveRecord -- SubjectArea Load -- { :sql => "SELECT \"subject_area\".* FROM \"subject_area\" WHERE \"subject_area\".\"typename\" != $1", :binds => { :typename => "DiscontinuedSubject" } }
2020-06-09 11:10:04.945207 D [8674:puma threadpool 005] (2.049ms) ActiveRecord -- Subject Load -- { :sql => "SELECT \"subject\".* FROM \"subject\" WHERE \"subject\".\"type\" IN ($1, $2, $3, $4)", :binds => { :type => [ "PrimarySubject", "SecondarySubject", "ModernLanguagesSubject", "FurtherEducationSubject" ] } }
2020-06-09 11:10:05.002940 D [8674:puma threadpool 005] (1.854ms) ActiveRecord -- FinancialIncentive Load -- { :sql => "SELECT \"financial_incentive\".* FROM \"financial_incentive\" WHERE \"financial_incentive\".\"subject_id\" IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40, $41, $42, $43)", :binds => { :subject_id => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 43, 33, 42 ] } }
2020-06-09 11:10:05.031984 I [8674:puma threadpool 005] Rails -- Completed JSON API rendering (120.5ms)
2020-06-09 11:10:05.032323 I [8674:puma threadpool 005] (148.8ms) API::V3::SubjectAreasController -- Completed #index -- { :controller => "API::V3::SubjectAreasController", :action => "index", :params => { "include" => "subjects" }, :format => "JSONAPI", :method => "GET", :path => "/api/v3/subject_areas", :status => 200, :view_runtime => 115.63, :sk_rendered_format => :jsonapi, :sk_variant => [], :db_runtime => 6.05, :status_message => "OK" }

After (Find)
2020-06-09 10:52:57.364120 D [40024:puma threadpool 005] Rack -- Started -- {:method=>"GET", :path=>"/start/subject?l=2", :ip=>"::1"}
2020-06-09 10:52:57.366056 D [40024:puma threadpool 005] ResultFilters::SubjectController -- Processing #start
2020-06-09 10:52:57.437265 D [40024:puma threadpool 005] ActionView -- Rendering -- {:template=>"result_filters/subject/start.html.erb"}
2020-06-09 10:52:57.437793 D [40024:puma threadpool 005] (0.077ms) ActionView -- Rendered -- {:partial=>"shared/_error_message.html.erb"}
2020-06-09 10:52:57.438743 D [40024:puma threadpool 005] (0.806ms) ActionView -- Rendered -- {:partial=>"shared/_hidden_fields.html.erb"}
2020-06-09 10:52:57.544179 D [40024:puma threadpool 005] (106.5ms) ActionView -- Rendered -- {:partial=>"result_filters/subject/_form.html.erb"}
2020-06-09 10:52:57.544234 D [40024:puma threadpool 005] (106.9ms) ActionView -- Rendered -- {:template=>"result_filters/subject/start.html.erb", :within=>"layouts/application"}
2020-06-09 10:52:57.551611 I [40024:puma threadpool 005] [Webpacker] Rails -- Everything's up-to-date. Nothing to do
2020-06-09 10:52:57.552720 D [40024:puma threadpool 005] (0.136ms) ActionView -- Rendered -- {:partial=>"layouts/_cookie-banner.html.erb"}
2020-06-09 10:52:57.562178 I [40024:puma threadpool 005] [Webpacker] Rails -- Everything's up-to-date. Nothing to do
2020-06-09 10:52:57.563226 I [40024:puma threadpool 005] (196.9ms) ResultFilters::SubjectController -- Completed #start -- {:controller=>"ResultFilters::SubjectController", :action=>"start", :params=>{"l"=>"2"}, :format=>"HTML", :method=>"GET", :path=>"/start/subject", :status=>200, :view_runtime=>126.15, :request_id=>"3a0ba789-ec7b-4cf7-8aa2-c12c3089e082", :status_message=>"OK"}

Changes proposed in this pull request

Eager load associations to remove n+1 queries which speeds up the api call

Guidance to review

Visit the subject page on the find course wizard before and after this change
The page should now load faster

Checklist

[x] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 [S] optimize Find courses by subject page


Build a kfserving test docker image basic on test-worker

/kind feature
Describe the solution you'd like
There are more than two steps in the test, used image test-worker and then installed python 36 and kfserving SDK, we should build a new docker image for kfserving test to save testing time (avoid installing those twice).
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

/assign


update how_tos/reading_data to use Dataset API

Since the Dataset API moved from .contrib.data into .data (core) update the MNIST example to use Dataset over queues.
This was the first page I've found when searching how to best get data into TF and I thought it should reflect the current best practice. Also, if I understand correctly, queues might be deprecated in favor of Datasets some time in the future.

Can one of the admins verify this patch?

Any thoughts on this PR? Should I write a separate how to rather than updating the existing one?

IMO the changes look great, but I will defer to my colleague @MarkDaoust, who has been revising these tutorials and might have stronger opinions.

I agree with @mrry, This is a great change.
Just note that there is a long-term plan to eventually merge most of the examples directory into tensorflow/models, and some of the code in this sub-directory might not survive the transition.
So while I encourage you to continue sending PRs, you might want to avoid this sub-directory.
Thanks.

@MarkDaoust What do you think about the docs update in this PR?
I personally find it a bit odd to declare a "standard format" and than not provide at least one full implementation example, thats why I didn't simply remove the link.

Jenkins, test this please.

Jenkins, test this please.

Looks like the tests keep failing, not just for me but across all PRs and it doesn't seem to be code I've changed. Would it help if I merge the latest master into this PR?

@tensorflow-jenkins test this please


PR to run tests on 1.7.11

Test PR to run tests because releasing on a new branch.
DO NOT MERGE!

Closing PR.  All tests passed.


Migration does not remove IDENTITY from a column

When an SQL table is created with Id column it gets IDENTITY by default. Adding a ValueGeneratedNever method call later generates a migration which does not remove this clause.
Example repo. It has two migrations - Initial will generate a table with an Identity column. The second one was supposed to remove that Identity.

Notes for triage: If I remember right, we're mimicking EF6 behavior because removing IDENTITY requires a rebuild.

BTW, we said in the past that we wanted to give the user some kind of warning rather than silently ignoring changes that would cause table rebuilds.

Dependent upon https://github.com/aspnet/EntityFramework/issues/329

This seems to be a dupe since we have decided to warn for RTM (tracked in #4783) and we need table rebuilds to work for any further improvement (tracked in #329).
cc @rowanmiller

Closing as a dupe of #5345. We throw now.


Progress Parser: Error it GitHub download

I made an error in assigning the zip file for the latest Progress Parser release:
https://github.com/DMagic1/KSP_Progress_Parser/releases/tag/7.0
I fixed the problem, but the zip file in the bad release was targeted to KSP 1.2. The new version is for KSP 1.3.
Will the CKAN-meta file fix itself, or should I make a new release?
https://github.com/KSP-CKAN/CKAN-meta/commit/adb8b79e01506e7cb1d13387a384c1e39285fdf0

Nevermind, seems to be fixed now.


Add more termios constants

Went through and found some more termios constants that were missing and added them. I skipped some platforms (solaris, uclibc) and assumed Android has the same constants are Linux, as I couldn't find a good reference for what Android exposes, but it generally follows linux, so I assumed the same was true for some of those values.
References:
FreeBSD:

https://github.com/freebsd/freebsd/blob/d39171bb1f2256bd3bf018314aec600f79b89bc6/sys/sys/_termios.h
https://github.com/freebsd/freebsd/blob/d39171bb1f2256bd3bf018314aec600f79b89bc6/include/termios.h
NetBSD: https://github.com/NetBSD/src/blob/0bff031265b50be8e8b7719aed82212928d6c1df/sys/sys/termios.h
musl: /usr/x86_64-linux-musl/include/bits/termios.h (identical to Linux-x86_64)
linux: /usr/include/bits/termios.h
OpenBSD: https://github.com/openbsd/src/blob/5271000b44abe23907b73bbb3aa38ddf4a0bce08/sys/sys/termios.h
DragonFlyBSD:
https://github.com/DragonFlyBSD/DragonFlyBSD/blob/ddad68003a1b070d6955ae737c834cd3267d3ead/sys/sys/_termios.h
https://github.com/DragonFlyBSD/DragonFlyBSD/blob/ddad68003a1b070d6955ae737c834cd3267d3ead/sys/sys/termios.h
Android: Just use the same as Linux
uclibc: skipped
haiku-os: http://cgit.haiku-os.org/haiku/tree/headers/posix/termios.h
mac: /usr/include/sys/termios.h and /usr/include/sys/_types/_posix_vdisable.h
solaris: skipped
bitrig (follows openbsd): https://github.com/bitrig/bitrig/blob/d31f5220a98fae4e74abafe27c8d150843cc8105/sys/sys/termios.h

Tests pass and I've successfully used these constants in a downstream PR, so I think this should be RTM.

Nvm, missing some constants on a few platforms I think.

This failed CI because the Mac builds mostly timed out, but they should pass. Could someone with Travis permissions rerun the build or r+ it so homu will?

@bors: r+

:pushpin: Commit 8f4de54 has been approved by alexcrichton

:hourglass: Testing commit 8f4de54b572256f65d25002f695cd334f80f6b15 with merge 46f98a1b155a5a4f31342ac28d235601cda40178...

:broken_heart: Test failed - status-travis

Still failing because OS X builds in Travis aren't even running. I've pushed this branch again to force a new test run, and hopefully this one passes.

@bors: retry

@bors: r+

:pushpin: Commit 297d5b7 has been approved by alexcrichton

:hourglass: Testing commit 297d5b7d03fac425c18644f03cd2fc8fc93b7a39 with merge d4a55d51df567f4f2783a5eec0bcd5eedbcbeb08...

:broken_heart: Test failed - status-travis

Looks like something's wrong with the mac runners on Travis right now, and I don't know how to fix that. travis's status page doesn't indicate anything bad is going on.

@bors: retry

@bors: r+

:bulb: This pull request was already approved, no need to approve it again.

This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.
There's another pull request that is currently being tested, blocking this pull request: #626

:pushpin: Commit 297d5b7 has been approved by alexcrichton

:hourglass: Testing commit 297d5b7d03fac425c18644f03cd2fc8fc93b7a39 with merge e24f3f83807854ae9c216d907d5218d53be4d0b5...

:broken_heart: Test failed - status-travis

@bors: retry
On Mon, Jun 26, 2017 at 3:40 PM, bors<EMAIL_ADDRESS>wrote:

💔 Test failed - status-travis
https://travis-ci.org/rust-lang/libc/builds/247104626?utm_source=github_status&utm_medium=notification
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/libc/pull/625#issuecomment-311175584, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95AhkaFk8fJYJ3pyixCyoWxMLx-dLks5sIBc9gaJpZM4OCu10
.

:hourglass: Testing commit 297d5b7d03fac425c18644f03cd2fc8fc93b7a39 with merge f53b95a33747c8c6431b4e2cb1f93dd01122686a...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing f53b95a33747c8c6431b4e2cb1f93dd01122686a to master...

Man, Travis was super difficult on this PR. Thanks tho for helping push this through!


DatePicker setting [nzFormat]="'yyyy-MM-dd HH:mm'" [nzShowTime]="true""  function suggestion

What problem does this feature solve?
Now the default display date ,select time need to switch ,whether the property can be added the default display time , set HH:mm but there is still a second option in the selector
What does the proposed API look like?
Set HH:mm remove the seconds option from the selector,
Add the default display time option    [nzShowTimeDefault]="true"

nz-zorro is amazing. I hope it will be better in the future. Congratulations from my Chinese friends

What is the ultimate solution to this problem?


The onChange of the antd inputs does not work inside the FormItem

Codesandbox here

I assume you should try watch in react hook form instead of onChange. Docs here

It seems that the useController field is overwriting the onChange of input

Yea. Also it's not recommended to use onChange or value with react-hook-form. Check the react hook form's documentation first then use this lib plz.

I understand but sometimes it is necessary, especially in ANTD Select components, where in the second parameter of the onChange you receive the option with all the information of the selected element, including the id and the label, that is exactly why I need to use the onChange but it is not working.
And the "onChange" through the watch does not give me this information.
I will see what alternative I can find, thanks anyway

Adding this code to FormItem children solved my problem. It's probably not the best way to do it, but it works for me.
Now i can access to the options from the onChange event in the Antd Select component and the form still working as expected.
{Children.map(
   children,
      (child) =>
         isValidElement(child) &&
         cloneElement(child, {
           ...field,
           //@ts-expect-error onChange type safe is not necessary here
           onChange: (...params) => {
              child.props.onChange &&
              child.props.onChange(...params)

              field.onChange(...params)
             },
            onBlur: () => {
              child.props.onBlur && child.props.onBlur()
              field.onBlur()
            },
            ...(valuePropName && {
            [valuePropName]: field.value,
       }),
   }),
)}

Sounds reasonable. Could you help create a PR for your awesome idea? Thank you so much!

PR
Is my first time contributing, I hope I did the PR well 😄.

@avegatolber thx a lot for the PR. There are some minor fixes I need to deal with. I'll publish your feature ASAP!


Remove duplicate platform availability check, proper code indent

Hey @ocReaper,
as discussed I updated your branch and did some cleaning up along the way.
I just tested it on a device, works fine.
Cheers, Jonas

@elsesiy Thanks for the pull request!
I will test this version on our problematic device on Monday in the office!

@ocReaper Any news on this? We need this for our planning tomorrow so if possible it'd be great to have this merged today. If not, I'll need to fork the original repo for our project myself and apply the changes directly. Thanks!

Sorry @elsesiy, but I was working on another project that had higher priority. If it acceptable for you, tomorrow morning I can test and merge your modifications. If not I can merge it now, but I may request a fix from you in case of any problem.

I'm fine with providing a fix if necessary :)


Missing Hit rating

Describe the bug
Hit rating value seem to be incorrect for Elemental shaman.
I have taken in to account Dranei ofc =)
To Reproduce
Generate Data for elemental sham with WowSimsExporter Vv2.11.0 (Equipped Only)
Import to: https://wowsims.github.io/cata/shaman/elemental/#
Sim Links and Screenshots
https://imgur.com/a/46YPpSF
Desktop (please complete the following information):

OS: Windows 11
Browser Firefox and Crome

@Neerland can you check if your reforges are imported correctly on the sim? Blizzard has not enabled any public API yet for us to see what reforges you have on your gear so we have to parse and guess based on tooltips which does not work all the time.

A new version of the WowSimsExporter has been released which should take care of any wrong exports. Can you please try again with the new version if it works as expected @Neerland

Could also be related to todays hotfix.

Fixed a problem with Precision where it was granting an unintended additional 1/2/3% chance to hit.

https://www.wowhead.com/blue-tracker/topic/eu/cataclysm-classic-hotfixes-3-june-510644

Duplicate of https://github.com/wowsims/cata/issues/628
This is likely due to the Elemental Precision bug or a missing imported reforge. I main Ele and can confirm what I see in the sim reflects in-game stats after verifying reforges


Current behavior
Chart will infinitely shrink when certain devicePixelRatios are used.
Behavior occurs with a devicePixelRatio of 1.3499999046325684.
The ratio can be achieved naturally by users:
Windows 10
Screen resolution: 1920x1080
Windows resolution scaling: 150%
Chrome zoom level: 90%
Reproducible sample
https://codesandbox.io/p/sandbox/chartjs-responsive-zoom-thccwr
Optional extra steps/info to reproduce
Demo uses css zoom property. Need to use a browser that supports zoom, such as Chrome.
Possible solution
No response
Context
I believe this is the same issue as https://github.com/chartjs/Chart.js/issues/10890.
Either the issue was reintroduced or the original fix didn't work for all scenarios.
chart.js version
4.4.1
Browser name and version
Chrome 119
Link to your project
No response

Same here with 3840x2160 screen, it happen in Edge, Chrome and Brave. But curiosly enough, not in Firefox. It will happen with both 90% and 110% zoom.

Encountered this issue with following versions:
    "chart.js": "4.4.1",
    "chartjs-plugin-annotation": "3.0.1",

hello, I encountered this issue in chart.js v 4.4.3 also, is there any solution or workaround?

I also encountered this problem with Chart.js version 4.4.1. In my case, the issue occurs only when the zoom level is set to 67%.
I managed to avoid this by setting the aspect-ratio on the wrapper element. It seems that the problem may be related to handling non-integer pixel heights, which could cause continuous resizing.

Hello @HieroglypH, I already tried before to add aspect-ratio to the canvas but it doesn't work with both 90% and 125% zoom. I am using V4.4.3 to create doughnut chart.
Could you please share your fix in detail?

@MernaAyman
Sorry for the late reply.
I set the aspect-ratio not on the canvas, but on the wrapper element.
<div id="chart" class="wrapper">
  <canvas>
</div>

.wrapper {
  aspect-ratio: 1 / 2;
}

If that doesn't resolve the issue, how about setting the height on the wrapper element?
This phenomenon is caused by the canvas resizing itself repeatedly.
When the canvas size is determined by the wrapper element, the height of the canvas can become a non-integer pixel, triggering constant resizing.
Therefore, if the height of the wrapper element is independent of the canvas, it may stop the resizing loop.


Contributing to the wiki

This PR is an updated document work
Changes

Additional content to explain how to contribute to the wiki issue #98

Screenshots

Checklist

[ ] tested locally
[ ] added new dependencies
[x] updated the docs
[ ] added a test

Fixes #

Hey, thanks for working on this. I apologise, I must have missed your PR. I get caught up in other work sometimes, so it's helpful if you request a review so I'll get an email notification. Thank you so much.


ci(github): fix DAST scan besu connectivity

Commit to be reviewed
ci(github): fix DAST scan besu connectivity
Primary Changes
--------------
1. Hardcoded the localhost to <IP_ADDRESS> for the config.json file
    required to spin up cactus-cmd-api-server

Secondary Changes
-----------------
3. Updated the verion of besu AIO
4. Updated the version of nuclei

Changes required to incorporate 3)
---------------------------------
5. Updated the go version

Fixes #3596
Pull Request Requirements

[ ] Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
[ ] Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
[ ] Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

[ ] Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
[ ] Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

@hyperledger-cacti/cacti-maintainers requesting review on this PR


Add an account id property to lpg vertices

This PR adds the property "account_id" to all the vertices generated by an Altimeter scan when written to an lpg graph.

This PR has been dropped because it is superseded by https://github.com/adevinta/graph-altimeter/pull/19 and https://github.com/adevinta/graph-altimeter/pull/20.


🐛 Fixed theme upload error when overriding existing

Cache invalidation header was set wrongly in frontend theme service, instead of themes controller. Since headers don't exist in the frontend theme service, it failed when uploading and overriding the same theme zip.
This PR moves cache invalidation out of theme service to themes controller, but causes a minor change in behavior. Previously, cache invalidation header was only set when uploaded theme is same as current theme and overrides it. This change will always set cache invalidation header on theme upload.
To fallback to previous behavior, theme service needs to return header or some flag back to controller to set correctly the header, which is ideal but slightly more verbose change for frontend to return.

@gargol Looking at test failures, we actually don't want to invalidate cache in all cases explicitly, so PR will need an update. Theme service will somehow need to inform controller about overriding existing theme so it can set cache invalidation header only in that case. Originally I was thinking of returning
headers: {cacheInvalidation: true},
theme: theme
}```

from the the service so controller can set headers, but assuming frontend knows about theme headers might be odd, so should we set it as some other flag like `existingThemeOverriden: true` or something similar? 🤔

@rishabhgrg think that returning an additional flag would be the best solution for now. As for naming, think just themeOverriden would be good, the existing doesn't give any additional context tbh.

Also, symetric change has to be done in v0.1 API - https://github.com/TryGhost/Ghost/blob/f3ec2fb/core/server/api/v0.1/themes.js#L78, because the setFromZip method was extracted from there as well.

@rishabhgrg was wondering if we have any coverage for such a case (or if we should add some) and think this test - https://github.com/TryGhost/Ghost/blob/75fbd27/core/test/regression/api/v0.1/themes_spec.js#L130 , should have caught this exact cache invalidation case but it didn't. Probably worth giving it another look and see what is up with is so similar bug doesn't crop up again :grimacing:

@gargol I think probably the reason the test case didn't work is because it uploads a new theme with a different name and this case is only triggered if the currently active theme is re-uploaded with a zip. Probably that needs to go in as a separate regression test case?

@gargol Also updated to pass the themeOverriden flag now, will be good if you can give it a quick sanity check :)

Oh I see it now, this bit in the test:
scope.uploadTheme({themePath: path.join(__dirname, '..', '..', '..', 'utils', 'fixtures', 'themes', 'valid.zip')})

would need to be casper.zip (or rather original themes name) instead of valid to catch this case.

Probably that needs to go in as a separate regression test case?

Yes, that would be ideal


Can one of the admins verify this patch?

Ok to test

This pull request makes the build fail.


Script for balance based on searchrawtransactions output

Is there a script anywhere that will convert the output of searchrawtransactions to a balance? Or is it a planned feature at all to support getting balance for arbitrary addresses via bitcoin-cli?

Never found anything so wrote this: https://github.com/weex/addrindex-balance


[CI] Fix apiserver test in image-release process

Why are these changes needed?
Fix https://github.com/ray-project/kuberay/actions/runs/7675203709/job/20921092395.
Related issue number

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

cc @architkulkarni would you mind stamping this PR? I need to test it after it's merged. Thanks!


[Decompiler] Decompile let

Todo before merge:

[ ] Update the offline test reference
[ ] Fix up missing parent issue for gkernel
[ ] Make decompiler regression tests use this pass
[ ] Recognize dotimes

Pull Request Test Coverage Report for Build 623037094

125 of 395 (31.65%)  changed or added relevant lines in 11 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.3%) to 68.354%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

decompiler/IR2/Env.h
0
1
0.0%

decompiler/config.cpp
0
1
0.0%

test/offline/offline_test_main.cpp
0
1
0.0%

decompiler/IR2/Form.h
4
7
57.14%

decompiler/analysis/insert_lets.h
0
4
0.0%

decompiler/IR2/Env.cpp
3
12
25.0%

decompiler/ObjectFile/ObjectFileDB_IR2.cpp
0
15
0.0%

decompiler/IR2/Form.cpp
115
190
60.53%

decompiler/analysis/insert_lets.cpp
0
161
0.0%

Files with Coverage Reduction
New Missed Lines
%

decompiler/IR2/Form.cpp
3
71.08%

Totals

Change from base Build 621504658:
-0.3%

Covered Lines:
31254

Relevant Lines:
45724

💛  - Coveralls


Update create-web-service-classes.md

Without the UserAgent I was receiving a 403 error.

Hi @keithnicholson
Was this on Windows?

Hi @keithnicholson
I've tried the sample that the tutorial links to, from both VS2019 and VSMac, and it runs on both iOS and Android without requiring any modification (no need to set the user agent etc.).

@davidbritch Thank you for looking into this.
My addition of code was necessary for the UWP project.  I commented the two lines of code out and ran it in the Android project.  It ran just fine like you experienced.
Can you try executing the code as UWP and see if you see the 403 error in the response of the _client.GetAsync(uri)?

Hi @keithnicholson
Agreed that this is a problem on UWP, and that you've identified the solution. I've already updated the sample. I'll get the doc updated.


How are the bins calculated for the linear regression (numeric values)

I am not completely sure about how are the bins calculated by the ML when analysing numeric key influencers for numeric outputs

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4200dd45-15ab-ee4a-9818-10cc81475f64
Version Independent ID: 0b96ac28-e2a2-41c9-eff0-efd864fc0529
Content: Key influencers visualizations tutorial - Power BI
Content Source: powerbi-docs/visuals/power-bi-visualization-influencers.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @mihart
Microsoft Alias: mihart

Thanks for your comment, @gerachanante . I’ll review this request for inclusion in our docs backlog.

Thanks @gerachanante. I'll update the documentation to explain how the binning works.

#please-close @mgblythe


Issue with PowerBi Performance Report

When data is collected from a FCI, the memory report fails as shown below:

It seems issue is with the following query. To fix it, we should use property ComputerNamePhysicalNetBIOS instead of MachineName to assign the value to the variable @MachineName
DECLARE @RoundToMinutes SMALLINT = 0
, @StartDate DATETIME = '1/1/1900 12:00:00 AM'
, @EndDate DATETIME = '1/1/2099 12:00:00 AM'
DECLARE @MachineName VARCHAR(30);
DECLARE @InstanceName VARCHAR(30);
SELECT @MachineName = '\' + PropertyValue
FROM dbo.tbl_ServerProperties
WHERE PropertyName = 'MachineName';
SELECT @InstanceName = PropertyValue
FROM dbo.tbl_ServerProperties
WHERE PropertyName = 'InstanceName';
IF OBJECT_ID('dbo.CounterData') IS NOT NULL
AND OBJECT_ID('dbo.CounterDetails') IS NOT NULL
BEGIN
/* Memory Perfmon Counters */
WITH    cteCounterData
AS (
SELECT  CASE    WHEN @RoundToMinutes < 1 THEN CAST(dat.CounterDateTime AS DATETIME)
ELSE DATEADD(MINUTE, (DATEPART(MINUTE, CAST(dat.CounterDateTime AS DATETIME)) / @RoundToMinutes) * @RoundToMinutes,
DATEADD(HOUR, DATEDIFF(HOUR, 0, CAST(dat.CounterDateTime AS DATETIME)), 0))
END AS SampleDateTime
, det.InstanceName
, CAST(dat.CounterValue AS DECIMAL(38, 2)) AS CounterValue
, det.ObjectName
, det.CounterName
FROM    dbo.CounterData AS dat
INNER JOIN dbo.CounterDetails AS det ON dat.CounterID = det.CounterID
WHERE   det.MachineName = @MachineName
AND (
(
@InstanceName IS NULL
AND det.ObjectName LIKE 'SQLServer:Memory Manager%'
) OR (
@InstanceName IS NOT NULL
AND det.ObjectName LIKE 'MSSQL$' + @InstanceName + ':Memory Manager%'
)
)
AND (
det.CounterName IN ('Memory Grants Pending', 'Target Server Memory (KB)', 'Total Server Memory (KB)')
--OR (
--  det.CounterName IN ('Working Set')
--  AND det.InstanceName LIKE '%sqlservr%'
--  )
)
AND dat.CounterDateTime >= @StartDate
AND dat.CounterDateTime <= @EndDate
) ,
cteCounterDataSummarized
AS (
SELECT  SampleDateTime
, InstanceName
, MAX(CounterValue) AS MaxCounterValue
, MIN(CounterValue) AS MinCounterValue
, AVG(CounterValue) AS AvgCounterValue
, ObjectName
, CounterName
FROM    cteCounterData
GROUP BY SampleDateTime
, InstanceName
, ObjectName
, CounterName
)
SELECT  SampleDateTime
, InstanceName
, MaxCounterValue
, MinCounterValue
, AvgCounterValue
, ObjectName
, CounterName
FROM    cteCounterDataSummarized
ORDER BY SampleDateTime
, InstanceName;
END;
ELSE
BEGIN
SELECT TOP 0
NULL AS SampleDateTime
, NULL AS InstanceName
, NULL AS MaxCounterValue
, NULL AS MinCounterValue
, NULL AS AvgCounterValue
, NULL AS ObjectName
, NULL AS CounterName;
END;

Commit - 8cbf841d4a6d50c8b714f9a167e06910837d7371

Fix in PR - https://github.com/microsoft/SqlNexus/pull/242


Showing All Messages : The remote repository could not be accessed.

Hello. I get this error with your repository:
Showing All Messages
: The remote repository could not be accessed. Make sure a valid repository exists at the specified location and that the correct credentials have been supplied.

@veleskevich
Should be fixed now. Please make sure to use this url in dependencies
https://github.com/spacenation/swiftui-charts.git


Feature/csi 500 yaml safe load

[CSI security code scan]: Use of unsafe yaml load
Use safe_load instead of load to load yaml file in controller

This change is


Create Github Action to build and maybe output docker container

Ideally would build this in the pipeline. Not sure if it should be able to be downloaded or if it should just be pushed to ECR or similar.

Can create a separate job for this but goreleaser can also build a docker container.

Will need to see what else is needed for goreleaser to upload the docker images.  It should be fine to let goreleaser handle it once the linting and scanning are in place.

So need to build the container to scan it sigh

finally got a container image now
not sure if the arm thing worked though
probably need to setup buildx

this is probably ok now


Child lock and Filter life don't work in 2H and Pro H

Child lock and Filter life don't work in 2H and Pro H. They throw Cannot read properties of undefined (reading 'value').
20/11/2021, 19:08:09] [homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Lock Physical Controls': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'value'). See https://git.io/JtMGR for more info.
[20/11/2021, 19:08:09] [homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Filter Life Level': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'value'). See https://git.io/JtMGR for more info.
[20/11/2021, 19:08:09] [homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Filter Change Indication': Unhandled error thrown inside read handler for characteristic: Cannot read properties of undefined (reading 'value'). See https://git.io/JtMGR for more info.

Version is homebridge-xiaomi-mi-air-purifier v2.0.0
NPM 8.1.4
Node 16.13
Affected Devices

Xiaomi Air Purifier 2H
Xiaomi Air Purifier 2S
Xiaomi Air Purifier Pro H

Reported by @Dane03 in https://github.com/torifat/xiaomi-mi-air-purifier/issues/226#issuecomment-974690483
Reported by @guesq in https://github.com/torifat/xiaomi-mi-air-purifier/issues/226#issuecomment-974759096

Yeah, I changed to this plugin from the my previous homebridge-xiaomi-purifier-eu (repo) because that was bombarding my log with "Lock Physical Controls" read handler errors. But now I still get flooded logs but with this error related to Filter Life Level and Filter Change Indication instead:
2021-11-22, 12:06:21 PM [Raspberry-HOOBS 1F84@Air Purifier 2@Air Quality on Air Purifier 2@Filter Life Level] Unhandled error thrown inside read handler for characteristic: Cannot read property 'value' of undefined
2021-11-22, 12:06:21 PM [Raspberry-HOOBS 1F84@Air Purifier 2@Air Quality on Air Purifier 2@Filter Change Indication] Unhandled error thrown inside read handler for characteristic: Cannot read property 'value' of undefined

😩
N.b. I use the Mi Air Purifier 2S model.

I need some volunteers to test 2* and Pro devices. I don't own those devices, so it's tough for me to test.

@torifat I can volunteer

Thanks, @luluhoc. Can you please share the output of the following code snippet?
require('miio')
  .device({
    address: "?.?.?.?",
    token: "YOUR_TOKEN",
  })
  .then(console.log);

It should output something like:
MiioDevice {
  model=zhimi.airpurifier.mb3,
  types=miio:air-purifier, sensor, miio, air-purifier,
  capabilities=fan-speed, miio:led-brightness, pm2.5, relative-humidity, temperature, switchable-mode, mode, switchable-power, restorable-state, power, state
}

:warning: If it spits out any private information please remove it before sharing.

Thanks, @luluhoc. Can you please share the output of the following code snippet?
require('miio')
  .device({
    address: "?.?.?.?",
    token: "YOUR_TOKEN",
  })
  .then(console.log);

It should output something like:
MiioDevice {
  model=zhimi.airpurifier.mb3,
  types=miio:air-purifier, sensor, miio, air-purifier,
  capabilities=fan-speed, miio:led-brightness, pm2.5, relative-humidity, temperature, switchable-mode, mode, switchable-power, restorable-state, power, state
}

⚠ If it spits out any private information please remove it before sharing.

@torifat, this is the output of my device. Looks like my device is Air Purifier 2. I thought it was 2H. Sorry for the misinformation.
MiioDevice {
  model=zhimi.airpurifier.m1,
  types=miio:air-purifier, sensor, miio, air-purifier,
  capabilities=miio:buzzer, miio:led-brightness, miio:switchable-led, pm2.5, relative-humidity, temperature, switchable-mode, mode, switchable-power, restorable-state, power, state
}

Thank you, this will help me a lot.

@torifat It's the 2S:
MiioDevice {
  model=zhimi.airpurifier.ma2,
  types=miio:air-purifier, sensor, miio, air-purifier,
  capabilities=miio:buzzer, miio:led-brightness, miio:switchable-led, pm2.5, relative-humidity, temperature, switchable-mode, mode, switchable-power, restorable-state, power, state
}

@cbrunnkvist 2* & 3* devices use different  method and property names. In my fork, I'm trying to make them same. For example this - https://github.com/torifat/miio/commit/856110ef23595b5eebc6b8ad938b663b3a5021aa. However, my end goal is to move to https://github.com/maxinminax/node-mihome.

Thanks, @luluhoc. Can you please share the output of the following code snippet?
require('miio')
  .device({
    address: "?.?.?.?",
    token: "YOUR_TOKEN",
  })
  .then(console.log);

It should output something like:
MiioDevice {
  model=zhimi.airpurifier.mb3,
  types=miio:air-purifier, sensor, miio, air-purifier,
  capabilities=fan-speed, miio:led-brightness, pm2.5, relative-humidity, temperature, switchable-mode, mode, switchable-power, restorable-state, power, state
}

⚠ If it spits out any private information please remove it before sharing.

I will give you later, I can open another PR if you want i leave your old properties and just add conditional if model is PRO

Can you folks try the new version 2.0.1 and see if it fixes your problem.

also check this out this guy listed all properties https://github.com/syssi/xiaomi_airpurifier

@luluhoc Thanks, but I don't actually need those. Xiaomi has an official API that gives you those. I'm asking you folks to run it to see what miio library gives us, not what is supported.

Can you folks try the new version 2.0.1 and see if it fixes your problem.

also check this out this guy listed all properties https://github.com/syssi/xiaomi_airpurifier

@luluhoc Thanks, but I don't actually need those. Xiaomi has an official API that gives you those. I'm asking you folks to run it to see what miio library gives us, not what is supported.

I will try it later when I'll get home from work :)

Can you folks try the new version 2.0.1 and see if it fixes your problem.

also check this out this guy listed all properties https://github.com/syssi/xiaomi_airpurifier

@luluhoc Thanks, but I don't actually need those. Xiaomi has an official API that gives you those. I'm asking you folks to run it to see what miio library gives us, not what is supported.

@torifat Thanks for your effort.
There are no error messages when starting Homebridge now.
The values of Filter Life Level and Filter Change Indication should be correct.

But when Fan speed is enabled and I'm trying to adjust the fan speed in Home app, I get the following errors:
[homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Rotation Speed': Unhandled error thrown inside write handler for characteristic: Mode `none` not supported. See https://git.io/JtMGR for more info.

When Child Lock is enabled and switched on or off in Home app, I get the following errors:
[homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Lock Physical Controls': Unhandled error thrown inside write handler for characteristic: device.changeChildLock is not a function. See https://git.io/JtMGR for more info.

Thanks @guesq, that's quite helpful. I will fix both of those issues soon.

Confirmed on 2S it doesn't spam logs anymore now 👍 , also power switch works fine. And if I enable speed control, it logs the same exception as @guesq's on changing its value:
2021-11-24, 4:24:19 PM { speed: 65 }
2021-11-24, 4:24:19 PM [Raspberry-HOOBS 1F84@Air Purifier 2S@Air Purifier 2S@Rotation Speed] Unhandled error thrown inside write handler for characteristic: Mode `none` not supported

As I come to think of it, it's a little bit ambiguous as to what should actually happen when you adjust Fan Speed because in the Mi Home app, (-for the 2S at least-), in two (🅰Auto and 🌙Night) out of its three possible operating modes, there is no fan speed slider shown. Only the third mode (🖤Manual) lets the user pick a constant speed.

@guesq and @cbrunnkvist I just release a new version<EMAIL_ADDRESS>Can you folks please check if it fixes the fan speed and child lock problem 🙏🏽.

@guesq and @cbrunnkvist I just released a new version<EMAIL_ADDRESS>Can you folks please check if it fixes the fan speed and child lock problem 🙏🏽.

@torifat Tested. While adjusting Fan Speed, the following messages show in logs:
MiioDevice {
  model=zhimi.airpurifier.m1,
  types=miio:air-purifier, sensor, miio, air-purifier,
  capabilities=fan-speed, miio:buzzer, miio:led-brightness, miio:switchable-led, pm2.5, relative-humidity, temperature, switchable-mode, mode, switchable-power, restorable-state, power, state
}
[12/4/2021, 6:30:30 AM] [homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Rotation Speed': Unhandled error thrown inside write handler for characteristic: device.changeFanSpeed is not a function. See https://git.io/JtMGR for more info.

While Child Lock is switched, the following messages show in logs:
[12/4/2021, 6:32:01 AM] [homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Lock Physical Controls': Unhandled error thrown inside write handler for characteristic: . See https://git.io/JtMGR

@guesq and @cbrunnkvist I just released a new version<EMAIL_ADDRESS>Can you folks please check if it fixes the fan speed and child lock problem 🙏🏽.

Still 2.0.1 listed as the newest version in Hoobs!

[21/12/2021, 06:50:24] [homebridge-xiaomi-mi-air-purifier] This plugin threw an error from the characteristic 'Active': Unhandled error thrown inside write handler for characteristic: device.power is not a function. See https://git.io/JtMGR for more info. MiioDevice {   model=zhimi.airp.mb3a,   types=miio,   capabilities= }


refactor(asyncapi.md): make sentence dots consitent

Some fixed fields description have dots and some don't. This PR provides remediation and introduces a little bit more consistency.

LGTM, however I think docs: commit prefix fits better than refactor:.

Sure, can be address by squash and merge workflow, or do you want me to force push a new amended commit msg?

LGTM, however I think docs: commit prefix fits better than refactor:.

Sure, can be address by squash and merge workflow, or do you want me to force push a new amended commit msg?

You just need to change it in the PR title. The PR title is used as the commit message when squashing.

Done.

@char0n no worries, happy to explain.
The only difference is that if you make an editorial change against next-major, then the change will wait until the next release window to get released. And if the change is introduced against master, and with docs: prefix, then we update it also automatically on asyncapi.com
so yeah, editorial changes is a key here, because if it is more, then yeah, should not go to master

/rtm

Forget about the last comment saying it was released in version 2.5.0-next-major-spec.1. I made a mistake and it created this version but it should actually be 3.0.0-next-major-spec.1. There's a notice in the release. Apologies for the noise.

Recent comments about the release from the bot were added by mistake. More details in https://github.com/asyncapi/spec/issues/899


Read excel template generated by create_excel_template

@jsvgoncalves Can you give context on the version limit for openpyxl?

@jsvgoncalves Can you give context on the version limit for openpyxl?

If a package follows semver, then the best practice is to pin dependencies to a major version. I did not check how well openpyxl follows semver so just played it safe. Feel free to adjust.

OK, just was curious if you found a bug in something later on. Thanks!

@jsvgoncalves Yes, you are right that I didn't pull before doing stuff. Sorry. Not intentional.


rapids-cmake won't ever use an existing variable starting with RAPIDS_

Fixes #200

@gpucibot merge


Ignore WearDataLayerRegistryTest because it's flaky

WHAT
Ignore flaking test
WHY
HOW
Checklist :clipboard:

[ ] Add explicit visibility modifier and explicit return types for public declarations
[ ] Run spotless check
[ ] Run tests
[ ] Update metalava's signature text files

Let's merge after we see it one more time.


On Criteo dataset, getting NaN/None on numerics_check log2 for factor size of 16

Hi, Thanks for sharing your code, really helpful.
I have been able to reproduce results on custom subset of Frappe and Avazu datasets, however on Criteo dataset, am getting NaN/None on numerics_check log2 for factor size of 16 after 40-50k global steps. Could you help me on this?
I am running your code with no changes and with default parameters as suggested in shell script. tf version: 1.15

Hi Arindam, did you use the provided preprocessed Criteo dataset or the Criteo dataset preprocessed by yourself?


Start thinking about keyboard shortcuts, i.e space for play/pause is mandatory

Can we add this quickly please? It's very disturbing not to have the space key working at least for play/pause...


Add Language Support for Achievments

May be you can include the lang Tag in api, based on GOG/OS language and set if not available to en.
Available languages are:
en, es, de, fr and zh
For example:
https://api.guildwars2.com/v2/achievements/categories/1?lang=de
response:
"name": "Bezwinger",
https://api.guildwars2.com/v2/achievements/categories/1?lang=fr
response:
"name": "Pourfendeur",

@FriendsOfGalaxy Is it possible to specify language for achievements?
Something like
{
  "releasePerPlatformId":"gw2_guild_wars_2",
  "name": {
      "*": "Drake Slayer",
      "en": "Drake Slayer",
      "de": "Lindwurm-Bezwinger"
   },
  "description": {
      "*": "Enough of these massive drakes on Tyria's massive plains.,
      "en": "Enough of these massive drakes on Tyria's massive plains.",
      "de": "Genug von diesen riesigen Lindwürmern auf Tyrias riesigen Ebenen."
   },
  "apiKey":"5",
  "imageUrlUnlocked":"http://gw2.friends-of-friends-of-galaxy.org/assets/achievement-earned.png",
  "imageUrlLocked":"http://gw2.friends-of-friends-of-galaxy.org/assets/achievement-unearned.png"
}

No, currently it is not supported. Probably in the future


Changed letter case to lower

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
✔

Tests pass?
✔/❌

Merged. Thanks!


questions about image id = 1

thanks for you great work I am interested in your work. But I have a question about your code in "image id = 1", Does this refer to the second sentence ？

Hi xixiareone,
Thanks for your interest in my code!  This repo was never quite completed, so I recommend using this excellent code-base for evaluating image captioning models: https://github.com/Maluuba/nlg-eval.
The image id refers to which training example a particular prediction corresponds to. In the cider.py there are 5 training examples, and the candidate sentence corresponds to training example 1.
-Brandon

Let me know how else I can help!

thanks you very much!


Create contribution25.json

Same comment as #922, the image file needs to have the same name as the json!

Looking good!

(will merge once the checks complete!)

Now live on the site!!!


[FEATURE] @Getter for a @Log

@Getter does not create getters for static fields (when placed on the class).
If you want the getter for a static field, you must put the @Getter on the static field directly.
If you use the @Log (@Slf4j, ect...), it creates the static log field for you.
If you want a getter for the logger, you would need to put the @Getter on the logger field.
You can't use both annotations together.
2 options:
Please add a parameter to @Getter(getStatic=true)
OR
Please add a parameter to @Log(getter=true)

I don't think that this is a use-case that occurs a lot. A handwritten getter would in my opinion not be a big penalty for this.


Splash page

This commit creates the new splash page based on the designs in Figma.
https://www.figma.com/file/h0KXgHOhxSyttyzsosd2aN/Citizenship-Center?node-id=644%3A0
Currently, we don't have review apps set up, so you would have no way to view the changes without running the project. I'll work on getting that set up.

@mbass99 the temporary review page is live. https://citizen-center-git-splash-page.access-america.vercel.app
Please take a look at it and provide feedback. I tried to stay true-to-design, but it's possible I may have missed something.

It looks good!  The one thing I was wondering now that I see it is if the "What are these?" questions are too small and we should make them bigger?

How's that look? Want 'em bigger?
https://citizen-center-jor8dvroj.vercel.app/


Import failing

Describe the bug
why import is failing on bolt.new?
https://bolt.new/~/github.com/sanjabh11/RecordNow
I'm importing your repository into Bolt. This may take a moment as I set everything up. Once it's ready, you'll be able to explore and interact with your code.
Importing Github Repository
import failed- sanjabh11/RecordNow
Cannot destructure property 'appFiles' of 'project' as it is null.
An unknown error occured while running an action.
Link to the Bolt URL that caused the error
https://bolt.new/~/github.com/sanjabh11/RecordNow
Steps to reproduce
https://bolt.new/~/github.com/sanjabh11/RecordNow
Expected behavior
https://bolt.new/~/github.com/sanjabh11/RecordNow
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 43728604,
  "usedJSHeapSize": 39496640,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = Renu
Chat ID = 22ad334105bb

Additional context
Error:
An unknown error occured while running an action.

Appreciate the feedback! This issue is being tracked here: #1812.


Concatenate multiple pictures into one video ?

Hello,
Your script is really useful.
Do you know if it's possible to your use you script to export multiple pictures (maybe more than 50) by using xfade transitions to export pictures to a video ?
I really like this transition effect here in the "Transitioning between the images" section:
https://creatomate.com/blog/how-to-create-a-slideshow-from-images-using-ffmpeg
In this tutorial, they used only three pictures:
https://creatomate.com/assets/blog/how-to-create-a-slideshow-from-images-using-ffmpeg/xfade-slideshow.mp4
I'd like to export a lot of pictures. I would like to use different viewing times for every other image, like this :
- loop 1 -t 5 -i slide2.png
- loop 1 -t 3 -i slide3.png
- loop 1 -t 5 -i slide4.png
- loop 1 -t 3 -i slide5.png
- loop 1 -t 5 -i slide6.png
- [...]

I don't know much about programming but I try to learn more every day about this incredible world ;)
Thank you.

@Cronos-lab My library is meant for concating video's, maybe you can use fluent-ffmpeg to create a video of a image first and then use my library ?


e2e: pr success testThu, 28 Sep 2017 04:30:46 GMT

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

E2E_DocsBranch_Internal_Dynamic/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


jnp.zeros{,_like} no longer produces a Zero.

This is from some discussion in #2. The existing approach is a little
bit magic.
This also means that we can probably remove dynamic tracing.

Has this PR been supplanted by later refactors?

Not necessarily. The thing I ended up changing was to add a dynamic flag here:
https://github.com/patrick-kidger/quax/blob/b872ca847a9ea6a8878d51eae516575ff67f01a2/quax/_core.py#L298
If this flag is set then Quax will be ran against all primitive rules within its dynamic context. (Not just the ones it has data dependency on.) In practice the only one that affects is this one, since it's the only one without dependence on a Quax value.
So for now I've set that flag to False by default, and this rule is just never hit. I'd be open to allowing dynamic=True for power users, in which case this rule may come in useful again.


Use cheaper transforms in Viewbox.

What does the pull request do?

Just a small tweak for Viewbox since I saw that it was using mutable ScaleTransform that is quite heavy.

You can test this PR using the following package version. 0.10.999-cibuild0020442-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


Disqus comment box not showing when using posts layout

What happened?
I can see Disqus comments in posts with layout: single but not in posts with layout: posts.
However, if I check the source code of the page in both cases, the JS code for the box is there.

Minimal Mistakes version: latest
Ruby gem or remote theme version: jekyll-remote-theme (= 0.4.3)
Jekyll version: 3.9.2
Git repository URL: https://github.com/pocosmhz/pocosmhz.github.io
Hosted on GitHub Pages (if yes provide URL to site): Yes. https://blog.pocosmhz.org which points to https://pocosmhz.github.io
Operating system: Both Debian Linux and MacOS Big Sur.

Expected behavior
I hoped to see the comment box in posts with layout: posts as well.
Steps to reproduce the behavior
I supply the same post with different date and layout field. The rest of the post is the same:

Post with layout: single, where the comment box appears: https://blog.pocosmhz.org/2021/02/07/secret-world.html
Post with layout: posts, where the comment box does not appear: https://blog.pocosmhz.org/2021/02/08/secret-world.html

Other
Again, and just in case, the blog repository is public and can be downloaded from https://github.com/pocosmhz/pocosmhz.github.io .

I'd say it's pretty much intended. The posts layout is for listing recent posts and not for content pages, so there's no <section id="disqus_thread"> for the Disqus script to insert the comment area.

@iBug oh, I see.
I thought the "default" layout was posts. I'll use single for my posts as it looks it's the best for that.
Thanks!


Add additional data to exception

Coverage remained the same at 100.0% when pulling 2ea8dd15eae5eee1ffe96bff1310f8fd9757c0af on develop into c32ab5ac865f43c2621864a386e9ccc64ff7760e on master.


Removed all use of Homebrew from github workflow steps

Change description
Fix some of the brew dependencies
Type of change

[x] Bug fix (fixes an issue)
[ ] New feature (adds functionality)

Related issues

Fix #20

Checklists
Development

[x] Lint rules pass locally
[x] Application changes have been tested thoroughly
[ ] Automated tests covering modified code pass

Security

[x] Security impact of change has been considered
[x] Code follows company security practices and guidelines

Code review

[ ] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary
[ ] "Ready for review" label attached and reviewers assigned
[x] Changes have been reviewed by at least one other contributor
[x] Pull request linked to task tracker where applicable

Should the description be revised?  Maybe it should say "Removed all use of Homebrew from github workflow steps.", or something to that effect.
I went ahead and created an Issue and associated it with this PR so we can track that.
I have approved the code changes as they look correct to me, and you verified the workflow steps all work as expected with homebrew removed.

Should the description be revised? Maybe it should say "Removed all use of Homebrew from github workflow steps.", or something to that effect.
I went ahead and created an Issue and associated it with this PR so we can track that.
I have approved the code changes as they look correct to me, and you verified the workflow steps all work as expected with homebrew removed.

True, changed


StableAbi and Futures

First of all, thank you for your significant contribution to have a stable rust ABI. I found almost everything I needed except for working with futures. There is however another crate named asyncFfi, which provides #[repr(C)] alternative to future-structs.
I tried to have a NewType MyFuture(async_ffi::FfiFuture) which manually implements StableAbi, but I struggled to implement LAYOUT for it and I don't know if this is even possible. This leads to the following questions:

Would you consider to have a feature-flag for this library, so FfiFuture implements StableAbi?
Would it be possible to create a procedural macro to easily generate StableAbi-Implementations for any #[repr(C)] structs?
If both 1+2 are not feasible: Is there another way to use FfiFuture in a StableAbi-struct?

I already worked on this myself, it's just that it hasn't been upstreamed yet: https://github.com/oxalica/async-ffi/pull/10. But it should work perfectly.
Anyway, it would be nice to have official support, or at least some docs point to this crate. Otherwise I wouldn't have known about it.

Update: stable_abi support has been merged into master and will msot likely be available in its next version.

@marioortizmanero cool. I solved the problem a different way (in private code), simply using sabi_trait to create abi-stable versions of BoxFuture/LocalBoxFuture, with appropriate wrappers for Context and Poll. That's not too tricky to pull off, though since they are called very often I am curious what the performance implications are of using a vtable as is done with the sabi_trait (one extra redirection but probably hot in cache) versus having the pointers directly in the struct as you did.

I solved the problem a different way (in private code),

Could you show how?

Update: stable_abi support has been merged into master and will most likely be available in its next version.

Doesn't work for me even with the feature flag, claims it doesn't implement the trait, seems like versioning problem

@yavko at the time, the code was private so I could not (though it's general enough I probably could have shared). However now that code is OSS: https://github.com/CACI-International/ergo/blob/ac1a2492e03fbdffc7df10e15ef6b08ca9b8277e/ergo_abi_stable/src/future/mod.rs

@yavko at the time, the code was private so I could not (though it's general enough I probably could have shared). However now that code is OSS<EMAIL_ADDRESS>
I know this is too much to ask, but could you show an example of its usage? I got it to work in my codebase, but don't actually know how the BoxedFuture struct

Weird I'm getting the same issue I was getting with async-ffi there is no reactor running, must be called from the context of a Tokio 1.x runtime

That is unrelated to StableAbi. You are presumably using some async code that relies on tokio with using a tokio runtime.

That is unrelated to StableAbi. You are presumably using some async code that relies on tokio without using a tokio runtime.

Well, thats the thing, I am, the ffi module calls tokio async calls, and then my code is loading that module and running it under a tokio runtime.

You're problem is that the thread local state (which tokio relies on to provide the context) will not work across binary boundaries. Each binary gets its own copy of the thread local values. The plugin_tls crate allows thread local state to work across binaries, however it requires the state be declared differently. You'd have to patch tokio to make it work, both for the application starting the tokio runtime and every library accessing it.

You're problem is that the thread local state (which tokio relies on to provide the context) will not work across binary boundaries. Each binary gets its own copy of the thread local values. The plugin_tls crate allows thread local state to work across binaries, however it requires the state be declared differently. You'd have to patch tokio to make it work, both for the application starting the tokio runtime and every library accessing it.

Does this work for async-std/smol? And how are you doing it, have you patched it? Thanks for all the help so far!


update python tests to use componentize-py template

Updated the test based on the latest update based on https://github.com/fermyon/spin-python-sdk/pull/66
Also, updates the testing readme to include information about running all the tests.

seem to be running into an unrelated failure
failures:
    integration_tests::test_vault_config_provider
test result: FAILED. 36 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 371.07s


[FLINK-31900] Fix some typo in java doc, comments and assertion message

What is the purpose of the change
Fix some typo in java doc, comments and assertion message
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)

Thanks @reswqa and @TanYuxin-tyx for help review the pr ! Since the ci is passed , can you help me merge it ?