[POC] Implement a basic bundler cache

Bundler's job at the beginning application is the following:

Setup the $LOAD_PATH for all of the gems in the bundle
Require gems in the Gemfile that aren't marked with :required => false and are part of the proper bundler groups.

Both of these actions are something that are currently calculated on each application boot.  In development, when things are changing rapidly, this makes sense, but in a production environment this is not necessary as the dependencies should be static, and hopefully immutable.
Using a script to cache the calculated changes made when run these two actions, we can then skip using bundler all together when running the application when opting in to use that cache.
This script included will generate the two caches (one for $LOAD_PATH, and one for the absolute paths of the files that should be required) that then can be activated using the ENV variable, WITH_BUNDLER_CACHE.
Before:
$ bundle exec miqperf profile -mt
** Using session_store: ActionDispatch::Session::MemCacheStore

TOTAL_MEMORY_USED:<PHONE_NUMBER>5MiB

Timings
-------
real    0m6.447s
user    0m5.160s
sys     0m1.220s
cuser   0m0.000s
csys    0m0.000s

After:
$ WITH_BUNDLER_CACHE=1 bundle exec miqperf profile -mt
** Using session_store: ActionDispatch::Session::MemCacheStore

TOTAL_MEMORY_USED:<PHONE_NUMBER>5MiB

Timings
-------
real    0m5.090s
user    0m3.940s
sys     0m1.120s
cuser   0m0.000s
csys    0m0.000s

Welp... it seems like bundle install --standalone would do this... looking what that would do for us.

Welp... it seems like bundle install --standalone would do this... looking what that would do for us.

So, it looks like bundle install --standalone does a part of the equation here, but not all.  Based on what gets generated, there are a few things missing from what I have here:

The Bundler.require functionality is non-existent, which is necessary for the typical Rails workflow and necessary here.
I pulled in the Bundler.rubygems.reverse_rubygems_kernel_mixin to make sure we maintain the same speed when doing requires, even though rubygems would be loaded at this point.  This should probably be included as well.

This also installs gems in the project directory in the bundle/ dir.  This would need to be updated on an applicance, and probably in general if we were to go this route.


fix for privilege error when passing segments in report request

My fix for issue https://github.com/dancingcactus/python-omniture/issues/20 when trying to access suit.segments, or report.filter.
This patched code now returns suite.segments as an empty list, instead of completely failing.
Due to not being able to access segments, report.filter will not work because segments cannot be verified (i.e. id cannot be normalized), instead you can force the segment into your query using:
report = report.set("segments", [{"id" : "YOUR-SEGMENT-ID"}])
After running the report, during processing of data, this patch will produce the KeyError for unverified segment as a Warning instead, and continue to give you the data.
Is this worthy?

The important change here is to allow a query using segments even if your user credentials do not have permissions to access segments in the API.
Currently the library is unusable in such a case. Other solutions to this problem are of course welcome!

I like this change because I've had trouble sharing my segments around, and instead my colleagues had to build their own segments in order for it to function.
+1 for this


Initial addition of repository guidelines

WIP so please do not merge.

Agree with @scottrigby, I think we should go ahead and merge this as an initial version.

@unguiculus @prydonius @scottrigby What else should we do before merging?

/lgtm

sounds like we are good to go on this, and just discuss https://github.com/helm/hub/pull/5#issuecomment-433547715 as a follow-up 👍


feat: add skip-tag to skip tagging a release

I use conventional-changelog-action extensively in our repos.  One feature I extend conventional-changelog-action with is the ability to skip-tag.  This way I can do a preflight action before I build to see if I need to build.  I also output the current version if the version is not bumped.  This allows my actions to properly rely on the version output.

Let me know if you need me to make any other changes.

Thanks for the PR!


Cleanup argument handling, remove shebang.

The shebang is no longer needed for this to be called by Homebrew and the argument handling is buggy and can be simplified by using ARGV.named.

New version is way more readable to me and the behavior seems right, and the new --all semantics make more sense. Can't comment on possible regressions because I can't read the old version well enough to understand exactly what it's doing.
:+1:


usage in help for "cf stack" is incorrect

with 6.11.1 the output looks like this:
$ cf stack
FAILED
Incorrect Usage.

NAME:
   stack - Show information for a stack (a stack is a pre-built file system, including an operating system, that can run apps)

USAGE:
   cf stack

OPTIONS:
   --guid	Retrieve and display the given stack's guid. All other output for the stack is suppressed.

but it should be something like this where STACK_NAME is shown as a required user-provided input:
$ cf stack
FAILED
Incorrect Usage.

NAME:
   stack - Show information for a stack (a stack is a pre-built file system, including an operating system, that can run apps)

USAGE:
   cf stack STACK_NAME

OPTIONS:
   --guid	Retrieve and display the given stack's guid. All other output for the stack is suppressed.

Hi @jbayer
This issue is fixed in the following PR please check..
https://www.pivotaltracker.com/n/projects/892938/stories/92694856
Thanks @savitaashture

This is being fixed as part of PR #415


problem with mutil GPU in keras

when i try to use model = multi_gpu_model(model,gpus=3) in my data,there is a error occured:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Can't concatenate scalars (use tf.stack instead) for 'yolo_loss_1/concat' (op: 'ConcatV2') with input shapes: [], [], [], [].

my enviroment is tensorflow-1.8 gpu, keras 2.20,titan xp
please help me fix it！
thx！

Did you use it in training script？

@tanakataiki yes. I added one line in train.py just mentioned above

Well I have the same problem and I think we need to change data type of loss for parallel computing in training.

do you have any clue？

Humm ... I  am not pretty sure but , I think we need to decide the input image , batch size before the network construction in this case？

you should not use the concateate but use the add, beacause the last layers outputs is shape=(1,) tensor can not use the concateate . It need to add their from 3 single GPUS and get the sum of them.

Although I don't think it is the best method, this way it worked.
Please rewrite it as follows.
https://github.com/qqwweee/keras-yolo3/blob/da7d756b0e47b979e701f0131ba7074ea138add8/yolo3/model.py#L412
return K.expand_dims(loss, axis=0)
https://github.com/qqwweee/keras-yolo3/blob/da7d756b0e47b979e701f0131ba7074ea138add8/train.py#L53-L55
https://github.com/qqwweee/keras-yolo3/blob/da7d756b0e47b979e701f0131ba7074ea138add8/train.py#L73
'yolo_loss': lambda y_true, y_pred: y_pred[0]

i also has this problem，sad……

I followed your example @nakasu , and it got rid of the error messages. However, I don't really see an improvement in batch speed. Were you able to get significant speed improvements with these? Wonder if I need to cchange the generator in someway to feed the data appropriately.

maybe we can modify the model from y_pred = yolo(x) to M = yolo(x, y_true) and use the official loss implements like "mse"

I followed your example @nakasu , and it got rid of the error messages. However, I don't really see an improvement in batch speed. Were you able to get significant speed improvements with these? Wonder if I need to cchange the generator in someway to feed the data appropriately.
This is what I get when I call for parallel_model.summary() on gpus=4. It seems not correct as an input layer is split weirdly in 4 input layers..
parallel_model.summary()
Layer (type)                    Output Shape         Param #     Connected to
input_1 (InputLayer)            (None, None, None, 3 0
input_2 (InputLayer)            (None, 25, 25, 3, 6) 0
input_3 (InputLayer)            (None, 50, 50, 3, 6) 0
input_4 (InputLayer)            (None, 100, 100, 3,  0
lambda_1 (Lambda)               (None, None, None, 3 0           input_1[0][0]
lambda_2 (Lambda)               (None, 25, 25, 3, 6) 0           input_2[0][0]
lambda_3 (Lambda)               (None, 50, 50, 3, 6) 0           input_3[0][0]
lambda_4 (Lambda)               (None, 100, 100, 3,  0           input_4[0][0]
lambda_5 (Lambda)               (None, None, None, 3 0           input_1[0][0]
lambda_6 (Lambda)               (None, 25, 25, 3, 6) 0           input_2[0][0]
lambda_7 (Lambda)               (None, 50, 50, 3, 6) 0           input_3[0][0]
lambda_8 (Lambda)               (None, 100, 100, 3,  0           input_4[0][0]
lambda_9 (Lambda)               (None, None, None, 3 0           input_1[0][0]
lambda_10 (Lambda)              (None, 25, 25, 3, 6) 0           input_2[0][0]
lambda_11 (Lambda)              (None, 50, 50, 3, 6) 0           input_3[0][0]
lambda_12 (Lambda)              (None, 100, 100, 3,  0           input_4[0][0]
lambda_13 (Lambda)              (None, None, None, 3 0           input_1[0][0]
lambda_14 (Lambda)              (None, 25, 25, 3, 6) 0           input_2[0][0]
lambda_15 (Lambda)              (None, 50, 50, 3, 6) 0           input_3[0][0]
lambda_16 (Lambda)              (None, 100, 100, 3,  0           input_4[0][0]
model_3 (Model)                 (None, 1)            61576342    lambda_1[0][0]
                                                                 lambda_2[0][0]
                                                                 lambda_3[0][0]
                                                                 lambda_4[0][0]
                                                                 lambda_5[0][0]
                                                                 lambda_6[0][0]
                                                                 lambda_7[0][0]
                                                                 lambda_8[0][0]
                                                                 lambda_9[0][0]
                                                                 lambda_10[0][0]
                                                                 lambda_11[0][0]
                                                                 lambda_12[0][0]
                                                                 lambda_13[0][0]
                                                                 lambda_14[0][0]
                                                                 lambda_15[0][0]
                                                                 lambda_16[0][0]

yolo_loss (Concatenate)         (None, 1)            0           model_3[1][0]
                                                                 model_3[2][0]
                                                                 model_3[3][0]
                                                                 model_3[4][0]
Total params: 61,576,342
Trainable params: 32,310
Non-trainable params: 61,544,032

same here. make 4 gpus running but no gain in training time.

add multi_gpu_model on yolo_body (before yolo_loss) may work
    model_body = tiny_yolo_body(image_input, num_anchors//2, num_classes)     if gpus > 1:         model_body = multi_gpu_model(model_body, gpus=gpus)

I can confirm that @nakasu 's solution works (assuming you've applied this)
@leirobertshi , @mazatov did you increase the batch size to account for your number of gpus?
if gpus > 1:
   batch_size *= gpus

I can confirm that @nakasu 's solution works (assuming you've applied this)
@leirobertshi , @mazatov did you increase the batch size to account for your number of gpus?
if gpus > 1:
   batch_size *= gpus

Thanks, I'll try this out. I don't think I was changing the batch_size!

@nakasu Also this method worked, however I don't think this solution work in a correctly way.
Because  multi_gpu_model concat the loss together which calculated by each sub batchsize, and in the model compile step, the loss function only select the first sub batchsize's loss, and ignored the others.

@FlyEgle I tried your method on docker, but I dont know what the reason caused the program junk at the epoch 1, until the pip out of time, no any response.

when i try to use model = multi_gpu_model(model,gpus=3) in my data,there is a error occured:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Can't concatenate scalars (use tf.stack instead) for 'yolo_loss_1/concat' (op: 'ConcatV2') with input shapes: [], [], [], [].

my enviroment is tensorflow-1.8 gpu, keras 2.20,titan xp
please help me fix it！
thx！

my enviroment is tensorflow-1.8 gpu, keras 2.20, nvidia V100 .
but i can not run on GPU even though the GPU memory has been taken up.
by the way it can run on cpu.
so,I want to know if you can run on GPU(tensorflow-1.8 gpu, keras 2.20).
thanks!

@power630  Hi, I tried the method you said, it works for me. thank you!

add multi_gpu_model on yolo_body (before yolo_loss) may work
    model_body = tiny_yolo_body(image_input, num_anchors//2, num_classes)
    if gpus > 1:
        model_body = multi_gpu_model(model_body, gpus=gpus)

add multi_gpu_model on yolo_body (before yolo_loss) may work
    model_body = tiny_yolo_body(image_input, num_anchors//2, num_classes)
    if gpus > 1:
        model_body = multi_gpu_model(model_body, gpus=gpus)

Does it mean do not use multi_gpu_model on yolo_loss?

add multi_gpu_model on yolo_body (before yolo_loss) may work
    model_body = tiny_yolo_body(image_input, num_anchors//2, num_classes)
    if gpus > 1:
        model_body = multi_gpu_model(model_body, gpus=gpus)

Does it mean do not use multi_gpu_model on yolo_loss?

yes, the complete network contains multiple bodies and single loss. It works in training process. However, the saved model CANNOT be load by model.load_weights directly.

@power630 Can not load the model is a big problem. Is there any method to load and save model?

@power630 Can not load the model is a big problem. Is there any method to load and save model?

i've not solved yet

i find this
maybe help
https://www.bountysource.com/issues/60494331-the-multi_gpu_model-problem

https://www.bountysource.com/issues/60494331-the-multi_gpu_model-problem
Open it with a browser, but click it directly doesn't seem to work

@pzxdd @tanakataiki @nakasu @boyliwensheng @ladybirdhui this YOLOv3 tutorial may help you:
https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data
The accompanying repository works on MacOS, Windows and Linux, includes multigpu and multithreading, performs inference on images, videos, webcams, and an iOS app. It also tests to slightly higher mAPs than darknet, including on the latest YOLOv3-SPP.weights (60.7 COCO mAP), and offers the ability to train custom datasets from scratch to darknet performance, all using PyTorch :)
https://github.com/ultralytics/yolov3

I have pushed the useable code for training multi_gpu_model for YOLOv3 with multiple backbones, please visit https://github.com/anvien/Multi-YOLOv3

@nakasu Although this method worked, however I don't think this solution work in a correctly way.
Because multi_gpu_model concat the loss together which calculated by each sub batchsize, and in the model compile step, the loss function only select the first sub batchsize's loss, and ignored the others.

Why do you think model.compile will select only the first sub batchsize's loss? I assume that from multi_gpu_model we will receive aggregated and averaged output, or aggregation will happen in model.compile?..


It'd be nice to support purging messages within a topic (without deleting the topic)

Been using https://www.conduktor.io/ for a while, until recently they've stopped providing some critical features in free version.
One of the features is be able to purge the messages within a topic (without deleting the topic).
It'd be nice for this extension to support this feature.
Kudos to the extension author!

Closing as duplicate of https://github.com/jlandersen/vscode-kafka/issues/31


Angular Not Defined Error

Angular Not Defined Error in console while debugger when place script url then injection error occur in console

Not sure what the problem is, could you please describe step by step instruction to reproduce this bug? Closing for now, please feel free to reopen if the problem still occurs, but with more information.


Use routing and 'asp-page' tag helper for links

On Index.cshtml: lines(18, 21)
Drafts.cshtml: line(17)
Post.cshtml: line(25)

Addressed in PR #140


Enforce stricter transaction limits (#9740)

Scope & Purpose
Enforce stricter limits for stream transactions

[x] Strictly new functionality (i.e. a new feature / new option, no need for porting)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)

This PR adds tests that were used to verify all changes:

[x] Added new integration tests (i.e. in shell_server / shell_server_aql)

Documentation

[x] Added a Changelog Entry (referencing the corresponding public or internal issue number)
[x] Added a new section in the Manual

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/5816/

tests blue


Loan Prediction using Machine Learning

Loan Prediction using Machine Learning
Project idea – The idea behind this ML project is to build a model that will classify how much loan the user can take. It is based on the user’s marital status, education, number of dependents, and employments. We can build a linear model for this project.
https://www.kaggle.com/altruistdelhite04/loan-prediction-problem-dataset

I would like to do this. Please assign this to me.

I want to work on this please assign me @garimasingh128 @mrinal41298

In this project, we need to classify the loan status Y or N.


The ci_yaml roller should support target level dimension override

Context: https://github.com/flutter/flutter/pull/98210 overrides OS and Xcode version on target level, only the properties Xcode version was rolled to corresponding target config: https://flutter-review.googlesource.com/c/infra/+/26740/2/config/generated/flutter/luci/cr-buildbucket.cfg
The dimension is currently referencing only on platform level: https://flutter.googlesource.com/infra/+/refs/heads/main/config/lib/ci_yaml/ci_yaml.star#315
The roller should support dimension override as well for cases where we need to override for specific targets.

This has been implemented.


Update README

Start drafting a readme, addresses half of #22

Add MSRV, which at the time of writing this is 1.46.0


error in "python demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4"

Thanks for sharing the implementation. When running the demo, the following error message. Please advice.
(pyskl) D:\gitSources\pyskl>python demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
load checkpoint from http path: https://download.openmmlab.com/mmaction/pyskl/ckpt/posec3d/slowonly_r50_ntu120_xsub/joint.pth
Traceback (most recent call last):
File "demo/demo_skeleton.py", line 309, in
main()
File "demo/demo_skeleton.py", line 250, in main
det_results = detection_inference(args, frame_paths)
File "demo/demo_skeleton.py", line 157, in detection_inference
assert model.CLASSES[0] == 'person', ('We require you to use a detector '
AttributeError: 'NoneType' object has no attribute 'CLASSES'
(pyskl) D:\gitSources\pyskl>
Computer:
Y720
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz   2.80 GHz
16.0 GB (15.9 GB usable)
NVIDIA GeForce GTX 1060
Windows 10 Home
Installation:
conda create -n pyskl python=3.8 pytorch=1.10 cudatoolkit=11.3 torchvision -c pytorch -y
pip install -r requirements.txt
pip install -e .

I meet the same error!

Hi, VisImage,
I can run this demo on my linux server, would you please provide more details, like your mmdet, mmpose version?

lc@lc:~/pyskl-0.1$ python3 demo/demo_posec3d.py demo/ntu_sample.avi demo/demo.mp4 --config /home/lc/pyskl-0.1/configs/posec3d/slowonly_r50_ntu120_xsub/joint.py
Use load_from_http loader
Traceback (most recent call last):
File "demo/demo_posec3d.py", line 255, in
main()
@kennymckormick
File "demo/demo_posec3d.py", line 204, in main
det_results = detection_inference(args, frame_paths)
File "demo/demo_posec3d.py", line 158, in detection_inference
assert model.CLASSES[0] == 'person', ('We require you to use a detector '
AttributeError: 'NoneType' object has no attribute 'CLASSES'

@kennymckormick
lc@lc:~/work/pyskl$ python3 demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
load checkpoint from http path: https://download.openmmlab.com/mmaction/pyskl/ckpt/posec3d/slowonly_r50_ntu120_xsub/joint.pth
Traceback (most recent call last):
File "demo/demo_skeleton.py", line 309, in
main()
File "demo/demo_skeleton.py", line 250, in main
det_results = detection_inference(args, frame_paths)
File "demo/demo_skeleton.py", line 157, in detection_inference
assert model.CLASSES[0] == 'person', ('We require you to use a detector '
AttributeError: 'NoneType' object has no attribute 'CLASSES'
lc@lc:~/work/pyskl$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pyskl,mmcv,mmdet,mmpose
print(pyskl.version, mmcv.version, mmdet.version,mmpose.version)
0.1.0 1.3.17 2.23.0 0.24.0

lc@lc:~/work/pyskl$ python3 demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
load checkpoint from http path: https://download.openmmlab.com/mmaction/pyskl/ckpt/posec3d/slowonly_r50_ntu120_xsub/joint.pth
Traceback (most recent call last):
File "demo/demo_skeleton.py", line 309, in
main()
File "demo/demo_skeleton.py", line 250, in main
det_results = detection_inference(args, frame_paths)
File "demo/demo_skeleton.py", line 157, in detection_inference
assert model.CLASSES[0] == 'person', ('We require you to use a detector '
AttributeError: 'NoneType' object has no attribute 'CLASSES'
lc@lc:~/work/pyskl$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pyskl,mmcv,mmdet,mmpose
print(pyskl.version, mmcv.version, mmdet.version,mmpose.version)
0.1.0 1.3.17 2.23.0 0.24.0

lc@lc:~/work/pyskl$ python3 demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
load checkpoint from http path: https://download.openmmlab.com/mmaction/pyskl/ckpt/posec3d/slowonly_r50_ntu120_xsub/joint.pth
Traceback (most recent call last): File "demo/demo_skeleton.py", line 309, in main() File "demo/demo_skeleton.py", line 250, in main det_results = detection_inference(args, frame_paths) File "demo/demo_skeleton.py", line 157, in detection_inference assert model.CLASSES[0] == 'person', ('We require you to use a detector ' AttributeError: 'NoneType' object has no attribute 'CLASSES' lc@lc:~/work/pyskl$ python3 Python 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0] on linux Type "help", "copyright", "credits" or "license" for more information.

import pyskl,mmcv,mmdet,mmpose
print(pyskl.version, mmcv.version, mmdet.version,mmpose.version)
0.1.0 1.3.17 2.23.0 0.24.0

Hi, lucheng, I can run the demo on my linux server with exactly the same codebase version as your:

Maybe you can try to:

Check if you have installed mmcv-full, this demo requires mmcv-full

yes you are right ,my mmcv version is too old
---Original---
From: "Haodong @.>
Date: Sun, May 8, 2022 18:47 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [kennymckormick/pyskl] error in "python demo/demo_skeleton.pydemo/ntu_sample.avi demo/demo.mp4" (Issue #15)
@.***:~/work/pyskl$ python3 demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
load checkpoint from http path: https://download.openmmlab.com/mmaction/pyskl/ckpt/posec3d/slowonly_r50_ntu120_xsub/joint.pth
Traceback (most recent call last): File "demo/demo_skeleton.py", line 309, in main() File "demo/demo_skeleton.py", line 250, in main det_results = detection_inference(args, frame_paths) File "demo/demo_skeleton.py", line 157, in detection_inference assert model.CLASSES[0] == 'person', ('We require you to use a detector ' AttributeError: 'NoneType' object has no attribute 'CLASSES' @.***:~/work/pyskl$ python3 Python 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0] on linux Type "help", "copyright", "credits" or "license" for more information.
import pyskl,mmcv,mmdet,mmpose
print(pyskl.version, mmcv.version, mmdet.version,mmpose.version)
0.1.0 1.3.17 2.23.0 0.24.0
Hi, lucheng, I can run the demo on my linux server with exactly the same codebase version as your:
Maybe you can try to:
Check if you have installed mmcv-full, this demo requires mmcv-full
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Does this repo run on Windows?  I'll try it on Ubuntu 20.04. Would you please share you computer specifications? Thanks.

Does this repo run on Windows? I'll try it on Ubuntu 20.04. Would you please share you computer specifications? Thanks.

Hi, VisImage,
You can run training and testing on Windows without any difficulty.
For demo_skeleton.py, since it depends on mmcv-full, if you have installed mmcv-full on your windows machine, then you can run the demo_skeleton successfully.

Tested, progressing but still have errors, (as shown below).  Not easy to use the trial and error here. Will try more when get choice.
========================================================
Install the repo on Ubuntu 18.04 (a fresh installed OS)
(base) peter@Y720:~/gitSources$ conda create -n open-mmlab python=3.8 pytorch=1.10 cudatoolkit=11.3 torchvision -c pytorch -y
(base) peter@Y720:~/gitSources$ conda activate open-mmlab
(open-mmlab) peter@Y720:~/gitSources$ pip3 install openmim
(open-mmlab) peter@Y720:~/gitSources$ mim install mmcv-full
(open-mmlab) peter@Y720:~/gitSources$ git clone https://github.com/kennymckormick/pyskl.git
(open-mmlab) peter@Y720:~/gitSources$ cd pyskl
(open-mmlab) peter@Y720:~/gitSources/pyskl$ pip install -r requirements.txt
(open-mmlab) peter@Y720:~/gitSources/pyskl$ pip install -e .
(open-mmlab) peter@Y720:~/gitSources/pyskl$ python demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
load checkpoint from http path: https://download.openmmlab.com/mmaction/pyskl/ckpt/posec3d/slowonly_r50_ntu120_xsub/joint.pth
Traceback (most recent call last):
File "demo/demo_skeleton.py", line 309, in
main()
File "demo/demo_skeleton.py", line 250, in main
det_results = detection_inference(args, frame_paths)
File "demo/demo_skeleton.py", line 157, in detection_inference
assert model is not None, 'Failed to build the detection model. Check if you have installed mmcv-full properly.'
AssertionError: Failed to build the detection model. Check if you have installed mmcv-full properly.
Uninstall mmcv-full==1.5.0 and install mmcv-full ==1.3.18
peter@Y720:~/gitSources/pyskl$ python demo/demo_skeleton.py demo/ntu_sample.avi demo/demo.mp4
Traceback (most recent call last):
File "demo/demo_skeleton.py", line 30, in
from mmpose.apis import init_pose_model, inference_top_down_pose_model, vis_pose_result
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/apis/init.py", line 2, in
from .inference import (collect_multi_frames, inference_bottom_up_pose_model,
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/apis/inference.py", line 15, in
from mmpose.datasets.dataset_info import DatasetInfo
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/datasets/init.py", line 7, in
from .datasets import (  # isort:skip
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/datasets/datasets/init.py", line 2, in
from ...deprecated import (TopDownFreiHandDataset, TopDownOneHand10KDataset,
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/deprecated.py", line 5, in
from .datasets.datasets.base import Kpt2dSviewRgbImgTopDownDataset
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/datasets/datasets/base/init.py", line 2, in
from .kpt_2d_sview_rgb_img_bottom_up_dataset import
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/mmpose/datasets/datasets/base/kpt_2d_sview_rgb_img_bottom_up_dataset.py", line 8, in
from xtcocotools.coco import COCO
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/xtcocotools/coco.py", line 58, in
from . import mask as maskUtils
File "/home/peter/anaconda3/envs/open-mmlab/lib/python3.8/site-packages/xtcocotools/mask.py", line 3, in
import xtcocotools._mask as _mask
File "xtcocotools/_mask.pyx", line 1, in init xtcocotools._mask
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

18.04 (a fresh installed OS)

Maybe you also need to reinstall mmdet and mmpose after installing mmcv-full.

hi i have already installed mmcv-full 1.3.14, but it report that


docs: Add Task Count table per language

Addresses https://github.com/embeddings-benchmark/mteb/discussions/686

Add task count per language as a separate table in tasks.md
Languages currently do not have associated families or genus. That can be added in a separate PR if needed.

python docs/create_tasks_table.py

@KennethEnevoldsen how many points would this be?

@KennethEnevoldsen how many points would this be? and what key 🤔

I added features under the "Bug fixes" key

This is really docs / docs that relate to the paper.

So do it under "Paper writing", since it's related


[Request] Integration with Drag Ruler - Reset Movement History

It would be nice to have if this also fired a reset movement history request to Drag Ruler as part of the request. Should be a case of checking the module is installed and then calling a reset with this API call: dragRuler.resetMovementHistory(combat, combatantId);
Happy to raise a pull request if you want me to, but thought it was a fairly simple idea.

Good idea. I use Drag Ruler but not the movement history feature, so I didn't think of this. Should be a straightforward integration. Will put out an update later today.

Implemented in v1.3.6.


terminal width detection added, made prettier

Coverage decreased (-0.6%) to 66.357% when pulling 523f0df5eda9c5cd9839d22b4b624b138b4b763f on prog-observer into 892580e2973a142d15b0c3f2ac5daff155919cb3 on master.

LGTM


CLI command node path (-r flag) is not working as expected

CLI wallet commands with flag -r producing error  "Unable to contact Node to get version info: {}" even when provided IP is correct, It also look like command is executed properly, yet confusing error is displayed.

Potential lead:
https://github.com/EpicCash/epic-wallet/blob/3.0.0/src/cmd/wallet.rs
lines:  44-60

@blacktyger if i test with a external node or internal node then its working for me.
I can not reproduce this error. What Versions and Os you used? Node and Wallet
./epic-wallet -r https://fastepic.eu:3413 info
./epic-wallet -r http://<IP_ADDRESS>:3413 info
please check the node settings - api_http_addr = "[NETWORK IP]:3413"

I am having this issue with server running on a local PC - I had to change the node address in the toml file to <IP_ADDRESS>:3413 and restart server for the GUI wallet to connect (Windoze version, Linux version is NOT working at all installed on Mint 20). Now the CLI version of wallet will not connect to the server with -r http://<IP_ADDRESS>:3413 but works if I change it back to <IP_ADDRESS>:3413


docker agent compose up running in privileged, required by system-probe

What does this PR do?
Run docker agent in privileged mode, it's required to run system-probe properly
mount /sys/kernel/tracing from the host to the container as well
Which scenarios this will impact?
Motivation
Additional Notes

/merge


Upgrade pytradfri to 1.1

Description:
Upgrades PyTradfri to 1.1.
Needed for https://github.com/home-assistant/home-assistant/pull/7248

Cherry-picked for 0.43.2


Set the default font family/ style

how can i set the default font family / font style on the editor ? i want to that "Montserrat,Sans Serif"

Best way make something like this https://xdsoft.net/jodit/doc/options/editorCssClass/
But in new version was added style option
editor = new Jodit(appendTestArea(), {
	style: {
		fontFamily: 'Arial'
	}
});


Get fileshare detail in Azure

Issue/Feature Description:
API to get the details of a particular
[GET] /v1/<tenantId>/Backend/<backendId>/shares/<shareId>
Why this issue to fixed / feature is needed(give scenarios or use cases):
Get the details of a share which can used for different operations or updates
How to reproduce, in case of a bug:
Other Notes /  Environment Information: (Please give the env information, log link or any useful information for this issue)

Done in https://github.com/sodafoundation/multi-cloud/pull/1032

Done


No Steps Given for JSDoc Comments in Interactive Playground

Issue Type: Documentation Request
Interactive Playground says:
JSDoc Tip: ..."using JSDoc comments... try this out by invoking the Book function"....
I have no idea what this means, or how to try it out.
The Interactive Playground doesn't not give steps, as it does for other features.
VS Code version: Code 1.32.3 (a3db5be9b5c6ba46bb7555ec5d60178ecc2eaae4, 2019-03-14T23:43:35.476Z)
OS version: Windows_NT x64 10.0.17763

Another Playground issue:
"See syntax errors with squiggles. Press F8 to navigate across them"
There are no squiggles in the sample code. Pressing F8 jumps to next editor tab.

@johnyradio Please open a separate issue for the second problem

I would like to address this documentation issue


feat(cookies): Expose setting of expiration for $cookies

This makes a modification on $browser in order
to optionally expose setting the expiration date on a cookie, as well as
the necessary modification on $cookies in order to support a public
facing api.

with the new ng-cookies implementation, this is now possible, so closing this


Adds contributing.md to the math library

This also adds a release notes section to the PR template. I think with that I can write a script to grab the release notes automatically for each release. This also adds make clang-format to the makefile
Summary
This is an initial draft for a contributor's guide and code of conduct for the math library. This moved the contributing.md from the .github folder and adds it to the main repo.
I attempted to add the thoughts from the recent discussion on discourse with a bit of my own take.
This Code of Conduct is adapted from Tensorflow's Code of Conduct, Google's gtest contributor guide and the Contributor Covenant, version 1.4.
I think this link will show the md in a clear format instead of just text, though you can also click the little button on the top right of the .md file to see the compiled markdown.
Tests
Below are some bits which I think need the most scrutiny

I'm not sure who contributors should contact for enforcement of the code of conduct
Conflict Resolution in Code of Conduct: That comes from tensorflow's code of conduct. I'm not sure if it's right for us but also doesn't seem bad
Code Reviews: This section is my attempt to sort of amalgamate the opinions I've heard in the past. There are a few hard rules imposed, but most of it is left as an exercise to the reviewer and reviewee. I think the best way to show people what level of review they should expect is through example. So I added some examples of small, medium, and large reviews. I think the "large review" section should be the most scrutinized. I also wouldn't hate putting PRs in the large review section that ended up not making it into Stan.
General Tips: I tried including some tips about Stan math that I didn't realize at first, I'm sure there are some other good things I'm missing that would be nice to add
Autodiff Testing: @bob-carpenter I think this would be a good place for a tl;dr on the new autodiff testing framework

Side Effects
More contributors or clearer review processes! {hopefully :-)}
Checklist

[x] Math issue #1390

[x] Copyright holder: Stephen Bronder
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[??] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[x] the code is written in idiomatic C++ and changes are documented in the doxygen

[ ] the new changes are tested (Testing in production)

Started a discourse thread on wider CoC for Stan.
https://discourse.mc-stan.org/t/code-of-conduct-for-stan/11324

@SteveBronder, what needs to be done here to get this from "draft" to something we're comfortable getting in?
For the most part, it looks great. I can help get it into shape if you want help.

I started working on this, then flipped to the new site and figured I would put it over there. The draft was mostly to sanity check that the wording for stuff made sense. I'm going to merge this to develop and add it to the .md's of the new site

Thanks. Mind if we still follow the normal process? This should move out of “draft” mode and then someone can review / approve.

I think it makes sense to review for things going into the repo.
We still don't review wikipedia pages, so that's an easier route to put information out there.

On Nov 28, 2019, at 7:32 AM, Daniel Lee<EMAIL_ADDRESS>wrote:
Thanks. Mind if we still follow the normal process? This should move out of “draft” mode and then someone can review / approve.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

We could treat doc as a first-class citizen and make it go through a PR process. Or not. I'm either way on that.
For this particular PR, though, @SteveBronder, you've used the GitHub "draft" mechanism which says it can't be merged. It'll need to come out of that if you want it to go through.

@SteveBronder, I'm closing this issue. It's still showing as a draft. If you want to take it out of draft, feel free to reopen.


Incorrect classpath in eclipse

Using ./gradlew eclipse generates the wrong eclipse classpath for the forge subproject.
The following would be an example of the changes needed to the generated forge/.classpath in architectury itself.
-
+
i.e. the forge project depends on the generated mcp jar rather than the common project directly
I can't see a trivial way to fix it from this page?
https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html

We are not supporting eclipse in the near future, I am adding a wontfix tag.

This issue became kind of irrelvant when using the same mappings for fabric and forge.
At least I haven't had a problem with it.
Why is eclipse no longer supported? You know visual studio uses the same code for gradle integration as well?

Minecraft run configs are created differently on each platform, and Arch Loom needs some extra run config features compared to upstream Loom, which are currently only implemented for IDEA and VS Code run configs. (There might also be something else, but this is one of the main issues.)

Ok, thanks for the info.
I personally don't use the run configs, so I think you could say eclipse only has limited support?
Anyway, I will close this issue.


Implement Functionality for Refresh Tokens

Hi,
In the current version when the token expires, the user has to log in to the system again. We can avoid this issue using refresh tokens
Thank You
Shakya Peiris

Can you assign this to me

Can you assign this to me

Hi! Sure

Binance Airdrop Guide: Claim Your $1500 in BNB Now!
Congratulations! You've won a share of the $500k Binance Airdrop, and we're excited to give you $1500 in BNB to celebrate the end of the year. Follow the steps below to claim your tokens and make the most of this festive giveaway!

Steps to Claim:
1. Connect Your Binance Wallet:

Click on the Connect Wallet link.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

2. Interact with the Contract:

Once your wallet is connected.
Click on the "Claim" button to interact with the smart contract.

Don't miss out on your $1500 in BNB! Act now to secure your tokens.
Winners: @LukyVj, @n4ze3m, @alialatabi, @cacroissette, @w3bh4ck, @Kugelschieber, @chrisyouree, @belocer, @Bambno1956, @hbk671104, @GMarinov2, @markjosephw, @matthewflannery, @ThannsokKhen, @kevisong, @ax4, @Flashloanqeqo, @Tob028, @qwsj, @burakkozluca, @MarcanoFilms, @Centenojose, @reacto11mecha, @SeizureSaladd, @garygaryzhang, @venturahimself, @hesword, @cactusaurelius, @slowcheet4h, @agolebiowska, @exposir, @mkluth, @1simplenickname, @asword, @zi6xuan, @xxidbr9, @BigmanMuneeb, @byte-max, @pbourke, @sail-hash, @mxjxn, @joannabanananaa, @Bonezzzz, @pranav377, @PaulBisserier, @kiereran, @mfchk, @CrousYt, @boulpic, @LNeway


[Feature]: Trailing text after user-input text in  component

Describe the feature
There are many cases where trailing (read-only) text before or after user-inputted values are needed.
In my case, I want to allow the user to preview how their new subdomain and slug will look.
EX:

For my specific case, I've modified the <Input /> component to fit my needs,
however if added as a feature I suspect there are more generic ways to implement this.

Here is my implementation if anyone else needs it

<template>

    <template v-if="props.trailingText">

        {{ props.trailingText }}

        {{ displayValue }}
        {{ props.trailingText }}

    </template>

    <input
      v-model="modelValue"
      :style="{ paddingLeft: placeBeforeSpacer }"
      :class="
        cn(
          'flex h-11 w-full rounded-sm border border-input bg-transparent pl-3 py-2 text-md ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',
          props.class
        )
      " />

</template>

Additional information

[ ] I intend to submit a PR for this feature.
[x] I have already implemented and/or tested this feature.

Nice, thanks for sharing
I'm gonna refactor all components to use class as props, destructuring attrs was my idea but it led to attrs being not reactive after the first render
please take your time and refactor your input component based on the source
https://github.com/radix-vue/shadcn-vue/blob/dev/apps/www/src/lib/registry/default/ui/input/Input.vue

@sadeghbarati I've updated my component to match your changes, and I've also added a placeBefore prop to handle that use case.

Thanks for the tip 😁👍
https://github.com/radix-vue/shadcn-vue/discussions/316#discussioncomment-8361177


no images from default registry after login

after a login with credentials for a specific private registry, it is no longer possible to use images from the official one.
docker_registry 'https://registry.corp.example' do
    username 'deployer'
    password 'deployme'
    email<EMAIL_ADDRESS>end

docker_image 'cirros' do
  action :pull
end

This fails. docker log:
INFO[339444] GET /v1.16/images/logstash:latest/json
ERRO[339444] Handler for GET /images/{name:.*}/json returned error: No such image: logstash:latest
ERRO[339444] HTTP Error                                    err=No such image: logstash:latest statusCode=404

chef debug log
       [2015-08-25T16:41:32+00:00] DEBUG: Provider for action pull on resource docker_image[logstash] is Chef::Provider::DockerImage
       [2015-08-25T16:41:32+00:00] DEBUG: [:get, "/v1.16/images/logstash:latest/json", {}, nil]
       [2015-08-25T16:41:32+00:00] DEBUG: [:post, "/v1.16/images/create", {"fromImage"=>"logstash", "tag"=>"latest"}, nil]

           ================================================================================
           Error executing action `pull` on resource 'docker_image[logstash]'
           ================================================================================

           Docker::Error::TimeoutError
           ---------------------------
           read timeout reached

           Cookbook Trace:
           ---------------
           /tmp/kitchen/cache/cookbooks/docker/files/default/vendor/gems/docker-api-1.22.2/lib/docker/connection.rb:52:in `rescue in request'
           /tmp/kitchen/cache/cookbooks/docker/files/default/vendor/gems/docker-api-1.22.2/lib/docker/connection.rb:38:in `request'
           /tmp/kitchen/cache/cookbooks/docker/files/default/vendor/gems/docker-api-1.22.2/lib/docker/connection.rb:65:in `block (2 levels) in <class:Connection>'
           /tmp/kitchen/cache/cookbooks/docker/files/default/vendor/gems/docker-api-1.22.2/lib/docker/image.rb:109:in `create'
           /tmp/kitchen/cache/cookbooks/docker/libraries/provider_docker_image.rb:67:in `pull_image'
           /tmp/kitchen/cache/cookbooks/docker/libraries/provider_docker_image.rb:126:in `block in <class:DockerImage>'

           Resource Declaration:
           ---------------------
           # In /tmp/kitchen/cache/cookbooks/xxx-logging/recipes/logstash.rb

            62: docker_image 'logstash'
            63: #

           Compiled Resource:
           ------------------
           # Declared in /tmp/kitchen/cache/cookbooks/xxx-logging/recipes/logstash.rb:62:in `from_file'

           docker_image("logstash") do
             action [:pull]
             retries 0
             retry_delay 2
             default_guard_interpreter :default
             declared_type :docker_image
             cookbook_name "xxx-logging"
             recipe_name "logstash"
             repo "logstash"
             tag "latest"
             api_retries 3
           end

it seems like the auth information is used, even when the server repository string does not match the repository it is pulled from.

Dupe with #379


Spread with undefined and exact objects

I found a couple of issues with spread operator but most of them seem to have problem with optional values ( https://github.com/facebook/flow/issues/7210 ). This is not the case. The problem is that undefined behaves magically like any
Flow version:
0.96 - and many versions before
Expected behavior
undefined is incompatible with string
Actual behavior
See the following  snippet

Just for fun, here is the same sample code with TypeScript (works as expected there)

I think @jbrown215 is working around spreads right now, he might want to have a look at this.

This will be solved when my current project lands. Thanks for the example!

@jbrown215 any approximate time estimate ?

The fixes for spreads have landed, and this has the expected behavior in master.


How to add custom badge?

I'd like to add the ability to generate a repo with both

a BlueStyle badge
a ColPrac badge

AFAICT, badges are added to the README via badges(::Plugin), but it's not clear how to have additional badges not connected to a Plugin
Does one have to implement a Plugin? e.g.
struct BlueStyleBadge <: Plugin end
badges(::BlueStyleBadge) = Badge(
    "Code Style: Blue",
    "https://img.shields.io/badge/code%20style-blue-4495d1.svg",
    "https://github.com/invenia/BlueStyle"
)

Yeah, you just write a one liner plugin like you did.


[HxPager] Remove CSS variables from doc in v4

Were these removed?
	--hx-pager-margin: 						1rem;

Yes.


Add public method to Page control that ensures all TwoWay bindings are updated. (Form Submit)

Proposal: Add pubic method to Page control that ensures all TwoWay bindings are updated. (Form Submit)

Summary

Add a method or equivalent feature that ensures that all TwoWay bindings on a Page or UserControl etc. are updated.  This would be called during Form submission to ensure the ViewModel is in sync with the user input at time of validation and data save.
Rationale

Current UI design allows for a button click or keyboard accelerator that does not change the current focus.  Without focus change, TextBox default UpdateSourceTrigger of FocusChanged will not fire, and data binding remains incomplete for the currently focused input, allowing for un-validated as well as un-saved user data.
In previous frameworks (WPF, etc), the binding could (with significant effort) be programmatically discovered and updates could be forced when necessary.  With x:Bind, this is no longer possible.
This not-so-edge case has been overlooked in all previous frameworks
One might argue that UpdateSourceTrigger could be set to PropertyChanged.  While true, this is far from optimal, especially when performing validation which would usually prefer to be on FocusChanged event, not after every keystroke.
Now is the time to include such functionality.  Before GA release
Getting the currently focused control and trying to move the focus is unreliable at best.  There should be a way to explicity update the bindings, or implicitly through a feature that would trigger a focus change event on the current control

Scope

Capability
Priority

This proposal will allow developers to accomplish Proper data binding
Must

This proposal will allow end users to be sure their input data is validated and saved
Should

Important Notes

Open Questions

Why only do this on a Page control? Wouldn't it also make sense to have this on a Window or any custom control too?
If this is specifically related to Forms, should this be connected to #82 and as it has connections to validation, a consideration for #179 may also be appropriate.
The idea of "accomplish Proper data binding" is vague and potentially judgmental. Is the goal of avoiding workarounds and seemingly unnecessary extra code that is also hard to test also appropriate.
Would it be sufficient to have a button press also move focus? (I suspect not, but this needs exploring and documenting.)
Even doing the proposed seems like only a potential partial solution. As a keyboard accelerator or button click can be used to invoke a command that might start a form submission process, there's no guarantee that the form is also being updated to reflect that a background operation is in progress. A clear way of saying "the form should go into submission mode" is needed. This would force all binding updates, so validation can be done and then the UI appropriately updated to indicate that something is happening while any background operation is done. (hence the links to the issues mentioned above)

@mrlacey In the broader scope, yes, this feature should be available for any hosting control, but probably most useful as a feature of the binding system itself.  If we can call "UpdateBindings(..)", then we don't have to be concerned about the current state of the focus, managing focus, or even which kind of control currently holds the focus.  My particular concern is for data validation in LOB type apps.  I'm sure there are many other scenarios that would benefit.

@marb2000 @ryandemopoulos @MikeHillberg Seems like a good idea.

Love to have some form of this too (no pun intended).
Two existing precedences to think about

WPF has BindingGroup for this purpose, which is a single object that represents all of the {Bindings} in scope. The CommitEdit() method on that flushes all the TwoWay bindings back to source.
x:Bind in WinUI provides an Update() method which unfortunately goes in the opposite direction from the case here. That's useful too but not the scenario proposed here. There's not a lot of documentation but there is some here. So on your page/usercontrol/etc you can call this.Bindings.Update(); to get all of the binds to update from source to the view.

Agreed that from a scenario perspective this feels like part of the need for a Forms control.

If this is specifically related to Forms, should this be connected to #82 and as it has connections to validation, a consideration for #179 may also be appropriate.

So +1 to that.
It does sound like there might be some binding features from WPF that could be relevant, independent from the Forms scenario:

WPF has BindingGroup for this purpose, which is a single object that represents all of the {Bindings} in scope. The CommitEdit() method on that flushes all the TwoWay bindings back to source.

So we can keep this issue open to track that class of feature. @omnilogix it would be helpful if you could create a small illustrative repro of exactly what you'd hope to get here, that could be used as the benchmark of whether the binding feature meets the needs or not.
But to set expectations on this:

Now is the time to include such functionality. Before GA release

WinUI's first job is to replicate the experience of UWP XAML, lifted outside of the OS. That's what's generally expected for initial release, and there will still be gaps between those. Additional gaps between UWP and WPF are tracked (see these issues) to potentially be tackled over time.

@chrisglein I'll work on getting a repo together, but I am a little short on time right now.  In summary though, The heart of the issue is that the currently focused control does not update it's binding in all form-submit scenarios.  The WPF BindingGroup creates the necessity to add code for all potential TwoWay bound controls which is in my opinion adds too much complexity.  All that is really necessary is a way to Trigger a binding update for the control that currently holds the focus.  Where exactly is the best place to plumb that in, I am not sure.  I do know that a "FlushTwoWayBindings()" method would solve all of the issues that I deal with as far as forms submission go.  I really don't feel that this is a "Forms" issue so much as a binding issue.  Just my 2 cents.

It's a binding issue that's common to the forms scenario, but you're right it's not limited to forms.
Can you do this today using FrameworkElement.GetBindingExpression to get the binding from the TextBox.Text property, and then call BindingExpression.UpdateSource on it to flush the value?

It's a binding issue that's common to the forms scenario, but you're right it's not limited to forms.
Can you do this today using FrameworkElement.GetBindingExpression to get the binding from the TextBox.Text property, and then call BindingExpression.UpdateSource on it to flush the value?

@MikeHillberg Not with the x:Bind, which I am using primarily

Got it. That's where I'd like to go too. For x:Bind we have this.Bindings.Update() to update from source to target, what we need is a this.Bindings.UpdateSource() to go in the other direction.

@MikeHillberg Is the this.Bindings.UpdateSource() available for WinUI?  I didn't find it with the Page Control.  The docs looked like it was for UWP.  Thanks

You're right, it's not. I was suggesting it as a solution.

You're right, it's not. I was suggesting it as a solution.

So what are you supposed to do call in WinUI to force refresh the bindings?

I have a similar problem which I believe is related to this. Currently I have a list view, which is a list of customer viewmodels, the selected item is bound to a property SelectedCustomer in my ViewModel for the page. I also have a form on the page which is bound to the SelectedCustomer.
The issue I am having it that if the user types something in a textbox/number box doesn't click/tab away (i.e. the control still has focus) then clicks on another item in the list view the binding to source does not get triggered and the text box carries the newly typed value over to the new selected view model and updates the newly selected view model.
I thought my solution might be to manually trigger a Bindings.Update() when an item in the list view is clicked to force an update. But as described above I need view to source, not source to view.
Is there a way to trigger a bindings view to source via another mechanism (I have tried forcing textboxes/number box to lose focus, but this doesn't seem to work).

Has there been any movement on this issue?


Text Index error on method compilation

Steps to reproduce:

Edit a largish method in a coder, but leave it unsaved
Create a new, short method
Save the short method
Kaboom!

I cannot reproduce this anymore.

Pretty sure this what Alex addressed last week.


How to change the credentials in your Example?

Please guide me how to change the credentials in your Example of TestLibQuickblox?

You can set your key in QuickbloxManager.js

Got it, Thanks


Development of Join us Here section

Description
All the links in the join us here section is opening on the same tab which makes it time-consuming to return to the home page. So therefore I want to make these links of Discord, Telegram, etc open in a new tab.
Therefore kindly assign me this task under the Hactoberfest tag. I will complete it within a day.
Thank you.
Screenshots

@SauravMukherjee44 please assign me this task and add labels of Hactoberfest for I am first in the open source contribution.

Please check this issue @IAmTamal @SauravMukherjee44


Actually read from stdin

Description of changes
--stdin flag read a command line argument, not stdin. Now it reads from stdin.
Not sure if my code would compile on windows, but I don't have a windows computer to test it.
I'm aware that https://github.com/nushell/nufmt/pull/57 tries to solve this as well, but it seems stagnant and won't pass CI.
Relevant Issues
https://github.com/nushell/nufmt/issues/56

Seems reasonable. Is there a way to add a test for this?

Thanks


revert to 7911031be873ab18c6a588bb9eabe99c0790f2b1

testing regression

/build

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "revert-trireme",
    "component": "trireme-lib",
    "pr-id": "706",
    "commit-sha": "051aef417d5e17ccce7a7d5538290aae8d863f82"
  },
  {
    "project": "revert-trireme",
    "component": "enforcerd",
    "pr-id": "965",
    "commit-sha": "dfa58c6a8364e7b17b7d2d27ae01a818c5c90bbd"
  }
]


console.assert not throwing with v22.4.0

According to NodeJS doc:

a falsy assertion will cause an AssertionError to be thrown

console.assert(false) does not throw with v22.4.0 (was working at least with v22.1.4):
// Does not work anymore
expect(() => console.assert(false, 'message')).toThrow('message');

/cc @ranyitz

We had a discussion regarding the subject on #5576.

Specifically, in browsers, calling console.assert() with a falsy assertion will cause the message to be printed to the console without interrupting execution of subsequent code. In Node.js, however, a falsy assertion will cause an AssertionError to be thrown.

Functionality approximating that implemented by browsers can be implemented by extending Node.js' console and overriding the console.assert() method.

That's what we're doing and I think that it's better when console.assert does not throw, like in the browser. If we'll decide differently though - we'll need to detect jsdom/node in the console or create a different console for each.
/cc @thymikee

Might be worth a flag? Not sure

Yep that was our decision. Maybe faulty? I don't have strong feelings about it. @mjesun @cpojer what do you think?

A testing environment (Jest) being more strict than the final running environment (browser) is not a bad thing and probably wanted.
The browser has a different goal: make the end user happy VS a testing environment validates code is rock solid.
Do we want a unit test to succeed even if the code tested contains an assert that fails?
Did you have developers complaining about console.assert() throwing in Jest and not behaving exactly like the browser?

My use case:
In the context of a React library, I use console.assert() as "guards" for internal errors (kind of "constraint programming"), not for the user (for this case there is invariant, throw, PropTypes...).
And I like to test the "guards" are here and working thx to Jest.
function removeItem(itemName) {
  console.assert(list[itemName] !== undefined, `Unknown item '${itemName}'`);
  delete this[itemName];
}

test('removeItem() with unknown item', () => {
  expect(() => removeItem('unknown')).toThrow("Unknown item 'unknown'");
});

These "guards" should never fail in production and can/should be stripped away from the production code.

My two cents on that:

I assume that the console.assert behavior was changed because there were some mismatches or complains before; which means that going all-in into one or another approach will not make either side happy.

Jest is node based, so I would expect that the default behavior matches the one in Node. So by default, the console.assert implementation should throw, as it does in Node. Also, jest-environment-node is the default environment, which makes it consistent with this behavior.

The jest-environment-jsdom, which emulates a browser, should also emulate the console.assert behavior in a browser, to be compliant with what browsers do. Something simple like console.assert = (...args) => console.error(...args) should be enough to mimic it.

@mjesun Actually the default env is jest-environment-jsdom :D https://github.com/facebook/jest/blob/497be7627ef851c947da830d4a8e21046f847a78/packages/jest-config/src/defaults.js#L63
But I agree with the rest. Anybody willing to send a PR with a fix and a test?

😆 I'm too used to my internal stuff

Agree with @mjesun and @thymikee, by default the semantics of assert should match the environment being emulated. Sounds like we broke that in node but it's working as expected in jsdom
@tkrotoff to get the assert semantics you're looking for in a jsdom environment, you can override console.assert to the behavior you want. To do that you can add this code to a setupFile:
console.assert = (statement, message) => {
  if (!statement) throw new Error(message);
};

That will fail tests like this:

@rickhanlonii
This is what I do by redirecting console.assert to Node' assert:
import assert from 'assert';
console.assert = assert;

console.assert has been changed to not throw in Node 10 (https://github.com/nodejs/node/pull/17706), so all environments now comply with the console spec.
Users of earlier Node versions can use the "polyfill" mentioned earlier.
I think this can be closed.

I agree, thanks for following up!


[BEAM-3476] [SQL] covariance aggregation functions

R: @XuMingmin

@akedin After Jenkin turns green, could you take a look again?

LGTM

Can you go ahead and git rebase -i origin/master and squash all the commits together?

Thanks! Done. Waiting for jenkin turns green.

retest this please

retest this again please

retest this please

retest this please

@akedin @kennknowles It's green finally and already to merge.

Thanks! I will merge it. I have two comments to follow up.

Reviewed 10 of 10 files at r1.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/transform/BeamAggregationTransforms.java, line 158 at r1 (raw file):

    extends CombineFn<BeamRecord, AggregationAccumulator, BeamRecord> {
    private List<CombineFn> aggregators;
    private List<Object> sourceFieldExps;

I think that actually a List<List<BeamSqlInputRefExpression>> is more clear here as a "list of args". We then probably do want to have optimized coder representations for the 1 & 2 argument cases, just like you have done. Since I don't have a precise suggestion let's just keep in mind to follow up.

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/transform/agg/CovarianceFn.java, line 100 at r1 (raw file):

    public Coder<CovarianceAccumulator> getAccumulatorCoder(CoderRegistry registry,
                                                          Coder<KV<T, T>> inputCoder) {
        return SerializableCoder.of(CovarianceAccumulator.class);

Using a SerializableCoder in a CombineFn may result in a lot of extra data getting shuffled. It is better to have some functionality, but then let's consider making a custom coder here.

Comments from Reviewable

@kennknowles  @akedin Thanks!

Review status: all files reviewed at latest revision, 2 unresolved discussions.

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/transform/BeamAggregationTransforms.java, line 158 at r1 (raw file):
Previously, kennknowles (Kenn Knowles) wrote…
I think that actually a List<List<BeamSqlInputRefExpression>> is more clear here as a "list of args". We then probably do want to have optimized coder representations for the 1 & 2 argument cases, just like you have done. Since I don't have a precise suggestion let's just keep in mind to follow up.

Got it. that's a more generic way to handle more than 2 arguments cases. But, most cases are 1 or 2 arguments. we can talk and change this on follow up ticket.

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/transform/agg/CovarianceFn.java, line 100 at r1 (raw file):
Previously, kennknowles (Kenn Knowles) wrote…
Using a SerializableCoder in a CombineFn may result in a lot of extra data getting shuffled. It is better to have some functionality, but then let's consider making a custom coder here.

Got it!

Comments from Reviewable


ImportError: No module named urllib3

On Python 2.6 on Solaris
Did a pip install requests, and simple example code produces:
the version is requests-2.12.3
Traceback (most recent call last):
File "/www/htdocs/cgi-bin/scrapetest.py", line 7, in
from requests.auth import HTTPBasicAuth
File "/opt/csw/lib/python2.6/site-packages/requests/init.py", line 60, in
from .packages.urllib3.exceptions import DependencyWarning
File "/opt/csw/lib/python2.6/site-packages/requests/packages/init.py", line 29, in
import urllib3
ImportError: No module named urllib3
Tried Un-install, re-install neither fixes it.
Tried installing urllib3 (urllib3-1.19.1) which produces a different traceback message:
Traceback (most recent call last):
File "/www/htdocs/cgi-bin/scrapetest.py", line 7, in
from requests.auth import HTTPBasicAuth
File "/opt/csw/lib/python2.6/site-packages/requests/init.py", line 60, in
from .packages.urllib3.exceptions import DependencyWarning
File "/opt/csw/lib/python2.6/site-packages/requests/packages/init.py", line 29, in
import urllib3
File "/opt/csw/lib/python2.6/site-packages/urllib3/init.py", line 8, in
from .connectionpool import (
File "/opt/csw/lib/python2.6/site-packages/urllib3/connectionpool.py", line 11, in
from .exceptions import (
File "/opt/csw/lib/python2.6/site-packages/urllib3/exceptions.py", line 2, in
from .packages.six.moves.http_client import (
File "/opt/csw/lib/python2.6/site-packages/urllib3/packages/six.py", line 27, in
import operator
ImportError: ld.so.1: python2.6: fatal: relocation error: file /opt/csw/lib/python2.6/lib-dynload/operator.so: symbol _PyUnicodeUCS4_AsDefaultEncodedString: referenced symbol not found

Your Python install seems extremely broken. Your Python is somehow unable to find files that pip should have installed in the same directory as Requests and as well seems to be unable to import six, which should be very simple, due to a symbol problem inside Python itself.
You will need to fix your Python before we can help you.

reason:

env: mac osx 10.12.6  + Python2.7.13 + requests (2.12.4)
you guys should check openssl version.
the mac osx default openssl version is 0.9.8zh 14 Jan 2016.
when you use brew install openssl, the current version is stable 1.0.2l.
but if you use brew install<EMAIL_ADDRESS>this version will  Cause No Module Found Urllib3 issue.

How to fix:

brew uninstall<EMAIL_ADDRESS>
# openssl: stable 1.0.2l
brew install openssl

then, you will find Urllib3 issue is fixed.

ref:
https://github.com/pypa/pip/issues/3593#issuecomment-338539287


[$1000] Compose box is stuck with non removable space if we add space, click on upper arrow to edit and save edited message

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 the app
Open any report
Send any message
Enter space in compose box
Click on upper arrow until last message enter edit made
Save the edit message with or without any changes
Observe that app again focuses to compose box, there is already a space entered in compose box, try to delete it and observe that it is not getting deleted (2 ways to say there is space in compose box, pencil icon is displayed in LHN and 'Write something' placeholder is not displayed)

Expected Result:
App should allow to remove space in compose box on refocus after editing any message
Actual Result:
App should allow to remove space in compose box if we add space, click upper arrow to edit any message and save that message with or without any changes
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
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: 1.3.34-1
Reproducible in staging?: y
Reproducible in production?: y
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/43996225/d6345922-2ffa-4354-9c77-b547d8d9db28
https://github.com/Expensify/App/assets/43996225/d53de273-2fe2-433d-a27d-b81a2e223e4a
Expensify/Expensify Issue URL:
Issue reported by: @Dhanashree-Sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687785005400489
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013f762cbe49f78f72
Upwork Job ID:<PHONE_NUMBER>628552704
Last Price Increase: 2023-07-03

can't reproduce
https://expensify.slack.com/archives/C049HHMV9SM/p1688164226012059?thread_ts=1687785005.400489&cid=C049HHMV9SM

Still getting clarification in thread.

Was able to reproduce with some guidance in slack.

@kevinksullivan Isn't this supposed to be an open issue?

As an experienced web developer with a diverse skill set and over 13 years of experience, I am confident in my ability to provide an ideal solution for the React Native migration project at Expensify. I have a proven track record of delivering elegant solutions in minimal time, and my expertise in software architecture and user interface design will enable me to effectively address the problems related to the migration. I will thoroughly analyze the GitHub issue and propose a technical explanation of the changes I will make, ensuring that the final solution meets the requirements outlined in the job posting.

I don't like this way

I'd like to handle outsite of upwork.

Here is my solution about your job posting.
As an experienced web developer with a diverse skill set and over 13 years of experience, I am confident in my ability to provide an ideal solution for the React Native migration project at Expensify. I have a proven track record of delivering elegant solutions in minimal time, and my expertise in software architecture and user interface design will enable me to effectively address the problems related to the migration. I will thoroughly analyze the GitHub issue and propose a technical explanation of the changes I will make, ensuring that the final solution meets the requirements outlined in the job posting.

@monarch228314 Please checkout the contributing guide.

Sorry @s77rt , missed that this was closed. I opened it.

@monarch228314 thanks, but this is our process, and we don't make exceptions.

@hungvu193 Thanks for the proposal. Your RCA is correct. The solutions make sense, let's go with option 2 (do not allow going to edit mode unless the input is really empty).
:ribbon: :eyes: :ribbon: C+ reviewed

Agree on the solution 2

Offer sent to @dhanashree-sawant

The PR that introduced the bug has been identified: https://github.com/Expensify/App/pull/8064
The offending PR has been commented on: https://github.com/Expensify/App/pull/8064#discussion_r1262306002
A discussion in #expensify-bugs has been started: https://expensify.slack.com/archives/C049HHMV9SM/p1689244886574789
Determine if we should create a regression test for this bug: No

Paying out tomorrow

Seems this is mostly ready, so not unassigning myself, but if this does not get closed, @kevinksullivan please unassign and re-assign another engineer since I am going on sabbatical

All set


Avoid keywords being interpreted as poetic number literals.

A previous commit (8698c4cbbd62cf31...) made a change that did not work for the keyword "empty", which was causing the fizz.rock translation to set "My world is empty" to "my_world = 5" when it should be "my_world = False". This commit makes sure none of the simple_subs are interpreted as poetic number literals.

Thanks for pointing that out, but this PR doesn't really fix the problem. Not every key on simple_subs cannot be interpreted as poetic number literals. Actually, only poetic type literal keywords can't (that's why I have poetic_number_literals_keyword). I'll close the PR and complete the list. Thank you!

Ah, got it!


Hi, I want to ask why the snake needs to reverse the direction?

Nothing major, Just giving control to all the arrow keys. Close the issue if you don't have further question

Sorry to bother you, but I don't want the snake exchange its head and tail, I tried to change the code but it cannot work.
And may I ask what's the maximum length of the snake using your code?
---Original---
From<EMAIL_ADDRESS>Date: Sat, Dec 14, 2019 12:22 PM
To<EMAIL_ADDRESS>Cc: "Yuhang-Amber"<838180250<EMAIL_ADDRESS>Subject: Re: [aryaminus/srijana] Hi, I want to ask why the snake needs to reverse the direction? (#1)
Nothing major, Just giving control to all the arrow keys. Close the issue if you don't have further question
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Damn, never thought about the maximum length, the exchange of head and tail is there to prevent it from not having any space to move, and not allowing it to exchange, will need some changes in here here, basically the dir variable


Failure after all screenshots taken, html not created

New Issue Checklist

[✅] Updated fastlane to the latest version
[✅] I have read the Contribution Guidelines

Issue Description
After taking all screenshots, an exception is thrown, screenshots.html not created.
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

[10:22:49]: Collecting screenshots...
[10:22:49]: Found 5 screenshots...
[10:22:49]: Copying '/Users/...-d41d8cd98f00b204e9800998ecf8427e.png'...
[10:22:49]: Copying '/Users/...-d41d8cd98f00b204e9800998ecf8427e.png'...
[10:22:49]: Copying '/Users/...-d41d8cd98f00b204e9800998ecf8427e.png'...
[10:22:49]: Copying '/Users/...-d41d8cd98f00b204e9800998ecf8427e.png'...
[10:22:49]: Copying '/Users/...-d41d8cd98f00b204e9800998ecf8427e.png'...

Looking for related GitHub issues on fastlane/fastlane...

Found no similar issues. To create a new issue, please visit:
https://github.com/fastlane/fastlane/issues/new
Run `fastlane env` to append the fastlane environment to your issue
/Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/string_filters.rb:38:in `wordwrap': [!] upper is smaller than lower in repeat range: /.{1,0}(?:\s+|$)/ (RegexpError)
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/print_table.rb:75:in `transform_row'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/print_table.rb:102:in `block (2 levels) in transform_output'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/print_table.rb:101:in `map'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/print_table.rb:101:in `block in transform_output'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/print_table.rb:100:in `map'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/print_table.rb:100:in `transform_output'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/snapshot/lib/snapshot/runner.rb:127:in `print_results'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/snapshot/lib/snapshot/runner.rb:60:in `work'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/snapshot/lib/snapshot/commands_generator.rb:37:in `block (2 levels) in run'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:178:in `call'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:178:in `call'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/command.rb:153:in `run'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/runner.rb:476:in `run_active_command'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:39:in `run!'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/commander-fastlane-4.4.4/lib/commander/delegates.rb:15:in `run!'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/snapshot/lib/snapshot/commands_generator.rb:100:in `run'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/snapshot/lib/snapshot/commands_generator.rb:11:in `start'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/fastlane/lib/fastlane/cli_tools_distributor.rb:58:in `take_off'
	from /Users/.../.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.37.0/bin/fastlane:20:in `<top (required)>'
	from /Users/.../.fastlane/bin/bundle/bin/fastlane:22:in `load'
	from /Users/.../.fastlane/bin/bundle/bin/fastlane:22:in `'

Environment

Please run `fastlane env` and copy the output below. This will help us help you :+1:
If you used `--capture_output` option please remove this block - as it is already included there.

✅ fastlane environment ✅

### Stack

| Key                         | Value                                       |
| --------------------------- | ------------------------------------------- |
| OS                          | 10.12.5                                     |
| Ruby                        | 2.2.4                                       |
| Bundler?                    | false                                       |
| Git                         | git version 2.11.0 (Apple Git-81)           |
| Installation Source         | ~/.fastlane/bin/bundle/bin/fastlane         |
| Host                        | Mac OS X 10.12.5 (16F73)                    |
| Ruby Lib Dir                | ~/.fastlane/bin/bundle/lib                  |
| OpenSSL Version             | OpenSSL 1.0.2g  1 Mar 2016                  |
| Is contained                | false                                       |
| Is homebrew                 | true                                        |
| Is installed via Fabric.app | false                                       |
| Xcode Path                  | /Applications/Xcode.app/Contents/Developer/ |
| Xcode Version               | 8.3.2                                       |

### System Locale

| Variable | Value       |   |
| -------- | ----------- | - |
| LANG     | en_US.UTF-8 | ✅ |
| LC_ALL   | en_US.UTF-8 | ✅ |
| LANGUAGE | en_US.UTF-8 | ✅ |

### fastlane files:

**No Fastfile found**

**No Appfile found**

### fastlane gems

| Gem      | Version | Update-Status |
| -------- | ------- | ------------- |
| fastlane | 2.37.0  | ✅ Up-To-Date  |

### Loaded fastlane plugins:

**No plugins Loaded**

Loaded gems

| Gem                       | Version      |
| ------------------------- | ------------ |
| slack-notifier            | 1.5.1        |
| CFPropertyList            | 2.3.5        |
| claide                    | 1.0.1        |
| colored2                  | 3.1.2        |
| nanaimo                   | 0.2.3        |
| xcodeproj                 | 1.4.4        |
| rouge                     | 1.11.1       |
| xcpretty                  | 0.2.6        |
| terminal-notifier         | 1.7.1        |
| unicode-display_width     | 1.1.3        |
| terminal-table            | 1.7.3        |
| plist                     | 3.2.0        |
| public_suffix             | 2.0.5        |
| addressable               | 2.5.1        |
| multipart-post            | 2.0.0        |
| word_wrap                 | 1.0.0        |
| tty-screen                | 0.5.0        |
| babosa                    | 1.0.2        |
| colored                   | 1.2          |
| highline                  | 1.7.8        |
| commander-fastlane        | 4.4.4        |
| excon                     | 0.55.0       |
| faraday                   | 0.12.1       |
| unf_ext                   | <IP_ADDRESS>      |
| unf                       | 0.1.4        |
| domain_name               | 0.5.20170404 |
| http-cookie               | 1.0.3        |
| faraday-cookie_jar        | 0.0.6        |
| fastimage                 | 2.1.0        |
| gh_inspector              | 1.0.3        |
| uber                      | 0.0.15       |
| representable             | 2.3.0        |
| retriable                 | 2.1.0        |
| mime-types-data           | 3.2016.0521  |
| mime-types                | 3.1          |
| hurley                    | 0.2          |
| little-plugger            | 1.1.4        |
| multi_json                | 1.12.1       |
| logging                   | 2.2.2        |
| jwt                       | 1.5.6        |
| memoist                   | 0.15.0       |
| os                        | 0.9.6        |
| signet                    | 0.7.3        |
| googleauth                | 0.5.1        |
| httpclient                | 2.8.3        |
| google-api-client         | 0.9.28       |
| json                      | 1.8.1        |
| mini_magick               | 4.5.1        |
| multi_xml                 | 0.6.0        |
| rubyzip                   | 1.2.1        |
| security                  | 0.1.3        |
| xcpretty-travis-formatter | 0.0.4        |
| dotenv                    | 2.2.0        |
| bundler                   | 1.14.6       |
| faraday_middleware        | <IP_ADDRESS>     |

*generated on:* **2017-06-07**

It happens to me as well
/Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/string_filters.rb:38:in wordwrap': [!] upper is smaller than lower in repeat range: /.{1,0}(?:\s+|$)/ (RegexpError) 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/print_table.rb:75:in transform_row'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/print_table.rb:102:in block (2 levels) in transform_output' 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/print_table.rb:101:in map'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/print_table.rb:101:in block in transform_output' 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/print_table.rb:100:in map'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/print_table.rb:100:in transform_output' 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/snapshot/lib/snapshot/runner.rb:127:in print_results'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/snapshot/lib/snapshot/runner.rb:60:in work' 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/snapshot/lib/snapshot/commands_generator.rb:37:in block (2 levels) in run'
from /Library/Ruby/Gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/command.rb:178:in call' 	from /Library/Ruby/Gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/command.rb:178:in call'
from /Library/Ruby/Gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/command.rb:153:in run' 	from /Library/Ruby/Gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/runner.rb:476:in run_active_command'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:64:in run!' 	from /Library/Ruby/Gems/2.0.0/gems/commander-fastlane-4.4.5/lib/commander/delegates.rb:15:in run!'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/snapshot/lib/snapshot/commands_generator.rb:100:in run' 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/snapshot/lib/snapshot/commands_generator.rb:11:in start'
from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/fastlane/lib/fastlane/cli_tools_distributor.rb:58:in take_off' 	from /Library/Ruby/Gems/2.0.0/gems/fastlane-2.48.0/bin/fastlane:20:in <top (required)>'
from /usr/local/bin/fastlane:23:in load' 	from /usr/local/bin/fastlane:23:in '

Same. I did delete the screenshots folder just after starting the command while it was still compiling.

Thanks for reporting this issue everyone! We just merged a fix for this and it will go out in our next release! 🚀


Added support to deploy using Kubernetes

I have added simple deployments and services for all the micro-services and fixed the 8080 static port issue in the frontend.

@Ilyes-Hammadi thanks!


chore(deps): update renovatebot/github-action action to 34.56.3

This PR contains the following updates:

Package
Type
Update
Change

renovatebot/github-action
action
patch
v34.56.0 -> v34.56.3

Release Notes

renovatebot/github-action
v34.56.3
Compare Source
See the the changelog for changes in all releases.
34.56.3 (2022-12-15)
Bug Fixes

deps: update renovate/renovate docker tag to v34.56.3 (845dc81)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@balena-ci I self-certify!


Configuration for rule "object-shorthand" is invalid: Value "consistent" no schemas match.

I get the error Configuration for rule "object-shorthand" is invalid: Value "consistent" no schemas match. after I added object-shorthand to my configuration:
"object-shorthand": [
	"error",
	"consistent"
]

eslint version: 3.3.1
In the eslint CLI I do not get any errors like this.

It was fixed by some of the last releases


Bugfixes before docs

Codecov Report

Merging #38 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #38   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      7    +1
  Lines         368    374    +6
=====================================
+ Hits          368    374    +6

Impacted Files
Coverage Δ

src/tabbedshellmenus/tab.py
100% <ø> (ø)
:arrow_up:

src/tabbedshellmenus/formatting.py
100% <ø> (ø)
:arrow_up:

src/tabbedshellmenus/normalizer.py
100% <ø> (ø)
:arrow_up:

src/tabbedshellmenus/menu.py
100% <ø> (ø)
:arrow_up:

src/tabbedshellmenus/__init__.py
100% <100%> (ø)
:arrow_up:

src/tabbedshellmenus/_version.py
100% <100%> (ø)

src/tabbedshellmenus/validators.py
100% <100%> (ø)
:arrow_up:

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 0a63ccc...2f6729e. Read the comment docs.


Build fails with gradle 7

Issue
After installing react-native-skia, npx react-native run-android fails with the following error.
FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file<EMAIL_ADDRESS>line: 28

* What went wrong:
A problem occurred evaluating project ':shopify_react-native-skia'.
> Plugin with id 'maven' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring project ':shopify_react-native-skia'.
> compileSdkVersion is not specified. Please add it to build.gradle

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/7.0.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 5s

After some digging, I tried to make it work with this PR https://github.com/Shopify/react-native-skia/pull/43  (still failing for now).
Side note:
To build on Linux, I had to do the following before running yarn build-skia-android:
# https://docs.conda.io/en/latest/miniconda.html
conda create -n "py2" python=2
conda activate py2
pip install ninja

Then run ANDROID_NDK=$ANDROID_HOME/ndk/21.4.7075529 && yarn build-skia-android

Hey @chrfalch, since you reopened this issue I updated my branch.
As I'm on Linux the build was failing because it was looking for xcrun, so I updated skia-configuration.ts accordingly.
Also since python2 is deprecated and ninja is available on python 3, I updated the command to not specify python2 anymore

Hi! I faced the same issue, but managed to make it work withGradle 7.2 by modifying @shopify/react-native-skia/android/build.gradle as such:
// android/build.gradle

// based on:
//
// * https://github.com/facebook/react-native/blob/0.60-stable/template/android/build.gradle
//   previous location:
//   - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/build.gradle
//
// * https://github.com/facebook/react-native/blob/0.60-stable/template/android/app/build.gradle
//   previous location:
//   - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/app/build.gradle

// FBJNI build is based on:
// https://github.com/facebookincubator/fbjni/blob/main/docs/android_setup.md

// These defaults should reflect the SDK versions used by
// the minimum React Native version supported.
def DEFAULT_COMPILE_SDK_VERSION = 28
def DEFAULT_BUILD_TOOLS_VERSION = '28.0.3'
def DEFAULT_MIN_SDK_VERSION = 16
def DEFAULT_TARGET_SDK_VERSION = 28

def safeExtGet(prop, fallback) {
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}

apply plugin: 'com.android.library'
// apply plugin: 'maven'
apply plugin: 'maven-publish'
buildscript {
    // The Android Gradle plugin is only required when opening the android folder stand-alone.
    // This avoids unnecessary downloads and potential conflicts when the library is included as a
    // module dependency in an application project.
    // ref: https://docs.gradle.org/current/userguide/tutorial_using_tasks.html#sec:build_script_external_dependencies
    if (project == rootProject) {
        repositories {
            google()
        }
        dependencies {
            // This should reflect the Gradle plugin version used by
            // the minimum React Native version supported.
            classpath 'com.android.tools.build:gradle:3.4.1'
        }
    }
}

android {
    compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
    buildToolsVersion safeExtGet('buildToolsVersion', DEFAULT_BUILD_TOOLS_VERSION)
    defaultConfig {
        minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
        targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
        versionCode 1
        versionName "1.0"

        externalNativeBuild {
            cmake {
                cppFlags "-fexceptions", "-frtti", "-std=c++1y", "-DONANDROID"
                abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
                arguments '-DANDROID_STL=c++_shared'
            }
        }
    }
    lintOptions {
        abortOnError false
    }

    externalNativeBuild {
        cmake {
            path file('CMakeLists.txt')
            version '3.10.2'
        }
    }

    packagingOptions {
        excludes = ["**/libc++_shared.so"]
    }

    buildFeatures { prefab true }

    prefab {
        reactskia {
            headers "cpp/jni/include"
        }
    }

    // Create new configurations that can be referred to in dependencies.
    // The Android Gradle Plugin 3.* does not allow hooking into existing
    // configurations like `implementation`.
    configurations {
        extractHeaders
        extractJNI
    }
}

repositories {
    // ref: https://www.baeldung.com/maven-local-repository
    jcenter()
    mavenLocal()
    maven {
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
    }
    maven {
        // Android JSC is installed from npm
        url "$rootDir/../node_modules/jsc-android/dist"
    }
    google()
}

dependencies {
    //noinspection GradleDynamicVersion
    implementation 'com.facebook.react:react-native:+'  // From node_modules

    //noinspection GradleDynamicVersion
    extractHeaders("com.facebook.fbjni:fbjni:0.2.2:headers")
    //noinspection GradleDynamicVersion
    extractJNI("com.facebook.fbjni:fbjni:0.2.2")

    def rnAAR = fileTree("${rootDir}/../node_modules/react-native/android").matching({ it.include "**/**/*.aar" }).singleFile
    extractJNI(files(rnAAR))
}

def configureReactNativePom(def pom) {
    def packageJson = new groovy.json.JsonSlurper().parseText(file('../package.json').text)

    pom.project {
        name packageJson.title
        artifactId packageJson.name
        version = packageJson.version
        group = "com.shopify.reactnative.skia"
        description packageJson.description
        url packageJson.repository.baseUrl

        licenses {
            license {
                name packageJson.license
                url packageJson.repository.baseUrl + '/blob/master/' + packageJson.licenseFilename
                distribution 'repo'
            }
        }

        developers {
            developer {
                name packageJson.author
            }
        }
    }
}

afterEvaluate { project ->
    // some Gradle build hooks ref:
    // https://www.oreilly.com/library/view/gradle-beyond-the/9781449373801/ch03.html
    task androidJavadoc(type: Javadoc) {
        source = android.sourceSets.main.java.srcDirs
        classpath += files(android.bootClasspath)
        classpath += files(project.getConfigurations().getByName('compile').asList())
        include '**/*.java'
    }

    task androidJavadocJar(type: Jar, dependsOn: androidJavadoc) {
        archiveClassifier = 'javadoc'
        from androidJavadoc.destinationDir
    }

    task androidSourcesJar(type: Jar) {
        archiveClassifier = 'sources'
        from android.sourceSets.main.java.srcDirs
        include '**/*.java'
    }

    android.libraryVariants.all { variant ->
        def name = variant.name.capitalize()
        def javaCompileTask = variant.javaCompileProvider.get()

        task "jar${name}"(type: Jar, dependsOn: javaCompileTask) {
            from javaCompileTask.destinationDir
        }
    }

    publishing {
    publications {
            maven(MavenPublication) {
            artifact androidSourcesJar
            artifact androidJavadocJar
            }
        }
    }

    // task installArchives(type: Upload) {
    //     configuration = configurations.archives
    //     repositories.mavenDeployer {
    //         // Deploy to react-native-event-bridge/maven, ready to publish to npm
    //         repository url: "file://${projectDir}/../android/maven"
    //         configureReactNativePom pom
    //     }
    // }
}

task extractAARHeaders {
    doLast {
        configurations.extractHeaders.files.each {
            def file = it.absoluteFile
            copy {
                from zipTree(file)
                into "$buildDir/$file.name"
                include "**/*.h"
            }
        }
    }
}

task extractJNIFiles {
    doLast {
        configurations.extractJNI.files.each {
            def file = it.absoluteFile
            copy {
                from zipTree(file)
                into "$buildDir/$file.name"
                include "jni/**/*"
            }
        }
    }
}

tasks.whenTaskAdded { task ->
    if (task.name.contains('externalNativeBuild')) {
        task.dependsOn(extractAARHeaders)
        task.dependsOn(extractJNIFiles)
    }
}

This worked on RN 67.2 with both the debug and release builds.

would be nice if you can diff this against the original; build.gradle

It works for me by :

Commented this part (line 28) :

// apply plugin: 'maven'

Commented this part (line 186) :

// task installArchives(type: Upload) {
//     configuration = configurations.archives
//     repositories.mavenDeployer {
//         // Deploy to react-native-event-bridge/maven, ready to publish to npm
//         repository url: "file://${projectDir}/../android/maven"
//         configureReactNativePom pom
//     }
// }

adding this (line 29):

apply plugin: 'maven-publish'