Use of crypt3

There is an optional dependency on sendanor/node-crypt3
This is used for password encryption. It does not install at all on Windows. This would prevent or hamper deployment on Windows. It would also hamper contributors, because it is used in one of the tests.
A multi-platform alternative would be better.
It is actually not used in the main project. It is installed by Verdaccio, but only used by a dependency (sinopia-htpasswd). It is only installed by Verdaccio because one of the tests makes reference to its install location, and therefore tries to force the location. This is problematic anyway if they ever use different versions.
I think we should consider how to replace sinopia-htpasswd with a self-contained equivalent, which does not rely on crypt3. Relying on sinopia-htpasswd might cause problems if that project is also abandonware.

I would like to know what people's attitude would be to pre-existing passwords not being backward compatible. I have a working Verdaccio using an Apache encryption replacement. It may generate different hashes though.

The issue is with the newer (and better) scheme triggered by the setting:
auth:
  htpasswd:
    file: ./htpasswd
    # Maximum amount of users allowed to register, defaults to "+inf".
    # You can set this to -1 to disable registration.
    #max_users: 1000

When a user registers using npm add user, a line will then be added to the specified htpasswd file, like this:
steve-p-com:$6vMMKhEVcWvs:autocreated 2016-04-20T08:20:43.474Z

It's these passwords that might become invalid. Although they may be the same on Linux, they will not be the same on OS X, and on Windows, a different scheme again is used.
A further gotcha is that if, like me, you started your original registry using full.yaml then you are not using the htpasswd mechanism. But if you instead started with default.yaml, then you are using htpasswd. That is a bit inconsistent.
So different platforms already generate different hashes and use differing schemes, so are not portable, and the defaults are inconsistent.
I propose to change Verdaccio to eliminate crypt3 use and internalize sinopia-htpasswd which is what actually uses crypt3. The effects for anyone using an existing htpasswd file is that it might still work on Linux, but if not, the file needs to be emptied and users have to add their details again (npm add user).
The advantages will be consistency across platforms, zero install errors or warnings, and going forward we will be able to change the hashing scheme if necessary. I have this working already, it just needs a bit of tidying and removal of some debug code.
Thoughts?

I personally use sinopia-gitlab, so this issue doesnt directly affect me.
That said I also agree with you, while I don't have access to a windows computer I think we should do our best to support it. Also since this verdaccio is a response to an unmaintained project it doesn't seem like a good idea to have unmaintained dependencies. We don't have a released version so I don't have a problem breaking backwards compatibility.
This does bring up and interesting question, when we publish the first version we will have to decide if it will start at 1.0.0 or if we try to follow sinopia's versions.

OK, I will pursue the current path. I might have it all ready to go by the end of the weekend. If not, probably early next week. At that point, it should be fully cross-platform. and install with zero warnings or errors. I have not submitted the merge request for removing fs-ext yet because it is also used in sinopia-htpasswd. It makes sense to wait and do it in one, as there will be shared code.
I'm not sure what we should do about versioning. I wonder what other forks have done. Going straight to 1.0.0 makes sense from the point of view that it's an indicator that we believe it to be production-ready. Also it's more of a line in the sand that separates the old and new.


Add RetinaNet Implementation

Hi,
This PR contains the RetinaNet implementation. The following table contains the models which use ResNet50 and ResNet101 as the backbones.
GPU : Pascal Titan X
PyTorch : v1.0.0
Inference time is measured when setting batch size as 1.

Model
Detectron Accuracy
Current Accuracy
inference time(s/im)
download

RetinaNet_R-50-FPN_1x
35.7
36.3
0.102
model

RetinaNet_R-101-FPN_1x
37.7
38.5
0.123
model

RetinaNet_X-101-32x8d-FPN_1x
39.5
39.8
0.200
model

RetinaNet_R-50-FPN_P5_1x
35.7
36.2
0.097
model

RetinaNet_R-101-FPN_P5_1x
37.7
38.5
0.121
model

Add  _C.TEST.DETECTIONS_PER_IMG = 100.
After using DETECTIONS_PER_IMG, the mAP drops 0.1.
Not Implemented parts.

Class specific bbox prediction.
Softmax Focal Loss

Updated 02/02/2018
Identify the reason why this branch gets higher AP.

Branch
Accuracy
Difference

This
36.3/55.2/38.9/19.7/39.9/49.0
BoxCoder(10, 10, 5, 5),  add *4 in classification loss normalization

retinanet-detectron
35.6/55.8/37.7/19.6/39.3/48.2
BoxCoder(1, 1, 1, 1)

Updated 01/30/2018
After updating PyTorch to  v1.0.0, the inference time reduced around 15~20%.
Update the inference time in the table.

Updated 01/26/2018
Add RetinaNet_X-101-32x8d-FPN_1x model.
AP : 39.8
Inferece time : 0.200 second.

Updated 01/25/2018
In my first version, I accidentally used P5 to generate P6 instead of C5 which was used in Detectron and paper.
The following table compares the performances in these two settings.

Model
C5
P5

RetinaNet_R-50-FPN_1x
36.3/55.2/38.9/19.7/39.9/49.0
36.2/55.1/38.7/19.7/39.5/48.6

RetinaNet_R-101-FPN_1x
38.5/57.6/41.0/20.8/42.3/51.7
38.5/57.9/41.3/21.0/42.8/51.3

Updated 01/23/2018
Train the model without "divide by 4" in the regression loss.
Performance:

Model
AP
AP50
AP75
APs
APm
APl

RetinaNet_R-50-FPN_1x
29.6
45.0
31.5
13.9
31.4
41.2

Updated 11/20/2018
The matching part is slightly different from the Detectron version.
In Detectron matching, anchors with IOU >= 0.5 are considered as positive examples, and anchors with IOU <=0.4 are negative examples. Then for the low qualities matches(best prediction for each gt), Detectron only uses the low-quality examples >= 0.4.
P.S.In Detectron, there are some cases occur in both fg_inds and bg_inds. Although in Line230, Detectron removes all the low-qualities positive examples < 0.4. I think the in Line231, num_fg calculation is not correct.
I also test the threshold used for low-qualities positive examples from 0.5 to 0.0.

threshold
AP
AP50
AP75
P.S.

0.5
35.5
53.7
38.1

0.4
36.0
54.1
38.6
Detectron version.

0.3
36.1
54.5
38.9

0.2
36.1
54.5
38.7

0.0
36.2
55.0
38.7
This branch.

This is really awesome, thanks a lot for the PR!
I'll have a closer look at it next week, let us know the result of the training!

Finishing the training.
RetinaNet with X_101_32x8d backbone model costs too much time for training now. Due to the CVPR submission deadline is coming, our lab does not have extra machines for training this one. If anyone can train this one, I will highly appreciate it!

No worries about X_101_32x8d training, we can do it on our side.

@rbgirshick
The only difference is the matching. I didn't use any anchor bbox whose IOU is between [0.4,0.5].
For the C++ implementation of sigmoid focal loss, I have tested this in my another project. Python version needs to discard ignored examples first and then calculate focal loss, but C++/CUDA version can combine focal loss and selection. The C++/CUDA  version definitely has lower foot prints and runs faster. The critial part is the selection. If I called labels >=0 and use it to get the positive and negative exampels, the performance will drop quickly. Due to the large number of postive and negative examples in the training, I think that's reasonable.
The following is the python version of Focal Loss I tested.
   def forward(self, inputs, targets):
       N = inputs.size(0)
       C = inputs.size(1)
       class_mask = inputs.new_zeros((N, C))
       ids = targets.view(-1, 1)
       class_mask.scatter_(1, ids, 1.)

       class_mask = class_mask[:, 1:]
       inputs = inputs[:, 1:]

       P = torch.sigmoid(inputs)
       PC = P*class_mask + (1-P)*(1-class_mask)
       alpha = self.alpha * class_mask + (1 - self.alpha) * (1 - class_mask)
       focal_weight = alpha * (1 - PC).pow(self.gamma)
       loss = F.binary_cross_entropy_with_logits(inputs, class_mask,
                                                     focal_weight)
       return loss

@chengyangfu thanks for the explanations!

This PR looks good to me, though I would like to see one organizational change. I think the retinanet code that's currently inside the rpn package should go under a new package at modeling/retinanet/. @fmassa what do you think?

I agree that having retinanet files be in their own folder would be preferable.
If we assume that we are keeping the GeneralizedRCNN framework for RetinaNet, and we use the retinanet heads in the self.rpn field, then it might make sense to split the organization as follows:
modeling/
  rpn/
    some_name_class_agnostic_ie_RPN/
        ... rpn files here
    retinanet/
        ... retinanet files here
    make_rpn.py # or something like that, which is the entry point in GeneralizedRCNN

Also, before merging this PR I'd fix a few other things as well. For example, all the other config files are currently broken because we have changed INPUT.MIN_SIZE to be a tuple instead of an int. That should be fixed.
There were also a few other things that I'd maybe like see changed, but I didn't yet have the time to do a full review in detail.
Maybe we could create a tag for the current version, like v0.1, and then merge this PR, and iterate a bit more on the design later on?

According to @fmassa  and @rbgirshick opinions, all retinanet related files are moved to modeling/rpn/retinanet/.
I also add a script for training RetinaNet with X_101_32x8d.

@chengyangfu I'll be pulling your PR and testing it locally starting from next week.
Sorry for the wait.

@fmassa
Thanks for letting me know! I will rebase the branch this weekend.

@fmassa, Rebase the code according to the new commits in the master branch.
@rbgirshick Clarify the matching part. It is opposite to what I said.  For each gt object, the best matching anchor is always used as the positive examples even the overlapping threshold is really low.  Detectron's version discards the best matching case if the threshold is lower than 0.4.  The following table shows the performance of RetinaNet_R-50-FPN_1x with different thresholds used for the best matching case.

threshold
AP
AP50
AP75
P.S

0.5
35.5
53.7
38.1

0.4
36.0
54.1
38.6
Detectron version.

0.3
36.1
54.5
38.9

0.2
36.1
54.5
38.7

0.0
36.2
55.0
38.7
This branch.

Hi,
I note that the the nomalizer of smooth L1 loss is num_fg*4 in your implementation.
But I find this normalizer in Detectron version seems to be num_fg.
Which one is exact implementation?
select_smooth_l1_loss kernel
select_smooth_l1_loss op

Also, @chengyangfu could you expand a bit on the different accuracies you reported?
In the main post you mentioned that there was ~0.5 improvement over Detectron, was that an oversight on the Detectron accuracies?

Hi,
I note that the the nomalizer of smooth L1 loss is num_fg*4 in your implementation.
But I find this normalizer in Detectron version seems to be num_fg.
Which one is exact implementation?
select_smooth_l1_loss kernel
select_smooth_l1_loss op

Hi @Z-Zheng,
In Detectron, num_fg is used as the normalizer for the smooth l1 loss. But if you check the training iteration in this branch, using num_fg*4 makes the Cls and Regression losses are more balanced.

Hi, awesome work!
Training with single GPU works perfectly.
Strange thing happens when I use torch.distributed.launch for 4GPU training as specified in the scripts, all processes halt at computing the loss in the second iteration.
Volatile GPU-Util for all devices stay at 100%.
Could you help me identify the issue? Thanks!

Hi, awesome work!
Training with single GPU works perfectly.
Strange thing happens when I use torch.distributed.launch for 4GPU training as specified in the scripts, all processes halt at computing the loss in the second iteration.
Volatile GPU-Util for all devices stay at 100%.
Could you help me identify the issue? Thanks!

Hi @stanstarks,
I also met this bug. You can find more information in this thread.

Hi @chengyangfu,
I'm pulling your PR now and I'd like to make some small modifications.
Could you give me access to push to this branch?
There is some information in https://help.github.com/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork/

Hi @fmassa ,
Sure. I already turned it on.

Yes, thanks!
It looks like I can push here. I have a few other things I'd like to try changing.
Let me know what you'll think.

One thing I'll probably be doing will be to replace the dedicated CUDA implementation of Focal Loss by a python implementation.
Thanks to the awesome work of @t-vi on the JIT side, it is possible to obtain a single optimized CUDA kernel which should be as efficient as the one from Detectron, but by writing it only in Python.

@fmassa
Sure. It sounds great! I will have more free time this weekend and will them carefully. Thanks for letting me know.

@chengyangfu I did some minor modifications in the code, and I also made a few comments in places where I think we could potentially simplify the implementation by extracting a few base functions and reusing them for both RPN/Faster R-CNN and RetinaNet.
Let me know what you think

@fmassa Thanks! I also put some reviews there. I also like the idea of extracting base functions. Especially, the single-stage detectors(YOLO, SSD, RetinaNet) can be considered as the variant of the RPN model.

Let me know if you'd like to try out factoring the base functions out (and if you'd have the time to do it).
Maybe you could start with a quick description, and we could iterate on that first?

@fmassa  Sure. I can do it. Just let me know which part you would like to change.

@chengyangfu I've left a few comments in the code with a # TODO and some quick notes saying that this part is very similar to that part. Could you have a look and see if you agree with the comments? Then we can start to plan something out of it.

@chengyangfu cool, I'll try to come up with a plan tomorrow for how we could restructure those functions

hi @fmassa
do u have a plan to merge this pr?

@zimenglan-sysu-512 yes, I plan to merge this PR.
I just didn't have the time yet to propose some more concrete action plan for the refactoring that I discussed before.

I don't know yet. Hopefully soon, but I've been busy with other things.

@chengyangfu
Hi,
I fond the regression loss is so different between maskrcnn_benchmark retinanet and detectron retinanet:0.68 vs 0.25(detectron). I wonder what cause this problem,  your regression loss is twice than detectron's,  consider divide by fg_num * 4, which means 8 times than detectron's.

@chengyangfu
Hi,
I find the regression loss in your branch is significantly larger (2X4) than that in the detectron. Can you elaborate more about it?

Hi @tpys ,
I did add the normalization term(divide by 4) in regression loss. The point is to make regression and classification loss are similar during training. I didn't check the details of this part in Detectron and hope this answer your question.

@chengyangfu
I see, Thanks.

Hi @fmassa,
I found out the reason why this branch giving 0.6 higher AP than Detectron and add the table to the beginning of this post. The weights of BoxCoder are different.
In this branch, I use the (10, 10, 5, 5) in BoxCoder. Detectron adopts (1, 1, ,1, 1). That's the reason why the scales of regression loss are different and this branch needs (*4) to balance the classification and regression losses.

Test different  in the following table.

Norm
AP
AP50
AP75
APs
APm
APl

1
31.8
48.1
34.0
16.3
33.6
43.1

2
35.4
53.4
38.1
19.2
38.4
47.5

4
36.2
55.3
38.6
20.2
39.8
48.7
used here

6
36.1
55.7
38.3
20.3
39.5
48.4

8
55.9
55.9
38.4
19.5
39.8
48.6

Hi @chengyangfu
Thanks a lot for finding out where the difference comes from! This is very interesting! cc @rbgirshick about why this PR gives better results than Detectron implementation of RetinaNet.
About your table, I was surprised when I saw the Norm 8: AP: 55.9, and then realized it was probably a copy-paste problem with the AP50 :-)
@chengyangfu I'll give one more pass, but I believe this is good to go on your side?

Hi, thanks again @chengyangfu for the great work. I've added a MobileNetV2 variation and run some benchmarks on my machine:  021b12e6d68f40f2372a3feed24ab4b04c4dd67c

config
AP
AP_50
AP_75
AP_S
AP_M
AP_L

retinanet_R-101-FPN_1x
0.385
0.579
0.413
0.210
0.428
0.514

retinanet_R-50-FPN_1x
0.362
0.551
0.388
0.197
0.396
0.487

retinanet_MobileNetV2-FPN_1x
0.283
0.448
0.297
0.142
0.306
0.389

retinanet_MobileNetV2-96-FPN_1x
0.251
0.401
0.264
0.120
0.275
0.342

config
GPU s / img
CPU  s / img
Params
MAdds
Size
AP

retinanet_R-101-FPN_1x
0.1858
2.7092
52.7M
30.9B
402MB
0.385

retinanet_R-50-FPN_1x
0.0957
2.2511
33.8M
23.3B
257MB
0.362

retinanet_MobileNetV2-FPN_1x
0.0797
1.5275
12M
15.7B
92MB
0.283

retinanet_MobileNetV2-96-FPN_1x
0.0674
0.8764
4.1M
3.6B
31MB
0.251

retinanet_MobileNetV2-96-FPN_1x has OUT_CHANNELS: 96 in the FPN instead of 256.
GPU: 1x NVIDIA GeForce GTX 1080Ti
CPU: AMD Ryzen™ 7 1700
pretrained weights:
retinanet_MobileNetV2-FPN_1x.pth
retinanet_MobileNetV2-96-FPN_1x.pth

@laibe cool, very interesting!
Do you have the runtime estimates for those models?
Also, I suppose you have based your mobilenet implementation from https://github.com/facebookresearch/maskrcnn-benchmark/pull/242 ?

@fmassa
Thanks! Norm 8: AP: 55.9  definitely is a typo and I just updated the table again.
The current version is using CUDA implementation, but I will try torch.jit.script and test it this week.

Hi @laibe,
This looks good! I will check it later!

@fmassa they are pretty similar and both based on @tonylins mobilenetv2 implementation.
#242 uses [3, 6, 10, 18], whereas I used [3, 6, 13, 18] as output layers. 13 is the last one with 1/16 resolution so I picked that one.

@fmassa
Experiment setting :
PyTorch : vr.1.0.0
GPU : Pascal TitanX
Model : retinanet_R-50-FPN_1x
Batch size :2 for one GPU.
Time and Memory are measured after 1000 iteration.

Implementation
Time
Memory

CUDA
0.3846
3443

Python
0.4114
5298

JIT
0.4145
6661

Looks like CUDA implementation still has some advantages over time and memory. But I am surprised by the performance of JIT method. Do you have any insight about this?

hi @laibe
i try to run your yaml files, it encounter OOM (IMS_PER_BATCH=2)

Hi @chengyangfu ,
Thanks for the benchmark!
I believe this is a consequence of the operations not being fused in PyTorch 1.0.0. I think there have been some improvements recently that made it better, but I'd need to check.
cc @ailzhang for the performance timings and memory
Let's keep the CUDA implementation for now then, and dispatch to the Python implementation if we the tensor is on CPU, how does that sound?
Then this will be ready to be merged.
Once again, thanks a lot for this awesome contribution!

@zimenglan-sysu-512 what's your training setup? I was using:
1x GeForce GTX 1080 Ti
CUDA runtime version: 9.0.176
with max mem during training of  5132

thanks @laibe
i make a mistake resulting OOM.
btw, do u use CUDA implementation or Python implementation?

The numbers might make sense given the current fusion logic in jit, @waochaol @zou3519 could you also help check on the JIT numbers? Thanks!

@fmassa
It sounds good to me. I just updated the maskrcnn_benchmark/layers/sigmoid_focal_loss.py  according to the suggestion.

That's an awesome contribution @chengyangfu , thanks a lot for all your effort!

@chengyangfu
Hi,
Great work!
I have a question on rpn/retinanet/inference.py(77)
Why do you reshape the box_regression when it has been permute_and_flatten just in the last line? According to rpn/utils.py(13), (N, -1, 4) is exactly the shape of box_regression. Do you reshape it again in order to handle with some spacial cases?
thks a lot

Ah... I finally realized why model zoo does not have these trained weights...  Removing OUT_CHANNELS: 256 from backbone destroyed trained networks? I hope someone update/convert these weights :(

could you please support Sigmoid Focal Loss cuda implementation to run on FP16?
Thank you

Can I use this model to train my custom dataset as in #521 ?

supplement performance of retinanet_r101fpn_2x on COCO minival:
AP, AP50, AP75, APs, APm, APl
0.3878, 0.5811, 0.4132, 0.2081, 0.4256, 0.5183

Hi :)
Why is the focal loss (the sum of the losses) is divided by the number of positive labels plus number of labels (N = len(labels))?
retinanet_cls_loss = self.box_cls_loss_func(
            box_cls,
            labels
        ) / (pos_inds.numel() + N)


License header checker

It would be nice to have a utility that would run over a given set of files and output whether or not each of them have a valid header comment with a license in it.
This could be used in presubmit checks to ensure that no new files are added without such a license.
It could also be run from a unit test.
Caveats:

need to handle years in the past
need to handle whitespace changes, e.g., new lines or indentation changes
need to handle minor changes around the license, such as flags to the #!/... line
[maybe] avoid handling reflowed text, as that's a difficult problem

For an example, see Java Checkstyle.

https://github.com/google/addlicense appears to handle this use case already.


Upgrade to System.IdentityModel.Tokens.Jwt 6.5.0 has broken the Fido2MetadataServiceRepository

It looks like the implementation of JArray used by JwtSecurityToken has been switched to an internal non-Newtonsoft one as of the latest version and this has broken DeserializeAndValidateToc which casts JWT properties to that type.
This crept in because I updated another package that brought in 6.5.0. The version currently referenced in 5.6.0.
Want me to do a PR for this?

Thanks for the report! When does this problem manifest itself, do you have a repro?

Basically if I reference fido2-net-lib but upgrade all packages (I depend on System.IdentityModel.Tokens.Jwt elsewhere) to latest via the package manager then it breaks as it binds against the newer version at runtime. This came about as I'm updating my current solution (which was using a version pre-my PR) to .Net Core 3.1 and updating all other dependencies to match.
I've worked around it for now by explicitly referencing 5.6.0 in my solution.

PR #156 created for this.

This same problem also impacts SafetyNet attestation type verification as it uses JArray as well.

This is fixed, verified.  Thanks!


WIP: Appcompat 1.3.0

Summary

Changelog

[CATEGORY] [TYPE] - Message
Test Plan

What's the status of this? Can we revive it?

@gabrieldonadel As you were touching it, do you want to take a stance at this?

@gabrieldonadel As you were touching it, do you want to take a stance at this?

Sure, I'll take a look later today

I've just opened a PR as a continuation of this https://github.com/facebook/react-native/pull/33072


Fixed #24911 -- use model as a named argument

A regression test would be useful.

Added regression test at https://github.com/rivol/django/commit/5b88cd4b5dcca5a66055d4deeba82b7034651521
I'm not sure what the procedure is when adding test for an existing patch with an open PR - should I create another PR to Django main repo? Should I get PR to 317070/django repo?

You can update this pull request, see https://docs.djangoproject.com/en/1.8/internals/contributing/writing-code/working-with-git/ for tips.

Hi rivol, I added your tests to the pull request. Thanks a lot!

I'm new here. Do I need to do something extra on the trac or here to show it is ready for merging?

No, patch is in the review queue (see "patches needing review" at https://dashboard.djangoproject.com/). Will get to it sometime soon.

buildbot, add to whitelist.

No problem. Thanks for pointing out that page! I understand the Trac-process better now, I think.

Hello your test are valid only for python3, try to make them more python2-friendly, i.e. super(class,instance).method(...)

merged in 4352e865a75923a0e5036b4e9ba2a8f0bfae3d63, thanks!


[NCL-6964] Create Dependency Tree component

Replaced by new PR: https://github.com/project-ncl/pnc-web-ui-react/pull/86


attempt made to log in or like a tweet without a valid twitter kit url scheme

Hello, I have the same issue, did you resolve it somehow?

I fixed it....The solution in my case is that I had to unify duplicated keys on the info.plist since facebook and twitter they both have url schemes and you can't duplicate the entries, you have to put it all in the same array under one key and I also unified LSApplicationQueriesSchemes into one. So the two entries
<key>CFBundleURLTypes</key>
 <array>
   <dict>
     <key>CFBundleURLSchemes</key>
     <array>
       <string>twitterkit-XXXXXX</string>
       </array>
     </dict>
   </array>

   <key>CFBundleURLTypes</key>
   <array>
       <dict>
           <key>CFBundleURLSchemes</key>
           <array>
               <string>fbXXXX</string>
           </array>
       </dict>
   </array>

now in unified format would be:
<key>CFBundleURLTypes</key>
  <array>
    <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>twitterkit-key</string>
        <string>fbkey</string>
        </array>
      </dict>
    </array>
  <key>LSApplicationQueriesSchemes</key>
    <array>
    <string>twitter</string>
    <string>twitterauth</string>
        <string>fbapi</string>
        <string>fb-messenger-share-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
    </array>

Step1: #import <TwitterKit/TWTRKit.h>
Step2:
Added the consumerKey and consumerSecret in

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Add this line
[[Twitter sharedInstance] startWithConsumerKey:@"Key" consumerSecret:@"SecretKey"];

}
Step:3

(BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{

// Add this line
        if ([[url scheme] hasPrefix:@"twitter"] == YES) {
return [[Twitter sharedInstance] application:application openURL:url options:options];
}

        }

Unable to resolve it.
Tried everything.


PassType.ASSIST is being used both as a shot and goal assist interchangeably

In our Opta deserializer, we add the PassType.ASSIST qualifier to a pass with an Opta qualifier type 210, see:
https://github.com/PySport/kloppy/blob/master/kloppy/infra/serializers/event/opta/deserializer.py#L543-L544
qualifier type 210 means a shot assist, as you can see below:

In our Statsbomb deserializer, we add the PassType.ASSIST qualifier to a pass with a "goal_assist" tag, see:
https://github.com/PySport/kloppy/blob/master/kloppy/infra/serializers/event/statsbomb/deserializer.py#L291-L293
I would suggest moving from PassType.ASSIST to a PassType.SHOT_ASSISTand PassType.GOAL_ASSIST. A goal assist would have both qualifiers. This way we are explicit about what we mean and we are capable of handling both shot and goal assists.
@koenvo agree?

I think your definition of assist being a pass being followed directly by a shot event is too narrow.
If you look at the raw data of vendors (e.g. StatsBomb) you see that in between the pass, which gets annotated as an assist, and the shot, there often are carry or duel events, maybe even others.
Therefore, I would use the qualifiers in the raw data where possible. For vendors which don't support shot or goal assists, you can always still try to calculate it.

I agree that we should make the use of the PassType.ASSIST qualifier consistent across the deserializers for the different data providers. This example nicely illustrates that we need more formal definitions for our events and qualifiers to avoid ambiguity as data providers sometimes use the same terms for different concepts.
I'm also in favor of deriving qualifiers, and in some cases even events, from the raw data as much as possible. I believe that this approach would help us to arrive at more uniform and predictable behavior across our deserializers, especially for rather well-defined concepts such as shot assists or key passes and goal assists. However, in other cases, the qualifiers that data providers add to events might not be reconstitutable from the context.
I'm mostly familiar with the StatsBomb event data. They add a goal_assist field to passes leading to a goal and a shot_assist field to passes leading to a shot that was not a goal. However, a case could be made for assigning both qualifiers to passes that are goal assists. In my opinion, it all comes down to properly defining the qualifiers in the first place.

I'm also in favor of deriving qualifiers, and in some cases even events, from the raw data as much as possible. I believe that  this approach would help us to arrive at more uniform and predictable behavior across our deserializers, especially for rather well-defined concepts such as shot assists or key passes and goal assists. However, in other cases, the qualifiers that data providers add to events might not be reconstitutable from the context.

I don't fully see how you could properly derive shot or goal assists from the raw data. As I said, I think Koen's approach
if event.event_type == EventType.PASS:
  next_event = event.next()
  if next_event.event_type == EventType.SHOT:
    event.qualifiers.append(
        PassQualifier(
            PassType.ASSIST_GOAL if next_event.result == ShotResult.GOAL else PassType.ASSIST_SHOT
        )
    )

would result in a too narrow definition of shot and goal assists as between the pass, which gets annotated as an assist, and the shot, there are often carry or duel events, maybe even others.
How would you suggest that we properly and accurately derive shot or goal assists from the raw data?

Automatically deriving assist qualifiers would indeed require slightly more sophisticated business logic, but all required information should be available in the data feeds to implement the most common assist definitions.
Moreover, automatically deriving assist qualifiers would even allow us to support multiple definitions as different leagues use slightly different definitions. For example, the Belgian Pro League uses the following definition to award goal assists to players.

I've looked up a few definitions from different leagues and it seems that they all have subjective components regarding that the assist must (1) be intentional and (2) have a direct influence on the outcome of a goal scored. Moreover, each league uses a slightly different definition and they are continuously changed.
I believe that most people would want that the assists in kloppy are identical to the official stats. And since I do not believe that you can derive "official assists" automatically from the data, I would rely on the data provider's judgment. Also, I wonder whether data providers (always) use their own definition or adopt the league's official stats in practica. For example, I know that Opta will sometimes correct an own-goal to a goal (or vice-versa) post-game.
I don't know what your use case is, but if you need something that is consistent across data providers, you could add another assist category named KLOPPY_ASSIST (I don't have a good name for it immediately) that is automatically derived. What would also be relevant to add is Opta's "Fantasy Goal Assist" which is a very broad definition of assists that is used in fantasy football and Football Manager and that can be automatically derived.

I'm also in favour of taking over the data provider's judgement to label passes as shot or goal assists (this should be resolved with: https://github.com/PySport/kloppy/pull/281).
Having a KLOPPY_ASSIST, which is automatically derived from the raw data, is then indeed a good solution for also having a consistent metric to compare between data collected by different providers or from different leagues.


Build shrinkwrap from the current dependency state

Current coverage is 100% (diff: 100%)

Merging #30 into develop will not change coverage

@@           develop   #30   diff @@
====================================
  Files           12    12
  Lines          371   371
  Methods          0     0
  Messages         0     0
  Branches         0     0
====================================
  Hits           371   371
  Misses           0     0
  Partials         0     0

Powered by Codecov. Last update c17b934...68a0359


[NewPlugin]  mauronz binja-emotet 0.1

Please add my plugin to the repository.
Yes, I've read the instructions, especially the part about creating an actual release and creating the tag.
I either used the UI, or the hub command to create a real release.
Author: mauronz
Repo name: binja-emotet
Release: 0.1

Thanks for the submission! Added.


Update dataflows-streaming.md

Added clarification to be explicit about availability of enhanced compute engine in Premium P SKUs.

@davideldersveld : Thanks for your contribution! The author(s) have been notified to review your proposed change. @maikelson

Hi @davidiseminger - GitHub isn't finding a user maikelson, the metadata author value. I can't identify them, either. Could you review the PR and look into updating the metadata author attribute? Thanks.

Thanks @ktoliver. @maikelson left Microsoft recently. Previously a PM in the Power BI team.


Errors should be given in percentage terms

Errors seem to be printed as percentages but actually calculated as absolute values

@pgkirsch it looks like we're taking an exp before computing error? I think error should be in log space -- screenshot from the paper below to help with discussion

@whoburg Ah that's what I was looking for! (I vaguely remembered this being in the paper but somehow missed it.)
But why be satisfied with approximate error when it's so easy to get the exact error in original space? And if we are going to compute max error we need to compute it anyway...

I agree it's easy to compute what any of these errors are, but there's only one of them that our fitting algorithm is actively minimizing (it's minimizing RMS error on the transformed data. The point of equation (42) is that this minimization should also result in low relative error on w.

(Copying over from other discussion because it's easier to find here)
Ah fair point. Do you think any of these solutions would help add sufficient clarity?

Make the heading of verbosity=1 output more explicit, i.e. instead of:

Error
-----

it could be
Error (in original space) # or log space
-----

Expand the self.error dict to include both types of error, i.e.

self.error = {
    "transformed": {
        "rms": ...,
    },
    "untransformed": { # naming?
        "rms_rel": ...,
        "rms_abs": ...,
        "max_rel": ...,
        "max_abs": ...,
    }
}

But it's kinda cumbersome as a user to be like f.error["untransformed"]["rms_rel"]
3. Similar but condensed:
self.error = {
    "rms_log": ...,
    "rms_rel": ...,
    "rms_abs": ...,
    "max_rel": ...,
    "max_abs": ...,
}

Could choose one that we care the most about and call it self.error (it's a float), and then also provide a more complicated self.errors dict as you describe above

I like that! My vote is for "rms_rel" (untransformed) if that would be ok with you. I think its the most meaningful error to an engineering-application end user.
I'll add a brief discussion of all this to the documentation.


upgrade to contour 0.3

Project description
Currently, contour in nixpkgs is at 0.1.1 while upstream is currently at <IP_ADDRESS>.
I've attempted updating it myself, but I'm having issues with the new libunicode dependency. I'm not very familiar with cmake, ninja and C++ packaging in general. Perhaps someone else can help.
Here's my attempt: https://github.com/felschr/nixpkgs/commits/contour
Metadata

homepage URL: https://github.com/contour-terminal/contour
source URL: https://github.com/contour-terminal/contour
license: asl20
platforms: unix

Maintainers
@fortuneteller2k

#175239


Suffix shows up in initials

From #6

The one comment I have is it'd be best if anything after a comma is not perceived as additional parts of the name. For example, some faculty (and we may eventually require this) include their degree, which is not part of their name. We could separate this as another issue if that would help keep things streamlined.
For Dr. D'Amico's profile below sans photo, we'd want it to say "AD" instead of "ADM."

This has been fixed for a while


Add zoom

Use wheel event to zoom into the quad, and adjust layer, hotspot and label accordingly.

Would be great to have cookies so zoom and position get saved after reloading the page... (i'm ashamed of what i just asked, sorry, but i could not resist :D )


Bookmarking a service in some lists resets the scroll position

We currently are encountering a bug initially reported here: https://github.com/pg-irc/pathways-frontend/issues/892#issuecomment-579996788. Basically in some places where we render bookmark-able items in lists the state change in Redux caused by bookmarking an item triggers a re render that refreshes the scroll state of the list (it scrolls back up to the top of the list). This is not a new bug and has previously been fixed by properly using FlatList's "HeaderComponent" prop to render anything above the list, you can see this working properly for topic services.
There are two main instances we see this bug currently: Services search & bookmarked services/topics.
I can see two approaches to fix this:

Properly use "HeaderComponent"

Initialize local state from Redux in these lists and then bulk write out bookmarks when we navigate away from these screens

The first approach is a substantial change that may not work nicely with our tabs and Algolia components (a quick hack locally did not prove fruitful)
The second approach I've proven works locally and seems like the path of least resistance to me.
Please provide thoughts.
Acceptance Criteria

[ ]

Steps for QA:

I don't understand how the header component is used to fix this issue. The solution with storing the changes to bookmarks in local state makes sense to me. But perhaps if I understood the header fix it would be better....

The listHeaderComponent prop is meant to accommodate cases where you need to render something above your flatlist. It seems in instances where you have a connected component and you're changing state the only way we've been able to get that state to no reset the scroll state is to use this prop. I'm not sure exactly how it work but it does :P I think I'll try a bit more.

I was actually able to rebuild the search properly using the ListHeaderComponent and it did not fix the problem. Which is confusing.

This is such a headache, I've tried to trace through the FlatList code to understand why this happens but I'm really not sure. The local state route didn't appear to actually work once fully implemented due to the component (Infinitehits) holding the state constantly un mounting and causing loops writing to Redux and re rendering. Moving the local state up the component tree puts us back at square one. It seems this is related: https://github.com/facebook/react-native/issues/25239 which has had very recent activity. At this point I wonder if we're going to have to try to re write the search with a simple HTTP Get in order to get similar behaviour to our topic services. I'm at a bit of a loss here.

Closing this issue, the solution is to change how we use Algolia, see #1030


Permissions Denied zshrc

I keep getting an error in the append_to_zshrc function saying
Users/me/.zshrc: Permission denied
Readout from home ls -la shows
lrwxr-xr-x 1 me staff .... /zshrc -> /zshrc
Any ideas what the issue here may be?
Thank you.

I know this was a while ago, but the lrwxr-xr-x is the permission for the symlink. You should check the permissions for the file the symlink is pointing to (i.e. the filename to the right of ->).


linuxProfile should be optional for AKS cluster

The linuxProfile is required for AKS creation:
https://github.com/Azure/azure-rest-api-specs/blob/master/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json#L979
But if end user chooses to create the AKS from Azure portal, it does not require the linuxProfile to be set.
The API spec should be consistent with behavior from Azure portal.
This causes issue raised by Terraform user:
https://github.com/terraform-providers/terraform-provider-azurerm/issues/1806
I also opened an issue on GO SDK team to track it:
https://github.com/Azure/azure-sdk-for-go/issues/2519

Adding @mboersma

I don't see that linuxProfile is required to create an AKS cluster. The code @metacpp points to is showing that there are two required fields for a ContainerServiceLinuxProfile, but ManagedClusterProperties does not appear to require linuxProfile. And in the Python SDK generated from this swagger, a ManagedCluster does not require linuxProfile.
Maybe I'm confused about the actual issue we need to fix. cc: @zqingqing1.

linuxProfile isn't required, and the original question was solved by changing usage of the Go SDK. I think this issue can be closed @metacpp.

Thanks @mboersma!
@metacpp - please reopen if you feel that this has not been addressed.


Overlap threshold

Hi,
the issue is probably related with https://github.com/NVIDIA/retinanet-examples/issues/166.
I am fine-tuning an object detector as shown in example (https://github.com/NVIDIA/retinanet-examples/blob/master/TRAINING.md). Objects in my dataset are marked with rectangles with the same size of 84 x 15 pixels. During training box_loss is constantly equal to 0.000. I have uncovered that in box.py, function snap_to_anchors(.), there are hardcoded overlap threshold parameters 0.4 and 0.5, which discard elongated objects. When I change these parameters, training runs successfully. When I change annotation rectangles to squares, training runs successfully. Could you please make these threshold parameters adjustable? Or would you prefer a PR?
Thank you!
Rosty

Rosty,
This is on our "to do" list, but we have been focussing on backbones recently. We always welcome PRs if you've already done the work.
Have you had luck detecting your objects?
I'll close this and treat it as a feature request, unless you raise a PR.

James,
thanks for your reply! I have it working in a "workaround" mode, will check if there is a way to adjust the parameters in an argparse way.
Rosty

We can add a new --foreground-iou parameter for the next release if you'd like.
What value are you using?

Also, if you are able to share example outputs, or how you are using the repo, I'd love to see them.

I am using 0.3 instead of 0.4 and 0.4 instead of 0.5 for training and the losses are converging to something < 1. When validation starts, depending on nms and threshold parameters, I get either "no detections" or AP/AR equal to 0 or -1. Still playing with nms and threshold parameters for inference. There is something filtering out detections during inference.

I use this fork https://github.com/aidonchuk/retinanet-examples with parameters:
retinanet train mymodel.pth
--fine-tune retinanet_rn50fpn.pth
--batch 3
--iters 50000
--val-iters 5000
--lr 0.1
--classes 3
--jitter 700 1520
--max-size 1520
--images images
--annotations labels/via_region_data.json
--val-images images
--val-annotations labels/via_region_data.json
--full-precision
--logdir output
--model-threshold 0.05
--model-top-n 1000
--model-nms 0.5
--model-detections 100
Disclaimer: I am aware that I validate on the train data, expecting to see overfitting.

--full-precision is probably not adding much, but will increase your training time.
Please let me know what happens with this.

Same, in the fork it is FP32 by default


Unlicenced

Explicitly defining the licence will ensure there are no future developer concerns about whether or not this module is for them. May I suggest a permissive license such as MIT or Apache?

My mistake, I was under the impression this could be copy-right or copy-left, but I can support this being in the public domain without the restrictions of either on other developers.


Invalid Signature returned from signTransaction

When I try to use decode from the ripple-codec, on a signed transaction response, I receive the following error.
Cannot read properties of undefined (reading 'name')

Y'all can close this, as it is the same as github.com/ripple/ripple-binary-codec#151


Error: HTTP Error 404: Not Found, PyTube Update did not fix

Environment

System OS: Arch Linux

Python Version: Python 3.9.5

Install Source: pip install spotdl

Version OR Commit hash: 3.6.1

Expected Behaviour
Tried to download a song
Actual Behaviour
Got a 404 error
Steps to Reproduce

pipx run spotdl

Traceback
Fetching Song...
Gathering Spotify Metadata for:
https://open.spotify.com/track/4fXGWiVhlOLdhwRDP6pIFG?si=10399d7f7c3b4913
Couldn't read cache at: .cache
Couldn't write token to cache at: .cache
Couldn't read cache at: .cache
Couldn't write token to cache at: .cache
Couldn't read cache at: .cache
Couldn't write token to cache at: .cache
Found YouTube URL for "Fools Garden - Lemon Tree" :
https://www.youtube.com/watch?v=crIu7n-JXmc

Error: HTTP Error 404: Not Found        While Error : Fools Garden - Lemon Tree
 Traceback (most recent call last):
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/spotdl/dow
nload/downloader.py", line 190, in download_song
    youtubeHandler.streams.filter(only_audio=True)
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/__m
ain__.py", line 310, in streams
    return StreamQuery(self.fmt_streams)
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/__m
ain__.py", line 213, in fmt_streams
    if "adaptive_fmts" in self.player_config_args:
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/__m
ain__.py", line 187, in player_config_args
    self._player_config_args = self.vid_info
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/__m
ain__.py", line 280, in vid_info
    return dict(parse_qsl(self.vid_info_raw))
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/__m
ain__.py", line 108, in vid_info_raw
    self._vid_info_raw = request.get(self.vid_info_url)
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/req
uest.py", line 52, in get
    response = _execute_request(url, headers=extra_headers, timeout=timeout)
  File "/home/kirby/.local/pipx/.cache/a05f7c9d006ec33/lib/python3.9/site-packages/pytube/req
uest.py", line 36, in _execute_request
    return urlopen(request, timeout=timeout)  # nosec
  File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

Fools Garden - Lemon Tree      Error              ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% -:--:--

Any other information:
I updated PyTube, as said here, however I am still getting the error.

What is your pytube version? (pip freeze or pip3 freeze)

What is your pytube version? (pip freeze or pip3 freeze then find pytube in the list)

10.8.5

Can you try using normal pip please?

i havent been able to get regular pip to run it

What do you mean? There is no pip run, you just pip install spotdl and it will install a CLI from which you can just do spotdl <link>

Im aware, it just tells me bash: spotdl: command not found, using pipx is the only way to use it ive found

You probably don't have spotdl added to your path, try python3 -m spotdl [track]

ah, that seems to work fine. how should i go about adding spotdl to the path?

You have to add ~/.local/bin to the system path

Perfect, that seems to have fixed it, thank you!


Working with Local Registry and Docker Machine

I have create a local registry at localhost:8950 (5000 was in use). I can push and pull images to it without issue. However, once I spin up a VirtualBox VM with Docker Machine, and switch to that environment, I can no longer pull images from the repository.
Is the expectation that these two applications work together? The localhost, single host scenario is the simplest test case I could create. Assuming repository is still considered 'local' to Docker Machine VM?
From with the Docker-Machine environment, when I run my docker-compose up command, I get:
gstafford@gstafford-X555LA:~/NetBeansProjects/virtual-vehicles-docker$ docker-compose -p jenkins up -d --x-smart-recreate
Building mongovalet...
Step 0 : FROM localhost:8950/mongo:latest
Service 'mongovalet' failed to build: invalid registry endpoint "http://localhost:8950/v0/". HTTPS attempt: unable to ping registry endpoint https://localhost:8950/v0/
v2 ping attempt failed with error: Get https://localhost:8950/v2/: dial tcp <IP_ADDRESS>:8950: connection refused
 v1 ping attempt failed with error: Get https://localhost:8950/v1/_ping: dial tcp <IP_ADDRESS>:8950: connection refused. HTTP attempt: unable to ping registry endpoint http://localhost:8950/v0/
v2 ping attempt failed with error: Get http://localhost:8950/v2/: dial tcp <IP_ADDRESS>:8950: connection refused
 v1 ping attempt failed with error: Get http://localhost:8950/v1/_ping: dial tcp <IP_ADDRESS>:8950: connection refused

Even a direct docker pull commands get an error:
gstafford@gstafford-X555LA:~/NetBeansProjects/virtual-vehicles-docker$ docker pull localhost:8950/mongo
Error response from daemon: invalid registry endpoint "http://localhost:8950/v0/". HTTPS attempt: unable to ping registry endpoint https://localhost:8950/v0/
v2 ping attempt failed with error: Get https://localhost:8950/v2/: dial tcp <IP_ADDRESS>:8950: connection refused
 v1 ping attempt failed with error: Get https://localhost:8950/v1/_ping: dial tcp <IP_ADDRESS>:8950: connection refused. HTTP attempt: unable to ping registry endpoint http://localhost:8950/v0/
v2 ping attempt failed with error: Get http://localhost:8950/v2/: dial tcp <IP_ADDRESS>:8950: connection refused
 v1 ping attempt failed with error: Get http://localhost:8950/v1/_ping: dial tcp <IP_ADDRESS>:8950: connection refused

I have confirmed it works locally, outside the docker machine environments, by pulling and pushing images. The container is running fine:
gstafford@gstafford-X555LA:~/NetBeansProjects/virtual-vehicles-docker$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                    NAMES
590b5c060a85        registry:2          "registry cmd/regist   15 hours ago        Up 14 hours         <IP_ADDRESS>:8950->5000/tcp   registry

+1. docker registry push/pull also works locally for me but when deployed on ECS I'm seeing the same error. I'm tunneling in though ssh so the push/pull is still on localhost, but just to be safe I'm using --insecure-registry localhost:5000. any help would be appreciated

@garystafford the VM is a different host.
You cannot expect "localhost" from machine A to be "localhost" for machine B.
So, if you start your registry on machine A, with ip X.Y.Z.W, use X.Y.Z.W instead of localhost to pull images from.
@evanbeard same thing, likely. Expecting localhost to resolve to a remote machine is unrealistic.
Hope that helps.


init to didInsertElement

changes init to didInsertElement to prevent setting on render issues. closes #11.

Thanks

Released as v0.0.6


[Bug]: Invalid prisma.authSession.delete() invocation

Package
lucia-auth
Describe the bug
I'm using the following:
"@lucia-auth/adapter-prisma": "^2.0.0"
"lucia-auth": "^1.8.0"
Every week or so, my app goes down, with this error message:
PrismaClientUnknownRequestError:

Invalid `prisma.authSession.delete()` invocation:

Error occurred during query execution:

ConnectorError(ConnectorError { user_facing_error: None, kind: ConnectionError(Timed out during query execution.), transient: false })
    at Rn.handleRequestError (/app/node_modules/@prisma/client/runtime/library.js:174:7499)
    at Rn.handleAndLogRequestError (/app/node_modules/@prisma/client/runtime/library.js:174:6754)
    at Rn.request (/app/node_modules/@prisma/client/runtime/library.js:174:6344)
    at async Object.deleteSession (file:///app/node_modules/@lucia-auth/adapter-prisma/index.js:100:13) {
  clientVersion: '4.16.2'
}

If I clear the auth_session table, the error goes away.
Any ideas where to look for the bug solution would be appreciated.
I've no code with the prisma.authSession.delete() line in my project, so I'm assuming this is part of the lucia code.

Apparently it's some connection error? Does this work?
await prisma.authSession.delete({
  where: {
    id: sessionId
  }
});

@pilcrowOnPaper I've no code with await prisma.authSession.delete({ in my codebase!
If I get the error and try to log in via a browser that was displaying the error, it also crashes the app. If I clear the cookies, it's OK after the auth session table is cleared. Could it be that the cookies aren't being removed from the browser properly and it's trying to remove an entry to the table that doesn't exist?

I mean like can you run that manually to see if it works?

OK so I've run it via a node delete.js and it works just fine.
OK I must have it misconfigured or something. Checking the table for auth sessions, I've got way more entries than I should have inside 2 days of personal usage.
If I refresh a page, it creates 2 new entries to auth session table! Pretty sure that's not supposed to happen!

This must be a deployment issue (it's a docker container) as it's not happening in local dev or build instances.
Any pointers on debugging this? My feeling is to look at the createSession and setSession methods, though who knows why this is happening remotely and not locally.

Very weird, couple of points:

I cleared the table, and now the cookie generation behaviour isn't happening
I can see a couple of cookies in the browser for some api endpoints that shouldn't be there. I'm pretty sure I cleared the browser data, I can't get it to repeat now!

OK reopening. Same behaviour, repeated again after a week or so of local production and personal use.
What's happening:

The nodemon server is crashing with the above message, it runs fine for about a week of casual access, then this happens.
I can see in the browser storage, 2 cookies - only one exists in the beginning. Initially, the cookie path is just root, then a second cookie turns up with the path api/recipe (it's a recipe manager). As stated above, the db table seems to create new entries every time I refresh the page, very unusual behaviour.
If I remove the cookie and restart the nodemon server, it still crashes. If I remove all the entries to the authSession table, the app works just fine.

The api/recipe endpoint just has a POST request, with a simple authentication check:
export async function POST({ request, locals, url }) {
	const { session, user } = await locals.auth.validateUser()

	if (!session || !user) {
		console.log('User not authenticated!')
		return new Response(JSON.stringify({ error: 'User not authenticated.' }), {
			status: 401,
			headers: {
				'Content-Type': 'application/json'
			}
		})
	}

Aside from that there's a few things happening on the file system but nothing else. I tested it after restarting, and there's no extra cookie being created.
I appreciate this is very hard to diagnose, I'm struggling a bit with it I have say.

PrismaClientKnownRequestError:
Invalid `prisma.authSession.delete()` invocation:
An operation failed because it depends on one or more records that were required but not found. Record to delete does not exist.
    at Rn.handleRequestError (/app/node_modules/@prisma/client/runtime/library.js:174:7325)
    at Rn.handleAndLogRequestError (/app/node_modules/@prisma/client/runtime/library.js:174:6754)
    at Rn.request (/app/node_modules/@prisma/client/runtime/library.js:174:6344)
    at async Object.deleteSession (file:///app/node_modules/@lucia-auth/adapter-prisma/index.js:100:13) {
  code: 'P2025',
  clientVersion: '4.16.2',
  meta: { cause: 'Record to delete does not exist.' }
}

A slightly different message this time round. Restart the server and it kicks out the same error, remove the cookie from the browser and it's back working.

Oh wait, can you try using the latest version of the Prisma adapter? 3.0.2

Dude, I tried and gave up updating Lucia to v2... maybe it's time to have another go at it...

You might be better of using Lucia v3 releasing this weekend. Should be much easier to debug too

OK I actually got the v2 migration done, started on this demo repo, and moved to mine. Hopefully not too much of a headache migrating to v3 @pilcrowOnPaper?!?!?
Let's see if these issues keep coming. I'll close for now and reopen if it happens again.


Suggestions on how to maintain compatibility with v2.X database version??

I have litedb files shared between multiple applications. Is there any method/approach I can use to allow an application to access litedb files with different database versions? I'd like to update to the current version of the litedb library for new apps (and new releases of existing apps), but I don't want to automatically update the database as it would break the old apps.

Hi @shemp11, unfortunately it is not possible to maintain compatibility between these two versions. LiteDB v3/4 use new datafile version 7, when LiteDB v2 uses old datafile v6.
If you want, you can create an proxy class that filter/select version and use specified version of each LiteDB. Take a look on this old shell version that I made that support multi datafile version
https://github.com/mbdavid/LiteDB/tree/v2.0.4/LiteDB.Shell
I added old LiteDB dll version into resource folder and call based on datafile version.


issue requiring 'postcss-middleware'

Using just the basic examples provided in the readme
var postcssMiddleware = require('postcss-middleware');

const express = require('express');
const app = express();
app.use('/css', postcssMiddleware(/* options */));

I get "postcssMiddleware" is not a function on this line:
app.use('/css', postcssMiddleware(/* options */));
After some quick toying around I notice the require statement is returning:
{ default: [Function: PostCssMiddleware] }
So I changed my require statement to look like this:
var postcssMiddleware = require('postcss-middleware').default;
This makes everything work fine. Am I doing something wrong, misunderstanding or is the readme outdated?
I am using latest NodeJs 6.x.x and Latest NPM.

You're not doing anything wrong. I've had similar issues with other projects after upgrading the TypeScript compiler and I think the issue here is simply my ignorance. I'm just not sure how to configure TypeScript to compile this correctly or if there's a way to do it at all. We have the same issue with the TypeScript definitions for postcss and I don't yet have a solution.

That's fine I suppose. Everything works great. Does postcss-middleware do any caching or does each request recompile the css? I couldn't find anything that clearly answered that from the source.

There are no caching features ATM.

Had the same issue seems to be introduced by e5207c53d9db379601d8ad733f1bd3c02a46c91d which should have been considered as a breaking change and be released as v2.0.0 instead of v1.1.1

@Xiphe it wasn't intended to be a breaking change, because this is a bug. This should now be fixed in v1.1.2.

good to know. thanks for the explanation and keep up the great work 👍


[ENH] Allow binding to a LAB "Page" for Actionbar Overrides - (ElvUI/BT4/ConsolePort)

🟢 How does GSE currently work
One fo the limitations of GSE's Actionbar Overrides currently is that mods like ElvUI, Bartender4 and ConsolePort use LibActionButton as a proxy to the actionbar buttons.  These mods use a concept of "paging" to determine which state the button is in.  Currently GSE caters to the default state of the button but doesn't cater to different pages.
🟢 What would this Change
Allowing to bind to the page would allow you to bind into stance bars like Stealth and different Druid forms like Bear / Cat etc.
It would require changing the binding page to allow for LAB States, referred to in user land as "Pages".
🟢 Files needing to change

GSE\API\Events.lua: need to accommodate the different states
GSE_GUI\KeyBinding.lua: need to present the new possible states.

🟢 Design Considerations
This would require that people know the value of the State of the button.  While this is possible with a /run print(BT4Button2:GetAttribute("State")) command it does increase the things a user has to "know".  From this example BT4Button2 was the name of the button.

Bartender4 a user configures pages via

For ConsolePort this is configured via

Also found that console port doesn't use the state attribute

A lot of progress.  States are now supported:

This ConsolePort bind is bound to the Shift-CPB_PAD2 bind.
This means druid/rogue paging with ElvUI and Bartender4 can now be accomplished

https://github.com/TimothyLuke/GSE-Advanced-Macro-Compiler/wiki/KeyBinding-and-Actionbar-Overrides#actionbar-overrides has been updated


Composer should fail the build if patches don't apply.

Fixes #65

See output from my test here: https://github.com/phase2/generator-outrigger-drupal/issues/65#issuecomment-332294819

The idea was to drive towards solving this in composer.json config with an upstream patch. Do you want to temporarily fix it here this way or is this an indication that an upstream fix won't happen?


iOS Orientation Zoom Bug Fix

Mobile Safari in iOS has a pretty well-known bug where it keeps the same zoom ratio while rotated—causing the user to have to zoom out to get the full page view (see http://cl.ly/Eaqm & http://cl.ly/EZdo). Brought to my attention via tweet (Yes I stalk the @foundationZURB twitter)—and knowing of the iOS Orientation fix by @scottjehl & filament group I thought we might be able to knock this one out pretty easily.

While this looks good it is not perfect...I had to rotate my iPad 2x to get the "fixed" look. I'm not sure if there is another solution or not.

Thanks Dan! I'm gonna bounce this off Matt to see what he thinks.


README

README
User Story
As a bootcamp student,
I want the prework notes to be structured on a webpage,
so that I can easily find and read the information.
Acceptance Criteria
GIVEN the prework project repository,
WHEN I view the README for the repository,
THEN I can see a professional README that provides information on the project and how to use it

updated the README to better fit the current project


oci: fix blob-layer digest computation

This fixes blob-layer digests in OCI images, by performing digest
computation on the final gzip'd layers content as specified by
current image-spec.

Cool, thanks!

:+1:


Remove standard-version dependency

@ANNPATIL can you please send a PR for this?
https://github.com/nodeshift-starters/nodejs-rest-http-crud/blob/opentel/package.json#L35

PR merged https://github.com/nodeshift-starters/nodejs-rest-http-crud/pull/323


Fixed gke-to-gke-vpn demo and added more validation

Added more validation and made the cluster creation 3 times faster.
Fixed an error in vpn creation for the gke-to-gke-vpn demo
The install and cleanup scripts are now idempotent

test this please

test this please

Hey your git is not configured correctly. You are going to have to update the SHAs.

test this please


Support for Dyson Pure Humidify+Cool

Shows up as model 358. It works pretty well, all sensors and controls, with the exception of the desired humidity setting, which is missing. Is it possible to add it? I can help with testing.

I'm starting working on this. Re-open this for progress tracking. I'll ping you for testing when I have an initial version.

@ecostin version 0.7.0 now adds humidifier entity. Can you test that and see if everything is working as expected? Thanks

Works perfectly for me, thank you @shenxn


Remove INCIDENT_PLUGIN_STORAGE_SLUG and fix group plugin typo

Related to https://github.com/Netflix/dispatch/pull/507, fix a typo for group plugin type and remove the INCIDENT_PLUGIN_STORAGE_SLUG from document scheduler.

Thanks for this, for anything still using get vs get_active we also need to use the plugin.instance to get the actual plugin class. But I can add those changes in another PR.


make_gif.bat in README doesn't work for particular file names

the file name under test is 20221209_142659 - Trim.mp4

Try putting quotes around %1 arguments - "%1" and  "%~n1.gif"


developer ux: make something like https://www.multicall3.com for P256 Verifier deployment/Precompile deployment

https://www.multicall3.com
cool down the line thing

Yeah I love that
something like
Address 0xc2b78104907F722DABAc4C69f826a522B2754De4

Chain
Type
Gas price

Ethereum
contract
~340k

Optimism
contract
~340k

Base
precompile
3450

Arbitrum
contract
~340k

Polygon
contract
~340k

bought p256.eth earlier, can use that to point to the precompile and also host at p256.eth.limo if we want to.


Create SFC.
Bind the SG to SFC.
Now delete the SG.
Delete DS
Get an error message - Deployment Spec is currently protecting a workload
This suggests that probably there is a SG being protected, whereas, in reality we need to delete the SFC to delete the DS.

Additional Information
WORKAROUND - delete the SFC and then DS delete will be successful
Environment

OSC Version/Build: Version: 1.0.0-SNAPSHOT (Build:112-g42e1905, 2017-10-11T18:46:02Z)
Cloud Provider Info:
Plugin Info:
Other:

Status

[ ] Reproduced
[ ] In Progress
[ ] Validated     =>    Verified in Version/Build:

dup of #543


docs(smp-features): move and document the core-affinity feature

Description

This documents the core-affinity Cargo feature.
Issues/PRs references

Open Questions

Change checklist

[x] I have cleaned up my commit history and squashed fixup commits.
[x] I have followed the Coding Conventions.
[x] I have performed a self-review of my own code.
[x] I have made corresponding changes to the documentation.

lgtm


Initial revision

Refactor the HTTP transaction structure in its own directory. Resolves the circular dependency which required having two separate HTTP transaction structures on Windows (one for ETW and one for driver-based) Removes significant copy/paste duplicated code.

What does this PR do?

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

this has been superceded by multiple other PRs


Search results display on office.com

When will it be possible (and is it going to?) to have the search results on office.com displaying and/or behaving like the bing search results? Will it be possible also to launch this from windows 10 or even from within SharePoint directly?

The answer to some of your questions is yes, learn about Microsoft Search in SharePoint, Bing, office.com and more in https://docs.microsoft.com/en-us/MicrosoftSearch/overview-microsoft-search

Hi @tklarsen,
Thanks for the reply. This doesn't answer my question though :-). I went through the entire documentation available and didn't find anything that could help me answer my question.
Any other pointers / insights?
Thanks in advance!

Hi @klaaslauwers,
Sorry, then I didn't understand your questions right :-( For the first question, did you mean whether search results on office.com will be look the same as the work results in Bing?


Code style clean up

Clean up code introduced in #56 to pass CI tests.

Coverage remained the same at 100.0% when pulling 091ce51f77c204a4695be3757f6e35d6548d4d6c on bazzadp:master into 4c65b540684edcedab7a013fa0912b1f95b2a70e on GoogleCloudPlatform:master.


Add StepperMotor

Hello:
This is a suggestion to add a StepperMotor class to the library. It is based on this code with some improvements and tested using this motor.
Some examples:
from time import sleep
from gpiozero import StepperMotor

motor = StepperMotor(pins=(18,22,17,27), sequence=((1, 0, 1, 0),(0, 1, 1, 0),(0, 1, 0, 1),(1, 0, 0, 1)),
delay=4/1000)
motor.forward(100) # Move 100 steps
motor.backward() # Move unlimited time
sleep(3)
motor.cleanup() # Stop motor and shut down pins

with StepperMotor(pins=(18,22,17,27), sequence=((1, 0, 1, 0),(0, 1, 1, 0),(0, 1, 0, 1),(1, 0, 0, 1)), delay=4/1000) as mt:
    mt.forward()
    sleep(1)
    mt.backward()
    sleep(1)

Codecov Report

Merging #757 into master will decrease coverage by 0.97%.
The diff coverage is 16.41%.

@@            Coverage Diff             @@
##           master     #757      +/-   ##
==========================================
- Coverage   79.46%   78.48%   -0.98%
==========================================
  Files          23       23
  Lines        4470     4536      +66
  Branches      650      664      +14
==========================================
+ Hits         3552     3560       +8
- Misses        863      921      +58
  Partials       55       55

Impacted Files
Coverage Δ

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

gpiozero/output_devices.py
85.95% <16.41%> (-9.03%)
:arrow_down:

gpiozero/pins/local.py
95.75% <0%> (-1.22%)
:arrow_down:

Continue to review full report at Codecov.

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

Thanks. Just some quick feedback (without having looked at the underlying code, which I'll try to do later...)
IMHO having an __init__ method that requires the user to specify the pins as a list and the sequence as a list-of-lists isn't very user-friendly and doesn't feel like the same level of abstraction as the rest of GpioZero. I don't know much about stepper motors but when/why would the user need to provide a different sequence? Would it make sense to also provide e.g. a HMISoftwareStepperDriver class as a wrapper around this StepperMotor class, which has e.g. pinX1_0, pinX1_1, pinX1_2, pinX1_3 as init-params? (if you're feeling adventurous you could implement this as a CompositeDevice of two StepperMotors)
I'm not sure about a .forward(steps) method as it conflicts with the .forward(speed) method of the existing Motor class. Would it be possible (or make sense) to implement a .forward(speed) method for compatibility, and add a separate method for specifying the number of steps? :man_shrugging:

Hello
I've rename the forward and backward functions so you can set the speed of the motor relative to its initial velocity. Now, if you want to move a certain number of steps, you need to call the forward_steps function.
For a user-friendly __init__ method, I've added the BasicStepperMotor class with predefined attributes. You can create another classes for others motors that uses another configurations.
Now it is the example code:
from time import sleep
from gpiozero import BasicStepperMotor

motor = BasicStepperMotor() # Set pins=() if you are using another.
motor.forward_steps(100) # Move 100 steps
motor.backward(2) # Move unlimited time at x2 speed
sleep(3)
motor.cleanup() # Stop motor and shut down pins.

Thanks.
motor.backward(2)

If you look at the docs for the existing Motor class you'll see that the speed ranges from 0 (stopped) to 1 (full speed), with values inbetween indicating different speeds (e.g. 0.5 for half maximum speed). Would it be possible for you to tweak your code to match that "API" too?
And I don't think you need an explicit cleanup() method, IIRC GpioZero automatically calls any close() method on your class when it garbage-collects the object.

Hello
I was thinking about the speed value when I wrote the code. To control de speed of the motor, you change the delay attribute. But if you want to move the motor at its half maximum speed, you need to know the maximum delay the motor can have. If you use a huge delay, the motor won't move. I can add a new attribute to the StepperMotor class to define its min and max delay time. Is it a good option? What do you think? Thanks.

Hello
StepperMotor class now match "API". That's the code:
from time import sleep
from gpiozero import StepperMotor, BasicStepperMotor

motor = BasicStepperMotor()
motor.forward(speed=0.1)
sleep(2)
motor.backward()
sleep(2)
motor.stop() # Stop motor

And I don't think you need an explicit cleanup() method

Sorry, it's for the first example I wrote, which uses later the same pins for other test.


MM-10916: Updates some permissions text to include documentation links. Disables eslint complexity rule.

Summary

Cherry-picked <FormattedMarkdownMessage> component from master.
Updates permissions text in various places to include documentation links.
Changes ESLint rule as per dev decision (not part of Jira story)

Ticket Link
MM-10916
Checklist

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[x] Has UI changes
[x] Includes text changes and localization file (.../i18n/en.json) updates

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: http://i-0f9cb7a310d813189.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0f9cb7a310d813189

Spinmint test server destroyed

@jwilander Can you still review this please? I just saw two green checks and didn't notice there was only 1 dev review.


Old directions

There are links/directions for the admin page. Those appear to be for the old admin center view. Would you please update those. Thank you!

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

ID: d52a9779-b72d-dea0-eac2-6c04a8c282eb
Version Independent ID: d3c3d968-9e54-ec42-3438-9320e23d68b9
Content: What are Communications Credits? - Microsoft Teams
Content Source: Teams/what-are-communications-credits.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@tabbysp thank you for pointing this out. Is this the correct link for the admin centre you are referring to - https://www.microsoft.com/microsoft-365/business/office-365-administration

@tabbysp Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Use templated fullname in post install job

The post install job still uses release name -stardog instead of the templated value

Fixed: https://github.com/stardog-union/helm-charts/pull/16


Git submodule init doesn't work

The problem was the submodule was not commited, even though there was the .gitmodules file. I just added the module again and committed (6fd2eec).
http://stackoverflow.com/questions/3336995/git-will-not-init-sync-update-new-submodules


Add grid-extensions.md

This PR adds grid-extensions.md which defines the APIs in GridRowsColumns.cs and GridRowsColumns.cs

Microsoft authors of articles need to make updates through the private repository, so the updates can be staged and validated by current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.
It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
 Public repo URL: https://github.com/MicrosoftDocs/{docs-repo}
 Private repo URL: https://github.com/MicrosoftDocs/{docs-repo-pr}
We have closed this pull request. Please resubmit the updates through the private repo. For more information, see the contributor guide.

Docs Build status updates of commit dd2d3b7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit dd2d3b7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit d142804:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/TOC.yml
:white_check_mark:Succeeded
View

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit 78cbf9f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/TOC.yml
:white_check_mark:Succeeded
View

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit c3426a0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/TOC.yml
:white_check_mark:Succeeded
View

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit 2b2b903:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/TOC.yml
:white_check_mark:Succeeded
View

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit 30495f9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/TOC.yml
:white_check_mark:Succeeded
View

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

docs/maui/markup/markup.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Docs Build status updates of commit 7d0b739:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/TOC.yml
:white_check_mark:Succeeded
View

docs/maui/markup/extensions/grid-extensions.md
:white_check_mark:Succeeded
View

docs/maui/markup/markup.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

PRMerger Results

Issue
Description

Added File(s)
This PR contains added files. New files require human review.

File Change Percent
This PR contains file(s) with more than 20% file change.

Thanks Shaun! Oddly enough, we only need to use < and don't need to use > 🤷♂


[KEP-4006] Docs for Transitioning from SPDY to WebSockets (Beta)

Updates control plane feature flag: TranslateStreamCloseWebsocketRequests to Beta
Adds new control plane feature flag: PortForwardWebsockets as Alpha
Adds new kubectl feature flag: KUBECTL_PORT_FORWARD_WEBSOCKETS

https://github.com/kubernetes/enhancements/issues/4006

/cc @fsmunoz

Sean Sullivan We should consider setting the dev-1.30 branch as the target branch rather than the main branch for this pull request. Since the change is related to the feature in v1.30.

@dipesh-rawat
Fixed. Please let me know if this does it. Thanks.

Hey @seans3! Just a reminder that this needs to be reviewed and ready to merge by Docs Freeze on March 26, including a technical review. An exception request will be required if you cannot meet that deadline. Thank you!
cc: @aojea @soltysh @deads2k @liggitt

/lgtm

@kubernetes/sig-docs-en-reviews Can we get a review of the content from docs on this one? The deadline is March 26th 2024 18:00 PT to get this into the release. Thanks!

/approve

/milestone 1.30


rmw_implementation abi checker is stuck

The build is stuck in the ABI checker http://build.ros2.org/job/Fpr__rmw_implementation__ubuntu_focal_amd64/12/console. Returning timeouts http://build.ros2.org/job/Fpr__rmw_implementation__ubuntu_focal_amd64/10/
There is no message about what could be happening. Any thoughts ?

can you reproduce it locally?

yes, locally is stuck too

rmw_implementation does not have any header file. I don't know if this may affect.

rmw_implementation does not have any header file. I don't know if this may affect.

That could be the reason indeed. Could please check version of the abi-compliance-checker? it could be related to https://github.com/ros-infrastructure/ros_buildfarm/pull/817

Yes, this PR fix the issue at least locally

nothing more we can do in this repo


[BUG] The GoodMarket button is disappeared at the bottom of the Home screen after claiming the daily basic income

Description: The GoodMarket button is disappeared on the Home screen after claiming the daily basic income
Steps to reproduce:

Open the https://goodqa.netlify.app/
Click on the claim button on the Home screen
Click on the Claim button
Click the "YAY!" button
Return to the Home screen
Pay attention to the bottom of the Home screen

Expected result:
The GoodMarket button is disappeared at the bottom of the Home screen after claiming the daily basic income
Actual result:
The GoodMarket button is displayed at the bottom of the Home screen after claiming the daily basic income
Torus: 'publicAddress: "0xCC15f8392ec0fd196c926744330d1D9c057c13C6"'
Environment:  QA 1.11.0-1
Devices list: Desktop- Windows 10 // Chrome 87.0.4280.88
Additional info:
QA env<EMAIL_ADDRESS>pass: Tester_44444
Video: https://www.dropbox.com/s/1nw4esr3yf0zw0p/The GoodMarket Button is disapear after claiming the g%24.mp4?dl=0

market button animation is show after claim button animation is done.
there was a check before  is user able to claim or not. if not - no claim animation and we're showing market button immediately
most probably this logic was broken

hotfixed in the all branches

@serdiukov-o-nordwhale
@sirpy
The issue is not reproduced.
Checked on the Prod v.1.12.0
Checked on the QA v.1.11.8
Checked on the Dev v.1.11.6


server choose backends wrong sometimes

Component
server
Describe the bug
pipefile like this
---
labels:
  platform: windows/amd64
  backend: local

steps:
  hello:
    image: C:\Program Files\Git\bin\bash.exe
    commands:
      - uname -a
      - pwd
      - ls -AFlh
      - echo "hello world 你好"
      - touch hello.txt
      - echo $${PATH}

  测试:
    image: C:\Program Files\Git\bin\bash.exe
    commands:
      - uname -a
      - pwd
      - ls -AFlh
      - echo "hello world 你好 测试"

it runs on linux local backends sometimes,
when windows local backends offline.

and windows local pipeline runs on linux local backends sometimes,
when linux local backends offline.
System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"1.0.3"}

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

The issue occasionally, and it is too long ago, so close it first.


Generate client for latest Authzed API

debug service
lookup subjects

Closing in favor of https://github.com/authzed/authzed-py/pull/43


Add built-in support for Anti Forgery tokens

🚀 Feature Request
Add built-in support for Anti Forgery tokens

with Jinja2 integration
without Jinja2
middleware to validate requests, supporting various ways to send the anti-forgery token (form, header)

https://www.neoteroi.dev/blacksheep/anti-request-forgery/


jit compilation no longer works on google colab after v0.51.1

Hi I have a module that relies on numba jit compiled functions which i run on google colab. However, after version 0.51.1 the functions no longer compile on colab but do locally. When i exit the compilation, the line of code it is stuck on is in the controlflow file. I assume it is because of the changes made in "PR #6146: Fix compilation slowdown due to controlflow analysis" though i do not know why exactly.
Is there any reason why these changes mean the jit compilation no longer works in colab?
Thanks
Tom

Thanks for the report. I would guess from the description you are hitting this bug: https://github.com/numba/numba/issues/6186 that was introduced in 0.51.1, good news is it's fixed in https://github.com/numba/numba/pull/6195 and 0.51.2 with this fix in is shipping as I type this.

perfect thank you, will let you know if it continues with 0.51.2

perfect thank you, will let you know if it continues with 0.51.2

Great, thanks.

Closing this issue as it seems to be resolved. If this is not the case please re-open with a comment about any item that appears to be unresolved. Many thanks.


gt bbox coordinate transformation

Dear authors:
You have mentioned gt bboxes are belong with global coordinate.For training,you transformed gt_bbox into lidar coordinate, but,i don't find related code.can you tell me the location about this part code.thanks!

Good question. Actually the gt bboxes stored in the info file are indeed in LiDAR-centric coordinate systems, but server submission requires the results to be in global coordinate system / world coordinate system. The conversion code from LiDAR-centric coordinate system to world coordinate system can be found here.

Is this part belong with test/val part?So, before training, when we get dataset's pkl file in tools/data_convert/nuscenes_convert.py#L249~251,gt_bbox coordinate is already in lidar-centric coordinate system.During training,we put camara,lidar and gt_bbox all data into lidar-centric coordinate system, when test or val,we convert the result to be in  global coordinate system / world coordinate system?

here

Yes your understanding is exactly correct.

Yes your understanding is exactly correct.

Thank you for your response!

I'm closing this issue since it is resolved. Feel free to reopen if you have further questions.


Open ID connect support

Since library claims to support Open ID connect, I was trying to find a method to decode id token but could not find one.
Also, other operations related to id token should be provided, otherwise we will have to end up using two different OAuth2 libraries due to this missing support which probably defeats the purpose of using this library since another library can do all of those functions. I found this missing piece now but since I have already used it in the code I will either have to wait for your release or again refactor to use a different library.

@harshayburadkar : The helper method to validateIdToken as per our standard definition is meant to validate if the IDToken is valid.
Ref : API Reference for validatingIDToken
Could you please elaborate what information you are looking to get from decoding the IDToken and we can possibly make another helper method to accomodate the changes.
Thanks.

I was looking for username and/or his email.
I checked the developer documentation again. Apparently, Intuit auth team does not give provide this information in the idToken. If it did it helps to avoid another call to userinfo endpoint to display the username after login.
I believed it was a common way and was assuming this information is encoded in the payload of idToken. Since it is not the case, I personally do not need a "decode" method anymore and will keep using userinfo call for it.


EmbeddedChannel does not fireInactive when closing

AbstractChannel will fireChannelInactive when closed: https://github.com/netty/netty/blob/master/transport/src/main/java/io/netty/channel/AbstractChannel.java#L662.
However, this is not done for the EmbeddedChannel, so pipelines using EmbeddedChannel will not behave the same way as with other channels.
@Scottmitch @normanmaurer WDYT?

is it because closeExecutor is null for EmbeddedChannel...

@nmittler... yes its a bug. working on it, stay tuned.

@ninja- and no its not because of closeExecutor is null.

@normanmaurer - Thanks for taking this one!


Adding new Client in Start Service form requires entering name multiple times, but could be pre-filled instead

When creating a new service, adding a new client can require entering the clients name multiple times.

enter in service form to see if client exists
if not, click "new client", and you must enter the name again to create the client
after creating the new client, you go back to the service form and enter the name again to find it to add to the service form

This can be avoided by prefilling the name into the "new client" form, and then pre-filling back to the service form once the new client is created.

Ok to split this into two tasks?
This one - if user starts typing name and then clicks Create Client, the new client form should prepopulate
#556  - After the user creates a new client, that client should automatically be selected back in the service form.

Ok to split this into two tasks? This one - if user starts typing name and then clicks Create Client, the new client form should prepopulate #556 - After the user creates a new client, that client should automatically be selected back in the service form.

I was able to complete both parts on this issue.


[text analytics] update readme

[ ] Make sample links in readme absolute, not relative. This is potentially causing problems when being uploaded to docs.microsoft.com

I believe EngSys team has a tool to convert github relative links before publishing to NPM

Checked all links to samples, no relative links.


_pygit2.GitError: repository path '/__w/Waybar/Waybar/' is not owned by current user

https://github.com/Alexays/Waybar/actions/runs/7264313349/job/19791578747?pr=2755
When it tries to get the list of source files, it throws this exception:
Get list of specified source files
INFO:CPP Linter:Fetching files list from url: https://api.github.com/repos/Alexays/Waybar/pulls/2755
  Traceback (most recent call last):
    File "/__w/_actions/cpp-linter/cpp-linter-action/main/venv/bin/cpp-linter", line 8, in <module>
      sys.exit(main())
               ^^^^^^
    File "/__w/_actions/cpp-linter/cpp-linter-action/main/venv/lib/python3.11/site-packages/cpp_linter/run.py", line 705, in main
      get_list_of_changed_files()
    File "/__w/_actions/cpp-linter/cpp-linter-action/main/venv/lib/python3.11/site-packages/cpp_linter/run.py", line 153, in get_list_of_changed_files
      Globals.FILES = parse_diff(Globals.response_buffer.text)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/__w/_actions/cpp-linter/cpp-linter-action/main/venv/lib/python3.11/site-packages/cpp_linter/git.py", line 90, in parse_diff
      repo = init_repository(".")
             ^^^^^^^^^^^^^^^^^^^^
    File "/__w/_actions/cpp-linter/cpp-linter-action/main/venv/lib/python3.11/site-packages/pygit2/__init__.py", line 197, in init_repository
      check_error(err)
    File "/__w/_actions/cpp-linter/cpp-linter-action/main/venv/lib/python3.11/site-packages/pygit2/errors.py", line 65, in check_error
      raise GitError(message)
  _pygit2.GitError: repository path '/__w/Waybar/Waybar/' is not owned by current user
  Error: Process completed with exit code 1.

This happened after I moved the installation of dependencies from a separate step in the yaml to the docker image itself:
- name: Install dependencies
  run: |
    apt update
    apt install sudo python3-pip python3-venv -y

I simply added the 3 packages into the alexays/waybar:debian image (https://github.com/Alexays/Waybar/pull/2742/files)
It used to work when it was still a separate step: https://github.com/zjeffer/Waybar/actions/runs/7194165305/workflow

It's also the first time I'm testing the action on the actual repo (where I don't have write access) instead of my own fork. Could this be the cause?

It's also the first time I'm testing the action on the actual repo (where I don't have write access) instead of my own fork. Could this be the cause?

No. The problem seems more related to the fact that the docker image uses the root user (again).
I think/hope that the solution is to set the parameter mode=pygit2.GIT_REPOSITORY_INIT_SHARED_ALL in the init_repository() call.

Otherwise, we have to go back to parsing the diff string with regex patterns. This was removed to avoid having 2 functions that do the same thing (1 with libgit2 C library, 1 with python string parsing).

I found a way to parse the diff str statically without having to use init_repository(). See cpp-linter/cpp-linter#42.

fix released in v2.7.4

It worked! Thanks for the quick fix!


Broken links on docker-compose installation page

File: compose/install.md, CC @londoncalling

@peteraba I don't see any broken links on the page you referenced. Can you send me the direct link to the 404 error? If you are talking about the link to the pre-release binaries (https://dl.bintray.com/docker-compose/master/ under the Master Builds topic, I believe is actually going to the correct place. (cc @shin- to verify)

Out of date.


chore(main): release 0.8.4

:robot: I have created a release beep boop
0.8.4 (2024-10-05)
Documentation

add remaining missing JSDoc documentation (b9ffc3d)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.8.4
:sunflower: