Documentation update for v0.3

[x] [#758]: n/a
[x] New section for start-multi under the commands, right now it's only mentioned in tutorials: @romac
[ ] [#784] ~@adizere~ @romac
[ ] [#862]: partial update
[ ] [#786]: @ancazamfir
[x] [#785]
[ ] [#794]: @ancazamfir
[x] [#811]: n/a
[x] [#840]
[x] [#851]: n/a
[x] [#854]: n/a
[x] [#863]: n/a
[x] [#869]: n/a
[x] [#871]: n/a
[x] [#873]: @ancazamfir
[x] [#878]: n/a
[x] [#909]: n/a
[x] clarify optimistic sends and handshake are not supported @adizere (handled in the feature matrix)
[x] update feature matrix @adizere
[ ] add minimum SDK version
[x] update Hermes version to 0.3.0

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

The version in the title of the guide should be updated to v0.3.0

The version in the title of the guide should be updated to v0.3.0

Yes, good point. This was handled in https://github.com/informalsystems/ibc-rs/pull/904/commits/3e52c31f787c1886855438bc18a1ffb567773a41. Is that incomplete?

The version in the title of the guide should be updated to v0.3.0

Yes, good point. This was handled in 3e52c31. Is that incomplete?

Ah cool, so it was updated while I was reading the guide.


How to set a threshold for a realtime recognition

Hello！I have already learned some principle of face-net and how your code work. But I have some question about the classifier.In the classifier.py  and a threshold question . Classifier, it used SVC classifier.And when I looking for "predict_proba" I find a probability option.So I looking for some code about libsvm_sparse.libsvm_sparse_predict_proba. But I couldn`t find any code about how this probability work out.
I just supposed it was a reflection of distance which refer to the  input to each class.（？）
So when I worked with a recognition program(based on your real time recogntion),it came out a quesiton.I trained 6 classes and because the principle,when a untrained  input was recognized,facenet will found the most close class.
To avoid this problem,I have two solutions.
First is to set a "others" class,
which contained ,for example,50 different people(DIFFERENT,because I want any un trained input was more close to the class "other" than classes I trained.In fact I used a Chinese face dataset called cas-peal - The PEAL Face Database. I used 300 pics for train and 300 pics for test(not a reasonable propotion)，all of those pics are different from each other)，and 10 pics for each man i want to train.After test by the test dataset ,i works perfect,all of those 300 test pics signed to be "other" class.But it will not work when i chose some one who looks like the trained class.I wondered if i will works when the other class was more strong like contain 10000 different pics which was not in the people i want to recognized.
Second is to set a threshold to the propability/score the SVC figured.
But how to calculate this threshold is the question.I read some papers and learned about F1,ROC.But I when i make test, all of test pics was recognized correct.
Is that my test data are short or there is another way out to set this threshold?

Hi
you just need to set a threshold before it returns the face id.

how do it?

you can check it in face.py and use this function:
best_class_probabilities = predictions[np.arange(len(best_class_indices)), best_class_indices]
if best_class_probabilities > threshold:
return self.class_names[best_class_indices[0]]

Thanks @thuoctran.

hi,
Can you plaese tell how you set that "untrained class".

@rain2008204
I figure out the threshold by trained  a lot of classes.And each class contain more than 100 pics.Then, i chose the lowest probabilities of each class and figure an average  value.Which is the threshold.But I dont think its a statistical methods with theoretical support.

@priyakansal I used CASIA-Face dataset which contains many of chinese faces. In "Untrained" class ,each pic represent one man.And this man is not in the range you want to recognized

@skyWalker1997
I am working on my own dataset. So, should I add this "Untrained folder" with some images not in my range of recognition in my training image directory while training the classifier?
eg.
Training image directory should be structured as follows:
Person A
A1.jpg
A2.jpg
.
.
.
An.jpg
Person B
B1.jpg
B2.jpg
.
.
.
Bn.jpg
UNTRAINED
any random image 1.jpg
any random image 2.jpg
.
.
.
.

@priyakansal yes that what i mean.

@skyWalker1997
thanks a lot !!!

@priyakansal  make sure the untrained class contains enough pics.And I set a threshold to add a pledge to the final result.

@skyWalker1997
that means the double assurance while recognizing a face ?
one is introducing some untrained persons and second is setting a threshold also.

@rain2008204
we may also consider the highest probability of each mis recognized class.

@priyakansal Yes,some of my workmates think either set “untrained” or "threshold" will work.Both pledge is not necessary.

@skyWalker1997
Got it !!!
Thanks for the quick response everytime

@priyakansal @skyWalker1997 thanks a lot. another question, we use MTCNN to detect the faces,so which size(20x20???),you will recognize them . I also set a threshold (20X20).

hi, I have a question.
What is the difference between Classifier training of inception resnet v1 & Train a classifier on your own dataset?
As I understand, the train_softmax.py is used for training embeddings and we will use those embeddings for classifier (SVM) model.
I'm not certain and would also like a more thorough explanations.
Thank you in advance :)

@thuoctran you are right.

@thuoctran I can't get your idea, the new person features 128-D feature vectors can be generated by the inception-resnet-v1 network, you can tell me in chinese.

Hi !!
Can anyone please explain me the concept of "untrained" class mentioned above.
Thanks in advance

how is it one shot learning if we have to apply an SVM on the embeddings?


PR for issue/76

Fixed #76

Current coverage is 100.00%

Merging #78 into master will not affect coverage as of b95ab6e

@@            master     #78   diff @@
======================================
  Files           35      35
  Stmts          352     356     +4
  Branches        37      37
  Methods          0       0
======================================
+ Hit            352     356     +4
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of b95ab6e

Powered by Codecov. Updated on successful CI builds.


When pasting a .bib entry, the new entry should be focused in the entry editor

Example:
Paste
@phdthesis{,
    author = {Braun, Felix},
    title = {Application of algorithm-based validation tools for the validation of complex, multi-variant products},
    editor = {},
    booktitle = {},
    series = {},
    journal = {},
    address = {},
    publisher = {},
    edition = {},
    year = {2021},
    isbn = {},
    volume = {},
    number =  {},
    pages = {},
    url = {},
    doi = {},
    keywords = {variant-oriented product portfolios; portfolio validation; portfolio verification; multi-variant products; boolean rules; algorithm-based validation tools},
    abstract = {Based on trends like mass-customization and the individualisation of mass products also in the vehicle manufacturing industry, multi-variant product portfolios are usually required to account for all the necessary variance. As this work is based on a research cooperation between university and a large commercial vehicle manufacturer, such types of a product portfolio are closely observed. In these types of product portfolios, large sets of Boolean portfolio rules are used to describe the product portfolio with all its variants. In the same time, numerous departments within engineering, sales and production work on these portfolio rules with different information flows and perspectives. Therefore, it is difficult to maintain a fully valid and consistent state of the portfolio over time. This is especially challenging, as advanced tools and algorithms are necessary to ensure validity, as the amount of rules and interdependencies is too large to be handled manually in complex product portfolios. This research examines the different types of multi-variant product portfolio descriptions and its requirements regarding validity and consistency described in recent literature. Based on the definition of how validity is reached within a portfolio, existing approaches on how to ensure this validity over time are explained. Taking these findings into account, the current gap in research is identified: neither exists a concise definition of portfolio validity, nor is an integral approach or process presented to ensure validity in the practical application. Therefore, this research proposes a concise definition of the requirements leading to validity within complex, multi-variant product portfolios. Based on these requirements, an integral approach, a procedural model, is proposed to achieve and maintain validity within complex, multi-variant product portfolios. This approach is explained in detail in the main section of this work. This procedural model is implemented in a real-world industry example in the form of a case study jointly executed with the industry partner. In this case study, a fully valid state of the product portfolio, according to the predefined requirements, can be achieved. Hereby, both the applicability and the validity of the proposed procedural model are shown. Finally, the main findings are outlined: a generic data model and documentation logic for complex, multi-variant product portfolios exist. On this basis, general requirements on the validity of a product portfolio definition can be stated. With the help of existing validation tools and algorithms, a procedural model can be used to guide and structure the validation process of the portfolio rules. When this process is being followed, a fully valid state of the product portfolio and its rules can be reached.  This work also helps the industry partner in the commercial vehicle industry to structure and perform its portfolio validation process as part of its daily business.},
    note = {},

    school = {Universität der Bundeswehr München},

}

The entry is created, but not selected in th emain table or entry editor

I tried to reproduce this bug, but in both case (main table or entry editor) the new entry is created and selected / focused.

Can't repro, more people has the same problem. This issue gonna be closed.
Link: https://github.com/koppor/jabref/issues/555#issuecomment-1163645386


Implement segwit transaction serialization

Usage example for spending from 2-of-2 multisig P2SH-P2WSH address.
tx = BTC::SegwitTransaction.new
tx.outputs = outputs
tx.inputs = inputs
tx.inputs.each do |txin|
  txin.signature_script = input_redeem_script.data
  txin.witness =  ["".b, signature1, signature2, input_witness_script.data]
end

Awesome, than you.
A few comments:

You can use BTC.hash256() instead of BTC.sha256(BTC.sha256()).
New signature_hash function uses dup on the transaction. But current version of dup does not duplicate witness field. This is not a bug for sighash, but should be addressed as soon as a subclass is introduced. (That is, lets not forget the new field txin.witness.)
I'd recommend not creating a subclass at all. I'd rather extend BTC::Transaction with segwit serialization and sighash options, in the same way BTC::TransactionInput simply adds witness.

I would be glad to help with refactoring this. Maybe lets merge this on a segwit branch in this repo first and then refactor there?


Add missing basic nginx.conf options

         use           : nginx_use_method
         server_tokens : nginx_server_tokens
         resolver      : nginx_resolver
         server_names_hash_max_size : nginx_server_names_hash_max_size

This also addresses https://github.com/geerlingguy/ansible-role-nginx/issues/80

Additionally, nginx_server_token is documented but not actually provided for in templates/nginx.conf.j2 which this addresses.


⚠ Minecraft has degraded performance

In fca56cf, Minecraft (https://www.minecraft.net) experienced degraded performance:

HTTP code: 200
Response time: 1412 ms

Resolved: Minecraft performance has improved in b811206.


Updated the example

I updated the example, just a bit more complete. Still not perfect, but they should be able to work it out from there and fix any issues

Nice, sorry for late response, been working on the mobile app. I'll merge this now...


Unable to build sqlite3 for nwjs (node-webkit)

Hi,
I am trying to install sqlite3 for nwjs v0.12.3. I followed the instructions to build for nwjs using nw-gyp. But when I do that, the build fails. The following is the exact command I used and the output of the command:

sudo npm install -g sqlite3 --build-from-source --runtime=node-webkit --target_arch=x64 --target="0.12.3"
/

<EMAIL_ADDRESS>install /usr/local/lib/node_modules/sqlite3
node-pre-gyp install --fallback-to-build

child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3081101/sqlite3.c
TOUCH Release/obj.target/deps/action_before_build.stamp
CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3081101/sqlite3.o
Release/obj/gen/sqlite-autoconf-3081101/sqlite3.c:9117:26: warning: unused variable 'sqlite3one' [-Wunused-const-variable]
SQLITE_PRIVATE const int sqlite3one = 1;
^
1 warning generated.
LIBTOOL-STATIC Release/sqlite3.a
CXX(target) Release/obj.target/node_sqlite3/src/database.o
In file included from ../src/database.cc:2:
/Users/User1/.nw-gyp/0.12.3/src/node.h:55:10: fatal error: 'v8.h' file not found
include "v8.h"  // NOLINT(build/include_order)
^
1 error generated.
make: *** [Release/obj.target/node_sqlite3/src/database.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/nw-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Darwin 14.4.0
gyp ERR! command "node" "/usr/local/bin/nw-gyp" "build" "--fallback-to-build" "--module=/usr/local/lib/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/usr/local/lib/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64"
gyp ERR! cwd /usr/local/lib/node_modules/sqlite3
gyp ERR! node -v v0.12.7
gyp ERR! nw-gyp -v v0.12.4
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'nw-gyp build --fallback-to-build --module=/usr/local/lib/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/local/lib/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64' (1)
node-pre-gyp ERR! stack     at ChildProcess. (/usr/local/lib/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
node-pre-gyp ERR! stack     at maybeClose (child_process.js:1015:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
node-pre-gyp ERR! System Darwin 14.4.0
node-pre-gyp ERR! command "node" "/usr/local/lib/node_modules/sqlite3/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /usr/local/lib/node_modules/sqlite3
node-pre-gyp ERR! node -v v0.12.7
node-pre-gyp ERR! node-pre-gyp -v v0.6.9
node-pre-gyp ERR! not ok
Failed to execute 'nw-gyp build --fallback-to-build --module=/usr/local/lib/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/usr/local/lib/node_modules/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64' (1)
npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "sqlite3" "--build-from-source" "--runtime=node-webkit" "--target_arch=x64" "--target=0.12.3"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR!     npm owner ls sqlite3
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /Users/User1/npm-debug.log
I have node version 0.12.7 and nwjs version 0.12.3 installed in Mac OS X Yosemite.
Any help with respect to resolving the above issue will of great help.
Thanks in advance,

Prasanth.

nwjs 0.12.x is not supported at this time. Only 0.10.x and 0.8.x /cc @Mithgol

I just managed to install and use it with nwjs 0.12.3 and it worked ( :

In my case i build for the OSX 32 bits, so after npm install i also ran:
npm install sqlite3 --build-from-source --runtime=node-webkit --target_arch=ia32 --target=0.12.3

i got a couple of errors here and there when updating to the new nwjs, but eventually it runs and works.

In my case was a python (v2, v3) issue so:
$ mkdir ~/bin
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-config

Did anyone get it working for nwjs version 0.39.0  in Mac/windows machine? Could you please share your thoughts here.

Would you be able to try with v5.0.3? 🙂


Moving FastLogger registration to WebHost

We only want to do the new prototype FastLogger stuff in AzureFunctions, not when running in a traditional WebJob. So I'm moving the registration of the FastLogger into the WebHost. This allows the ScriptHost running in a traditional WebJob to use the existing Dashboard users expect. I've tested this end to end in a deployed WebJob.

Merged


update examples section and clean up 2x spaces

the basic envoy integration for feeder seems functional so i thought it was worth adding to the examples section to offset the existing examples which are pretty stale.

double spaces be damned


Refactoring AMQP adapter to abstract high level interface to generate queue

Because of AMQP driver available (AMQP lite) it is was difficult to implement properly the multi queue which was needed for the partitioning. The implementation should be redone one day.

The required interfaces  are already there, we need an additional implementation but with the RabbitMQ driver.  See https://github.com/aneoconsulting/ArmoniK.Core/pull/150


When input is torch.Tensor, results for shape batch_dim are overridden with "-1"

Hello,
Thank you for updating the original torchsummary.
See this line for the issue I think: https://github.com/TylerYep/torch-summary/blob/784c5b7995925826bb98f532d2af965ecd9ca246/torchsummary/layer_info.py#L55
Here is my input with 32 being the batch size:
data = torch.zeros((32,2,220500)).to(device)
summary(umx, input_data=data,batch_dim=0)

Here's an example of output I get with my model:
------------------------------------------------------------------------------------------
Layer (type:depth-idx)                   Output Shape              Param #
==========================================================================================
├─Sequential: 1-1                        [-1, 32, 2, 2049]         --
├─STFT: 1-2                              [-1, 2, 2049, 212, 2]     (4,096)
├─Sequential: 1                          []                        --
|    └─STFT: 2-1                         [-1, 2, 2049, 212, 2]     (recursive)
├─Spectrogram: 1-3                       [-1, 32, 2, 2049]         --
├─Sequential: 1                          []                        --
|    └─Spectrogram: 2-2                  [-1, 32, 2, 2049]         --
├─Linear: 1-4                            [-1, 512]                 1,037,312
├─BatchNorm1d: 1-5                       [-1, 512]                 1,024
├─LSTM: 1-6                              [-1, 32, 512]             4,730,880
├─Linear: 1-7                            [-1, 512]                 524,288
├─BatchNorm1d: 1-8                       [-1, 512]                 1,024
├─Linear: 1-9                            [-1, 4098]                2,098,176
├─BatchNorm1d: 1-10                      [-1, 4098]                8,196
==========================================================================================

As you can see, for each layer output, the dimension zero is overridden with -1.
If I plug for example
data = torch.zeros((32,2,220500)).to(device)
summary(umx, input_data=data,batch_dim=1)

Then the output is
------------------------------------------------------------------------------------------
Layer (type:depth-idx)                   Output Shape              Param #
==========================================================================================
├─Sequential: 1-1                        [212, -1, 2, 2049]        --
├─STFT: 1-2                              [32, -1, 2049, 212, 2]    (4,096)
├─Sequential: 1                          []                        --
|    └─STFT: 2-1                         [32, -1, 2049, 212, 2]    (recursive)
├─Spectrogram: 1-3                       [212, -1, 2, 2049]        --
├─Sequential: 1                          []                        --
|    └─Spectrogram: 2-2                  [212, -1, 2, 2049]        --
├─Linear: 1-4                            [6784, -1]                1,037,312
├─BatchNorm1d: 1-5                       [6784, -1]                1,024
├─LSTM: 1-6                              [212, -1, 512]            4,730,880
├─Linear: 1-7                            [6784, -1]                524,288
├─BatchNorm1d: 1-8                       [6784, -1]                1,024
├─Linear: 1-9                            [6784, -1]                2,098,176
├─BatchNorm1d: 1-10                      [6784, -1]                8,196
==========================================================================================

So it seems to me there is a problem there. The problem may not come from my model since pytorch-model-summary yields good results.
Am I mistaken somewhere?
Cheers,

Hmm, yes I think this is an issue. For context, in previous iterations of torch-summary, we did not allow the user to pass in a tensor input_data. Since we only allowed input sizes, we needed to infer the batch dimension, and create a tensor with batch size 2 in order to run forward() on the model.
In torch-summary 1.5.0, we will need to modify the API such that if input_data is a tensor, we will use and show the given batch dimension. If input_data is a size, we will use the batch dimension if it is given, or we will need to add some flag specifying the batch has not been provided, and we will infer it.
If input_data is not provided, we do not attempt a forward pass.
Thank you for bringing this issue up - it should be resolved within the next week.

This is now available in torch-summary 1.4.1 by setting summary(..., batch_dim=None).
This will become the default behavior in the future, after some period of deprecation messages.


RBD: improvments to existing code to better align with volumegroup

This PR contains the commits taken out of https://github.com/ceph/ceph-csi/pull/4739 to make the other PR smaller. This contains lot of improvement which is going to help for future implementation and this also takes care of handling the flattening before adding the image to the group.

@mergifyio queue

/test ci/centos/mini-e2e-helm/k8s-1.30

@mergifyio requeue


start broken when using multiple userPoolIds for authorizer

when using a cognito authorizer like this
export const cognitoAuthorizer = (): ApiGatewayV1ApiAuthorizer => {
	const { cognitoUserPools } = useCognitoStack();
	return {
		type: 'user_pools',
		userPoolIds: [...cognitoUserPools],
	};
}

and adding multiple userPoolIds SST start/deploy breaks with following

Error: There is already a Construct with name 'cognitoAuthorizer-ImportedUserPool' in ApiGatewayV1Api [api]
message

Released in v2.0.2


Refreshing the build

I did some housekeeping, mostly updating the dependencies and switching to sbt-typelevel.
I would like to also add support for Mergify, since there's not that much of a need for a manual intervention to merge PRs on this repo as long as the tests are green.
As there's already support for 2.13 and SJS:
Closes #141.
Also closes all this Scala Steward PRs:
Closes #260.
Closes #265.
Closes #268.
Closes #274.
Closes #275.
Closes #276.
Closes #278.
Closes #281.
Closes #286.
Closes #288.
Closes #289.
Closes #290.
Closes #291.
Closes #292.
Closes #293.
Closes #294.
Closes #295.
Closes #296.
Closes #297.
Closes #298.
Closes #299.
Closes #300.
Closes #301.
Closes #302.
Closes #303.
Closes #304.
Closes #305.
Closes #306.
Closes #307.
Closes #308.
Closes #309.
Closes #310.
Closes #311.
Closes #312.
Closes #313.
Closes #314.
Closes #315.
Closes #316.
Closes #317.
Closes #318.
Closes #319.
Closes #320.
Closes #321.
Closes #322.

Tagging @armanbilge

f you wish I can split the scalafmt change in a separate commit and add a .git-blame-ignore-revs.

Yes, that's always good practice!

f you wish I can split the scalafmt change in a separate commit and add a .git-blame-ignore-revs.

Yes, that's always good practice!

Hmm, I'm not sure I did it right. I updated the formatter in f07386a3e982d36d6fc373162292ef1dd3feaa61 and added a .git-blame-ignore-revs file with that hash as content, but the diff is still showing the reformatting 🤔


[$1000] Web - IOU - App crashes when clicking on Amount filed after deleting IOU

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open a chat.
Navigate to the "Request Money" section.
Input a specific amount and send the request.
Open the IOU (I Owe You) details.
Send a message
Now delete the IOU
After deleting click on "Amount" filed

Expected Result:
App should not crash while clicking on amount
Actual Result:
App crashes when clicking on Amount filed after deleting IOU
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/dc8c16c8-1467-4ce3-9625-19e9b5bf38cf
https://github.com/Expensify/App/assets/115492554/8c570bda-4178-42f3-aed0-3389179834c0
Expensify/Expensify Issue URL:
Issue reported by: @ayazHussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692037499896279
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0152f0c75c34484d87
Upwork Job ID:<PHONE_NUMBER>712995328
Last Price Increase: 2023-08-15

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

This is a deploy blocker, but I am surprised that the transaction details are there when the request is deleted, we should make the buttons disabled in such case.

Personally I don't think this should block the deploy as delete is a new-ish feature and trying to edit the amount of a deleted IOU is not a common flow. But we need to fix it for sure.

Yeah I would also err on a side of not blocking but fixing with urgency

I can take this one over as I have worked on the feature.

Proposal
Please re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
transaction is empty object when we delete the request.

What changes do you think we should make in order to solve the problem?
Solution for that is -
Check if deleted -
const isDelete = ReportActionsUtils.isDeletedParentAction(parentReportAction);

change canEdit-
 const canEdit = !isSettled && (isAdmin || isRequestor) && !isDelete;

Button shall be disabled.

But there can be case when user can access through URL - http://localhost:8082/r/338092812286798/edit/amount

To handle this we shall wrap early return the page.

if(_.isEmpty(transaction)) return;

We can also show FullPageNotFoundView instead of return.
What alternative solutions did you explore? (Optional)

@dukenv0307 I think we should just make the transaction button disabled. and remove the caret to the side to make sure its not clickable.
I lso thin kwe should add the deleted message to the let description

I am going to go ahead with @dukenv0307 as they were the fastest and I think their solution is close.

@dukenv0307 I think we need to add some useEffects to make sure the state is updated correctly, when you navigate out of the report and back then you cannot edit the request, right?

Lets consolidate on this issue I will update the issue body

correct so once paid and you go out of the report and back its showing correctly

Responded in slack

Merged 🎉

Payments

[ ] Reporting bonus: @ayazhussain79 ($250 - Upwork)
[ ] Contributor: @dukenv0307 ($1500 - Upwork)
[ ] C+: @Ollyws ($1500 - Upwork)

eligible for urgency bonus -  https://github.com/Expensify/App/issues/24578#issuecomment-1680767012

offers sent to @ayazhussain79 / @Ollyws

@maddylewis offer accepted, Thank you

Everyone paid, closing thanks


Use little endian by default

I have CRC32 calculated using (android and python) libraries and it doesn't match with result. Only after:
crc.setStartXOR(0xFFFFFFFF);
crc.setEndXOR(0xFFFFFFFF);
crc.setReverseIn(true);
crc.setReverseOut(true);

it works.
Most of architectures (esp32/avr/arm/x86) has little endian. And for them we should use this combination.
What about using little endian by default, and allow to change in specific cases, when big endian is needed ?

Thanks for this issue,
Will look into this asap

The same result I have by default from:
Pyhon zlib: https://github.com/vovagorodok/ArduinoBleOTA/blob/b2a0dec00a5e516ad5dc97f9790dfc3db99f39a7/tools/uploader.py#LL166C40-L166C40
Dart archive_io: https://github.com/vovagorodok/ble_ota_app/blob/0116ef0dd9d70739418b245d00d90b0965359929/lib/src/ble/ble_uploader.dart#L132
And arduino library bakercp/CRC32 that I want to replace by your one

@vovagorodok
Is performance an issue?

Please note that the current implementation is verified with

http://zorc.breitbandkatze.de/crc.html - online CRC calculator (any base up to 64 is supported.)
https://crccalc.com/ - online CRC calculator to verify.
https://www.lddgo.net/en/encrypt/crc - online CRC calculator

Is performance an issue?
(the bakercp uses a table which is probably faster)

Little bit faster. But I see, if use lookup table for each type of CRC i takes a lot of memory.

Please note that the current implementation is verified with

Thanks, now I see why its implemented like that.
Give me some time to think about it and maybe propose you some possible improvements

An option is to create CRC32LE()
An optimized little endian version,
No need to reverse every input / output.
Just a thought.

An optimized little endian version,

I messed up a bit, looks that it's not related to endians. Just default parameters intarpretation.
I think that CRC32 can use it default params.
Created pull req: https://github.com/RobTillaart/CRC/pull/32
Sorry for this huge change. Decided to do it once. I made it carefully with checkig everything after each step.
Please teke a look and let me know if its ok, or should I restore something back.
Your library has very big potential and will be nice to have v1.0.0
Additional nice calculator: http://www.sunshine2k.de/coding/javascript/crc/crc_js.html

Thanks fot the PR
This looks like a HUGE pr with large changes. (Github doesnt show them anymore by default). So I did not look into them any further for now.
Expect it will take a lot of time to verify the changes do not break the working, and are an improvement.
Therefor I have to think about how and when to proceed.
Note that this lib is used by many already as it is,

Its because moving source code to src folder. Tried to move back but easier will be to see full new representation. Can move back from src if it help You.
Most of changes are reusing magic numbers and algorithms.

Expect it will take a lot of time to verify the changes do not break the working, and are an improvement.
Therefor I have to think about how and when to proceed.

Can I hep you somehow with that?

Note that this lib is used by many already as it is,

Sure. Here are two interface changes:

Removed setters/getters and using constructor with default params and initialization list instead
Removing yield functionality from default and created separate methods/functions for them

Trying to thing about easiest interface and I'm interesting on your preferences.
If interfaces will be changed, than ver should be increased a lot in order to indicate it.

The setters are one of the unique features of the library as it allowed runtime changing of parameters.

From my PoV, changing of one parameter without other will create misunderstanding what CRC algorithm now we operate on. Better will push full list of parameters in the same time in order to easily determinate algorithm. But it's only my PoV, I'll change it back if you prefer.

I have at least one application that needs them.

Can you show link? I'll take a look

Same for the restart function, this functions were added with a purpose.

See it, two different methods reset and restart are added because of setters/getters. This two methods provide misunderstanding what each is for (maybe better resetParameters?). In this PR author doesn't recognize the difference https://github.com/vovagorodok/ArduinoBleOTA/pull/11/files

If you do not use them the compiler optimizes them away.

If params will be const than compiler optimizes better :p

Agree, but to serve existing users I try to keep the library backwards compatible.
Your proposal, and I really appreciate all the improvements, breaks this compatibility.

That why I have pushed all planed changes in one PR (it shows that it require breaking interface a bit).
I know that breaking interface will impact on existing projects, that why we should discuss all advantages carefully before/if changing. If after discussions we will decided break interfaces than user will be indicated by never version changing to (for example) v.0.4.0 (than PlatformIO will stay older projects on 0.3.3).
No pressure, decisions are on your side. I'm only try do my best to help with improvements and show you some advantages and disadvantages of different solutions. But personally prefer to change interfaces a bit :)

But it's only my PoV, I'll change it back if you prefer.

I understand your point of view, however I prefer to keep them.

I have at least one application that needs them.
Can you show link? I'll take a look

Customer specific, sorry no link.

If params will be const than compiler optimizes better :p

If performance is the issue nothing beats a dedicated CRC (except ignoring :)

... do my best to help with improvements and show you some advantages and disadvantages of different solutions.

Really appreciated!

I understand your point of view, however I prefer to keep them.

Ok, I'll move it back

If performance is the issue nothing beats a dedicated CRC (except ignoring :)

Even code size. Lets keep then non const
Hmm, what about reset and restart? I'll move them back? What about changing reset to something like:
void reset(
    uint32_t polynome = CRC32_POLYNOME,
    uint32_t initial  = CRC32_INITIAL,
    uint32_t xorOut   = CRC32_XOR_OUT,
    bool reverseIn    = CRC32_REF_IN,
    bool reverseOut   = CRC32_REF_OUT);

Semantically I think the following makes sense.
Reset should reset all params to default.
Restart should only reset the initial value.
I have been thinking about a redo/recalc function,it could be used to recalculate crc of one block within a stream. However it never made it to the library.
Users can save the params from start of a block quite easily and redo a block.

Definitely, it was an scenario that did not make it into the library. Too specific and easy for the user to implement.


[Question/Issue?] Unable to read package: resource when it's included in allowed resources

Version: Pkl 0.27.0 (macOS 14.3.1, native)
I maintain a binding and was requested to support for the default allowed resources from the cli (env:,prop:,package:,projectpackage:), but ran into issues with reading packages.
.pkl:
package =<EMAIL_ADDRESS>
Evaluating this using the cli works, but when trying to evaluate it through my binding it says the resource isn't in the allowlist
–– Pkl Error ––
Refusing to read resource<EMAIL_ADDRESS>because it does not match any entry in the resource allowlist (`--allowed-resources`).

4 | package =<EMAIL_ADDRESS>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

allowlist:
allowed_modules: vec![
    "pkl:".into(),
    "repl:".into(),
    "file:".into(),
    "https:".into(),
    "package:".into(),
],
allowed_resources: vec![
    "env:".into(),
    "prop:".into(),
    "package:".into(),
    "projectpackage:".into(),
],

I was able to get this working by adding https: to the allowed resources, but not sure why this happens if the cli's default allowed resources doesn't include it and can read it without issues.
Also, in the docs, allowed resources are described as "Comma-separated list of URI patterns that determine which external resources can be read." My impression was that this was only for the read function, or does this extend to other places as well? I ask because the examples I've seen for including packages is through import, so I was wondering what the use case is for the example I'm trying? Not sure if it's intended to be used a different way

When Pkl evals a package, it will make some HTTPS requests. When it makes these HTTPS requests, it treats them as resource reads.
BTW: it doesn't do this if the package is already cached.
$ pkl download-package<EMAIL_ADDRESS>$ pkl eval -x 'read("package://pkg.pkl-lang.org/pkl-pantry/pkl.toml@1.0.0#/toml.pkl").text.length' --allowed-resources package:,prop: pkl:base

So https: is implicitly required in the allowed resources if the package isn't cached? I'm able to read the package with only package: allowed using the cli and I don't think it's cached

These patterns are simply regexes; you can, for example, set the allowed resource pattern as: --allowed-resources https://pkl-lang\\.org,package://pkl-lang\\.org,prop:, and this will only allow imports from pkl-lang.org.
But, yes, this is an unfortunate coupling; there's currently no easy way to say: "I want to allow packages to be eval'd, but not direct HTTPS imports/reads".

Makes sense, that clears up my confusion. Thanks!


[RFC] Code style

Discuss!

I like xo's defaults lately.

Any style is good. The Express JS project settled on standard just because... choose something :) That's pretty much my only comment here: just pick something, with the only argument being to choose a pre=built set vs trying to maintain your own set.

@dougwilson @TooTallNate yeah I like XO as well.  Might as well go with this

I'm also :+1: for xo simply because it prevents PRs from being riddled with commonly (mis)used bad practices.

Hi @Qix-,
Would it be fair to consider this a breaking change (i.e. a 4.0 change) since it removes compatibility with an older version of node (v4)? I realise node 4 is now unsupported but this may end up breaking a lot of peoples builds that make use modules which depend on the debug package and cannot yet upgrade (such as it's caused the pm2 library to not work for us this morning).
Just thought I'd let you know incase this wasn't the intention.

@billthornton #603 :)

It appears that this PR has broken some builds for us. We're getting some issues with older versions of uglifyJS whereby the es6 syntax is incompatible with this version. The debug package ended up making it into our vendor bundles. I'm not sure if it' too late to bump this change to major version, but a heads up in any case

@eastwood see #603 and #610 please.


Add ByteBuf support in GCMCryptoService

Adding ByteBuf support to CryptoService

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@675206c). Click here to learn what that means.
The diff coverage is 79.31%.

@@            Coverage Diff            @@
##             master    #1282   +/-   ##
=========================================
  Coverage          ?   72.21%
  Complexity        ?     6297
=========================================
  Files             ?      456
  Lines             ?    36130
  Branches          ?     4578
=========================================
  Hits              ?    26093
  Misses            ?     8836
  Partials          ?     1201

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com.github.ambry/router/CryptoService.java
0% <0%> (ø)
0 <0> (?)

...java/com.github.ambry.router/GCMCryptoService.java
89.14% <85.18%> (ø)
17 <5> (?)

Continue to review full report at Codecov.

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


b0d47d3 breaks the learning gem5 links

Oops, but I'm not sure how to fix it :/
Related to #1

b0d47d3


Can't browse clipboard history with up/down

Hi !
I don't know if it's an bug or my conf but I can't browse the clipboard history with the up and down arrows keys since the update to version 0.51 of zazu if I'm not mistaken. I removed the plugin directory and redownloaded it but no changes. It works with the mouse or if I type a letter I can browse with keys.
conf file :
  {
  "hotkey": "alt+space",
  "theme": "tinytacoteam/zazu-light-theme",
  "disableAnalytics": "true",
  "displayOn": "detect",
  "plugins": [
    "tinytacoteam/zazu-calculator",
    "tinytacoteam/zazu-package-manager",
    "tinytacoteam/zazu-file-finder",
    "tinytacoteam/zazu-template",
    "tinytacoteam/zazu-system",
    {
      "name": "tinytacoteam/zazu-clipboard",
      "variables": {
          "ClipboardKey": "cmd+shift+v"
      }
    },
    {
      "name": "tinytacoteam/zazu-fallback",
      "variables": {
          "rootSearches": [
              "google"
          ]
      }
    },
    "tinytacoteam/zazu-snippets",
    "blainesch/zazu-js-beautify",
    "brpaz/zazu-placehold.it",
    "blakek/zazu-ip-address"
  ]
}

system :
 Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux   $ cat /etc/debian_version    8.7
No errors in the logs apparently, if I type a caracter and browse, I can see the index working
edit : browsing works if I type "clip "in zazu
Thanks !

Thank you for reporting! [:

This looks related to tinytacoteam/zazu#262
cc @amjith

When is it interfering with the clipboard results?
I'm confused.4

It doesn't interfere with the results, it interferes with scrolling up and down.

This is still an issue, for me. Is there any progress on addressing this?

Yes this is still an issue as of July 16th, 2017.

Still an issue, as of September 24th, 2017. Can't browse clipboard history with up/down keys.

This is still an issue.

I'll mention this also does not work on windows (10 enterprise, 17134)

Wow, this issue has been open for 2 years! ;)
I'm on a Mac and also face the same issue. Having the ability to navigate items in your clipboard without using the mouse is a huge feature!
From the activity it would seem this is not going to get fixed. Maybe time to drop zazu completely, which is sad as I really liked it.

I know what's going on!
If you type any character, for example a

Then up-down button will work. So this is a but on Zazu side. I'm going to create an issue on it.

A fix is on the way, may appear in Zazu 0.6.0

Note if you type . you can search without it filtering out things I think. But it's a workaround.

In Zazu, if the input is empty you can use the arrow key to browse input history. But this feature broke the clipboard history since they all trying to browse the history.
That's why typing a . can fix it as a workaround, because it disables the "browse input history" behavior.

Fixed in latest Zazu 0.6.0.


Patch/remove dd

Hi @JustinFeng
Could I ask for your help to review this change that includes the following updates for a patch deployment:

Remove DD from TKN
Bump patch version to 2.4.3
Update to change log to include patch changes

Thanks


Sanitize details to avoid brakeman warning

Signed-off-by: Dan Kohn<EMAIL_ADDRESS>

Codecov Report

Merging #763 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #763   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          43     43
  Lines        1380   1380
=====================================
  Hits         1380   1380

Continue to review full report at Codecov.

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

You inspired me to dust off my shell skills and come up with:
$ for i in `cat criteria/criteria.yml `; do echo "$i"; done | egrep '</+[^a]'
must
make).
and

which tokenizes the file and finds tokens starting with < that are not <a or <.a. After converting from  to  with https://github.com/linuxfoundation/cii-best-practices-badge/pull/763/commits/ee18030bc512379794d446fb01a18affae4cb8ff I can confirm that there is no other HTML besides a and em tags. So, limiting to a, em and strong should be fine.
Justification here is that I consider brakeman exceptions a code smell.

In retrospect it should probably have been named details_html. This way is secure against malicious translations, which I hope never happens but what the heck, it does reduce the impact of screw-ups.
However, I don't see any changes to config/locales/en.yml, which is where the details text now lives. Were there no changes?

How do changes get from criteria.yml (where I made them) to en.yml? It's always manual?

No, it's DRY. The details are ONLY in en.yml.  The rationale is ONLY in criteria.yml.
If it needs to be translated it goes in en.yml. If not, then it does not go in en.yml.

I like the idea, but the list is too strict, it's missing stuff like ul, ol, li, b, i.  I think we always use b and i, which now officially have semantic meaning (not just typographic meaning) anyway.  We need to allow b and i at least for now, because they're in the translations & we don't want to just drop them.  If we want to deprecate b and i - and it's not clear we should - that would be easier to handle separately.

Awesome, thanks.  I've broadened the set of allowed tags based on a quick grep of the details text - all of the allowed items are still very safe.


Restart rollout or update tags of container images

How can we restart a rollout of a particular worklload?
I am building Docker images in a previous of our pipeline.
But it seems that we dont have a possibility to update running pods with new images?

Hey Steffen,
the plugin doesn't provide a way to trigger re-deployment with new image.
There is a drone plugin that does just that but the way I do it is by simply including an env in the config
env:
          - name: change
            value: valuevaluevalue

and have a step in the pipeline (.drone.yaml) to change it so a re-deployment gets triggered.
- name: trigger new deployment
  image: golang
  commands:
  - sed -ie "s/valuevaluevalue/$(date)/g" k8s.yaml

Thanks :) This works for me!


[gradle] Add a customization for resources directories.

With the new API it is possible to customize compose resources directories. For example:
abstract class GenerateAndroidRes : DefaultTask() {
    @get:Inject
    abstract val layout: ProjectLayout

    @get:OutputDirectory
    val outputDir = layout.buildDirectory.dir("generatedAndroidResources")

    @TaskAction
    fun run() {...}
}
compose.resources {
    customDirectory(
        sourceSetName = "androidMain",
        directoryProvider = tasks.register<GenerateAndroidRes>("generateAndroidRes").map { it.outputDir.get() }
    )
    customDirectory(
        sourceSetName = "desktopMain",
        directoryProvider = provider { layout.projectDirectory.dir("desktopResources") }
    )
}

Fixes https://github.com/JetBrains/compose-multiplatform/issues/4718
Fixes https://github.com/JetBrains/compose-multiplatform/issues/4564
Release Notes
Features - Resources

Add a customization for resources directories. Now it is possible to use e.g downloaded resources.

The new API looks good to me


Add Installation instructions

Connected to #148
After the npm package has been released, it makes sense to inform users about it.

Could you please bump the package version to 0.01.02

First, that would be totally out of the scope of this PR.
Secondly, why x.x.02? It should be x.x.01 as the current patch version is 0.
Third, according to semver, it should be without leading zeros - 0.1.1.

include some more detail about how/why to use the installed version.

Well, I can add the answer on question how?, but not why? as the latest seems to be well-explained in the README already.

Ah, sorry, I hadn't pushed my local changes. I've already published 0.1.2 (you are correct about semver).
If you can add some more about the how - that'd be great.

Will do :+1:

If you can add some more about the how - that'd be great.

Done, take a look :+1:


feat: mandatory list

Description
closes: #50

Adds mandatory list and logic to slash if validator misses votes just for denoms in mandatory list

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@e498431). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage        ?   15.40%
=======================================
  Files           ?       26
  Lines           ?     8490
  Branches        ?        0
=======================================
  Hits            ?     1308
  Misses          ?     7147
  Partials        ?       35

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Ability to set default timeout in the alerta configuration file

Any chance one can set the DEFAULT_TIMEOUT option in the global settings? I'd want to avoid overriding the default for each and every alert all the time. It would be nice if I could override it centrally once and for all.

Not easily with the current version of Alerta because of circular imports of the config settings. This will be fixed in the next major release.
In the meantime, you can use this plugin which sets a global timeout on alerts as they are received.

Thank you!


msyql integration added

Integrated mysql data source
Added one integration test for the time being, need to add more tests

Please merge the staging branch, which uses a newer version of circle ci, where the tests are not flaky and faster!

@xzdandy How do I ensure that the MySQL server runs in circle CI?

@xzdandy How do I ensure that the MySQL server runs in circle CI?

My suggestion is adding a unit test that mocks the connection first. Regarding on adding a new integration test, we need to set up a docket container in circle ci. Hi @jiashenC, what do you think? Thanks!

@xzdandy How do I ensure that the MySQL server runs in circle CI?

My suggestion is adding a unit test that mocks the connection first. Regarding on adding a new integration test, we need to set up a docket container in circle ci. Hi @jiashenC, what do you think? Thanks!

Sounds good!

@jiashenC Added the unit tests, but I see that psycopg2 and mysql.connector are not installed in test env resulting in test failures

@jiashenC Added the unit tests, but I see that psycopg2 and mysql.connector are not installed in test env resulting in test failures

Thanks for the updates. Yeah, we decide to not auto-install those packages for users. For unit tests, can you add a mock for those two packages as well?

@rohithmulumudy A Few things need to be improved -

get_columns has to be updated -  It should have the following two columns: name and dtype. The dtype should be a Python dtype and will default to str.
The init should have self.connection = None

2. elf.connection = None

@gaurav274 the first point is implemented in the following PR: https://github.com/georgia-tech-db/evadb/pull/1021/commits/af791993f2b010e7845d98e037193c848517e990
Will incorporate the second suggestion in the coming PRs


PHP gRPC plugin not included on make

According to the docs found here, the PHP gRPC plugin should be created in bins/opt after running make in the root of grpc. From what I can tell this does not seem to be the case.
$ ls bins/opt
grpc_cpp_plugin
grpc_csharp_plugin
grpc_node_plugin
grpc_objective_c_plugin
grpc_python_plugin
grpc_ruby_plugin
protobuf

I put together the following Dockerfile for the build process that I am using.
 Any help would be appreciated, thanks!

Figured it out. Seems the gRPC plugin is only available in master and not included in any release yet.
You may want to update the docs to use master in this section.
https://github.com/grpc/grpc/tree/master/src/php#grpc-c-core-library
git clone -b $(curl -L http://grpc.io/release) https://github.com/grpc/grpc

Will clone v1.0.0 which does not include the plugin.

gRPC 1.1.0 has been released. This marks the switch to use the official google/protobuf Proto3 implementation. Please install protoc 3.1.0+ (even better with 3.2.0+) to use the new code generator.
For the gRPC PHP Plugin, you can either use the master branch or the v1.1.x branch and run make grpc_php_plugin. In the future, we will be looking for a better mechanism to distribute this protoc plugin.


imagestorage.cpp NegReader function has code that does not make sense

Looking at the grabbing of the following image by the NegImage reader, which can be found here, we can find the following code snippet

round += last / count;
round = round % (winSize.width * winSize.height);
last %= count;

_offset.x = std::min( (int)round % winSize.width, src.cols - winSize.width );
_offset.y = std::min( (int)round / winSize.width, src.rows - winSize.height );

We can see in the header file that last is defined as integer, and count is defined as size_t, and is the amount of negative files available. This will result in the fact that last/count always equals 0, resulting in round always being 0. this means that _offset.x and _offset.y are also always 0 and thus this code seems actually to do nothing.
@mdim since you implemented this code, could you explain the reason behind this?
@vpisarev are we correct to state that removing these calculations would have no influence at all?
Somewhere it seems logical that for each image you always start at x=0 and y=0 because else you simple ignore information of the negative sample windows.

Extra info (I suggested this report): the round is not always 0, but increased by 1 every time
last++ reaches count.
So this basically is:
if ( last == count )
  round = (round+1) % (winSize.width * winSize.height);
last %= count;

@StephanAris thanks for the addition!

Looking at the code again, the round value is probably ok.. only looks strange.
The function nextImg() is probably meant to provide a next image which has not
been processed before. So after all images are processed it uses the round value
for an extra offset in x and y to introduce another unique image.
However I did notice other strange behaviour which might be wanted or not:

Small negative images with sizes between winSize and 2*winSize
have a high change to be processed again with the same _offset value.
This might be a 'feature' to value them higher (as hard negative),
but looks more like a typo in the code as I expected a "hard negative" is
merely a sample that will be processed and so only needs to be processed once.
As processing is costly, I would assume it would be nicer to skip those a second time.

Images smaller as winSize are always skipped, even though one could scale them up.
Although there might not be a good reason to use smaller images, I see also no reason
to not process them.

If the for-loop completes without any candidate, it will still use the last non-empty image.
Which might have a negative offset, causing a negative scale.
This only happens if all images are smaller as winSize, so probably wont happen.

The variable last and round is never reset to 0 at each stage.
Maybe this is a feature that each stage can get a different set of negatives?

The whole function is focused on scaling any input to the winSize sample size
and let NegReader::get later scale up upto its original image size.
However this means the sample using the detailed pixels supplied by the negative
input images is processed last and only if supplied numNeg and numStages are high enough.
I would assume the opposite order would be better: first treat samples within the original image
and scale down, for example: if the input is a "street overview", it will now treat the entire
"street overview" as a negative sample and the distinction between a "stop sign" and a "tree" is
treated last. Or am I wrong?

bool CvCascadeImageReader::NegReader::nextImg()
{
    Point _offset = Point(0,0);
    size_t count = imgFilenames.size();
    for( size_t i = 0; i < count; i++ )
    {
        src = imread( imgFilenames[last++], 0 );
        if( src.empty() )
            continue;
        round += last / count;
        round = round % (winSize.width * winSize.height);
        last %= count;
        _offset.x = std::min( (int)round % winSize.width, src.cols - winSize.width );
        _offset.y = std::min( (int)round / winSize.width, src.rows - winSize.height );
        if( !src.empty() && src.type() == CV_8UC1
                && _offset.x >= 0 && _offset.y >= 0 )
            break;
    }
    if( src.empty() )
        return false; // no appropriate image
    point = offset = _offset;
    scale = max( ((float)winSize.width + point.x) / ((float)src.cols),
                 ((float)winSize.height + point.y) / ((float)src.rows) );
    Size sz( (int)(scale*src.cols + 0.5F), (int)(scale*src.rows + 0.5F) );
    resize( src, img, sz );
    return true;
}

@StephanAris @StevenPuttemans I really agree with the 5th point you mentioned, could we commit a PR for this change ?

I was also wondering that whether the function NegReader::get() will return false or not if all possible (with different scales, rounds, offsets, etc.) negative samples are cosumed ?


Feature: colorize logs

Expected Behavior
Would be grand if kubecolor could do some simple colorizing of log lines when doing kubecolor logs my-pod-123.
Could be a lot of simple colorizing techniques, such as highlighting ERROR, ERR, and ERRO as bold red. Have WARNING, WRN, and WARN as orange/dark yellow, and so on.
As well as colorizing quotations "text" or stuff inside square brackets [text] to make them stand out more.
It's not a perfect solution, but it could help find some keywords in logs.
Then if the log line is a JSON or logfmt message, then apply syntax highlighting there as well. Such as in JSON to highlight the key vs value parts.
Also think timestamps should be grayed out, like using "bright black" in basic ANSI terminal coloring terms.
Current Behavior
Logs are just green.
Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Operating System: Linux
kubectl version:
kubecolor version: v0.2.2

Hi @applejag
moving from #70 🙂
As you explained, there are many ways to enhance log colorization. However, it's crucial to check first if the logs are already colored.

Well, I think we should just not colorize any logs at all. I guess the green coloring is a bug and we can correct it.
There's this wonderful application called Stern (https://github.com/stern/stern) that will do log coloring better and will handle all the use-cases.
Any PR will be welcome but it's the feature with the least priority on my list :)

I think this could be fun to tackle. :)
Besides, I see that Stern is written in Go, so maybe we could import Stern as a dependency? I don't see much coloring logic in the Stern source code though of the logs themselves.
Their README is also lacking screenshots sadly. @prune998 Do you happen to have a screenshot of Stern coloring the output? Could spark inspiration :)


Security Issue -Stored XSS (markdown)

Hi I am a security researcher at Fluid Attacks, our security team found a security issue inside PeteReport version 0.5.
Attached below are the links to our responsible disclosure policy.

https://fluidattacks.com/advisories/policy

Bug description
PeteReport Version 0.5 allows an authenticated admin user to inject persistent javascript code inside the markdown descriptions while creating a product, report or finding.
CVSSv3 Vector:
CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
CVSSv3 Base Score:
4.8
Steps to reproduce

Click on 'Add Product'.
Insert the following PoC inside the product description.

[XSS](javascript:alert(1))

Click on 'Save Product'
If a user visits the product and click on the link in the description the Javascript code will be rendered.

Screenshots and files

System Information

Version: PeteReport Version 0.5.
Operating System: Docker.
Web Server: nginx.

@alestorm980 Thank you, that happen to me to trust in markdown 🗡 . Should be fixed in the last commit, take a look and let me know if do you find more issues.
Muchas gracias :)

@1modm Hi, Now we can't add the POC properly. The payloads are showing as ""lt;gt&quot" to our client's, are there any workarounds? I think it should be like before, no one is deploying a free solutions to the production environment for an XSS to be exploited, and it's an app not everyone will get access to. Can you re-roll back to the previous code? or find a solution?


Mobile char and bg crash bug

Describe your bug here.
When I tried to play a song with BG and char disable it crashes
Command Prompt/Terminal logs (if existing)
Uncaught Error: Null Object Reference
PlayState.hx (Line 1317)
flixel/FlxGame.hx (Line 642)
flixel/FlxGame.hx (Line 729)
flixel/FlxGame.hx (Line 682)
flixel/FlxGame.hx (Line 550)
openfl/events/EventDispatcher.hx (Line 402)
openfl/display/DisplayObject.hx (Line 1399)

Are you modding a build from source or with Lua?
Lua
What is your build target?
Neko, HashLink, or other build system
Did you edit anything in this build? If so, mention or summarize your changes.
No
If you use 1.12.0 or earlier, did you have Optimized Chart Loading turned on?
None

did you remove gf during a song?

workaround: turn off double note ghosts

workaround: turn off double note ghosts

OK thanks its work


Gallery automation updates

I made the following changes:

Removed YAML metadata from readme
Added a YAML file with the metadata info

These changes allow us to automatically update the Office gallery (https://developer.microsoft.com/en-us/office/gallery) with information for this tool. This means whenever this tool is referenced in the Office Developer Portals, the user will be seeing the most up-to-date information.

@nokafor Maybe you will have better luck - this repository is mostly just ignored it seems like. I have been trying for years to get someone to look over these PRs and merge in our pretty minor changes so the code provided can actually run correctly.
If this does ever get looked at, maybe we could get someone to try looking over these other these other issues/PRs? Most of them are duplicate because people keep re-submitting the same things without seeing it is already elsewhere

This is old and overtaken by events.

This is old and overtaken by events.


JSDoc: params for typed function are inferred as any

TypeScript Version:  2.3.4
Code
{
  /** @type {function(string): string} */
  const foo = x => x; // <-- x is inferred as any, expected string
  foo(1);

  // However, this works when using @param instead of @type
  /** @param {string} x */
  const foo2 = x => x; // <-- x is inferred as string
  foo2(1);
}

looks like a duplicate of https://github.com/Microsoft/TypeScript/issues/15618#issuecomment-300632637, the contextual type from the @type declaration is not flowing correctly to the lambda.

This also appears to be effecting classes:
import React, { Component, ComponentClass } from 'react';

/** @typedef { {
    foo: string,
  } } Props */
/** @type {ComponentClass<Props>} */
const MyComponent = class extends Component {
  componentDidMount() {
    this.props.foo; // <-- foo is inferred as any, expected string
  }
};

<MyComponent foo={1} /> // <-- error as expected: 1 is not assigned to string

use @augments instead. see https://github.com/Microsoft/TypeScript/wiki/Type-Checking-JavaScript-Files#in-extends-clause

Thanks @mhegazy.
How come inference works with that syntax but not with @type? With the latter, type checking does work when the component is invoked, but the type doesn't appear to flow through the class.

it is not really a type that is missing, it is that React.component is a generic class. without an explicit type parameter they default to any. @augments tells the type system to instantiate that class with the provided type parameters.

Thanks! That fixes it.
For context, the reason I am using the ComponentClass type as well as Component is because ComponentClass enforces type checking of the static properties on the class, such as displayName. Luckily, I can use @type and @augments on the class expression:
import React, { Component, ComponentClass } from 'react';

/** @typedef { {
    foo: string,
  } } Props */
/** @type {ComponentClass<Props>} */
/** @augments {Component<Props, any>} */
const MyComponent = class extends Component {
  componentDidMount() {
    this.props.foo; // <-- foo is inferred as string
  }
};

MyComponent.displayName = 1;  // <-- error as expected: 1 is not assignable to string

<MyComponent foo={1} /> // <-- error as expected: 1 is not assignable to string

This is equivalent to the following TypeScript:
import React, { Component, ComponentClass } from 'react';

type Props = {
  foo: string,
};
const MyComponent: ComponentClass<Props> = class extends Component<Props, any> {
  componentDidMount() {
    this.props.foo; // <-- foo is inferred as string
  }
};

MyComponent.displayName = 1;  // <-- error as expected: 1 is not assignable to string

<MyComponent foo={1} /> // <-- error as expected: 1 is not assignable to string

Given that this effects anyone who wants to use TypeScript with React, I'm wondering if there's any way to consolidate these two types into one, somehow: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/16967

Just tested on<EMAIL_ADDRESS>and this is fixed. Thanks!


Fixed fatal bug where model failed to save

accelerator.is_main_process() leads to forever waiting and cause saving failure! This method should be called by all processes!

Error msg.:
pil = Image.fromarray((image[0].cpu().numpy().transpose(1, 2, 0) * 255).astype(np.uint8))
TypeError: Got unsupported ScalarType BFloat16
Solution: Cast to FP32 before saving.


[Snyk] Upgrade @nodesecure/github from 1.1.0 to 1.2.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade @nodesecure/github from 1.1.0 to 1.2.0.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 1 version ahead of your current version.
The recommended version was released 21 days ago, on 2022-09-07.

Release notes

Package name: @nodesecure/github

1.2.0 - 2022-09-07What's changed

update dependencies by @ fraxken
remove Node.js security WG disclosure program by @ fraxken
chore: update @ myunisoft/httpie (1.8.0 to 1.9.2) by @ fraxken

Full Changelog: v1.1.0...v1.2.0

1.1.0 - 2022-07-01What's Changed

docs: add AlexandreMalaj as a contributor for code, doc by @ allcontributors in #78
chore: add contribution guideline by @ antoine-coulon in #80
chore(deps): bump undici from 5.5.0 to 5.5.1 by @ dependabot in #81
feat: get repository contributors last activities by @ Rossb0b in #82
docs: add Rossb0b as a contributor for code by @ allcontributors in #83

New Contributors

@ antoine-coulon made their first contribution in #80
@ dependabot made their first contribution in #81
@ Rossb0b made their first contribution in #82

Full Changelog: v1.0.1...v1.1.0

    from @nodesecure/github GitHub release notes

Commit messages

Package name: @nodesecure/github

62024ad 1.2.0
f3bdc6e chore(package): update devDependencies
588bd35 chore: update @ myunisoft/httpie (1.8.0 to 1.9.2)
67dda32 fix: remove Node.js security WG disclosure program

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Merged as tests passed!


Rework collections

[ ] Split 1D en 2D
[ ] Interweave types

Difference Array{Int} vs. Array{Float64}

[ ] Introduce Array in an interesting manner using Colors.jl

closed by #37

closed by #37


Removing dynamic memory allocation in PHY

set_next_channel() is called for every transmission. Arguably, this is the last
place we want to do a dynamic memory allocation because of memory fragmentation.
In LoRaPHY class we are now using a magic number 16 as we know that all EU
like PHY implementations use 16 channels and the other PHYs who use more than 16
channels are made to override this function. Hence we don't necessarily need to
allocate memory dynamically.
Same goes for link_ADR_req(). We know that the PHY layers which are EU like always
have a channel mask length of 16 bits representing 16 channels so we use the magic
number and override the method in the PHYs where there are more than 16 channels.

Merging this as we need to make PR today. All tests are passing with this PR.


"svelteBracketNewLine" does not working

Hello! Thanks for this extension!
I restored issue #66 because the "svelteBracketNewLine" option does not work. I specified in the .prettierrc file, but it does not change the position of the closing bracket. I also inserted the option "svelteBracketNewLine" in the .prettierrc.js file, and there was also the option of closing the angle bracket without a slash, the result does not change.

Sorry, I solved the problem myself. You just had to restart the server.
For those who are looking for a solution, you need to press Ctrl+Shift+P in VS Code and select the "Svelte: Restart Language Server" command. After that, the settings will be applied.


[Action] instacart employee protests

https://medium.com/@vanessabain/dear-instacart-customers-664dbb59016e

https://www.vice.com/en_us/article/evjqbn/instacart-delivery-workers-are-planning-a-three-day-strike

wait till report on 3 day strike to come out in november before adding to archive


Support PHP 7.2

We need to ensure we test against PHP 7.2, and fix any errors that may occur against that version.

@weierophinney This repository already supports PHP 7.2 and all tests are passing. See the latest build on master: https://travis-ci.org/zendframework/zend-mail/builds/347912716?utm_source=github_status&utm_medium=notification


The customFunctions property doesn't work

Trying to use the customFunctions setting as described in this document, I still receive a warning telling me to add the function to the customFunctions setting:

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

ID: 12abeb8c-355b-0134-b6e0-30e6824bd21f
Version Independent ID: 8bc58e26-4a19-e440-aa33-8906098a19db
Content: Validate .lg and .lu files and expressions data - Bot Composer
Content Source: composer-docs/how-to-validate.md
Service: bot-composer
GitHub Login: @zxyanliu
Microsoft Alias: kamrani

@v-kydela For this to work, you need to be using a custom run time. Emily will follow up, but this section might help: https://docs.microsoft.com/en-us/composer/concept-extension#runtime-templates

Closing due to age. If this is still an issue, please re-open this request with updated details.


Cancelling a partially-filled buy/sell offer results in duplicate GrandExchangeOfferChanged events

When a buy or sell offer partially fills, but is then cancelled, two GrandExchangeOfferChanged events get generated instead of just one.
To Reproduce

Place a buy offer for 21,000 Air runes (GE limit is 20k)
20k will buy, and it'll sit waiting to buy the last 1k.
Hit cancel.
Collect your gold from the menu

At this point, two GrandExchangeOfferChanged events fire, both with the exact same info, with state CANCELLED_BUY.
Expected behavior
I would expect exactly one event to be sent.
Environment (please complete the following information):

OS: Ubuntu
<IP_ADDRESS>
tbh not sure how to get the launcher version

Additional context
Printing the state to stdout, I see this flow:
[...]
BUYING
BUYING
BUYING
CANCELLED_BUY
CANCELLED_BUY
EMPTY

So I think there's more "duplicates" going on perhaps, but personally I'm only worried about CANCELLED_BUY. Furthermore, I could see how "BUYING" would be fair game to send multiple times, since you are indeed still buying.
I could obviously pretty easily debounce this in my plugin, but if this is something that can be fixed internally, I think that would be a lot more robust of a solution.

The event fires whenever a ge update packet is received, and the server sends duplicates. We can't really fix this without trying to deduplicate it ourselves internally maybe. Currently the GE plugin deduplicate this itself by storing the previous known state, which it has to do regardless.

dang it jamflex.
Thanks for the context. I'll debounce on my side.


New file implementing the RequestInterface

Will this work?

Sure, it will work. But you need to write content in those methods that allow you so send request with Guzzle6..

I am not sure - GuzzleRequest already implement RequestInterface. So Just extending GuzzleRequest should do it right?

I am not sure - GuzzleRequest already implement RequestInterface. So Just extending GuzzleRequest should do it right?

If that is true, you assume that Guzzle6 is backwards compatible with Guzzle5. They are some changes, but I'm not sure if they effect us.


HtmlBlock renderer for JSX

I would like to render markdown that contains JSX syntax, but the HtmlBlock (and probably HtmlInline) renderer fails for both standard HTML and JSX syntax. Here is an example markdown file:
<button onclick="alert('yo')">Hello</button>
<button onclick={()=>alert('Clicked')}>Click Me</button>

The first button is HTML and the second contains JSX.  Here is what gets rendered by react-markdown:

    <button onclick="alert('yo')"></button>

  Hello

  <button onclick={()=>alert('Clicked')}>Click Me

Both of these buttons don't render properly:

The first button renders as HTML and alerts yo when clicked, but the button is empty and the text that should be inside of it is outside of it
The second button doesn't render as HTML

It seems the HtmlBlock renderer may not be working properly.
How I would go about writing an HtmlBlock renderer that properly renders JSX? I need to use h() to render (I'm using the /** @jsx h */ pragma), but even an example using React.createElement() would help.

I'd like to defer the parsing issues I describe above to rexxars/commonmark-react-renderer#9 and keep the focus of this issue on building a renderer that supports JSX syntax.
I'd like to support JSX markup, including capitalized component names, className instead of class, javascript expressions as values for attributes, camelCase attributes, spread attributes, and so forth:
<Button className="primary" onclick={()=>alert('Clicked')}>Click Me</Button>
<Foo camelProp={props.foo} {...props} />

Perhaps this should already work, but with the parser not working right I'm not sure. However, I suspect a custom renderer will be necessary and am looking for advice on getting started building one.
Also, I presume that the markup above would actually be problematic, as props wouldn't be defined. But it would be interesting to figure out a way for the React component that contains the <Markdown source={} /> tag to somehow expose variables to the rendered markup.

I'm.... skeptical to how this would work. Inline HTML is a nightmare currently, and I don't see any easy solution to fixing it. I'll leave that discussion for the other issue you referenced, however.
JSX would be picked up by the HtmlBock renderer, but you'd have to parse the JSX into a Javascript AST or do it ghetto-style with regular expressions (which would be super shaky). Even with an AST, you'd have to then reference the component names to local component names etc. It all seems like a lot of work, and isn't really what react-markdown was built for.
Having said that, I think the easiest way of going about it is to think of this as two separate parts:

Parse a string containing JSX to an AST, then try to match components, variables, props and whatnot, in a way that you're able to call ReactDOM.render(rootJsxThing) on it.
Hook that machine up to the HtmlBlock renderer. This is the easy part :)

I'm trying to keep open issues down, and I feel like this issue isn't necessarily tied to react-markdown, so I'll close it for now. I'd love to hear back from you if you have any progress in this, however. It's a pretty interesting problem you're trying to solve!


NonNumericResponseException while executing command [VIN], response []

I get the same exception if I run the Speed or the EngineRpm commands. Do you have any idea what's causing this issue? I'm using version 1.1.1 of the library

Hey!
Version 1.2.0 was just released and it should fix this issue.


refactor: container logs flagging process

Part of https://github.com/containerd/nerdctl/issues/1680

[x] Create a file in pkg/api/types/${cmd}_types.go, and define the CommandOption for this command
[x] Create some file in pkg/cmd/${cmd}, and move the command entry point in real into this package

Notes:

Also renamed cmd/nerdctl/logs.go to cmd/nerdctl/container_logs.go like what's done in #1869.

Signed-off-by: Hsing-Yu (David) Chen<EMAIL_ADDRESS>

Forced push again to

resolve merge conflicts
move Stdout and Stderr to be consistent with what's in #1900 (https://github.com/containerd/nerdctl/issues/1889#issuecomment-1399572045)

Maybe we should merge after https://github.com/containerd/nerdctl/pull/1900 to reduce conflict.

Sure. Will address comments and rebase on main after #1900 is merged.