add JDK 13 community build

what, already? sure, why not. setting it up is easy, I know the drill now, and we have enough disk space on the workers.
early access builds are available from https://jdk.java.net/13/

JDK 13 is in final release, so it's time for this.
to conserve resources, we can get rid of the JDK 12 jobs.

It might require sbt 1.3.1 that uses Scala 2.12.10.

and https://jdk.java.net/14/ early builds are available too ;)

instructions for installing new OpenJDK versions on the behemoths: https://github.com/scala/community-builds/issues/942#issuecomment-515833620

and https://jdk.java.net/14/ early builds are available too ;)

@mr-git I've made a separate ticket on that, though I don't plan to tackle it immediately: #984

JDKs installed on all 3 behemoths
job names/configurations updated
first runs in progress:

https://scala-ci.typesafe.com/job/scala-2.12.x-jdk13-integrate-community-build/494/
https://scala-ci.typesafe.com/job/scala-2.13.x-jdk13-integrate-community-build/398/

EXTRACTION FAILED (failed: blaze, doodle, fs2, genjavadoc, monix, paradox, sbt, sbt-io, sbt-librarymanagement, sbt-util, scala-async, scala-collection-compat, scala-continuations, scala-js, scala-partest, scala-swing, sconfig, sttp, tsec, zinc)

I'll have to look at these one at a time, but very likely these repos have hardcoded JDK version checks that need updating

repos that don't extract because they're on old sbt 1.x versions that don't work on JDK 13 (as @eed3si9n anticipated): blaze, doodle, fs2, genjavadoc, monix, paradox, sbt, sbt-*, scala-js, sconfig, sttp, tsec, zinc
Scala modules with hardcoded JDK version check needs updating: scala-async, scala-collection-compat, scala-continuations, scala-partest, scala-swing
I don't see any other classes of failure.

#986 should fix the modules. after that I'll think about what to do about the others

I just updated the wiki page (https://github.com/scala/community-builds/wiki) which had some dead links to the jdk12 builds.

I'll think about what to do about the others

a couple possible workarounds I've thought of:

for the projects that need sbt 1.2, can we override the Scala version that sbt itself uses to be 2.12.10 instead of 2.12.7?
maybe we could make sbt-1-2-version be 1.2.8 on most JDKs but 1.3.2 on JDK 13+. the projects that need sbt 1.2 will fail, but at least they should extract, allowing other projects to build

can we override the Scala version that sbt itself uses to be 2.12.10 instead of 2.12.7?

#991 tries this approach

#991 is merged. all projects extract now, on both the 2.12.x and 2.13.x branches
let's see how the actual builds go:

https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-jdk13-integrate-community-build/521/
https://scala-ci.typesafe.com/view/scala-2.13.x/job/scala-2.13.x-jdk13-integrate-community-build/413/console

2.13.x: SUCCEEDED: 138

[jawn-0-11] [error] java.lang.IllegalArgumentException: Unsupported class file major version 57
[expression-evaluator] [error] java.lang.IllegalArgumentException: Unsupported class file major version 57
[log4s] [error] Unsupported class file major version 57
[mockito-scala] [info]   org.mockito.exceptions.base.MockitoException: Mockito cannot mock this class: class user.org.mockito.scalatest.IdiomaticMockitoTest$Foo. (and many similar)
[sbt-io] [error] Error during tests: sbt.io.IOSpecification
[scala-async] [error] java.lang.IllegalArgumentException: Unsupported class file major version 57
[twitter-util:error] Unrecognized VM option 'AggressiveOpts'
scala-js has compile errors from new overloads in Java stdlib

2.12.x: SUCCEEDED: 141 (https://scala-ci.typesafe.com/view/scala-2.12.x/job/scala-2.12.x-jdk13-integrate-community-build/526/)
failures are about as above, plus:

[utest] [error] java.lang.IllegalArgumentException: Unsupported class file major version 57
[jawn-0-10] [error] Unsupported class file major version 57
* [playframework] [error] Failed tests: play.mvc.HttpFormsTest
[scala-partest] [error] Unsupported class file major version 57
[curryhoward] java.lang.IllegalArgumentException: Unsupported class file major version 57
[breeze] [error] Caused by: scala.tools.asm.tree.analysis.AnalyzerException: Error at instruction 3: Unsupported class file major version 57

declaring victory, according to our target ambition level
most of the 2.12 and 2.13 builds are green; the failures are don't look concerning, or are known issues in scala/bug


Fixed exponentiation operator in README.

README mentions es5/exponentiation-operator which does not exist. Only es5/no-exponentiation-operator exists :).

Thanks!


the method of placeholder() comes form Glide conflicts with CircleImageView

when i use "Glide.with(this).load(url).into(mProfileImage)" it is all ok,but when i add the method of "placeholder(R.drawable.error)"  into my code, the mProfileImage is alwaws display the image with R.drawable.error instead of the image from url.``

If you want to use "placeholder()" you have to load the image into a custom target and update the ImageView manually, have a look at https://github.com/hdodenhof/CircleImageView/issues/57#issuecomment-103478100 for how to do that. This is a known limitation when combining this library with Glide.

thanks , i got it!


tsconfig from parent directory

Is there a way to use a tsconfig.json from other directory at code inspection? I have a Jhipster generated project with the tsconfig in a parent directory relative to the actual typescript application.

@lorraul it'd probably require some sort of config file entry in .brackets.json to support this


Cu 1da4brz make enemies appear with a random material of the enemy materials set

Task linked: CU-1da4brz Make Enemies appear with a random Material (of the Enemy Materials Set)


Introduce analytics API subproject

move FieldValueCounter related classes to a new submodule, so it can be depended upon by dataflow
split FVCRepository in Reader+Writer, as does boot for its simple metrics
add some read methods that are needed to displaying counters, rework the write API a bit to
use a method that's more likely useful (full deletion rather than key deletion)

Fixes spring-cloud/spring-cloud-dataflow#247

LGTM, merging.

Rebased and merged as f32e2a0


Error on docker-compose up

When going through the Getting Started guide, there is an error at the docker-compose up step.

docker-compose up
...
...
embedding-extractor-1  | 2024-01-26T21:03:58.514255Z  INFO indexify::executor_server: registering executor with coordinator at address <IP_ADDRESS>:8950
embedding-extractor-1  | 2024-01-26T21:03:58.555997Z ERROR indexify::executor_server: unable to register : unable to register executor: Status { code: Unimplemented, message: "grpc-status header missing, mapped from HTTP status code 404", metadata: MetadataMap { headers: {"content-length": "0", "date": "Fri, 26 Jan 2024 21:03:58 GMT"} }, source: None }
embedding-extractor-1  | 2024-01-26T21:04:03.513452Z  INFO indexify::executor_server: registering executor with coordinator at address <IP_ADDRESS>:8950
embedding-extractor-1  | 2024-01-26T21:04:03.514135Z ERROR indexify::executor_server: unable to register : unable to register executor: Status { code: Unimplemented, message: "grpc-status header missing, mapped from HTTP status code 404", metadata: MetadataMap { headers: {"content-length": "0", "date": "Fri, 26 Jan 2024 21:04:03 GMT"} }, source: None }
embedding-extractor-1  | 2024-01-26T21:04:08.513652Z  INFO indexify::executor_server: registering executor with coordinator at address <IP_ADDRESS>:8950
embedding-extractor-1  | 2024-01-26T21:04:08.514342Z ERROR indexify::executor_server: unable to register : unable to register executor: Status { code: Unimplemented, message: "grpc-status header missing, mapped from HTTP status code 404", metadata: MetadataMap { headers: {"content-length": "0", "date": "Fri, 26 Jan 2024 21:04:08 GMT"} }, source: None }
embedding-extractor-1  | 2024-01-26T21:04:13.514375Z  INFO indexify::executor_server: registering executor with coordinator at address <IP_ADDRESS>:8950
embedding-extractor-1  | 2024-01-26T21:04:13.515315Z ERROR indexify::executor_server: unable to register : unable to register executor: Status { code: Unimplemented, message: "grpc-status header missing, mapped from HTTP status code 404", metadata: MetadataMap { headers: {"content-length": "0", "date": "Fri, 26 Jan 2024 21:04:13 GMT"} }, source: None }

fixed with docker pull tensorlake/indexify to get the most recent version.


dert_head.py bug with mmdet2trt version 0.6.0

Describe the bug
On line 15 of mmdet2trt/models/dense_heads/detr_head.py:self.positional_encoding = build_wrapper(module.positional_encoding)
Since mmdet version 3, the parameter positional_encoding is moved out from DETRHead's scope, so the module does not the attribution of positional_encoding.
environment:
torch=2.2.0
tensorrt=8.6.1
mmdetection=3.3.0
cuda=11.7
mmdet2trt=0.6.0

Thanks for the report. I will fix it soon.


module support to gomobile

gomobile perfectly worked if module support to gomobile

Duplicate of https://github.com/golang/go/issues/27234.


pointnet++ bug when change batch size

When I change the batchsize in [line] (https://github.com/rusty1s/pytorch_geometric/blob/80341478210305809576923597af11cd1ed36eeb/examples/pointnet2_segmentation.py#L31): to any random number such as 32, it will run into bug:
Traceback (most recent call last):
  File "modelnet_test.py", line 178, in <module>
    train()
  File "modelnet_test.py", line 142, in train
    out = model(data)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 111, in forward
    sa1_out = self.sa1_module(*sa0_out)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 55, in forward
    x = self.conv(x, (pos, pos[idx]), edge_index)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric/nn/conv/point_conv.py", line 66, in forward
    return self.propagate(edge_index, x=x, pos=pos)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric/nn/conv/message_passing.py", line 121, in propagate
    out = scatter_(self.aggr, out, edge_index[i], dim_size=size[i])
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric/utils/scatter.py", line 33, in scatter_
    out[out == fill_value] = 0
RuntimeError: cuda runtime error (11) : invalid argument at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/THCTensorMathCompare.cuh:82

But in original setting batchsize=12 works fine. This is kind of wierd since I checked the implementation and did not find anything else looks relevant to batch size.

Can you update torch-scatter to its latest version and see if this fixes the issue?

@rusty1s
Use pip install update did not solve.
Is 1.3.1 the latest?
>>> import torch_scatter
>>> print(torch_scatter.__version__)
1.3.1

Yes, it is the latest. Mh, this is weird. I tested with different batch sizes without any problems. Please do me a favor and run your code with CUDA_LAUNCH_BLOCKING=1 and report back the error.

@rusty1s
run the code with CUDA_LAUNCH_BLOCKING=1 gets the same output.
  File "modelnet_test.py", line 178, in <module>
    train()
  File "modelnet_test.py", line 142, in train
    out = model(data)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 111, in forward
    sa1_out = self.sa1_module(*sa0_out)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 55, in forward
    x = self.conv(x, (pos, pos[idx]), edge_index)
  File "/home/gupta/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric/nn/conv/point_conv.py", line 66, in forward
    return self.propagate(edge_index, x=x, pos=pos)
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric/nn/conv/message_passing.py", line 121, in propagate
    out = scatter_(self.aggr, out, edge_index[i], dim_size=size[i])
  File "/home/gupta/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric/utils/scatter.py", line 33, in scatter_
    out[out == fill_value] = 0
RuntimeError: cuda runtime error (11) : invalid argument at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/THCTensorMathCompare.cuh:82

Since I cannot reproduce this, I need your help with fixing this with print debugging 🗡
Can you modify utils/scatter.py for me? Please do:
print(src.size(), index.size(), index.min(), index.max())

before the op call in line 28. And please try to comment out line 32-33 and/or replace it with
out.masked_fill(out == fill_value, 0)`. Thank you.

Sure, I have changed to this. I cannot find any setup.py. Could you tell me how to install?
  assert name in ['add', 'mean', 'max']

    op = getattr(torch_scatter, 'scatter_{}'.format(name))
    fill_value = -1e9 if name == 'max' else 0

    print(src.size(), index.size(), index.min(), index.max())
    out = op(src, index, 0, None, dim_size, fill_value)
    if isinstance(out, tuple):
        out = out[0]

    # if name == 'max':
    #     out[out == fill_value] = 0

    return out

There is a setup.py in the root directory. Running python setup.py develop should work :)

Oh, I was using pip to install pytorch_geometry so it was installed in ~/anaconda3/envs/gupta/lib/python3.6/site-packages/torch_geometric
And there is no setup.py there.

Ah yes, you need to clone from GitHub, sorry :(

I found I dont need to reinstall, directly run my program already reflects the change:
torch.Size([1039749, 128]) torch.Size([1039749]) tensor(0, device='cuda:0') tensor(16350, device='cuda:0')
Traceback (most recent call last):
  File "modelnet_test.py", line 178, in <module>
    train()
  File "modelnet_test.py", line 142, in train
    out = model(data)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 111, in forward
    sa1_out = self.sa1_module(*sa0_out)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 56, in forward
    pos, batch = pos[idx], batch[idx]
RuntimeError: CUDA error: invalid argument

Excellent error messages :D I am totally unsure what may causes this issue :(

@rusty1s
Hey, I found running with CUDA_LAUNCH_BLOCKING=1 still uses my GPU. I later hard coded the device to be CPU and the error disappears. What does this reflect?

Another clue, I found when using GPU, any random batchsize<16 works fine, although batchsize=16, my GPU memory is far from fully occupied. How can this be explained?

CUDA_LAUNCH_BLOCKING disables asynchronous GPU execution, so it will still use the GPU. It is generally quire useful to track down errors in your code.
Did you do any other modifications to the example? On which category do you test? Are you using an older version of pointnet2_segmentation.py and pointner2_classification.py? Does the classification example work?

Since segmentation uses some functions in classification, I copied the dependent part into segmentation file. The files are from version tag 1.3.0. Dataset is ShapeNet plane.  My reported error "RuntimeError: CUDA error: invalid argument" does not look related to GPU memory. This code runs well under batchsize 16.
import os.path as osp
import torch
import torch.nn.functional as F
from torch_geometric.datasets import ShapeNet
import torch_geometric.transforms as T
from torch_geometric.data import DataLoader
from torch_geometric.nn import knn_interpolate
from torch.nn import Sequential as Seq, Linear as Lin, ReLU, BatchNorm1d as BN
from torch_geometric.utils import mean_iou
from torch_geometric.nn import PointConv, fps, radius
from torch_geometric.utils import scatter_

category = 'Airplane'
path = osp.join(osp.dirname(osp.realpath(__file__)), '..', 'data', 'ShapeNet')
transform = T.Compose([
    T.RandomTranslate(0.01),
    T.RandomRotate(15, axis=0),
    T.RandomRotate(15, axis=1),
    T.RandomRotate(15, axis=2)
])
pre_transform = T.NormalizeScale()
train_dataset = ShapeNet(
    path,
    category,
    train=True,
    transform=transform,
    pre_transform=pre_transform)
test_dataset = ShapeNet(
    path, category, train=False, pre_transform=pre_transform)
train_loader = DataLoader(
    train_dataset, batch_size=32, shuffle=True, num_workers=14)
test_loader = DataLoader(
    test_dataset, batch_size=32, shuffle=False, num_workers=14)

n_iter=0

class SAModule(torch.nn.Module):
    def __init__(self, ratio, r, nn):
        super(SAModule, self).__init__()
        self.ratio = ratio
        self.r = r
        self.conv = PointConv(nn)

    def forward(self, x, pos, batch):
        idx = fps(pos, batch, ratio=self.ratio)

        row, col = radius(
            pos, pos[idx], self.r, batch, batch[idx], max_num_neighbors=64)
        edge_index = torch.stack([col, row], dim=0)
        x = self.conv(x, (pos, pos[idx]), edge_index)

        # print('idx=',idx)
        # print('idx type', idx.shape, idx.type())
        # print('pos, batch', pos.shape, batch.shape, pos.type(), batch.type())

        pos, batch = pos[idx], batch[idx]
        return x, pos, batch

class GlobalSAModule(torch.nn.Module):
    def __init__(self, nn):
        super(GlobalSAModule, self).__init__()
        self.nn = nn

    def forward(self, x, pos, batch):
        x = self.nn(torch.cat([x, pos], dim=1))
        x = scatter_('max', x, batch)
        pos = pos.new_zeros((x.size(0), 3))
        batch = torch.arange(x.size(0), device=batch.device)
        return x, pos, batch

def MLP(channels, batch_norm=True):
    return Seq(*[
        Seq(Lin(channels[i - 1], channels[i]), ReLU(), BN(channels[i]))
        for i in range(1, len(channels))
    ])

class FPModule(torch.nn.Module):
    def __init__(self, k, nn):
        super(FPModule, self).__init__()
        self.k = k
        self.nn = nn

    def forward(self, x, pos, batch, x_skip, pos_skip, batch_skip):
        x = knn_interpolate(x, pos, pos_skip, batch, batch_skip, k=self.k)
        if x_skip is not None:
            x = torch.cat([x, x_skip], dim=1)
        x = self.nn(x)
        return x, pos_skip, batch_skip

class Net(torch.nn.Module):
    def __init__(self, num_classes):
        super(Net, self).__init__()
        self.sa1_module = SAModule(0.2, 0.2, MLP([3, 64, 64, 128]))
        self.sa2_module = SAModule(0.25, 0.4, MLP([128 + 3, 128, 128, 256]))
        self.sa3_module = GlobalSAModule(MLP([256 + 3, 256, 512, 1024]))

        self.fp3_module = FPModule(1, MLP([1024 + 256, 256, 256]))
        self.fp2_module = FPModule(3, MLP([256 + 128, 256, 128]))
        self.fp1_module = FPModule(3, MLP([128, 128, 128, 128]))

        self.lin1 = torch.nn.Linear(128, 128)
        self.lin2 = torch.nn.Linear(128, 128)
        self.lin3 = torch.nn.Linear(128, num_classes)

    def forward(self, data):
        sa0_out = (data.x, data.pos, data.batch)
        sa1_out = self.sa1_module(*sa0_out)
        sa2_out = self.sa2_module(*sa1_out)
        sa3_out = self.sa3_module(*sa2_out)

        fp3_out = self.fp3_module(*sa3_out, *sa2_out)
        fp2_out = self.fp2_module(*fp3_out, *sa1_out)
        x, _, _ = self.fp1_module(*fp2_out, *sa0_out)

        x = F.relu(self.lin1(x))
        x = F.dropout(x, p=0.5, training=self.training)
        x = self.lin2(x)
        x = F.dropout(x, p=0.5, training=self.training)
        x = self.lin3(x)
        return F.log_softmax(x, dim=-1)

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# device = torch.device('cpu')
model = Net(train_dataset.num_classes).to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)

def train():
    global n_iter

    model.train()

    total_loss = correct_nodes = total_nodes = 0
    for i, data in enumerate(train_loader):
        n_iter+=1
        data = data.to(device)
        optimizer.zero_grad()
        out = model(data)
        loss = F.nll_loss(out, data.y)
        loss.backward()
        optimizer.step()
        total_loss += loss.item()
        correct_nodes += out.max(dim=1)[1].eq(data.y).sum().item()
        total_nodes += data.num_nodes

        if (i + 1) % 10 == 0:
            print('[{}/{}] Loss: {:.4f}, Train Accuracy: {:.4f}'.format(
                i + 1, len(train_loader), total_loss / 10,
                correct_nodes / total_nodes))
            total_loss = correct_nodes = total_nodes = 0

def test(loader):
    global n_iter
    model.eval()

    correct_nodes = total_nodes = 0
    ious = []
    for data in loader:
        data = data.to(device)
        with torch.no_grad():
            out = model(data)
        pred = out.max(dim=1)[1]
        correct_nodes += pred.eq(data.y).sum().item()
        ious += [mean_iou(pred, data.y, test_dataset.num_classes, data.batch)]
        total_nodes += data.num_nodes
    return correct_nodes / total_nodes, torch.cat(ious, dim=0).mean().item()

for epoch in range(1, 31):
    train()
    acc, iou = test(test_loader)
    print('Epoch: {:02d}, Acc: {:.4f}, IoU: {:.4f}'.format(epoch, acc, iou))

Works just fine for me. I wonder what happens if you replace the x = scatter_('max', x, batch) call with x = scatter_('mean', x, batch).

@rusty1s
Just have a chance to test, the error is still
THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/THCTensorMathCompare.cuh line=82 error=11 : invalid argument
Traceback (most recent call last):
  File "modelnet_test.py", line 185, in <module>
    train()
  File "modelnet_test.py", line 149, in train
    out = model(data)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 117, in forward
    sa1_out = self.sa1_module(*sa0_out)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "modelnet_test.py", line 56, in forward
    x = self.conv(x, (pos, pos[idx]), edge_index)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch_geometric/nn/conv/point_conv.py", line 66, in forward
    return self.propagate(edge_index, x=x, pos=pos)
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch_geometric/nn/conv/message_passing.py", line 121, in propagate
    out = scatter_(self.aggr, out, edge_index[i], dim_size=size[i])
  File "/home/bowen/anaconda3/envs/bowen/lib/python3.6/site-packages/torch_geometric/utils/scatter.py", line 33, in scatter_
    out[out == fill_value] = 0
RuntimeError: cuda runtime error (11) : invalid argument at /opt/conda/conda-bld/pytorch_1556653183467/work/aten/src/THC/THCTensorMathCompare.cuh:82


Option to disable animations

I think it might be useful if there is an option to disable listing animations since it takes some time to see content after opening up something.

It seems minimizing and then restoring the app temporary solves the issue.
You're welcome.
Originally posted by @Tarek-Hasan in https://github.com/files-community/Files/issues/7554#issuecomment-1012234173

It seems minimizing and then restoring the app temporary solves the issue.
You're welcome.
Originally posted by @Tarek-Hasan in https://github.com/files-community/Files/issues/7554#issuecomment-1012234173

It seems minimizing and then restoring the app temporary solves the issue. You're welcome.
Originally posted by @Tarek-Hasan in #7554 (comment)

I don't think that's related to my issue (suggestion). Everything works alright for me. I just thought maybe it might make experience more smooth if contents displayed without animation rather than some sort of fade in animation which takes about .4-.5 second to happen.

@themisir have you tried the option to disable animations in the Windows settings app?

@themisir have you tried the option to disable animations in the Windows settings app?

Nope. I'll try and share my experience with it.

It seems minimizing and then restoring the app temporary solves the issue.
You're welcome.
Originally posted by @Tarek-Hasan in https://github.com/files-community/Files/issues/7554#issuecomment-1012234173

I've tried disabling animations on windows settings, restarted the app and used for some time. My final thoughts is it seems like loading file list takes some time, when disabling animations this becomes even more noticeable so having animations currently seems like better option unless we could increase file list loading performance.
Btw just curious, why does loading file list takes some time. Afaik it should be fast to query directory entries on windows. So probably there's some other factors causing that delay. My guess is either UI updates slowly or probably the loading is slower due to resolving thumbs (aka: file icons).

There are several reasons why enumerating items take time, but the main reason is that on top of enumerating the items, the data is passed from the full trust process to the UWP process and that causes there to be some latency. The thumbnails and extended properties shouldn't affect the loading speed as those are lazy loaded.
These issues will hopefully be resolved when we eventually make the switch to WinUI 3 but we don't have a timeline on when that will happen.


Create property dynamically

Hello,
I'd like to create property dynamically and inject them in a schema, I tried to do like this :
var configParams = configs[0].params.map(function(param) {
		return (
			 <Property
		      	name={param.name}
		      	label={param.label}
			 	required={false}

		      />
		);
	});

Then in render when i call this it throws me an error : Error: Each child of  node should have name property
<Schema>
	{configParams}
 </Schema>

Coul you explain me how I could do this ?
Thanks.

We are moving to the new API which uses JSON schema for validation.


How do you make Umi-OCR.exe?

Umi-OCR.exe is the starter, how do you make this program and where can I find its source code?

The source  code is here.
Based on this project, I made some modifications.

If you're interested in PyStand, here are some more detailed documents.


Module location

WHERE is this module located? Is this documentation for the MicrosoftTeams module located in the PSGallery or?

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

ID: 94694082-c529-5654-1734-57514ec17a1f
Version Independent ID: aa669763-6470-cc61-ea8d-52aee886f986
Content: Microsoft Teams PowerShell
Content Source: teams/teams-ps/teams/teams.md
Service: teams-powershell
GitHub Login: @kenwith
Microsoft Alias: kenwith

Sorry, I know it is setup whacky. There are actually 2 files for landing depending on how someone gets to the area on docs.microsoft.com. I added your changes to the intro.md file too and should be live shortly.

https://github.com/MicrosoftDocs/office-docs-powershell/pull/1533


Update ErrorExit Parameter

Update ErrorExit Parameter in https://docs.microsoft.com/en-us/windows/console/reading-input-buffer-events
Closes #226

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

File
Status
Preview URL
Details

docs/reading-input-buffer-events.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


Lane fails in gym via Jenkins

Issue Description
All is working running "locally"
Running though Jenkins, it has an error:
INFO [2016-06-10 17:29:36.88]: ▸ ❌  Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“match AdHoc com.hotelscombined.findhotels.beta”) were found.
INFO [2016-06-10 17:29:36.88]: ▸ ** ARCHIVE FAILED **

It seems like it gets the provisioning profile. I have the signing identity set to "iOSDistribution". I notice that when I run this as myself, the iPhone Distribution certificate is added to my login keychain, but running as jekins it is not added to the jenkins (user's) keychain.
If I run match adhoc -a com.hotelscombined.findhotels.beta --readonly it completes with All required keys, certificates and provisioning profiles are installed 🙌 but there is no distribution certificate in the keychain...
Complete output when running fastlane, including the stack trace and command used
Running the same command as the jenkins used gives this
bash-3.2$ fastlane beta_HC --verbose
DEBUG [2016-06-10 17:29:16.69]: Checking if there are any plugins that should be loaded...
INFO [2016-06-10 17:29:16.70]: -------------------------------------------------
INFO [2016-06-10 17:29:16.70]: --- Step: Verifying required fastlane version ---
INFO [2016-06-10 17:29:16.70]: -------------------------------------------------
INFO [2016-06-10 17:29:16.70]: fastlane version valid
INFO [2016-06-10 17:29:16.71]: ------------------------------
INFO [2016-06-10 17:29:16.71]: --- Step: default_platform ---
INFO [2016-06-10 17:29:16.71]: ------------------------------
INFO [2016-06-10 17:29:16.74]: Driving the lane 'ios beta_HC' 🚀
INFO [2016-06-10 17:29:16.74]: -------------------------------------
INFO [2016-06-10 17:29:16.74]: --- Step: Switch to ios beta lane ---
INFO [2016-06-10 17:29:16.74]: -------------------------------------
INFO [2016-06-10 17:29:16.74]: Cruising over to lane 'ios beta' 🚖
INFO [2016-06-10 17:29:16.74]: -------------------
INFO [2016-06-10 17:29:16.74]: --- Step: match ---
INFO [2016-06-10 17:29:16.74]: -------------------

+-----------------------+---------------------------------------------------------+
|                             Summary for match 0.6.1                             |
+-----------------------+---------------------------------------------------------+
| type                  | adhoc                                                   |
| readonly              | true                                                    |
| git_url               | git@github.com:evilDave/HotelsCombined-Certificates.git |
| git_branch            | master                                                  |
| app_identifier        | com.hotelscombined.findhotels.beta                      |
| username              | [REDACTED]                          |
| keychain_name         | login.keychain                                          |
| team_id               | [REDACTED]                                              |
| verbose               | false                                                   |
| force                 | false                                                   |
| shallow_clone         | false                                                   |
| force_for_new_devices | false                                                   |
| skip_docs             | false                                                   |
+-----------------------+---------------------------------------------------------+

INFO [2016-06-10 17:29:17.02]: Cloning remote git repo...
INFO [2016-06-10 17:29:17.02]: $ git clone 'git@github.com:evilDave/HotelsCombined-Certificates.git' '/var/folders/sl/rb8wdyyx2cn6_fpxz_vqd_j800007c/T/d20160610-23600-1wr1rrn'
INFO [2016-06-10 17:29:17.04]: ▸ Cloning into '/var/folders/sl/rb8wdyyx2cn6_fpxz_vqd_j800007c/T/d20160610-23600-1wr1rrn'...
INFO [2016-06-10 17:29:20.72]: ▸ remote: Counting objects: 36, done.
INFO [2016-06-10 17:29:20.98]: ▸ remote: Compressing objects: 100% (26/26), done.
INFO [2016-06-10 17:29:21.34]: ▸ remote: Total 36 (delta 3), reused 31 (delta 1), pack-reused 0
INFO [2016-06-10 17:29:21.34]: ▸ Receiving objects: 100% (36/36), 57.03 KiB | 0 bytes/s, done.
INFO [2016-06-10 17:29:21.34]: ▸ Resolving deltas: 100% (3/3), done.
INFO [2016-06-10 17:29:21.66]: ▸ Checking connectivity... done.
INFO [2016-06-10 17:29:21.73]: 🔓  Decrypted '2W3WN5GQB7.cer'
INFO [2016-06-10 17:29:21.76]: 🔓  Decrypted '2W3WN5GQB7.p12'
INFO [2016-06-10 17:29:21.80]: 🔓  Decrypted 'AdHoc_com.hotelscombined.biyi.*.mobileprovision'
INFO [2016-06-10 17:29:21.83]: 🔓  Decrypted 'AdHoc_com.hotelscombined.findhotels.beta.mobileprovision'
INFO [2016-06-10 17:29:21.83]: 🔓  Successfully decrypted certificates repo
INFO [2016-06-10 17:29:21.83]: Installing certificate...
INFO [2016-06-10 17:29:21.83]: $ security list-keychains -d user
INFO [2016-06-10 17:29:21.84]: ▸     "/Users/Shared/Jenkins/jenkins.keychain"
INFO [2016-06-10 17:29:21.84]: $ security find-certificate -c 'Apple Worldwide Developer Relations Certification Authority' /Users/Shared/Jenkins/jenkins.keychain
INFO [2016-06-10 17:29:21.87]: ▸ keychain: "/Users/Shared/Jenkins/jenkins.keychain"
INFO [2016-06-10 17:29:21.87]: ▸ version: 256
INFO [2016-06-10 17:29:21.87]: ▸ class: 0x80001000
INFO [2016-06-10 17:29:21.87]: ▸ attributes:
INFO [2016-06-10 17:29:21.87]: ▸     "alis"<blob>="Apple Worldwide Developer Relations Certification Authority"
INFO [2016-06-10 17:29:21.87]: ▸     "cenc"<uint32>=0x00000003
INFO [2016-06-10 17:29:21.87]: ▸     "ctyp"<uint32>=0x00000001
INFO [2016-06-10 17:29:21.87]: ▸     "hpky"<blob>=0x88271709A9B618608BECEBBAF64759C55254A3B7  "\210'\027\011\251\266\030`\213\354\353\272\366GY\305RT\243\267"
INFO [2016-06-10 17:29:21.87]: ▸     "issu"<blob>=0x3062310B300906035504061302555331133011060355040A130A4150504C4520494E432E31263024060355040B131D4150504C452043455254494649434154494F4E20415554484F52495459311630140603550403130D4150504C4520524F4F54204341  "0b1\0130\011\006\003U\004\006\023\002US1\0230\021\006\003U\004\012\023\012APPLE INC.1&0$\006\003U\004\013\023\035APPLE CERTIFICATION AUTHORITY1\0260\024\006\003U\004\003\023\015APPLE ROOT CA"
INFO [2016-06-10 17:29:21.87]: ▸     "labl"<blob>="Apple Worldwide Developer Relations Certification Authority"
INFO [2016-06-10 17:29:21.87]: ▸     "skid"<blob>=0x88271709A9B618608BECEBBAF64759C55254A3B7  "\210'\027\011\251\266\030`\213\354\353\272\366GY\305RT\243\267"
INFO [2016-06-10 17:29:21.87]: ▸     "snbr"<blob>=0x01DEBCC4396DA010  "\001\336\274\3049m\240\020"
INFO [2016-06-10 17:29:21.87]: ▸     "subj"<blob>=0x308196310B300906035504061302555331133011060355040A0C0A4170706C6520496E632E312C302A060355040B0C234170706C6520576F726C647769646520446576656C6F7065722052656C6174696F6E733144304206035504030C3B4170706C6520576F726C647769646520446576656C6F7065722052656C6174696F6E732043657274696669636174696F6E20417574686F72697479  "0\201\2261\0130\011\006\003U\004\006\023\002US1\0230\021\006\003U\004\012\014\012Apple Inc.1,0*\006\003U\004\013\014#Apple Worldwide Developer Relations1D0B\006\003U\004\003\014;Apple Worldwide Developer Relations Certification Authority"
INFO [2016-06-10 17:29:22.04]: $ security import /var/folders/sl/rb8wdyyx2cn6_fpxz_vqd_j800007c/T/d20160610-23600-1wr1rrn/certs/distribution/2W3WN5GQB7.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null
INFO [2016-06-10 17:29:22.07]: $ security import /var/folders/sl/rb8wdyyx2cn6_fpxz_vqd_j800007c/T/d20160610-23600-1wr1rrn/certs/distribution/2W3WN5GQB7.p12 -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null
INFO [2016-06-10 17:29:22.10]: Installing provisioning profile...
WARN [2016-06-10 17:29:22.20]: Setting environment variable 'sigh_com.hotelscombined.findhotels.beta_adhoc' to 'c70fdd4f-ef88-49dd-a2e0-14f42645c69b'

+----------------------+-----------------------------------------------+
|                    Installed Provisioning Profile                    |
+----------------------+-----------------------------------------------+
| App Identifier       | com.hotelscombined.findhotels.beta            |
| Type                 | adhoc                                         |
| UUID                 | [REDACTED]                                    |
| Environment Variable | sigh_com.hotelscombined.findhotels.beta_adhoc |
+----------------------+-----------------------------------------------+

INFO [2016-06-10 17:29:22.20]: All required keys, certificates and provisioning profiles are installed 🙌
INFO [2016-06-10 17:29:22.20]: 🔒  Successfully encrypted certificates repo
INFO [2016-06-10 17:29:22.20]: Setting Provisioning Profile type to 'ad-hoc'
INFO [2016-06-10 17:29:22.21]: -----------------
INFO [2016-06-10 17:29:22.21]: --- Step: gym ---
INFO [2016-06-10 17:29:22.21]: -----------------
WARN [2016-06-10 17:29:22.26]: Using legacy build system - waiting for radar to be fixed: https://openradar.appspot.com/radar?id=4952000420642816
WARN [2016-06-10 17:29:22.73]: xcrun xcodebuild -list -workspace './HCWeb.xcworkspace'

+----------------------+----------------------+
|            Summary for gym 1.6.3            |
+----------------------+----------------------+
| scheme               | HCWeb Beta           |
| use_legacy_build_api | true                 |
| export_method        | ad-hoc               |
| workspace            | ./HCWeb.xcworkspace  |
| destination          | generic/platform=iOS |
| output_name          | HCWeb                |
| clean                | false                |
| output_directory     | .                    |
| silent               | false                |
| buildlog_path        | ~/Library/Logs/gym   |
+----------------------+----------------------+

+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
|                                                                               Generated Build Command                                                                               |
+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
| Option                                                                      | Value                                                                                |
+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
| set -o pipefail &&                                                          |                                                                                |
| xcodebuild                                                                  |                                                                                |
| -workspace                                                                  | ./HCWeb.xcworkspace                                                                                |
| -scheme                                                                     | HCWeb Beta                                                                                |
| -destination                                                                | generic/platform=iOS                                                                                |
| -archivePath                                                                | /Users/Shared/Jenkins/Library/Developer/Xcode/Archives/2016-06-10/HCWeb 2016-06-10 17.29.28.xcarchive |
| archive                                                                     |                                                                                |
| | tee /Users/Shared/Jenkins/Library/Logs/gym/HCWeb-HCWeb\ Beta.log | xcpretty |                                                                                |
+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+
INFO [2016-06-10 17:29:28.20]: $ set -o pipefail && xcodebuild -workspace './HCWeb.xcworkspace' -scheme 'HCWeb Beta' -destination 'generic/platform=iOS' -archivePath '/Users/Shared/Jenkins/Library/Developer/Xcode/Archives/2016-06-10/HCWeb 2016-06-10 17.29.28.xcarchive' archive | tee /Users/Shared/Jenkins/Library/Logs/gym/HCWeb-HCWeb\ Beta.log | xcpretty
[SNIP]
INFO [2016-06-10 17:29:36.87]: ▸ Building HCWeb/HCWeb [AdHoc]
INFO [2016-06-10 17:29:36.87]: ▸ Check Dependencies
INFO [2016-06-10 17:29:36.88]: ▸ ❌  Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“match AdHoc com.hotelscombined.findhotels.beta”) were found.
INFO [2016-06-10 17:29:36.88]: ▸ ** ARCHIVE FAILED **
INFO [2016-06-10 17:29:36.88]: ▸ The following build commands failed:
INFO [2016-06-10 17:29:36.88]: ▸ Check dependencies
INFO [2016-06-10 17:29:36.88]: ▸ (1 failure)
[SNIP]
▸ Building HCWeb/HCWeb [AdHoc]
▸ Check Dependencies

❌  Code Sign error: No codesigning identities found: No codesigning identities (i.e. certificate and private key pairs) that match the provisioning profile specified in your build settings (“match AdHoc com.hotelscombined.findhotels.beta”) were found.

** ARCHIVE FAILED **

The following build commands failed:
Check dependencies
(1 failure)
ERROR [2016-06-10 17:29:36.94]: Exit status: 65
INFO [2016-06-10 17:29:36.95]: -------------------
INFO [2016-06-10 17:29:36.95]: --- Step: slack ---
INFO [2016-06-10 17:29:36.95]: -------------------
INFO [2016-06-10 17:29:38.59]: Successfully sent Slack notification
WARN [2016-06-10 17:29:38.59]: Variable Dump:
INFO [2016-06-10 17:29:38.59]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta_HC", :SIGH_PROFILE_TYPE=>"ad-hoc"}
ERROR [2016-06-10 17:29:38.59]: Error building the application - see the log above
INFO [2016-06-10 17:29:38.60]: Successfully generated documentation to path '/Users/Shared/Jenkins/Home/jobs/HotelSearch_HotelsCombined_iPhone_beta/workspace/fastlane/README.md'

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | Switch to ios beta lane             | 0           |
| 4    | match                               | 5           |
| 5    | gym                                 | 14          |
| 6    | slack                               | 1           |
+------+-------------------------------------+-------------+

ERROR [2016-06-10 17:29:38.61]: fastlane finished with errors
/Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.46.2/lib/fastlane_core/ui/interface.rb:139:in `user_error!': [!] Error building the application - see the log above (FastlaneCore::Interface::FastlaneError)
	from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.46.2/lib/fastlane_core/ui/ui.rb:14:in `method_missing'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.6.3/lib/gym/error_handler.rb:53:in `handle_build_error'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.6.3/lib/gym/runner.rb:101:in `block in build_app'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.46.2/lib/fastlane_core/command_executor.rb:88:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.46.2/lib/fastlane_core/command_executor.rb:88:in `execute'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.6.3/lib/gym/runner.rb:97:in `build_app'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.6.3/lib/gym/runner.rb:12:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/gym-1.6.3/lib/gym/manager.rb:10:in `work'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/actions/gym.rb:22:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:197:in `block (2 levels) in execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/actions/actions_helper.rb:35:in `execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:182:in `block in execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:181:in `chdir'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:181:in `execute_action'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:107:in `trigger_action_by_name'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/fast_file.rb:140:in `method_missing'
	from Fastfile:35:in `block (2 levels) in parsing_binding'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/lane.rb:33:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/lane.rb:33:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:160:in `try_switch_to_lane'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:115:in `trigger_action_by_name'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/fast_file.rb:140:in `method_missing'
	from Fastfile:9:in `block (2 levels) in parsing_binding'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/lane.rb:33:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/lane.rb:33:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:50:in `block in execute'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:46:in `chdir'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/runner.rb:46:in `execute'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/lane_manager.rb:46:in `cruise_lane'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/command_line_handler.rb:30:in `handle'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/commands_generator.rb:48:in `block (2 levels) in run'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane_core-0.46.2/lib/fastlane_core/ui/fastlane_runner.rb:26:in `run!'
	from /Library/Ruby/Gems/2.0.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/commands_generator.rb:236:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/commands_generator.rb:18:in `start'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/lib/fastlane/cli_tools_distributor.rb:47:in `take_off'
	from /Library/Ruby/Gems/2.0.0/gems/fastlane-1.94.1/bin/fastlane:5:in `<top (required)>'
	from /usr/local/bin/fastlane:23:in `load'
	from /usr/local/bin/fastlane:23:in `<main>'

Configuration Files
Fastfile:
fastlane_version "1.91.0"

default_platform :ios

platform :ios do
  lane :beta_HC do |options|
    beta(scheme: "HCWeb Beta", api_token: "[REDACTED]", ipa: "HCWeb.ipa", create_profile: options[:create_profile])
  end

  lane :beta do |options|
    match(type: "adhoc", readonly: !(options[:create_profile]))
    if(!(options[:create_profile]))
      gym(scheme: options[:scheme], use_legacy_build_api: true)
      hockey(api_token: options[:api_token], ipa: options[:ipa])
    end
  end
end

Appfile:
apple_id "[REDACTED]"

for_platform :ios do
  team_id [REDACTED]
  for_lane :beta_HC do
    app_identifier "com.hotelscombined.findhotels.beta"
  end
end

Environment
fastlane version: fastlane 1.94.1
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)? no
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)? no

@evilDave Hoep you are doing well! Can you let me know if you unlocked your keychain before you ran this. That is likely the problem on Jenkins. Thanks!

That's kind of what i thought, but the keychain is unlocked.
It does ask for access again when it runs via the command line as the jenkins user. And as I said, even running it via the command line and entering the password for the keychain if it asks for it there is still nothing stored in the keychain like there is in the login keychain when i run it as a regular user.

Hi @evilDave Thanks for following up. What happens if you set the force parameter of match to true?
Thanks!

When I do that it fails with:
bash-3.2$ match adhoc -a com.hotelscombined.findhotels.beta --force

+-----------------------+---------------------------------------------------------+
|                             Summary for match 0.6.1                             |
+-----------------------+---------------------------------------------------------+
| app_identifier        | com.hotelscombined.findhotels.beta                      |
| force                 | true                                                    |
| git_url               | git@github.com:evilDave/HotelsCombined-Certificates.git |
| type                  | adhoc                                                   |
| git_branch            | master                                                  |
| username              |<EMAIL_ADDRESS>                        |
| keychain_name         | login.keychain                                          |
| readonly              | false                                                   |
| verbose               | false                                                   |
| shallow_clone         | false                                                   |
| force_for_new_devices | false                                                   |
| skip_docs             | false                                                   |
+-----------------------+---------------------------------------------------------+

[13:41:09]: Cloning remote git repo...
[13:41:14]: 🔓  Successfully decrypted certificates repo
[13:41:14]: Verifying that the certificate and profile are still valid on the Dev Portal...
[13:41:18]: Installing certificate...

+-------------------------------------+------------------------------------------------+
|                                Summary for sigh 1.8.0                                |
+-------------------------------------+------------------------------------------------+
| app_identifier                      | com.hotelscombined.findhotels.beta             |
| adhoc                               | true                                           |
| development                         | false                                          |
| username                            |<EMAIL_ADDRESS>               |
| force                               | true                                           |
| cert_id                             | 2W3WN5GQB7                                     |
| provisioning_name                   | match AdHoc com.hotelscombined.findhotels.beta |
| ignore_profiles_with_different_name | true                                           |
| skip_install                        | false                                          |
| skip_fetch_profiles                 | false                                          |
| skip_certificate_verification       | false                                          |
+-------------------------------------+------------------------------------------------+

[13:41:19]: Starting login with user<EMAIL_ADDRESS>[13:41:22]: Successfully logged in
[13:41:22]: Fetching profiles...
[13:41:25]: Certificate for Provisioning Profile 'match AdHoc com.hotelscombined.findhotels.beta' not available locally: 2W3WN5GQB7
[13:41:25]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[13:41:28]: No certificates for filter: Certificate ID: '2W3WN5GQB7'
[13:41:28]: 🔒  Successfully encrypted certificates repo

[!] Could not find a matching code signing identity for type 'AdHoc'. You can use cert to generate one:
https://github.com/fastlane/fastlane/tree/master/cert

I don't believe that I want/need to run cert again... I've already generated the signing identity as my regular user, indeed, my regular user can run the same command with no issues, works just fine. If I run cert again that would generate a new one no? Isn't this mess of creating certs and profiles exactly what the match command is supposed to handle? The certs and profiles are stored in the git repo and they should just be gotten out and installed.
Indeed, running without force match adhoc -a com.hotelscombined.findhotels.beta completes with success... but gym then fails with that error.
Frustrating.
Running the match command again with --verbose I can see the security commands to add the certs:
security import /var/folders/sl/rb8wdyyx2cn6_fpxz_vqd_j800007c/T/d20160621-40195-1m2rd32/certs/distribution/2W3WN5GQB7.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null

does not match up with the command to find the developer relations cert:
security find-certificate -c 'Apple Worldwide Developer Relations Certification Authority' /Users/Shared/Jenkins/jenkins.keychain

indeed ~/Library/Keychains/login.keychain does not exist for this user. It would seem to me that it needs to go into the /Users/Shared/Jenkins/jenkins.keychain keychain.
Regardless, changing to:
security import /var/folders/sl/rb8wdyyx2cn6_fpxz_vqd_j800007c/T/d20160621-40195-1m2rd32/certs/distribution/2W3WN5GQB7.cer -k /Users/Shared/Jenkins/jenkins.keychain -T /usr/bin/codesign -T /usr/bin/security

Does not solve the problem:
security: SecKeychainItemImport: Unknown format in import.

If I login as my regular user, delete the distribution certificate from the keychain and run match I get an error pop up:
ERROR [2016-06-21 14:14:10.24]: There are no local code signing identities found. You can run `security find-identity -v -p codesigning` to get this output. This Stack Overflow thread has more information: http://stackoverflow.com/q/35390072/774. (Check in Keychain Access for an expired WWDR certificate: http://stackoverflow.com/a/35409835/774 has more info.

but it does continue on and install the certs from the repo. However If I run the commands which I assume do this installation:
security import /var/folders/j2/tr7b09fd5jd155t4zdnd05w40000gn/T/d20160621-41095-5lcisn/certs/distribution/2W3WN5GQB7.cer -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null

manually I get the same error as with the jenkins user.

Hi @evilDave Have you run match developement yet for this project? You need to do that first. Thanks!

Yes I had done that. Not sure what difference that would make, the CI build should be using the distribution certificates not the development one.
I got fed up with this and match nukeed it (probably not necessary), deleted the jenkins keychain and logged in as jenkins to let it create a login keystore in the normal place ~/Library/Keystores/login.keychain.
I re-ran match on all my targets as my dev user to create and store the certs/profiles and then tried again running the lanes as jenkins. After a few teething problems (no interactive access to private key, keychain not remaining unlocked during all of build) it's finally sorted!
I really think that the issue is that somehow it's confused about which keychain to put the certs and keys in. Also I notice that no matter what, it always calls security import in the p12 file, regardless of whether or not the private key exists already. I.e. this runs every time:
security import /var/[blah]/GH2ZHKD3DJ.p12 -k ~/Library/Keychains/login.keychain -T /usr/bin/codesign -T /usr/bin/security&> /dev/null

Fortunately it seems to not reset the "Allow all applications to access this item" setting on the private key - this should really be calling security with the -A option to set that access when it gets added (I had to open the keychain and add permission to get past the "User interaction is not allowed" error).
Anyway, this has turned into an enormously verbose issue. I think it's solved, there were lots of little gotchas on the way that I probably should have documented better but I just needed it working.
TLDR; Deleted custom keychain and used jenkins login keychain.
Thanks @TKBurner for sticking with me and trying to help :)

@evilDave Thanks for letting us know! So glad to hear you got up and running 👍


Can't remove array item by item itself.

I learned array item can be removed by index or given value.( item itself ?)
However, when I try to remove array item by item itself, it's not working for me.
JSFiddle: http://jsfiddle.net/Belinchung/20ey6q5j/

Sorry, Just use this.users.$remove(item.$data);


Automate releases

This effort is almost there. We have a PR being created (e.g. #43) when you update the CHANGELOG.md file, adding a new numbered version header.
There are a couple of snags, however, to do with the current solution of using a VERSION file to represent the version to be released / last released.

In pre-release.yaml, read the current release version from the git tags instead. This will mean we don't need to make a new commit in the release PR, and so we don't need to worry about GPG signing that commit. In fact we can rebase rather than squash since the main branch has a rule to enforce linear history as well as signed commits. That will make the release PR nicer to review.
in release.yaml, just read the version to be released from changelog latest.

TODO:

[x] re-enable signed commits check for release branch
[x] update the docs
[ ] demo / review the process with the core team
[ ] deal with the issue where pushes to main occur during a release.
[ ] deal with the problem rebasing squashed commits

Okay, the work on removing the VERSION file is done, and appears to have worked.
The rebasing idea has not, however. Old commits that have been squashed into the release branch are being rebased on, from before we had the commit signing rule on main.
Perhaps we need to re-branch the release branch from main as of the last release.

alright well I tried deleting the release branch and creating it again from the v0.5.2 tag but the new PR still has a bunch of commits I don't recognise. Need to have another look at this when I have more time.

I would like to enforce the security of automated releases.
To do so, I would like to set action permissions, in the "Actions" settings, to "local actions only", or maybe "Allow select actions" with only the ones from github.

 That would result in a breach into the cucumber build mechanism which is used to release all cucumber things.
Preventing this would mean, in pre-release.yml, avoid reading the changelog with an external action, and avoid creating the realease PR with another one.
mattwynne/changelog-action is a fork, based on the docker image mattwynne/changelog which is also a fork with a binary in it written in go. A lot can go wrong here.
And peter-evans/create-pull-request is totally out of sight.
In release.yml, there are also a lot of dependencies out of our sight. At the moment as the release still require some human review, that is barely an issue. But as it is planned to automate all the things, I think we should be more careful with those dependencies.

Aurélin and I paired today. We did some mitigation of the chances of a supply chain attack on the GitHub Actions plugins by choosing the "Allow select actions" and adding the two 3rd party ones we're using to the list.
Ultimately, we think it might be best to fork those 3rd party plugins to the Cucumber org, and choose the "Use local actions only" option.

We had to do some tidying up of the release branch, as the previous mechanism had made a bit of a mess of it. We ended up re-creating the branch from the e2dc1111de3ea967fab9bcb5b57c6dc00a4b9a65 commit, which is where we think the v0.5.2 tag should have been pointing.

With the release branch tidied up, the pre-release workflow successfully created https://github.com/cucumber/build/pull/44. We reviewed and merged the PR, so the first "automated" release is now in progress!

We have an issue that, if the pre-release script runs while a release is still in progress (i.e. you push a new commit to main before the new release's vx.y.z tag has been pushed) then it will still trigger, thinking that the release has not happened yet:
https://github.com/cucumber/build/runs/3185235101
I guess we need a way to signal to the script that the release is in progress, too. Maybe we can add the git tag at the beginning of the release.yaml instead of at the end?

Actually, while I think that is a real issue, the cause of this build failure seems to be something else, to do with a merge conflict when rebasing main onto the release branch. It seems like we still haven't got this all square.
I can't help thinking that having one branch per release (e.g. release/0.6.0) rather than having a single long-lived release branch, would help.

Trying out one branch per release in 8701c1c7854bdd6f5db62325d2c23e0b646a501b

Same problem, since I think the root cause is the squash commit going onto the release branch, which confuses git.
Maybe we need a commit that merged back from the release branch to main?

I may have found a working and simpler workflow based on a single release branch and using only merge. No rebase, no squash.
TL;DR:

checkout a brand new release branch from https://github.com/cucumber/build/commit/7854135920aa38b55acc4934c8c67db001883dac
when pre-releasing, checkout a new pre-release branch from main
create a PR for the pre-release based on the release branch
to release, merge the pre-release branch on release, and tag the current commit

Long version:
We would have to recreate a release branch from the following commit, because this is the last one on master before 0.6.0: https://github.com/cucumber/build/commit/7854135920aa38b55acc4934c8c67db001883dac
(the tag v0.6.0 is not usable: it point to a commit that does not exists on main).
So that would looks like this:
$ git show-branch
! [main] Update README.md
 * [release] Tweak working in release PR
--
+  [main] Update README.md
+  [main^] Update docs for automated release workflow (#47)
+  [main~2] Introduce Docker layer cache (#46)
+  [main~3] Report version numbers detected
+  [main~4] Fix
+  [main~5] Fix copy/paste error
+  [main~6] Parse version number correctly from changelog
+  [main~7] YAML
+  [main~8] Not sure why this needs an author
+  [main~9] Always take changes from `main` if there's a conflict
+  [main~10] One-branch-per-release was not finished in the previous commit
+  [main~11] Use one branch per release
+  [main~12] Trigger build
+  [main~13] Fix CHANGELOG titles
+  [main~14] Use more consistent name
+  [main~15] Update CHANGELOG for #35
+  [main~16] Merge #35
+  [main~17] Add CHANGELOG entry for https://github.com/cucumber/build/pull/38
+  [main~18] Update Perl dependencies (#38)
+  [main~19] Fix links in CHANGELOG
+  [main~20] Fix diff link in 6.0.0 header
+* [release] Tweak working in release PR

To pre-release, simply checkout a new pre-release branch from main
$ git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.

$ git checkout -b pre-release
Switched to a new branch 'pre-release'

$ git show-branch
! [main] Update README.md
 * [pre-release] Update README.md
  ! [release] Tweak working in release PR
---
+*  [main] Update README.md
+*  [main^] Update docs for automated release workflow (#47)
+*  [main~2] Introduce Docker layer cache (#46)
+*  [main~3] Report version numbers detected
+*  [main~4] Fix
+*  [main~5] Fix copy/paste error
+*  [main~6] Parse version number correctly from changelog
+*  [main~7] YAML
+*  [main~8] Not sure why this needs an author
+*  [main~9] Always take changes from `main` if there's a conflict
+*  [main~10] One-branch-per-release was not finished in the previous commit
+*  [main~11] Use one branch per release
+*  [main~12] Trigger build
+*  [main~13] Fix CHANGELOG titles
+*  [main~14] Use more consistent name
+*  [main~15] Update CHANGELOG for #35
+*  [main~16] Merge #35
+*  [main~17] Add CHANGELOG entry for https://github.com/cucumber/build/pull/38
+*  [main~18] Update Perl dependencies (#38)
+*  [main~19] Fix links in CHANGELOG
+*  [main~20] Fix diff link in 6.0.0 header
+*+ [release] Tweak working in release PR

main and pre-release have the same HEAD
release still has the HEAD from the previous release
Now, if we create a PR to merge pre-release on release, we will be able to review the diff between the previous release and the new proposed one:
$ git log --oneline release..pre-release
b2f594b (origin/main, origin/HEAD, pre-release, main) Update README.md
e9fc872 Update docs for automated release workflow (#47)
fec71a8 Introduce Docker layer cache (#46)
2a821bd Report version numbers detected
486f167 Fix
89cea8a Fix copy/paste error
f91c4a8 Parse version number correctly from changelog
a2b919f YAML
d61fd21 Not sure why this needs an author
e96d523 Always take changes from `main` if there's a conflict
99af31b One-branch-per-release was not finished in the previous commit
8701c1c Use one branch per release
2233ee6 Trigger build
177550d Fix CHANGELOG titles
ff8aaee Use more consistent name
bdc3157 Update CHANGELOG for #35
0e8c7e7 Merge #35
c61991f Add CHANGELOG entry for https://github.com/cucumber/build/pull/38
bf25f4d Update Perl dependencies (#38)
f4cefd3 Fix links in CHANGELOG
898cb77 Fix diff link in 6.0.0 header

To finalize the release, just merge pre-release into release. No rebase (so no squash), just merge.
$ git merge pre-release
Updating 7854135..b2f594b
Fast-forward
 .github/workflows/build.yaml                        | 22 +++++++++++++++++++++-
 .github/workflows/pre-release.yaml                  | 25 +++++++++++++++++++------
 .github/workflows/release.yaml                      |  2 +-
 CHANGELOG.md                                        | 35 +++++++++++++++++++----------------
 Dockerfile                                          |  9 ++++-----
 Makefile                                            |  6 +++++-
 README.md                                           | 41 +++++++----------------------------------
 scripts/{download-chrome.sh => install-chromium.sh} |  2 +-
 8 files changed, 77 insertions(+), 65 deletions(-)
 rename scripts/{download-chrome.sh => install-chromium.sh} (95%)

$ git show-branch
! [main] Update README.md
 ! [pre-release] Update README.md
  * [release] Update README.md
---
++* [main] Update README.md

release now points to the last commit we wanted to actually release. main and release have the same history, and we can add a tag to that released commit. The HEAD of release is the same commit as the one that has been released from main, not another one. That way we can reproduce the process for the next time.
$ git checkout main
Already on 'main'
Your branch is up to date with 'origin/main'.

$ git show --compact-summary
commit b2f594bc26d15604460b791de11356a1f3429bbe (HEAD -> main, origin/main, origin/HEAD, release, pre-release)
# ...

I think we should abandon the 3rd party pull request action and use gh. It's natively supported in GitHub Actions anyway.
Maybe we should try a different approach, and look into using deployments instead. https://docs.github.com/en/actions/managing-workflow-runs/reviewing-deployments

I really like the PR-based approval step in the workflow. The pull request allows us to clearly see exactly what's going into the release.
However, this model creates some tension:

We'd like to enforce linear, signed commits on main, by allowing feature branches to be squashed by the core team member who merges the change, instead of having them make a merge commit.
GitHub's rules about merge strategies are per-repo, not per-branch, so this also means release PRs would end up as squashed commits to the release branch too. There's no way I can see to prevent this, other than by convention.
If we end up with a squashed commit to the release branch, we break the git history on that branch. This makes subsequent releases hard, as git will try to merge the commits from previous releases into that branch again, potentially creating merge conflicts, but also making the release PR hard to read as it contains more commits than are really being released. Also, if a tag is put on the released commit, it's not showing on main where the original commit was.

Ideally, I think, we'd have squash merges to main and merge commits to release, but GitHub won't let us enforce this.

I tried out the option of release approval but it's pretty lame. You have no way to see any details of what it is you're approving.

OK I have something that seems to work in https://github.com/mattwynne/release-workflow
It works by creating two branches in the pre-release workflow:

a pre-release/vx.y.z branch off main when you trigger the release
a release/vx.y.z branch off the previous release version

Then it makes a PR onto that release/vx.y.z branch from the pre-release/vx.y.z branch that contains the new commits.
Once the PR is merged into the release/* branch, the release workflow runs, creates a GitHub Release, and even if there's a squash merge commit, that still seems to tag the commit on main, rather than the throwaway squash commit.
I think the next step might be to factor out some re-usable (and perhaps even testable!) actions from that spike, so that we can use them here.

I've updated the pre-release and release actions workflows in this repo, and the pre-release one seems to have worked.
I had some trouble bootstrapping it:

I had to move the tag 😲 for v0.6.0 as it was pointing to one of those ugly squashed commits, so I moved it back to the relevant tag on main.
creating the release/0.7.0 branch failed with refusing to allow a GitHub App to create or update workflow .github/workflows/pre-release.yamlwithoutworkflows permission which I think is because this release contains changes to the workflow, which the bot is not allowed to make. This could trip us up in future, assuming we need to revise the workflows again. I worked around it by manually pushing the release/0.7.0 branch from the (corrected) v0.6.0 tag.

OK the release workflow has worked!
I'd like to leave this open until we make another release, just in case.

It's working.


Examples and Courses doesn't work on a Website

It seems that the main menu "Examples" and "Courses" is something left from an old website or something that got deleted. Because they don't work.
Another issue is that:
https://mc.yandex.ru/metrika/tag.js
file doesn't load because of an invalid Cert.

Yeah, those two links are not working in the main menu and also in the footer.


Completion Linting Error

Issue Report Checklist

[x] Searched the issues page for similar reports
[ ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[x ] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[ ] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
The warning message can be seen below, to reproduce the error it just appears whenever the memory runs low on my pc when I'm manipulating large tables in Pandas. I read in previous related issues on the same to give the firewall exceptions to spyder.exe.. I did this also and restarted and still it appears every once in a while... I never had this issue when I was using the 3.7 version of spyder, but in 4.0 this issue is showing up everyday.

What steps reproduce the problem?

working with spyder for a bit and using a lot of processing with pandas, happens randomly, but when it starts you cannot stop it until you restart spyder. Then the issue happens again.

What is the expected output? What do you see instead?

Versions

Spyder version: 4.1.1
Python version: 3.7.4 64 bit
Qt version: 5.9.6
PyQt version:  5.9.2
Operating System name/version: Windows 10

Dependencies

# Mandatory:
atomicwrites >=1.2.0           :  1.3.0 (OK)
chardet >=2.0.0                :  3.0.4 (OK)
cloudpickle >=0.5.0            :  1.3.0 (OK)
diff_match_patch >=20181111    :  20181111 (OK)
intervaltree                   :  None (OK)
IPython >=4.0                  :  7.13.0 (OK)
jedi =0.15.2                   :  0.15.2 (OK)
nbconvert >=4.0                :  5.6.1 (OK)
numpydoc >=0.6.0               :  0.9.2 (OK)
paramiko >=2.4.0               :  2.7.1 (OK)
parso =0.5.2                   :  0.5.2 (OK)
pexpect >=4.4.0                :  4.8.0 (OK)
pickleshare >=0.4              :  0.7.5 (OK)
psutil >=5.3                   :  5.7.0 (OK)
pygments >=2.0                 :  2.6.1 (OK)
pylint >=0.25                  :  2.4.4 (OK)
pyls >=0.31.9;<0.32.0          :  0.31.9 (OK)
qdarkstyle >=2.8               :  2.8 (OK)
qtawesome >=0.5.7              :  0.7.0 (OK)
qtconsole >=4.6.0              :  4.7.1 (OK)
qtpy >=1.5.0                   :  1.9.0 (OK)
rtree >=0.8.3                  :  0.9.3 (OK)
sphinx >=0.6.6                 :  2.4.0 (OK)
spyder_kernels >=1.9.0;<1.10.0 :  1.9.0 (OK)
watchdog                       :  None (OK)
zmq >=17                       :  18.1.1 (OK)

# Optional:
cython >=0.21                  :  0.29.15 (OK)
matplotlib >=2.0.0             :  3.1.3 (OK)
numpy >=1.7                    :  1.18.1 (OK)
pandas >=0.13.1                :  1.0.2 (OK)
scipy >=0.17.0                 :  1.3.1 (OK)
sympy >=0.7.3                  :  1.5.1 (OK)

Duplicate of #11026

We're working on a fix for this right now and it'll be part of 4.1.2, to be released this weekend or next week at most. Sorry for the inconvenience.
Besides, you need to give permissions to the python.exe and pythonw.exe executables present in the Anaconda installation or the same conda environment from which Spyder is started.


Implement a helper struct to build transactions

This utility uses well-known keys (`WK.Keys`) for signature and expect
output created (via `split`, `merge`, etc...) to use them as addresses.
It works by adding all inputs to a "refund" address and having operations,
such as `draw` or `split`, work on this refund address.

Split off #952 for easier reviewing.

Updated: Moved to a range overload. It looks pretty damn rad. The comments which are left are more notes for the reviewers, not things I plan to address in this PR.

It would help this PR a lot if the new routines tried to be used in our test-suite. Then we could see if anything needs improving..

Ah the usage code was moved to https://github.com/bpfkorea/agora/pull/952?

Pushed a rebased (removing the need to special case Genesis) & updated from feedback comments.


hotfix(internals): version bump in config

💥

Deploy preview failed.
Built with commit df3b448fa868e06745fd3ac70c141476bd43fa87
https://app.netlify.com/sites/react-boilerplate/deploys/57be79dd6686740af3264b94

Coverage remained the same at 98.468% when pulling df3b448fa868e06745fd3ac70c141476bd43fa87 on justingreenberg:patch-1 into 22360106e1ad2eb2362f4835a13e77b575b10d55 on mxstbr:master.

Damn totally forgot, thanks!

@justingreenberg @mxstbr Seems it would be good to pull the version number from package.json, no?
Example and caveat


Javascript challenge via hackerrank

Closing Issue/Referencing Issue
issue reference (#)
Changes Made In Pull Request
Added the solution to my javascript challenge
*
*

Hey please add your name and info in README (see upstream in CONTRIBUTING.md)

I've added my info to README.md, thanks!


Adding gunicorn to image

So this will install gunicorn, but don't we need to edit the Dockerfile in order to actually use it?

Hi Patrick, yes we can modify the entry command on prod to use Gunicorn , we are already doing something similar with the current uvicorn where we control number of workers and rootpath (1.1) .
In the last push I added Uvicorn[standard] which installs some extra libs required by  gunicorn.

This is pretty straightforward and looks good to me @alongreyber. Think it's ready to merge.

I'm testing locally and some stuff like manage.py dev isn't working. I'll request review when it's fixed.

Had to fix some stuff that was preventing manage.py dev from working. Turns out gunicorn handles environment variables slightly differently from uvicorn.


Add ibc-crosschain as a IBC middleware for the IBC transfer module

Depends on: https://github.com/zeta-chain/node/issues/2128
Add a IBC middleware https://ibc.cosmos.network/main/ibc/middleware/develop.html for ibc-crosschain to hook into ibc-transfer
Follow: https://ibc.cosmos.network/main/ibc/middleware/develop.html

Closing since not considered for the time being. Keeping the EPIC open for tracking.


remove SwiftSyntax support for _forget, the old spelling of discard

resolves rdar://112549258
paired with https://github.com/apple/swift/pull/67902

@swift-ci please test

@swift-ci please test


Upgrade ip-bom from 7.0.0.CR1 to 7.0.0.CR2 + related fixes

This replaces https://github.com/uberfire/uberfire/pull/359.

I think we should run SDM (both mvn gwt:run and from IDEA) before merging this as we've upgraded the Jetty version in 7.0.0.CR2 anticipating the next GWT release. Just to make sure this doesn't break dev move with our current GWT version. It likely won't because in the current GWT Jetty is still packaged as part of the gwt-dev.jar, but I'd like to make sure.

I did try mvn clean gwt:run inside uberfire-showcase/uberfire-webapp -- everything went well. But it would be good if someone could try from IDEA as well.

+1


Update EventListenerHook

It was breaking several websites.
Plus:

added some minor scope change to the mailbox
update the npm package version for publication

Thank you!


No 'LightningAligner' can be import

Dear,
I'm going through this issue where i can not import 'LightningAligner' from trainer.py. Indeed 'LightningAligner' do not exist in trainer.py. How can i fix this ? Is this normal ? Here is the error :
Traceback (most recent call last):   File "/path/bio_embeddings", line 6, in <module>     from bio_embeddings.utilities.cli import main   File "/paths/cli.py", line 6, in <module>     from bio_embeddings.utilities.pipeline import parse_config_file_and_execute_run   File "/path/pipeline.py", line 40, in <module>     from bio_embeddings.align.pipeline import run as run_align   File "/path/bio_embeddings/align/__init__.py", line 1, in <module>     from .deepblast import deepblast_align   File "/path/align/deepblast.py", line 8, in <module>     from deepblast.trainer import LightningAligner ImportError: cannot import name 'LightningAligner' from 'deepblast.trainer' (/path/trainer.py)
Thanks alot

seems to be better thanks

There could be merits to having bio_embeddings updated. Thoughts @konstin ?

i'm not working on bio_embeddings anymore

Thanks, feel free to CC someone who is continuing maintainence on
bio_embeddings
On Wed, Mar 29, 2023 at 9:19 AM konstin @.***> wrote:

There could be merits to having bio_embeddings updated. Thoughts @konstin
https://github.com/konstin ?
i'm not working on bio_embeddings anymore
—
Reply to this email directly, view it on GitHub
https://github.com/flatironinstitute/deepblast/issues/131#issuecomment-1488599117,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA75VXJR5NMWZ5GB5TGAPUTW6QZH7ANCNFSM6AAAAAAWL45O7U
.
You are receiving this because you commented.Message ID:
@.***>

CC @sacdallago

Hi @Ravy-LFL I'm going to close this issue since it seems resolved -- but feel free to reopen if there are outstanding issues.


Please merge CL<PHONE_NUMBER> into stable channel

@ricowind @whesse @kasperl
This fixes pub to always load assets from its own SDK even if DART_SDK is set.
Please merge CL<PHONE_NUMBER>.

This was pushed to stable on July 2, in Version 1.11.1


document and samples for melody tiles

Make sure to update the inline images in head-or-tail

I dont know what that means.

[cid:4e08e88f-6a8c-42b6-9ee7-51055ee09418]
Sent from Outlookhttp://aka.ms/weboutlook

From: Tom Ball @.>
Sent: Tuesday, October 25, 2022 9:01 AM
To: microsoft/microcode @.>
Cc: Peli de Halleux @.>; State change @.>
Subject: Re: [microsoft/microcode] document and samples for melody tiles (Issue #338)
I dont know what that means.
—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fmicrocode%2Fissues%2F338%23issuecomment-1290799162&data=05|01|jhalleux%40microsoft.com|48ab6bbadbb940593ffa08dab6a23d3f|72f988bf86f141af91ab2d7cd011db47|1|0|638023105184846960|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=J6TBFePXG5YThNHsZ1SnuGYr00A4XRDIcNQKfzs8%2Fg0%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAA73QKPVP75SFLI5ENPPSNLWE777FANCNFSM6AAAAAARNNKE54&data=05|01|jhalleux%40microsoft.com|48ab6bbadbb940593ffa08dab6a23d3f|72f988bf86f141af91ab2d7cd011db47|1|0|638023105184846960|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=tuDlVPvRRbCbtNY1vF%2F2LPUkLFzS2k49mzqphZ1%2FSUM%3D&reserved=0.
You are receiving this because you modified the open/close state.Message ID: @.***>


HMSPROV-166 - clear the wizard on close

This addition unmounts the wizard component and its context after the wizard is closed.

Yep, you're right
We can unmount the wizard from the sample page, but it is just a usage example, a control wizard is better, protecting the wizard from consumers' mistakes :)


RFC: Native Tensorflow Reader support

Motivation
It'd be nice to offer a smooth user experience to Tensorflow users. That is, a ML engineer writes a feature engineering pipeline in Spark, write to rikai format, while users can directly consume the dataset from training without explicitly knowing the schema and etc.
# in Spark

df = spark.createDataFrame(...)
df.write.format("rikai").save("s3://foo/bar")

# In Training

import rikai.tf.data

dataset = (
    rikai.tf.data
    .from_rikai("s3://foo/bar", columns=["image", "bboxes"])
    .batch(4)
    .prefetch(8)
    .apply(image_transform)
)

for example in dataset:
     print(a)

Requirements
Tensorflow dataset requires to specify tf.TensorSpec before the reader is initiated. So it is desired that the equivalent of tensorspec, including shape, dtype are stored somewhere with the rikai dataset.  This is especially true for NDArrayType, which data shape and dtype can not be determined by the class itself.  We can infer the shape and dtype for classes like Box2d, Point and etc, while we can infer dtype but not shape for classes like Image or Video.

Two potential solutions:

Add support of parameterized user define type in Spark

so that we can do
df = spark.createDataFrame([{"img": np.array([[1, 2], [2, 3]], dtype=np.uint8}],
   schema=StructType([StructField("img", NDArrayType(shape=(2, 2), dtype=np.uint8)])
df.write.format("rikai").save("s3://a/b/c")

or 2. Add extra metadata into rikai format
df = spark.createDataFrame({"img", np.array([[1, 2], [3, 4]], dtype=np.uint8)})

df.write.format("rikai")
  .option("rikai.tf.schema", "<some format string>")
  .save("s3://a/b/c")

is simpler to implementation, but users need to write schema multiple times in different forms. I'd lean to the first solution.

What  do you think @changhiskhan @darcy-shen


Refactor: switch args style

Closes #71

This is a nice change and everything worked as expected 👍 The only thing I noticed was that we may be missing a test for when switch raises a ValueError. I don't think it's super important but if we think it'll help we could add one more test to test_switch.py just to make sure line 7 is covered:
def test_switch_missing_args():

    with pytest.raises(ValueError):
        switch()

Thanks for this suggestion. Added in edefa93


Binenv cache containing only most recent 30 versions

With kubectl we've recently noticed that 1.19.7 version (which we had in .binenv.lock) disappears when kubectl versions are updated, currently it's the last one in the cache.json as of:
https://github.com/devops-works/binenv/commit/165c1fe4d2eea6a44137d8aed784dec16f585202#
but when you update locally it will be pushed out by new 1.22.0-beta.1 and 1.22.0-beta.1 releases and next automated update of cache.json will drop 1.19.7 as well.
This is very unfortunate as it makes impossible to install older locked versions with binenv.
It's caused by github API used in distributions.yaml, e.g. for kubectl:
https://api.github.com/repos/kubernetes/kubernetes/releases
which according to https://docs.github.com/en/rest/reference/repos#list-releases returns only 30 results per page.
Easiest work around would be to add per_page=100 to these URLs in ditributions.yaml, but that would only postpone this issue for a while (as some of the tools supported by binenv do release very often).
It would be better to support reading all pages with the results in internal/list/github_releases.go, it might cause the Ratelimit to run out sooner, but supporting all versions (especially for locking) is IMHO worth doing this.
I can try to modify the code to do this, but I'm not very familiar with Go yet. Please confirm that this is worth implementing.

For kubectl when reading 100 results per page (https://api.github.com/repos/kubernetes/kubernetes/releases&per_page=100) there are 5 pages as indicated by the returned header:
link: <https://api.github.com/repositories/20580498/releases?per_page=100&page=2>; rel="next", <https://api.github.com/repositories/20580498/releases?per_page=100&page=5>; rel="last"

To preserve some Ratelimit it might be possible to allow partial cache.json updates, that it would read existing cache.json first and then read the pages only as long as there are some new versions which aren't in the cache yet (assuming that github release never really disappears).

Maybe using a library like https://pkg.go.dev/github.com/google/go-github/v37/github#hdr-Pagination which supports Pagination as well as RateLimiting https://pkg.go.dev/github.com/google/go-github/v37/github#hdr-Rate_Limiting.

@shr-project thanks for the heads up on this. I will look into it ASAP.

I think I will handle this here https://github.com/devops-works/binenv/blob/develop/internal/list/github_releases.go#L44
Extracting the HTTP client code from this function and iterate until we have no pages left.
The rate limit is not really an issue, since this is mostly executed using a token in GitHub actions. Given the number of distributions, it is already not feasible to run without a GitHub token, so I'd say this is not an issue (and there is a lot of emphasis about this in the README).
Does this plan sounds good to you ?

Sounds good to me.

Thanks for quick fix, verified locally and it works fine.

Awesome :+1:
Thanks for reporting !


DVLA API Key expiring due to infrequent polling

The integration does not seem to poll the DVLA API frequently enough to prevent the DVLA expiring the API key. I am currently having to email the DVLA to reactivate the API key periodically. I can't see a service to call in order to force polling of the API.

It's set to poll once a day of I recall so there might be something else going on. Not sure what though.

Thanks for the quick response, I'll double check the logs.

This should be fixed in 2024.7.0


Remove host mounted volume in docker-compose

Remove host mounted volume in docker-compose as the app expects files created at build time that doesn't exist in the mounted source files.
Even though I like the development trick of mounting the source code during development to be able to "hot reload" instead of having to build the image from scratch again, it doesn't work in this case, because it expects some files and directories to exists.
It expects:

a directory /app/static , created at build time
a directory /app/media, created at build time

As I wanted to develop locally with the mounted app directory, I tried creating them by hand, but the files are created and owned by my own Linux user, with uid 1000, and the Linux user created inside the container is a new user (saleor), and as it is created as a system user, it has uid 999, so it cannot create anything inside those directories.
I tried commenting out the lines to create a custom user inside the container instead of the default root user.
But then I discovered that it also expects:

A file /app/webpack-bundle.json copied from the previous Docker build stage, created at build time

...and probably some other files in subsequent steps.
I want to merge this change because...
With the current layout of the source files and architecture, it's not feasible to mount the local app directory for development. If it is wanted / required, while a new layout is defined, this would simplify testing Saleor locally with Docker.

Relevant issues
Directly causes: #3049
I can't say that it causes #2642 , but after adding the directories manually, it causes the problems described in these subsequent comments: https://github.com/mirumee/saleor/issues/2642#issuecomment-414584455 https://github.com/mirumee/saleor/issues/2642#issuecomment-419433915
https://github.com/mirumee/saleor/issues/2642#issuecomment-427600603
Then, after adding the directories manually and removing the custom user or having any other workaround, it causes: #2506
Pull Request Checklist

[n/a] Privileged views and APIs are guarded by proper permission checks.
[n/a] All visible strings are translated with proper context.
[n/a] All data-formatting is locale-aware (dates, numbers, and so on).
[n/a] Database queries are optimized and the number of queries is constant.
[x] The changes are tested.
[n/a] The code is documented (docstrings, project documentation).
[n/a] GraphQL schema and type definitions are up to date.

I agree that we should drop this, we should also move the static assets outside of the saleor directory and then re-evaluate which parts should be shadowed by local directories and which should not.

I agree @patrys, but maybe we could merge this one first and then work on moing assets outside of saleor directory?

Yes, they should be separate changes.

Would it make sense to include removing ", will automatically reload code" from https://saleor.readthedocs.io/en/latest/customization/docker.html as part of this change.

Good point @ajostergaard :+1: .
I just updated it.

:tada:


Manage the file structure

I know we moving fast with the dev, but when we code we have to make sure file structure , readability,

the above is not good standard of creating files.
can we push all the page files to a folder called pages

@sanjay-kv sir i want to work on that

@sanjay-kv I have fixed this issue in PR #184 you may close it

can u do this on main branch

@sanjay-kv I have raised #185 for the same


Fix incremental checksum computation for crc

Motivation
Crc32C java implementation was not giving correct result for incremental computation.
Modifications
Fix checksum crc32c checksum computation. Author has also provided fix on it.
Result
Crc32c checksum gives correct result for incremental checksum computation.

CLA is valid!

CLA is valid!

CLA is valid!


Updated Release?

Is it possible to build/release the updated PCB?
Not having used kicad before it looks like I need an older version and its not very clear how to safely create a gerber file.

I think I figured it out by switching to the develop branch and downgrading to the previous release of kicad


File "C:\Users\utkar\AppData\Roaming\Python\Python37\site-packages\notebook\notebookapp.py", line 302, in init_settings
nbextensions_path=jupyter_app.nbextensions_path,
File "C:\Users\utkar\AppData\Roaming\Python\Python37\site-packages\notebook\notebookapp.py", line 1292, in nbextensions_path
from IPython.paths import get_ipython_dir
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython_init.py", line 56, in
from .terminal.embed import embed
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\terminal\embed.py", line 15, in
from IPython.core.interactiveshell import DummyMod, InteractiveShell
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\core\interactiveshell.py", line 63, in
from IPython.utils import io
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\utils\io.py", line 87, in
devnull = open(os.devnull, 'w')
FileNotFoundError: [Errno 2] No such file or directory: 'nul'
Failed to run jupyter as observable with args notebook --no-browser --notebook-dir=C:\Users\utkar\AppData\Local\Temp\3ce06277-cbb6-4a5a-a08b-aecdb18abecd --config=C:\Users\utkar\AppData\Local\Temp\3ce06277-cbb6-4a5a-a08b-aecdb18abecd\jupyter_notebook_config.py --NotebookApp.iopub_data_rate_limit=10000000000.0
at t.JupyterConnectionWaiter.rejectStartPromise (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:9:129405)
at t._error (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:9:130044)
at t.__tryOrUnsub (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:24:5463)
at t.error (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:24:4886)
at t._error (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:24:3793)
at t.error (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:24:3487)
at t.error (c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:24:9161)
at c:\Users\utkar\.vscode\extensions\ms-python.python-2020.8.108011\out\client\extension.js:9:48566]

Info 2020-09-10 10:41:58: Python Daemon (pid: 9496): Execute rpc method ping in DS Daemon
Info 2020-09-10 10:41:58: Python Daemon (pid: 9496): Execute rpc method ping from C:\Users\utkar\AppData\Local\Programs\Python\Python37\python.exe
Info 2020-09-10 10:41:58: Python Daemon (pid: 9496): pinged with hello
Info 2020-09-10 10:42:17: Cached data exists getEnvironmentVariables, tasks
Info 2020-09-10 10:42:21: Cached data exists getEnvironmentVariables, extension-output-#4

I am getting this at output tab
https://pastebin.com/CeexHs62

Thanks that helps. This output here generally occurs when a kernel is failing to run:
nfo 2020-09-10 10:47:43: Python Daemon (pid: 9496): write to stderr: [I 10:47:43.487 NotebookApp] Creating new notebook in /

Info 2020-09-10 10:47:43: Cached data exists getEnvironmentVariables, extension-output-#4
Info 2020-09-10 10:47:43: Python Daemon (pid: 9496): write to stderr: [I 10:47:43.642 NotebookApp] Kernel started: e96f60f6-1ce9-493d-ba37-83b26d1b02e5, name: python3

Info 2020-09-10 10:47:43: Waiting for idle on (kernel): e96f60f6-1ce9-493d-ba37-83b26d1b02e5 -> unknown
Info 2020-09-10 10:47:46: Python Daemon (pid: 9496): write to stderr: [I 10:47:46.622 NotebookApp] KernelRestarter: restarting kernel (1/5), new random ports

Info 2020-09-10 10:47:49: Python Daemon (pid: 9496): write to stderr: [I 10:47:49.648 NotebookApp] KernelRestarter: restarting kernel (2/5), new random ports

Info 2020-09-10 10:47:52: Python Daemon (pid: 9496): write to stderr: [I 10:47:52.668 NotebookApp] KernelRestarter: restarting kernel (3/5), new random ports

Info 2020-09-10 10:47:55: Python Daemon (pid: 9496): write to stderr: [I 10:47:55.681 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports

Info 2020-09-10 10:47:58: Python Daemon (pid: 9496): write to stderr: [W 10:47:58.688 NotebookApp] KernelRestarter: restart failed

Info 2020-09-10 10:47:58: Python Daemon (pid: 9496): write to stderr: [W 10:47:58.688 NotebookApp] Kernel e96f60f6-1ce9-493d-ba37-83b26d1b02e5 died, removing from map.

If you look in the 'Jupyter' output tab, does it list any reason why the kernel is failing?

Does this help?
Jupyter Output

Sorry but no, it says the same thing as the log. Something about your main python kernel is messed up but we don't get any output from Jupyter about it.
You might try opening a python terminal in VS code and running this:
python -m ipykernel_launcher

Hopefully that will output some more information.

This gives the following output:

Traceback (most recent call last):
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 193, in run_module_as_main
"main", mod_spec)
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\utkar\AppData\Roaming\Python\Python37\site-packages\ipykernel_launcher.py", line 15, in
from ipykernel import kernelapp as app
File "C:\Users\utkar\AppData\Roaming\Python\Python37\site-packages\ipykernel_init.py", line 2, in
from .connect import *
File "C:\Users\utkar\AppData\Roaming\Python\Python37\site-packages\ipykernel\connect.py", line 13, in
from IPython.core.profiledir import ProfileDir
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython_init.py", line 56, in
from .terminal.embed import embed
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\terminal\embed.py", line 15, in
from IPython.core.interactiveshell import DummyMod, InteractiveShell
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\core\interactiveshell.py", line 63, in
from IPython.utils import io
File "C:\Users\utkar\AppData\Local\Programs\Python\Python37\lib\site-packages\IPython\utils\io.py", line 87, in
devnull = open(os.devnull, 'w')
FileNotFoundError: [Errno 2] No such file or directory: 'nul'

Sounds like ipython is not up to date or has a bug.
This issue sounds close:
https://github.com/ipython/ipython/issues/9023

Thanks
This Link Helped me