learning the graph classification

❓ Questions & Help

Hello, I'm trying to learn pytorch geometric, you have helped me a lot before and I'm thankful. I need your help to know if the way I am following is right or not.
I have some graphs, including nodes and edges. There is 8 attributes for  the nodes. Each node has some of these attributes with a value for it.
I want to do classification of the graphs.
I created my dataset like the tu-dataset:
there is some files including:
MM_A.txt
1, 2
2, 1
1, 3
3, 1
1, 4
4, 1
5, 6
6, 5
5, 7
7, 5
...
MM_edge_labels.txt
0
0
0
0
1
1
0
...
MM_graph_indicator.txt
1
1
1
1
2
2
...
MM_graph_labels.txt
0
1
0
1
0
0
0
0
...
MM_node_attributes.txt
1, 0, 0, 0, 0, 0, 0, 0
0, 0, 1, 5, 1, 0, 0, 0
0, 0, 1, 8, 3, 0, 0, 0
0, 0, 0, 0, 0, 1, 1, 1
1, 1, 0, 0, 0, 0, 0, 0
0, 0, 1, 10, 3, 0, 0, 0
0, 0, 1, 5, 3, 0, 0, 0
...
MM_node_labels.txt
0
1
1
2
0
1
...
Here is the code to create the dataset and learning:
import os
import os.path as osp
import shutil
from torch_geometric.nn import DynamicEdgeConv, global_max_pool
from pointnet2_classification import MLP
import torch
from torch_geometric.data import InMemoryDataset, download_url, extract_zip
from torch_geometric.io import read_tu_data
from torch_geometric.data import DataLoader
from torch_geometric.nn import PointConv, fps, radius, global_max_pool
import sys
sys.path.append('..')
from torch.nn import Sequential as Seq, Linear as Lin, ReLU, BatchNorm1d as BN
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch_geometric.nn import global_max_pool, TopKPooling, GCNConv
from bijou.learner import Learner
from bijou.datasets import pyg_yoochoose_10k
from bijou.data import DataBunch, PyGDataLoader
from bijou.metrics import accuracy
import torch
import torch.nn.functional as F
from torch_geometric.nn import GCNConv
class ModelDB(InMemoryDataset):
def __init__(self, root, transform=None, pre_transform=None,pre_filter=None,
             use_node_attr=False, use_edge_attr=False):

    super(ModelDB, self).__init__(root, transform, pre_transform, pre_filter)

    self.data, self.slices = torch.load(self.processed_paths[0])

    print ('data', self.data, 'slice=',self.slices)

    if self.data.x is not None and not use_node_attr:
        num_node_attributes = self.num_node_attributes
        self.data.x = self.data.x[:, num_node_attributes:]

@property
def num_node_labels(self):
    print('numnodlabel')
    if self.data.x is None:
        return 0
    for i in range(self.data.x.size(1)):
        x = self.data.x[:, i:]
        if ((x == 0) | (x == 1)).all() and (x.sum(dim=1) == 1).all():
            return self.data.x.size(1) - i
    return 0

@property
def num_node_attributes(self):
    print('numnodattr')
    if self.data.x is None:
        return 0
    return self.data.x.size(1) - self.num_node_labels

# @property
def num_edge_labels(self):
    print('numeglabel')
    if self.data.edge_attr is None:
        return 0
    for i in range(self.data.edge_attr.size(1)):
        if self.data.edge_attr[:, i:].sum() == self.data.edge_attr.size(0):
            return self.data.edge_attr.size(1) - i
    return 0

@property
def num_edge_attributes(self):
    print('numegattr')
    if self.data.edge_attr is None:
        return 0
    return self.data.edge_attr.size(1) - self.num_edge_labels

@property
def raw_file_names(self):
    print('rawfilename')
    names = ['A', 'graph_indicator', 'edge_labels', 'graph_labels', 'node_attributes', 'node_labels','edge_attributes']
    return ['MM_{}.txt'.format(name) for name in names]

@property
def processed_file_names(self):

    return ['data.pt']

@property
def raw_dir(self):
    return osp.join(self.root, 'raw')

@property
def processed_dir(self):
    name = 'processed'
    return osp.join(self.root, name)

def process(self):
    print('process start')
    name='MM'
    self.data, self.slices = read_tu_data(self.raw_dir, name)

    if self.pre_filter is not None:

        data_list = [data for data in data_list if self.pre_filter(data)]

    if self.pre_transform is not None:
        data_list = [self.pre_transform(data) for data in data_list]

 torch.save((self.data, self.slices), self.processed_paths[0])

dataset = ModelDB(root='G:/Model', use_node_attr=True, use_edge_attr=False)
class Net(torch.nn.Module):
def init(self):
super(Net, self).init()
self.conv1 = GCNConv(dataset.num_node_features, 4)
self.conv2 = GCNConv(4, dataset.num_classes)
def forward(self, data):

    x, edge_index, batch = data.x, data.edge_index, data.batch
    print('shape1=',x.shape)
    x = self.conv1(x, edge_index)
    print('shape2=',x.shape)
    # x = x.view(-1, 60)

    x = F.relu(x)
    print('shape3=',x.shape)

    x = F.dropout(x, training=self.training)
    print('shape4=',x.shape)
    x = self.conv2(x, edge_index)
    print('shape5=',x.shape)

    return F.log_softmax(x, dim=1)

n = len(dataset) // 10
test_dataset = dataset[:n]
train_dataset = dataset[n:]
print('dataset0=',dataset[0])
test_loader = DataLoader(test_dataset, batch_size=80)
train_loader = DataLoader(train_dataset, batch_size=80)
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = Net().to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)
def train(epoch):
model.train()
loss_all = 0
for data in train_loader:
    data = data.to(device)
    optimizer.zero_grad()
    output = model(data)
    loss = F.nll_loss(output, data.y)
    loss.backward()
    loss_all += data.num_graphs * loss.item()
    optimizer.step()
return loss_all / len(train_dataset)

def test(loader):
model.eval()
correct = 0
for data in loader:
    data = data.to(device)
    pred = model(data).max(dim=1)[1]
    correct += pred.eq(data.y).sum().item()
return correct / len(loader.dataset)

for epoch in range(1, 201):
loss = train(epoch)
train_acc = test(train_loader)
test_acc = test(test_loader)
print('Epoch: {:03d}, Loss: {:.5f}, Train Acc: {:.5f}, Test Acc: {:.5f}'.
format(epoch, loss, train_acc, test_acc))
In the first place, I want to know if the way I created my input files and the dataset and laerning process is true or not.
And second, I encounter the following error:
ValueError: Expected input batch_size (256) to match target batch_size (70).
please help me know that the way I'm following is right or not, and how to overcome the error.

the codes printed separately in the previous post!!!

You can, of course, make use of TUDataset loading mechanisms, but personally I would always process the data by myself (just for easier debugging and ensuring everything works as intended). Since your task is graph-classification, I do not fully-understand your network architecture. There seeems to be some kind of global aggregation missing that aggregates node features to global graph features.

I used TUDataset because it is very similar to my input data.
I have some graphs, each node has some attributes (the attributes are not the same in all nodes, for example node 1 has 2 attributes of the total 8 attributes, node 2 has 4 attributes of the total 8 attributes, ...). nodes and edges have labels.
The graph classification is done according to the attributes of nodes and the label of nodes and edges.
I didn't understand your last sentence!
Could you tell me what the error is for?

class Net(torch.nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = GCNConv(dataset.num_node_features, 4)
        self.conv2 = GCNConv(4, 4)
        self.lin = torch.nn.Linear(4, dataset.num_classes)

    def forward(self, data):
        x, edge_index, batch = data.x, data.edge_index, data.batch
        x = self.conv1(x, edge_index)
        x = F.relu(x)
        x = F.dropout(x, training=self.training)
        x = self.conv2(x, edge_index)
        x = F.relu(x)
        x = global_mean_pool(x, batch)
        x = self.lin(x)

        return F.log_softmax(x, dim=1)

Thank you very much!!!!!
It works.
the result is as the following:
Epoch: 001, Loss: 0.68808, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 002, Loss: 0.67881, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 003, Loss: 0.67722, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 004, Loss: 0.67096, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 005, Loss: 0.66708, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 006, Loss: 0.66639, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 007, Loss: 0.65875, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 008, Loss: 0.65206, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 009, Loss: 0.64866, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 010, Loss: 0.63805, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 011, Loss: 0.63464, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 012, Loss: 0.63463, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 013, Loss: 0.62172, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 014, Loss: 0.62425, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 015, Loss: 0.60330, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 016, Loss: 0.59983, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 017, Loss: 0.57610, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 018, Loss: 0.56826, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 019, Loss: 0.56400, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 020, Loss: 0.54949, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 021, Loss: 0.54285, Train Acc: 0.57143, Test Acc: 0.28571
Epoch: 022, Loss: 0.51800, Train Acc: 0.64286, Test Acc: 0.57143
Epoch: 023, Loss: 0.48245, Train Acc: 0.68571, Test Acc: 0.71429
Epoch: 024, Loss: 0.49753, Train Acc: 0.74286, Test Acc: 0.71429
Epoch: 025, Loss: 0.47759, Train Acc: 0.91429, Test Acc: 0.85714
Epoch: 026, Loss: 0.44741, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 027, Loss: 0.43629, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 028, Loss: 0.43012, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 029, Loss: 0.37574, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 030, Loss: 0.38201, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 031, Loss: 0.36425, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 032, Loss: 0.36529, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 033, Loss: 0.34476, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 034, Loss: 0.31921, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 035, Loss: 0.33876, Train Acc: 0.92857, Test Acc: 0.85714
Epoch: 036, Loss: 0.28582, Train Acc: 0.94286, Test Acc: 1.00000
Epoch: 037, Loss: 0.30076, Train Acc: 0.97143, Test Acc: 1.00000
Epoch: 038, Loss: 0.27581, Train Acc: 0.97143, Test Acc: 1.00000
Epoch: 039, Loss: 0.26290, Train Acc: 0.97143, Test Acc: 1.00000
Epoch: 040, Loss: 0.25185, Train Acc: 0.97143, Test Acc: 1.00000
Epoch: 041, Loss: 0.22169, Train Acc: 0.97143, Test Acc: 1.00000
Epoch: 042, Loss: 0.21283, Train Acc: 0.97143, Test Acc: 1.00000
Epoch: 043, Loss: 0.21101, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 044, Loss: 0.19844, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 045, Loss: 0.22333, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 046, Loss: 0.18416, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 047, Loss: 0.19532, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 048, Loss: 0.16506, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 049, Loss: 0.17910, Train Acc: 1.00000, Test Acc: 1.00000
Epoch: 050, Loss: 0.18781, Train Acc: 1.00000, Test Acc: 1.00000
Does it show that my model works as well? Is it reliable?


Update CONTRIBUTING.md

Closing Issue/Referencing Issue
issue reference (#)
Changes Made In Pull Request

Thanks!


Composite step

Is it possible to consider the following enhancement:
Like now we have scenario with a set of steps inside, I want to have some kind of additional entity, lets call it "composite step". Semantically, it should be very similar to scenario, but it should represent a set of atomic actions which are covered by shortcut.
Lets say like this:
Composite step: When user is logging in into application  <-- this is shortcut
When user opens browser
And user opens URL "http://myappurl"
And user sets "user1" into login text box
And user sets "password" into password text box
And user click on "login" button
More input can be found here: https://github.com/techtalk/SpecFlow/issues/813

Please use the support forums for questions and discussions. We use GitHub issues to track bugs and contributions exclusively.


Licensing

Hey,
I am curious why the license has been changed from MIT to MPL? Is it something Duckdb is also going to do moving forward?

@ankoh

The WebAssembly library grew out of a project that is independent from the CWI and the decision to license it under MPL-2.0 was my own.

And many of the extensions such as the js node bindings are also user the MPL license: https://github.com/duckdb/duckdb/tree/master/tools/nodejs.

But I'm open to discuss this. I deliberately chose MPL-2.0 over MIT since WebAssembly is still a very young target for databases and everyone should profit from upstream development in DuckDB-Wasm. MPL-2.0 should still be relaxed enough to facilitate the integration in an any kind of closed source project.

Thank you 😊


setting max_annotations directly at project creation does not work

Hello,
with the following setting

label-studio=1.13.1
label-studio-sdk=1.0.4

we encountered the following issue:

We are trying to set maximum_annotations to a higher number then 1 (10), directly at project creation with ls.projects.create(maximum_annotations=10)
Although we can confirm that the value seems to be set correctly in the database, the functionality does not seem to work as expected --> The tasks gets flagged as completed after the first annotations is submitted.
But if we then update the project with a different value for  maximum_annotations (e.g. 9) via ls.projects.update(id=id, maximum_annotations=9), the functionality works as expected.

Can you please look into this?

Hello, it was a bug in label studio itself, not in sdk. Could you try it again with the latest version of label studio from the develop branch?


How to setup the proxy?

I use node v6.9.4 and use pm2 start index.js, and get error without any message and log output.
At the same time, my private pool has no connection from the proxy.
I've changed the server and client settings in lib/test/utils.js, and anything else?

I'll need to check.  I haven't used this since node 0.12.


Fix passing host to user class when debugging

HttpUser needs the host parameter but if not set directly it was not passed to the user class in run_single_user method like it is in runners.

I changed the statement order a bit to avoid the mypy error. I hope this is ok too.
Added the locustfile also to the Environment to better match the actual runner situation.

The build is either really slow, or the test is sometimes hanging?

Yep, somehow the actions are stuck. All the tests seems to be passed but actions won't finish.

Thx!


fcron-module: Add fcron user. Fixes #23320

Motivation for this change
Add fcron user
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Would think it would be safer and package fails to compile ifbuser is set to root
Sent from my iphone
On Mar 3, 2017, 9:19 AM -0600, Joachim F<EMAIL_ADDRESS>wrote:

@joachifm commented on this pull request.
In nixos/modules/services/scheduling/fcron.nix (https://github.com/NixOS/nixpkgs/pull/23413#discussion_r104173311):

@@ -105,6 +105,10 @@ in ]; environment.systemPackages = [ pkgs.fcron ]; + users.extraUsers.fcron = { + isNormalUser = true;

Why does it need to be a normal user?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/NixOS/nixpkgs/pull/23413#pullrequestreview-24995307), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAHL7_KuGGn6_pjdyZf7Oh56xMf-UH70ks5riC-YgaJpZM4MRtou).

Safer than what? Daemon users are typically added as system users, not ordinary logins.

I mean I would think it would be safer to run as user than root. I set the package to run as user too instead of root
Sent from my iphone
On Mar 3, 2017, 9:54 AM -0600, Joachim F<EMAIL_ADDRESS>wrote:

Safer than what? Daemon users are typically added as system users, not ordinary logins.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/NixOS/nixpkgs/pull/23413#issuecomment-283991158), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAHL76mpJUCTBo7PzXjW9q07YXU3sjWUks5riDfRgaJpZM4MRtou).

Sure, but please use isSystemUser for daemon accounts.

Ah didn know that exist d. Will fix when I can, sometime today I suspect
Sent from my iphone
On Mar 3, 2017, 9:57 AM -0600, Joachim F<EMAIL_ADDRESS>wrote:

Sure, but please use isSystemUser for daemon accounts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/NixOS/nixpkgs/pull/23413#issuecomment-283991884), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAHL7wwpb2SiNlStfDB-TK7aLAEnVOmDks5riDhtgaJpZM4MRtou).

Fixed
Sent from my iphone
On Mar 3, 2017, 9:57 AM -0600, Joachim F<EMAIL_ADDRESS>wrote:

Sure, but please use isSystemUser for daemon accounts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/NixOS/nixpkgs/pull/23413#issuecomment-283991884), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAHL7wwpb2SiNlStfDB-TK7aLAEnVOmDks5riDhtgaJpZM4MRtou).

fixed by https://github.com/NixOS/nixpkgs/commit/947815f59f59fab8405af84d0a80df99dd8d6e9d


Setup vanilla Kubernetes for testing

Ready with Ansible!
Will setup Ingress controller and cert manager, then I'm probably golden.


check in wasm builds

closes #154

add built wasm in git
removed sccache
moved all wasms into a wasm sub-directory and add a rust-toolchain with minimal components

@Fraccaman Unfortunately, incremental wasm builds are still quite slow (~1:40 minutes on machine). It looks like it's the Updating crates.io index step that takes longest, so it would be nice if we could cache this between the runs somehow. There's a request for cargo build --dependencies-only (https://github.com/rust-lang/cargo/issues/2644) that would make this easy, but it's not yet available. There are however some workarounds: https://blog.mgattozzi.dev/caching-rust-docker-builds/ and https://github.com/rust-lang/cargo/issues/2644#issuecomment-830872790. Alternatively, we could change the instructions to keep the docker image running and attach to it for rebuilds. What do you think?

Multistage docker build are cool, but I need to experiment a little bit with them (the article is a great start). Avoid deleting the docker container is another option (but I would like to avoid it). I found another project called cargo-chef which may come handy. Here a blog post: https://www.lpalmieri.com/posts/fast-rust-docker-builds/ . I think cargo-chef could offer a better solution than the previous two.

Multistage docker build are cool, but I need to experiment a little bit with them (the article is a great start). Avoid deleting the docker container is another option (but I would like to avoid it). I found another project called cargo-chef which may come handy. Here a blog post: https://www.lpalmieri.com/posts/fast-rust-docker-builds/ . I think cargo-chef could offer a better solution than the previous two.

Nice, cargo-chef looks ideal for this!

Merge and follow up the work with #275


Add cocoapods support

Hello @yankodimitrov. Thanks for the great work you've done so far in this lib.
I have added cocoapods support.
I left your PasscodeKeychainRepository and PasscodeNSUserDefaultsRepository out, as I think that there is no need for someone to load them both in his code and this will be different for each app.
I was thinking that you might want to create a second pod, like SwiftPasscodeLockFull, that will include them. Which I don't really like as an idea.
Please check everything in .podspec, like version and license.

Actually it might worth also removing the viewController. But then for some devs, it might be hard to use the library.

I will close it for now as I have made this pull request in master branch and I can't continue. I will branch it, and make a PR again. I also solved issue #4.


Getregion buffer support

Continues of https://github.com/vim/vim/pull/14090.
NOTE:  The buffer must be exists in windows.
NOTE: {pos1} and {pos2} must be same buffer.

Hm...
I get the internal error when the code.
    #" using a mark in another window
    new
    VAR anotherbuf = bufnr()
    call setline(1, range(10))
    normal! GmA
    normal! GmB
    wincmd p
    call assert_equal([anotherbuf, 10, 1, 0], getpos("'A"))
    call assert_equal([], getregion(getpos("'B"), getpos("'A"), {'type': 'v' }))
    exe $':{anotherbuf}bwipe!'

Can you check the implementation?

Hm, not sure this an inprovement. This seems to work only with global/upper-case marks and if you have the buffer not loaded in  a window, it won't work.

Hm, not sure this an inprovement. This seems to work only with global/upper-case marks and if you have the buffer not loaded in a window, it won't work.

Yes.  Because it is yank limitation.

Yes. Because it is yank limitation.

Hm, not sure. I think it might be simpler to just switch curbuf and possibly curwin similarly how the getbufvar() function does it. This should then also work for buffers not visible in any window. You then also don't have to iterate over all windows several times to find the buffer.

A problem here is that window options like 'list' and 'virtualedit' may affect the behavior.

OK.  I have fixed the errors.  The buffer yank is executed in current window context.

thanks. I see another problem, if the buffer is not loaded, I get E340: Internal error; if you can reproduce please report a bug, I'll fix it while merging.


Grammar on 'Compiling Sources Using A Different JDK' page

@elharo You're a native speaker, could you please verify?

Thank you!


GetPlayerItems no longer works!

To get CSGO (App ID 730) item inventory with GetPlayerItem would result in "Method permanently disabled" error as this method is no longer supported and has since moved to https://steamcommunity.com/profiles//inventory/json/730/2/?l=english or https://steamcommunity.com/inventory//730/2?l=english

:(

:(


[RELAY][VM] Enable heterogeneous execution for Relay VM

Currently, the dynamic models can only be executed for on CPU. The GPU execution is not allowed for these models because they have shape functions to do runtime type inference. These functions may contain various control logic to derive the shape of a tensor at runtime and they are never compute intensive, therefore are designed to be executed on CPU. That being said, we must use CPU to execute these functions even when trying to run the whole model on other devices. This PR enables the heterogeneous execution for Relay VM to support dynamic models on devices other than CPU.
More specifically, it includes the following changes:

[x] makes the memory_alloc and memory plan passes context aware when inserting vm/memory dialects.
[x] designs a union-find based context analysis pass to analyze the device context of the IR node in a relay program [Thanks @jroesch and @icemelon9 for help]
[x] implements a DeviceCopy instruction in VM to copy data directly cross different devices.
[x] enables GPU tests for various unit tests involving dynamic inputs/shape functions, namely those in test_any.py, test_adt.py, and test_vm.py, and dynamic namespace tests.
[x] tests heterogeneous execution for the static cases used for graph runtime (test_pass_annotation.py)
[x] fixes several bugs in the VM that are manifested by heterogeneous execution

Followup PRs will fix/add schedules for some ops to enable GPU execution for Bert and TF objection detection models.
cc @icemelon9 @jroesch @mbrookhart @wweic

Yay! I'm so excited for this! I'll do a deep dive today
There are a number tests in tests/python/relay/dyn that skip running on GPU while waiting for this feature, i.e. https://github.com/apache/incubator-tvm/blob/942c90ba7a7b9bccf6d9bce43808aba2bd6c9787/tests/python/relay/dyn/test_dynamic_op_level3.py#L30-L31
Do you want to enable those as part of this test? Or I can do it as a second PR.

@mbrookhart Thanks for reminding, I just enabled all they dynamic op tests except for level6 because topk has a problem for GPU which I have already had a TODO in the test_any. We need to look into it later.

Thanks @zhiics @mbrookhart @leandron @jwfromm

Sorry for my delay! I've been out the last few days moving. Anyway, looking over what was changed since my last review, I'm happy to give it a post-merge approval, looks great! Thanks @icemelon9 and @zhiics. I'll start enabling the dynamic tests on gpu and I'll work on fixing anything that fails (including topk)


[Feature request] Allow X509CRL2.CertificateInCrl to check for a specified time

Currently, X509CRL2.CertificateInCrl only check for certificate serial number, ignore  revocation and invalidation time.
That's not correct.
Please allow X509CRL2.CertificateInCrl to check for a specified time with revocation and invalidation time.
Thank you very much

Currently, X509CRL2.CertificateInCrl only check for certificate serial number, ignore revocation and invalidation time.

I think, the design is correct. The purpose of this metod is to say whether the certificate is presented in CRL or not. It is not supposed to check if certificate was revoked or not at some point. Certificate insertion in CRL doesn't necessary match the RevocationDate in CRL entry. Also, this method doesn't check if certificate and CRL have same issuer (in case of delegated CRL signer), so there is no guarantee that the result is reliable.
Therefore I'm rejecting this proposal. If you need to check whether the certificate was valid (not revoked) at certain point in time, use X509ChainPolicy.VerificationTime property of X509Chain class when validating the certificate.


Add containerStatus lastState information to Pod detail page

Summary
Add containerStatus lastState information to Pod detail page
The containerStatus object (https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.22/#containerstatus-v1-core) also contains a lastState field which gives you details about the container's last termination condition.
If there's a lastState in the containerStatus, this should also be displayed in the container list.
This is especially useful when you need to debug why a container restarted, because it gives you the exit code, potential error message and reason as well as the time when the container terminated.
Fixes #6189
Occurred changes and/or fixed issues
If there is a containerStatus.lastState for a container, this information will be added to the containers stateDescription field.
Technical notes summary
In order to test, you need check a pod that has restarts.
If you need one for testing, this is an example deployment, where the pod exits after 10s and will be restarted by Kubernetes:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: crashing-test-pod
spec:
  selector:
    matchLabels:
      app: crashing-test-pod
  template:
    metadata:
      labels:
        app: crashing-test-pod
    spec:
      containers:
        - command:
            - bash
            - -c
            - "echo test; sleep 10; exit 1;"
          image: ubuntu
          name: crashing-test-container

Areas or cases that should be tested
Pod detail pages, where a list of containers in a pod is displayed
Areas which could experience regressions
Pod detail pages
Screenshot/Video
Example with only lastState:

Example with both error state and last state:

Thanks, looks great.


Please update to the new chart.js 2.4.0 version

ng2-admin is using the old chart.js 1.x branch. It would be fine if you could update it to the 2.x branch.

I'm creating a project based on this one here https://github.com/PerkdAS/k30-admin
and there I don't have anything stopping from moving ahead with chart.js v2.x besides time. So if you feel like contributing, it would be awesome.


Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

I am trying to install this theme using the gem method. I added everything required in the Gemfile. When I ran bundle install,  everything ran fine until it tries to install nokogiri 1.8.4, to which this happened:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.4/ext/nokogiri
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20180823-86656-ejbdgq.rb extconf.rb
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using packaged libraries.
Using mini_portile version 2.3.0
checking for iconv.h... yes
checking for gzdopen() in -lz... yes
checking for iconv... yes
************************************************************************
IMPORTANT NOTICE:

Building Nokogiri with a packaged version of libxml2-2.9.8
with the following patches applied:
        - 0001-Revert-Do-not-URI-escape-in-server-side-includes.patch

Team Nokogiri will keep on doing their best to provide security
updates in a timely manner, but if this is a concern for you and want
to use the system library instead; abort this installation process and
reinstall nokogiri as follows:

    gem install nokogiri -- --use-system-libraries
        [--with-xml2-config=/path/to/xml2-config]
        [--with-xslt-config=/path/to/xslt-config]

If you are using Bundler, tell it to use the option:

    bundle config build.nokogiri --use-system-libraries
    bundle install

Note, however, that nokogiri is not fully compatible with arbitrary
versions of libxml2 provided by OS/package vendors.
************************************************************************
Extracting libxml2-2.9.8.tar.gz into tmp/x86_64-apple-darwin17/ports/libxml2/2.9.8... OK
Running git apply with
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.4/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch...
OK
Running 'configure' for libxml2 2.9.8... OK
Running 'compile' for libxml2 2.9.8... ERROR, review
'/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.4/ext/nokogiri/tmp/x86_64-apple-darwin17/ports/libxml2/2.9.8/compile.log'
to see what happened. Last lines are:
========================================================================
  CCLD     libxml2.la
  CC       testdso.lo
  CCLD     testdso.la
  CC       xmllint.o
  CCLD     xmllint
ld: warning: ignoring file /usr/local/Cellar/xz/5.2.4/lib/liblzma.dylib, file was built for x86_64 which is not the
architecture being linked (i386): /usr/local/Cellar/xz/5.2.4/lib/liblzma.dylib
Undefined symbols for architecture i386:
  "_lzma_auto_decoder", referenced from:
      _xz_head in libxml2.a(xzlib.o)
  "_lzma_code", referenced from:
      _xz_decomp in libxml2.a(xzlib.o)
  "_lzma_end", referenced from:
      ___libxml2_xzclose in libxml2.a(xzlib.o)
  "_lzma_properties_decode", referenced from:
      _is_format_lzma in libxml2.a(xzlib.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [xmllint] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
========================================================================
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/$(RUBY_BASE_NAME)
        --help
        --clean
        --use-system-libraries
        --enable-static
        --disable-static
        --with-zlib-dir
        --without-zlib-dir
        --with-zlib-include
        --without-zlib-include=${zlib-dir}/include
        --with-zlib-lib
        --without-zlib-lib=${zlib-dir}/lib
        --enable-cross-build
        --disable-cross-build
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:402:in
`block in execute': Failed to complete compile task (RuntimeError)
from
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:373:in
`chdir'
from
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:373:in
`execute'
from
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:115:in
`compile'
from
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/mini_portile2-2.3.0/lib/mini_portile2/mini_portile.rb:154:in
`cook'
        from extconf.rb:365:in `block (2 levels) in process_recipe'
        from extconf.rb:257:in `block in chdir_for_build'
        from extconf.rb:256:in `chdir'
        from extconf.rb:256:in `chdir_for_build'
        from extconf.rb:364:in `block in process_recipe'
        from extconf.rb:262:in `tap'
        from extconf.rb:262:in `process_recipe'
        from extconf.rb:551:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/extensions/universal-darwin-17/2.3.0/nokogiri-1.8.4/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/gems/nokogiri-1.8.4 for inspection.
Results logged to
/Users/akbarfadi01/git/megascrapper.github.io/vendor/bundle/ruby/2.3.0/extensions/universal-darwin-17/2.3.0/nokogiri-1.8.4/gem_make.out

An error occurred while installing nokogiri (1.8.4), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.8.4' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  minimal-mistakes-jekyll was resolved to 4.12.1, which depends on
    jemoji was resolved to 0.10.1, which depends on
      html-pipeline was resolved to 2.8.4, which depends on
        nokogiri

bundle env output: https://gist.github.com/megascrapper/dc9bfbdd9c15596deceeb19530f20f93

Sorry but this is not an issue with Bundler. You will have to check to make sure that you have installed the required libraries, and perform any configuration that is required for your platform. I suggest consulting the installation instructions in Nokogiri's documentation.


Cannot flash SONOFF T1 EU 2-gang wall switch

Hello All,
I tried to flash the above module and ran into the SmartConfig loop.
Device is in Flashing mode (fast blinking LED).
Hardware: RaspberryPi 3+with Debian Stretch (2019-04-08)
I redownloaded the tuya-convert script last night.
logs are below.
Any help is highly appreciated.
Here is the console output:
root@raspberrypi:/tuya-convert# ./start_flash.sh
Checking for network interface wlan0... Found.
Checking UDP port 53... Available.
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Available.
Checking TCP port 8886... Available.
======================================================
  Starting AP in a screen
  Starting web server in a screen
  Starting Mosquitto in a screen
  Starting PSK frontend in a screen

======================================================

IMPORTANT
1. Connect any other device (a smartphone or something) to the WIFI vtrust-flash
   This step is IMPORTANT otherwise the smartconfig will not work!
2. Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fa                                                                            st). This is usually done by pressing and holding the primary button of the devi                                                                            ce
3. Press ENTER to continue

======================================================
Starting smart config pairing procedure
Waiting for the device to install the intermediate firmware
Put device in EZ config mode (blinking fast)
Sending SSID                  vtrust-flash
Sending wifiPassword
Sending token                 00000000
Sending secret                0101
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
..............
Device did not appear with the intermediate firmware
Check the *.log files in the scripts folder
Do you want to try flashing another device? [y/N] n
Exiting...

smarthack-wifi.log
smarthack-mqtt.log
smarthack-psk.log
smarthack-web.log

Because this device is NOT a Tuya device.

As @meingraham writes, this is a Sonoff device, not a Tuya device.


Bootstrap refactor edit profile

Summary
refactor edit profile to use bootstrap styles
refactor profile settings module
Add buttons and button components for fill, outline, and highcontrast (hover reverses color rather than dims slightly) buttons
correct transparent background in outline base state to white
Add toggle button on/off states using high contrast button e.g. for public/private setting control
Add custom dropdown toggle button
Hide public private toggle in profile settings for acct types that can not change privacy setting
Known issues
Need to do file organization in the project for button components
Need to replace other instances of buttons in other components
Expect continued tweaking
For design review:
Vercel live preview:
https://vercel.live/open-feedback/maple-dev-git-fork-sashamaryl-bootstrap-97652b-maple-testimony.vercel.app?via=pr-comment-visit-preview-link&passThrough=1
Chromatic Library/Storybook:
(click the icon in the upper right hand corner ("view story in new tab") to see the storybook controls to change the inputs incl toggle state of the button.
https://www.chromatic.com/component?appId=634f3926f2a0d0f0195eefd7&csfId=atoms-buttons-base-button--high-contrast-button-base&buildNumber=1180&k=65de1c8d37104ca40c5d30a2-1200px-interactive-true&h=9&b=-5

Looks good to me!
A few notes about the functionality but I think that this isn't the focus of the branch as this is about buttons:

In the settings modal, if you hit cancel the private/public toggle retains the settings still (Meaning if I set the profile to private but hit cancel, it saves as private which does orient with the Save button.)
More a UX note and minor enhancement @mvictor55, i can add a design task (especially good for a first ticket) We might want to add user feedback when someone hits Make Private/Make Public. I would also wondering if we need text beside it (like we have in the settings modal) that says "This profile is private/public"

Thank for the review!
These are important functionality fixes. I agree though that they belong in their own issue.
I will start a ticket for the setting modal.

Looks good to me! A few notes about the functionality but I think that this isn't the focus of the branch as this is about buttons:

In the settings modal, if you hit cancel the private/public toggle retains the settings still (Meaning if I set the profile to private but hit cancel, it saves as private which does orient with the Save button.)
More a UX note and minor enhancement @mvictor55, i can add a design task (especially good for a first ticket) We might want to add user feedback when someone hits Make Private/Make Public. I would also wondering if we need text beside it (like we have in the settings modal) that says "This profile is private/public"

When ever I go to the View Profile page I get this error:
Unhandled Runtime Error
FirebaseError: The query requires a COLLECTION_GROUP_ASC index for collection publishedTestimony and field authorUid. You can create it here: https://console.firebase.google.com/v1/r/project/digital-testimony-dev/firestore/indexes?create_exemption=Cmdwcm9qZWN0cy9kaWdpdGFsLXRlc3RpbW9ueS1kZXYvZGF0YWJhc2VzLyhkZWZhdWx0KS9jb2xsZWN0aW9uR3JvdXBzL3B1Ymxpc2hlZFRlc3RpbW9ueS9maWVsZHMvYXV0aG9yVWlkEAIaDQoJYXV0aG9yVWlkEAE
it can be closed and the page seems to otherwise function normally but it'd be good to keep this from popping up.


Adding to HomeKit

Afternoon.
I have loaded all to HomeBridge plug-in and when I try to add to HomeKit nothing comes up. Any suggestion what I am doing wrong as I really would like Wled to be working in HomeKit with HomeBridge

I am seeing the same thing.  I just added another WLED light and I am unable to use this plugin to control it.

Afternoon.
I have loaded all to HomeBridge plug-in and when I try to add to HomeKit nothing comes up. Any suggestion what I am doing wrong as I really would like Wled to be working in HomeKit with HomeBridge

I might be onto something, but I recognize this the other day and it solves that issue I was having. First off, I have each of the WLED lights. I am using as separate bridges. But I also when I went into the configuration, I change platform from WLED to match the name of the light that I said below and when I went to HomeKit and hit plus all the sudden, I had a whole bunch of WLED‘s that I could see.
it’s the only thing I can think of because when I bought my house, there were a couple WLED’s that I first configured the first time I set up the Homebridge but in the last couple months, I’ve added some projects that are my own, but I can never control them in HK so I had to switch to a different plug-in with WLED that I hated and I’m so happy to have this one working again so  try that one.

I'm having the same issue; I can no longer add new WLEDs to HomeKit.  @bor9455, I'm not following your solution.  Could you post a sample of your config?

I'm not sure what/if something changed or if caching needed to clear on the HomeKit side, but the latest accessory I was trying to add finally showed up in Home.

I'm also having difficulties. I have 4 devices to add. 3 worked fine, the fourth just won't work. I've tried renaming. I've  reserved different IP addresses. Changed name. Not sure what else to try.

I'm facing the same issue, I cannot add the WLED devices to my Home.
In Homebridge UI I can control the devices.
I have no firewall installed at my raspberry and I did all availabe updates.
Have anyone an idea what to do???

Maybe try using DHCP reservation in your router and move them to a different IP address, redefine that address in the WLED plugin configuration and then make sure to delete the cache in Homebridge (I’m using Hoobs but I assume there’s a similar option in Homebridge?)


Allow name copied from iconify website to be used

This would improve user experience
Here is what I did

Go to https://icon-sets.iconify.design/ to look for icon
Find one I want. Example: https://icon-sets.iconify.design/noto/package/
Click the copy button

This will get noto:package, but currently the shortcode is expecting noto package
It seems the whole website support this pattern.
Maybe this would be possible to support this by detecting the : and splitting it into set and icon ?
You know better - just throwing the idea.

Done!
Thanks for the idea.


Extracted data(Dota_fol_train_dota) bbox>1280

Hi brain,brilliant work!I read extracted data you support for FOL from DOTA(https://drive.google.com/drive/folders/1IVCedrlPg03Fsg4tqDA2cWYlcdrsKUsp?usp=sharing).When I read the file "0qfbmt4G8Rw_000435.pkl",I find that the bbox>1280,is the image size = 1280 X 720? Why the bbox size larger than the image?Can you explain it,Thx.

Yes the solution is 1280*720. I think these tracked bounding boxes are from object detection and object tracking output so either of these two modules might have decided to predict the box vertices over the width of image.

Yes the solution is 1280*720. I think these tracked bounding boxes are from object detection and object tracking output so either of these two modules might have decided to predict the box vertices over the width of image.

Do you mean this can happen under normal circumstances and I can still use these data?

This may be what you want. Good luck.
链接：https://pan.baidu.com/s/11xKKFM20u7UfDc3YWUGxrA?pwd=1ru6
提取码：1ru6
On Tue, May 7, 2024 at 9:38 AM Xiao Dong @.***> wrote:

Yes the solution is 1280*720. I think these tracked bounding boxes are
from object detection and object tracking output so either of these two
modules might have decided to predict the box vertices over the width of
image.
Do you mean this can happen under normal circumstances and I can still use
these data?
Can you send me the content of this download link? This link is no longer
valid.My @.***
—
Reply to this email directly, view it on GitHub
https://github.com/MoonBlvd/Detection-of-Traffic-Anomaly/issues/27#issuecomment-2097207364,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYYQCGGGSVXB7MNDAB3UFTDZBAWAJAVCNFSM6AAAAAARX63O2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJXGIYDOMZWGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello, could you please share the extracted data again? The previous link is no longer valid.

This may be what you want. Good luck. 链接：https://pan.baidu.com/s/11xKKFM20u7UfDc3YWUGxrA?pwd=1ru6 提取码：1ru6
…
On Tue, May 7, 2024 at 9:38 AM Xiao Dong @.> wrote: Yes the solution is 1280720. I think these tracked bounding boxes are from object detection and object tracking output so either of these two modules might have decided to predict the box vertices over the width of image. Do you mean this can happen under normal circumstances and I can still use these data? Can you send me the content of this download link? This link is no longer valid.My @.* — Reply to this email directly, view it on GitHub <#27 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYYQCGGGSVXB7MNDAB3UFTDZBAWAJAVCNFSM6AAAAAARX63O2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJXGIYDOMZWGQ . You are receiving this because you authored the thread.Message ID: @.***>


📝 incorrect evm-basics tutorial code example

The evm-basics mnenomic example is incorrect which is pretty unfortunate in a beginner tutorial :grin: .
I fixed the 2 memory "logs" and the 2 MLOAD syntax

There is a second incorrect example in the evm-basics tutorial :confused:


[FLOC 4354] Move enabling the container agent to the deprecated API info

Fixes: https://clusterhq.atlassian.net/browse/FLOC-4354

Thanks @davidoliverSP2
It'll be great to finally get rid of the container agent.
I've chatted with @sarum90 about it and we'd prefer just to remove the container API docs and container agent documentation....with a big note in the release notes explaining that the container stuff is deprecated and that the docs can be found in the 1.11.0 documentation.
This will require some changes to the code and we'll help out with that.
We could probably create a small Jira epic  and list all the tasks there.

This PR is stale. I'll start another branch to address the code review comments.


TemplateURL must reference a valid S3 object to which you have access

Dear all,
Just tried a build on the head "commit 54ee4b0d3a00dbc3b1f67813c05420ef4dc24ad1" to try if I can modify instance size now.
It gives me this error:
Initialized TLS infrastructure
Wrote kubeconfig to /home/dong/aws/kube-aws/clusters/kube1/kubeconfig
Waiting for cluster creation...
Failed creating cluster: ValidationError: TemplateURL must reference a valid S3 object to which you have access.
	status code: 400, request id: dcea7543-9840-11e5-9d2a-85c10bacc209

I suppose it was trying to access a s3 with the commit hash other than a valid version number?

Hi @xied75,
Yes, the kube-aws tool will default to using the release version (if tagged) or commit (if untagged) when attempting to download the cluster assets. In this case because it was built off head, it seems the "version" it expects does not exist in the S3 bucket you are accessing.
However, you can also specify a custom location in the cluster.yaml file (first copy cluster.yaml.example to cluster.yaml) then specify a custom location/version: https://github.com/coreos/coreos-kubernetes/blob/master/multi-node/aws/cluster.yaml.example#L41

@aaronlevy Thanks for explaining. What I did then is uncomment this line and give it the last version number I know works:
artifactURL: https://coreos-kubernetes.s3.amazonaws.com/v0.2.0

Then it gives me this:
Initialized TLS infrastructure
Wrote kubeconfig to /home/dong/aws/kube-aws/clusters/kube1/kubeconfig
Waiting for cluster creation...
Failed creating cluster: ValidationError: Parameters: [WorkerRootVolumeSize, ControllerRootVolumeSize] do not exist in the template
	status code: 400, request id: cdfe42ed-98d0-11e5-b7be-a7c0634d38c1

Which is the same as

I am going to close this as a duplicate of https://github.com/coreos/coreos-kubernetes/issues/172 -- but please re-open if that is not the case.
Per that issue this should be resolved in a new release that I should have done later today.


remove rust dir

@bgogul @harsha-mandadi Do we still want to re-create the old rust integration tests in the C++ implementation before we delete the rust directory? The universe relation pass is implemented in C++, so it should be possible to do this now.

It would be ideal to port the tests if we haven't already done so.

@bgogul @harsha-mandadi Do we still want to re-create the old rust integration tests in the C++ implementation before we delete the rust directory? The universe relation pass is implemented in C++, so it should be possible to do this now.

It would be ideal to port the tests if we haven't already done so.

What does it involve? Is it simple as moving the test files to a c++ directory and invoking a script?

Oh sorry. For some reason I thought the integration tests are already imported to c++ 😅. I will pause on this till that is done.

What does it involve? Is it simple as moving the test files to a c++ directory and invoking a script?

Most of the tests work by running the compiler on some input authorization logic program and then checking against some expected values of the queries. Some of the tests run on an input program and then have assertions that are not necessarily checking queries. Porting the tests involves:

Directly copying the directory with the input authorization logic programs to a location that makes sense for the C++ version: https://github.com/google-research/raksha/tree/main/rust/tools/authorization-logic/test_inputs
Porting the code that runs these tests from Rust to C++. The rust integration test code lives here: https://github.com/google-research/raksha/tree/main/rust/tools/authorization-logic/src/test

A good first file to look at there is https://github.com/google-research/raksha/blob/main/rust/tools/authorization-logic/src/test/test_queries.rs because several of the tests depend on datastructures and functions there.

Oh sorry. For some reason I thought the integration tests are already imported to c++ 😅. I will pause on this till that is done.

Just to be clear, my understanding is that this task is on @harsha-mandadi 's plate as a part of deprecating the rust implementation unless someone tells me otherwise (so I won't personally work on this unless someone tells me I should do that :)

oh I thought it was on your plate Andrew. In one of the team standup meetings, you mentioned you would like to work on the tests as you were looking for something to work on. Did I misunderstood what you meant. I can work on it, no worries!


Makefile fixes with generated output

This is a minor adjustment to: https://github.com/kubernetes-sigs/llm-instance-gateway/pull/66
to make sure this works for following users also. (TY @liu-cong for catching this and fixing).
Also generated new files as dual purpose:

a way of validation that these changes work.
needed to generate anyway

/lgtm
/approve


setItemLabelGenerator() should return String directly instead of object reference.

To be consistent with other components:
itemLabelGenerator should be defined as itemLabelGenerator = String::valueOf; instead of itemLabelGenerator = null.  so that the user dont need to override the toString() method
I am using this code:
@Route("")
@PWA(name = "Project Base for Vaadin Flow", shortName = "Project Base")
public class MainView extends VerticalLayout {

    public MainView() {
        Select<Department> select = new Select<>();
        select.setLabel("Departments");
        List<Department> departmentList = getDepartments();

        //Choose which property from Department is the presentation value
        select.setItemLabelGenerator(Department::getName);
        select.setItems(departmentList);

        add(select);
    }

    private Department department = new Department();

    private List<Department> getDepartments() {

        DepartmentData departmentData = new DepartmentData();
        List<Department> departmentList = departmentData.getDepartments();
        return departmentList;
    }
}

The entity of Department is:
public class Department {

    private int id;
    private String name;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Department(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public Department() {
    }

//    @Override
//    public String toString() {
//        return name;
//    }
}

and the data is:
public class DepartmentData {

    public final List<Department> DEPARTMENT_LIST = new ArrayList<>();

    {
        DEPARTMENT_LIST.add(new Department(1, "Product"));
        DEPARTMENT_LIST.add(new Department(2, "Service"));
        DEPARTMENT_LIST.add(new Department(3, "HR"));
        DEPARTMENT_LIST.add(new Department(4, "Accounting"));
    }

    public List<Department> getDepartments() {
        return DEPARTMENT_LIST;
    }
}

The problem is when I comment the toString() in the Department Entity, I expect from the
select.setItemLabelGenerator(Department::getName); to show the data properly in the combobox, but it does not unless I use the toString(). So what is the usage of this method(setItemLabelGenerator(Department::getName))?

Closing per above comment as fixed.


fix(ci) docker login to increase hub rate limit

CI failures like https://travis-ci.com/github/Kong/docker-kong/jobs/505026062 became very common recently; logging in should ameliorate the state of affairs.

merging as master is currently red and very flaky - discussed in chat with @hutchic


feat(UI): Add remote button with RemotePlayback API

API: https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback
Chrome Status: https://chromestatus.com/feature/5778318691401728
Examples: https://avayvod.github.io/remote-playback/test.html and https://beaufortfrancois.github.io/sandbox/media/remote-playback.html
Tested in Safari (iOS and macOS) and Chrome in Android
About desktop support: https://bugs.chromium.org/p/chromium/issues/detail?id=728609

How does this interact with the Cast button?  If a Cast receiver app ID is configured, and the Cast API is available, should we prefer that to remote, since it is more specific?
I'll play around with the demo from Francois and see if I can figure out how it might fit best.

I think it could work if the remote button is only shown when: (the playback is src= && the cast button is hidden).  The cast button is hidden IIRC when (there is no receiver ID || there are no receiver devices nearby).

I think it could work if the remote button is only shown when: (the playback is src= && the cast button is hidden). The cast button is hidden IIRC when (there is no receiver ID || there are no receiver devices nearby).

And how do you want implement it? When there is no receiver ID it’s easy, but the second condition …

@joeyparrish I implemented the logic to disable the button when we have a cast receiver.

You should list new UI buttons in docs/tutorials/ui-customization.md.

Done!


Import lightweight objc generics

Support for importing ObjC generics as generic classes in Swift.
cc @cwillmor

@swift-ci Please test

Great to see this progress Joe!

@cwillmor and @jrose-apple did all the hard work.

@jckarter Can you make the patch history linear or were there tricky merge conflicts etc?

Awesome, great to see this progress from everyone!

@slavapestov It was like that when I got here, so I don't know the background, sorry. @cwillmor or @jrose-apple , are you able to linearize the history here?

Just try doing 'git rebase origin/master' and see if each patch along the way compiles? I could give it a shot if you want...

@swift-ci Please smoke test

@swift-ci Please smoke test

@parkera Is this failure in Foundation expected on Linux?
Foundation/NSOperation.swift:549:24: error: use of unresolved identifier 'dispatch_queue_get_specific'
        let specific = dispatch_queue_get_specific(dispatch_get_main_queue(), NSOperationQueue.OperationQueueKey)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
Foundation/NSOperation.swift:549:52: error: use of unresolved identifier 'dispatch_get_main_queue'
        let specific = dispatch_queue_get_specific(dispatch_get_main_queue(), NSOperationQueue.OperationQueueKey)
                                                   ^~~~~~~~~~~~~~~~~~~~~~~

@swift-ci Please smoke test

@phausler This stuff should be disabled on Linux right?

yea I disabled it via expanding the guards

@parkera @phausler Thanks for confirming!

@swift-ci Please test

@slavapestov Are these IRGen test failures known?
https://ci.swift.org/job/swift-PR-osx/542/#showFailuresLink
Test Result (6 failures / ±0)
Swift.IRGen.class_resilience.swift
Swift.IRGen.enum_resilience.swift
Swift.IRGen.struct_resilience.swift
Swift.IRGen.foreign_types.sil
Swift.IRGen.concrete_inherits_generic_base.swift
Swift.IRGen.nested_types.sil

@swift-ci Please test


"already in use by an outer class" when subclassing Generic class within Generic class

Environment data

Language Server version: 2021.5.1 (pyright df8b6b3c)
OS and version: Ubuntu 20.04
Python version (& distribution if applicable, e.g. Anaconda): Python 3.7.9 64-bit (conda)

Expected behaviour
Allowing subclassing of generic inside a class with a class generic without a problem report.
Actual behaviour
For the minimal example given below I get the following problem report:
	"resource": "/home/verhaegs/eda/test/generic_in_generic.py",
	"owner": "_generated_diagnostic_collection_name_#2",
	"code": {
		"value": "reportGeneralTypeIssues",
		"target": {
			"$mid": 1,
			"external": "https://github.com/microsoft/pylance-release/blob/main/DIAGNOSTIC_SEVERITY_RULES.md#diagnostic-severity-rules",
			"path": "/microsoft/pylance-release/blob/main/DIAGNOSTIC_SEVERITY_RULES.md",
			"scheme": "https",
			"authority": "github.com",
			"fragment": "diagnostic-severity-rules"
		}
	},
	"severity": 8,
	"message": "TypeVar \"T2\" is already in use by an outer scope",
	"source": "Pylance",
	"startLineNumber": 9,
	"startColumn": 23,
	"endLineNumber": 9,
	"endColumn": 25
}

Code Snippet / Additional information
from typing import TypeVar, Generic

T = TypeVar("T")
class Elem(Generic[T]):
    pass

T2 = TypeVar("T2")
class Collection(Generic[T2]):
    class MyElem(Elem[T2]):
        pass

I am using pylance basic typechecking.

A type variable used in an outer class cannot be used again in a nested class. This is explicitly disallowed in PEP 484, which says: "A generic class nested in another generic class cannot use same type variables. The scope of the type variables of the outer class doesn't cover the inner one". It gives the following example:
from typing import Generic, Iterable, TypeVar

T = TypeVar('T')
S = TypeVar('S')

class Outer(Generic[T]):
    class Bad(Iterable[T]):       # Error
        ...

This is almost identical to your example above.
I noticed that mypy (another type checker) does not flag this as an error, which seems like a bug in mypy. I've filed a bug report on this issue.

Don't understand why PEP authors did not allow this. To me in their example in Outer[int], Badwould be a subclass ofIterable[int]and not be a subclass ofGeneric`.
Will try a work around.

Given this is explicitly disallowed in PEP 484, I'm going to close this. Any changes would need to be to the typing spec itself.

To provide more info, here is the related content in PEP 484:

And I think it is the critical part that attr : Inner[T] = None is allowed, and I think that is the expected usage.


Fixing the rafLoop tests due to it's sporadic fails;

:tada: This PR is included in version 10.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support return raw JSON

Apollo Android Client returns classes that are auto-generated by apollo. This is weird because after query I have to map the auto-generated classes (Ex: GetUserQuery.Data) to the data model (Ex: UserData). What can I do to the query return raw JSON instead of auto-generated classes? With JSON, I can parse it to the data model easier.

@minhbnt-1512 this is actually one of the main advantages of using apollo-android. Using the generated models guarantee that they match your graphql schema (nullable/nonnullable types and type safety in general).
If you don't want that, I guess you could simply use a http client like OkHttp but you lose a lot of benefits of using apollo-android

I agree that using generated classes to have the responses well-typed is exactly what want apollo to do.
However, I think making the raw response json available is still needed.
My usecase is that Shopify's GraphQL  returns "extension" fields for every request and these fields needed to deal with server-side throtteling. Ex:
    "extensions": {
        "cost": {
          "requestedQueryCost": 1,
          "actualQueryCost": 1,
          "throttleStatus": {
             "maximumAvailable": 1000,
             "currentlyAvailable": 999,
             "restoreRate": 50
           }
        }
    }

I can't include this in my queries as it will give an error so I will just have to get via the raw response

I see. Could you somehow could use an interceptor (either okhttp or apollo) for this ?

Yes, that's how I ended up solving it :) Of course this code needs the approtriate data classes to work but this should get anyone started that has the same issue:
 OkHttpClient.Builder().addInterceptor {chain ->
        val original = chain.request()
        val builder = original.newBuilder().method(original.method(), original.body())
        builder.header("X-Shopify-Access-Token", accessToken )
        var response = chain.proceed(builder.build())
        val body = response.body() ?: return@addInterceptor response
        do {
            val bodyText = response.peekBody(Long.MAX_VALUE).charStream().readText()
            val json = Gson().fromJson(bodyText,ResponseJson::class.java)
            if( json.errors?.any { it.isThrottledError() } == true) {
                with(json.extensions.cost) {
                    val neededAvailable = requestedQueryCost - throttleStatus.currentlyAvailable
                    val timeToWaitInMS = min(floor(neededAvailable / throttleStatus.restoreRate) * 1000, 500.0)
                    sleepAtLeast(timeToWaitInMS.roundToLong())
                    response = chain.proceed(builder.build())
                }
            } else break
        } while(true)
        response
    }

What would be amazing if I could tell apollo that I expect a certain structure in addition to the query and have apollo return it in resonse.getData()  :)

Hm, didn't know that extensions is part of the spec for even response https://github.com/graphql/graphql-spec/blob/master/spec/Section 7 -- Response.md
Yeah we can try to  do the same as we did for errors and custom attributes, so we can look for extensions field and read them as dictionary.
Could you please provide an example of full response you have with extensions?

of course :)
Simple product query:
query {
products(first:1) {
edges {
node {
title
}
}
}
}
Gives result:
{
"data": {
"products": {
"edges": [
{
"node": {
"title": "schniesel.Alhena Mini"
}
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 3,
"actualQueryCost": 3,
"throttleStatus": {
"maximumAvailable": 1000,
"currentlyAvailable": 997,
"restoreRate": 50
}
}
}
}


[WIP] Validate manifests against JSON Schema in CI Tests

I am implementing manifest validation against the JSON Schema using dlls from Newtonsoft.Json.Schema.
Currently it works on my machine, but it fails on appveyor. (See my build log or the log of this PR)
Could this have anything to do with different powershell or .NET versions?
PS on appveyor:
Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10586  117

PS on my machine:
Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  693

I have no idea why this error Cannot find an overload for "IsValid" and the argument count: "3". pops up.
Any ideas? 😄

Nope doesn't work either
On Sun, Feb 12, 2017 at 10:44 PM Simon Hartcher<EMAIL_ADDRESS>wrote:

@deevus commented on this pull request.
Try installing a specific version that works locally.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lukesampson/scoop/pull/1331#pullrequestreview-21418650,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAaX_4m5u-r21b9fZazZXpAV_7ysL5gPks5rb30ogaJpZM4L-n4m
.

Sorry, I can't help here.
I have no experience with AppVeyor or. NET ;-)

Is it possible that the AppVeyor build environment already has an older version of Newtonsoft.Json.Schema installed and it's taking precedence even after you Add-Type the specific version?
Is it worth adding something like this after you run the Add-Type to check the file path of the loaded assembly?
[appdomain]::currentdomain.getassemblies() |? { $_.getname().name -eq 'Newtonsoft.Json.Schema' } |% { $_.codebase }

Nice good idea!
https://ci.appveyor.com/project/r15ch13/scoop/build/15-test#L181
Newtonsoft.Json 8.0 is already there 👎

Try calling it using the static class?
[NewtonSoft.Json.Schema.SchemaExtensions]::IsValid($manifest)

Okay i have written a small c# tool for validating the manifests.
Calling a process for each manifest increased the duration from around 10-20ms to 250-260ms (on an SSD) per test ...

Curse you Appveyor!

Wow, that's frustrating. Could it be an x86/x64 difference between what AppVeyor is using and what the Scoop.Validator.dll is targeting? Would setting a platform in appveyor.yml make a difference, or making Scoop.Validator.dll match whatever platform the Newtonsoft dlls target?

Would you guys consider using python for this test? https://github.com/rasa/scoops/blob/master/validate.py is MIT licensed.

Ah nice 👍
Results from trying it out:

changed validate import to Draft4Validator (because we use the "required" field)
writing the exception stacktrace to .failed raises an exception 😄 (using Python 3.6)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "validate.py", line 51, in <module>
    f.write(trace)
TypeError: a bytes-like object is required, not 'str'

Sorry, I've only tested it with Python 2.7.13. Remove the b in line 50:
with open(failed, 'a+') as f:

and it should work in Python 3

Yup that worked. I'm going to redo this in python tomorrow or so. I hope that works on appveyor. 😀

Apparently git has desided to destroys the dll files:
warning: LF will be replaced by CRLF in supporting/validator/Newtonsoft.Json.dll.
The file will have its original line endings in your working directory.

Eureka! It works!

Two thoughts:

Was removing UniqueItems intentional?
Requiring version means we can't have pure meta-packages, with just a depends list.

I have no idea why i removed uniqueItems 😕 Will add it back.
Without version the installation won't run at all (see lib/install.ps1#L20)


fix(package.json): don't define minichain dependency in both deps and…

… devDeps
Fixes #2

Oh, I was about to open a PR for this but it looks like Igor was faster :-)
@IgorMinar I wonder why we need to do this fix for minichain but not for ministyle? This is the same situation / pb, no?

@pkozlowski-opensource good point. in tsd's case the ministyle dep is not a problem because it is required by tsd itself, so the peerdependency is actually there.

so, for the purposes of solving our particular problem, I don't think we care about ministyle.

@IgorMinar that means our backup plan is just to add an explicit dep from tsd to minichain, we don't need to fork minitable too.

Sorry for the wait guys, life went another way. Lemme get back on the horse and I'll get the things sorted out.

Thank you!
On Wed, May 20, 2015 at 10:53 AM Bart van der Schoor <
<EMAIL_ADDRESS>wrote:

Sorry for the wait guys, life went another way. Lemme get back on the
horse and I'll get the things sorted out.
—
Reply to this email directly or view it on GitHub
https://github.com/Bartvds/minitable/pull/3#issuecomment-103973959.

This is on npm as 0.0.4.
Now we hustle a new TSD release as apparently I pinned only this module to an exact version.. :confused:

I just realized I only merged the PR but not appreciated the discussion. So let me know if you also need the other peerDependency removed.

it's weird that ministyle is both dependency and peerDependency. It's not clear what that means, but npm 2.x is currently happy. npm 3.x might break this again though, so it might be good to revisit what you actually need here. do you need ministyle to be provided by whoever is including minitable or do you just want npm to provide it to you as your own dependency?

thanks for merging the PR though! let's get a TSD release out so that this major PITA is over.


Improve homepage

I find myself fumbling with the links on the homepage (https://db.grandsvc.mesh.nycmesh.net). Wondering if someone could add some buttons like https://forms.grandsvc.mesh.nycmesh.net or something

What if we had something like this?
Join Our Community Network!
Member Tools
Line of Sight Tool
Map
Volunteer Tools
Admin Panel
Other Forms
Developer Tools
MeshDB Data API
API Documentation (Swagger)
API Documentation (Redoc)

So what exactly are you looking to add? I can help with this issue but would need more clarification and explanation on what you would need.

@evnxprk This is another option:

@evnxprk Are you still interested in working on this?


Shared/poisson

Description
Incorporated PoissonRecon Version18.00 (with the PoissonRecon namespace)
Added a unit-test for reconstructing surfaces with colors (using data/open/poisson/sphere.striped.ply).

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Incorporated PoissonRecon V18.00 and added unit-test.


Separation of Crop Season & Timing Event from Time Scope

The Sept 7 2022 meeting resolved to separate the concepts of Crop Season and Timing Event (referenceable, stand alone events) from Time Scopes (simple start/end values).
The new objects are
Crop Season
-Id
-ContextItems
-Start (opt)
-End (opt)
Definition:  The span of time for which field operations contribute to a particular growing season.   For many areas, this is approximately a year in length.  E.g., In the northern hemisphere, Crop Season "2022" may extend from the first operations following harvest in the fall of 2021 to the last harvest activities in the fall of 2022.
Timing Event
-Id
-ContextItems
-Start (opt)
-End (opt)
-Crop Season Id (opt)
Definition:  An referenceable event defined by its interval.   E.g., "2022 Harvest" or "2022 Pre-Emergence"
Of items today referencing Time Scopes, go forward behavior is currently defined as follows.

Time Scopes only.    These items define their own start and end.   Any relation to seasons or events is appropriate on parent/related objects if at all.
-Guidance Shift
-Load
-Summary
-LoggedData
-DocumentCorrelation
-Obs
-ObsCollection
-DeviceElementConfiguration
-CalibrationFactor
-IrrigationItem
-PersonRole
-GuidanceAllocation
-IrrigationRecord
-IrrigationRecord

TimeScopes, CropSeasons and/or Timing Events.   Any of the concepts can pertain to these.
-ObsDataset   (multiple, optional)
-Document (base)   (multiple, optional)
-ContextItem   (multiple, optional)
-Note   (multiple, optional)
-Prescription  (multiple, optional)
-WorkItem  (multiple, optional)

Crop Season only.   Only season pertains.
-FieldBoundary (multiple, optional)
-CropZone (single, required)

Per discussion in the Sept 7 meeting, Time Scopes are removed from Farm and Field and similarly will omit the other concepts.   Crop Zone should be used for any organizational hierarchies with defined seasons.

@aferreyra From my reading of comments on ObsCollection and IrrigationCollection I understood these to be more narrowly defined than a season, and that the season belonged on the ObsDataset (didn't find an analog for Irrigation).     Please advise if the objects have a different intent.
@strhea @zwing99 Please double check my work.   It was done in the spirit that while one might decide to tag a season anywhere, that runs afoul of guiding implementers into a deterministic pattern that consumers can anticipate.

Should CropSeason have an explicit crop reference as part of it's structure?
Let's just drop TimingEvent and reimplement it as a ContextItem.
How do you communicate historical G/F/F tree structures without having CropSeason at the Farm & Field level?

@strhea Re your feedback:

CropSeason doesn't reference a Crop.   I'll rename it GrowingSeason for clarity
I'm all for that.
So long as we have a crop zone, that is the place to associate time information.   If there is a use case requiring rendering of the active GFF tree as of a specific date, then it should be defined as those entities linked to active data.

Agreement in Sept 21, 2022 meeting that time scopes should be omitted from GFF and that TimingEvent is indeed not needed.


Improve resilience of systemd-backup task

Hi,
thx for this neat project, i've been using restic on our k8s-servers for a while already, but with this i've now come around again to try it on the linux-desktops.;)
I've noticed a small problem with the<EMAIL_ADDRESS>- when resuming from suspend or similar that service (at least sometimes) is too fast and fails because the network is not up yet. Even adding sth. like
After=network.target network-online.target
Wants=network-online.target

didn't work.  Still throwing
Jun 11 09:28:19 sleipnir systemd[1]: Started Backup with restic to Backblaze B2.
Jun 11 09:28:35 sleipnir cat[276324]: Fatal: unable to open config file: Stat: Head "https://s3.xyz/a/b/c": dial tcp: lookup s3.xyz on <IP_ADDRESS>:53: server misbehaving

Yes, this is S3, but that shouldn't matter to the DNS-resolution not working. After adding a small while !ping google.de; do sleep... to the service the error is gone.

I'm afraid I can't help you to debug this further. But please share here if you find something out.
You don't seem to be alone with issues using After=network.target..., and the suggestion solution could be to create a system "ping target", see:
https://unix.stackexchange.com/a/538901

I couldn't find any related issue, so i just wanted to leave that here.
It seems to be a mix between network (which is up in my case) and the local DNS resolver (systemd-resolved) being able to resolve queries.
I'll try adding that as a dependency, but don't think that will work either (systemd-resolved is a bit of a pita). So i will keep the until ping.. solution.
Thx!


[iOS] Not receiving push notifications sent from Firebase Console

Hello,
I'm not receiving any notifications sent from the Firebase Console. As far as I can see, the notifications are going out from Firebase but they're just not reaching my device. I'm not getting any indication that the notification made it to my device or any kind of error that something broke along the way (maybe I'm just not taking the necessary actions to show/log it).
The message statuses say Completed and clicking on the messages afterwards shows that it has been sent to 1 device.
Here's what I have currently. If I'm not mistaken this is all that is needed for a notification to come through (outside of having your device generate a token and also having permission)?
window.FirebasePlugin.onNotificationOpen(function(notification) {
     console.log('Notification received',notification);
     alert('Notification: ' + notification);
}, function(error) {
    console.error(error);
});

Some info:

PhoneGap 7.0.0
Latest version of the plugin
Certificate is uploaded to the app in Firebase
The generated GoogleServices-Info.plist and provisioning profile is included in my Xcode project
App ID and APNs set up
Device is generating a token and the app has permission to send push notifications (on the device and the Push Notifications/Remote Notification capabilities enabled in Xcode)

Any help is greatly appreciated!
Thanks!

Same issue here...
Cordova 7.0

APNs Key
AppID: Push Notifications Enabled
Provisional Profile: Push Notifications Enabled
XCode 9.1 Capabilities: Push Notifications ON

We are also having the same issue. We have tested with the p8 certificate APN key and p12 traditional certificate version.
We correctly receive the token from the app, but do not receive any notifications from Firebase when sending to that token or to all IOS devices. The plugin is working with our android build. We have also noticed (as above) that after some time Firebase will list that the notification as sent to a device.
Cordova 7.1.0
Iphone 6s
cordova-plugin-firebase 0.1.24
So far we have been unable to debug this to resolve.

Hello,
We have just set this "FirebaseAppDelegateProxyEnabled" to yes in our -info.plist file. This has resolved the issue for us.

Thanks @antondb . That was exactly the solution.

@antondb it did not work for me. any other try? just can't send push notifications to any iOS. @robertarnesson any idea, suggestion?

Hi, I've set 'FirebaseAppDelegateProxyEnabled' to "yes" in the -info.plist file within /platforms/ios/[appname]/resources/[appname]-info.plist
No joy yet.

closing for now, reopen if still an issue with the latest version of the plugin

Adding the plist key isn't working for me either
Please suggest

not working for me either.
Is this a bug on Cordova?
Regards

@fcrozetta try this
window.FirebasePlugin.grantPermission(); work for me just now with the same problem

@sholatunji Thanks, worked for me, it seems that we must ask for permission if we unregister and try to register again, even if that permission is technically already granted

Yes @Golem765 I noticed the same as well, i used it like this
				window.FirebasePlugin.hasPermission(function(data){ 					if(!data.isEnabled){ 						window.FirebasePlugin.grantPermission(); 					} 				});


update api key for pubmed

currently using @scanhamman key: replace it with new one.
more info in (require access):
https://docs.google.com/document/d/1Aid2N6qe3ylYtqDSKpdtj5_Wp7a6SsSg_nGEO5KDtmI/edit?usp=sharing

updated on the server, on
C:\Users\ecrinadmin\source\repos\MDR_Downloader\appsettings.json
did not rebuild yet.

change in production. download appears to work fine (see logs).
error in the coder though (see https://github.com/ecrin-github/MDR_Coder/issues/2 and https://github.com/ecrin-github/MDR_Coder/issues/1), to check
note:

CD pubmed 2024-03-14 130002.log:14/03/2024 : 13:00 :   ERROR MDR_Coder application aborted
CD pubmed 2024-03-21 130002.log:21/03/2024 : 13:00 :   ERROR MDR_Coder application aborted
CD pubmed 2024-03-28 130002.log:28/03/2024 : 13:00 :   ERROR MDR_Coder application aborted
CD pubmed 2024-04-04 130002.log:04/04/2024 : 13:00 :   ERROR MDR_Coder application aborted

$ ls -la /c/Users/ecrinadmin/source/repos/MDR_Downloader/appsettings.json
-rw-r--r-- 1 ecrinadmin 197121 409 Mar  4 17:45 /c/Users/ecrinadmin/source/repos/MDR_Downloader/appsettings.json


Terminating flutter run --machine process does not always close app on device/emulator

If I launch Flutter's Hello World with a breakpoint on the main method and then terminate the process while sat at that breakpoint, the app does not close correctly (it remains as a black screen).

Actually, doesn't even need the debugging... I launched without debugger (nor did I pass --start-paused) and then terminated, and it left the app open (though this time Hello World is visible, since it didn't stop at a breakpoint).

This is expected, the Hello World app does not implement the debugging APIs.

@Hixie This doesn't seem to match what @devoncarew said here, he thinks this is a bug?
I'm also slightly confused; this does seem to work sometimes and should an individual app really need to implement APIs so that it terminates correctly; why wouldn't this be done by the framework?

Normal apps should close fine. It's just specifically the Hello World app (or any app that doesn't actually use the Flutter framework) that is affected.

@Hixie Do you know why it would intermittently work?

specifically the Hello World app (or any app that doesn't actually use the Flutter framework)

I'm a bit of a flutter noob, it looked to me like Hello World used the flutter framework; what is it that's missing? (I presume I can just switch to one of the other example apps for testing, I'm just curious about this!)

Ah, I may have been confused about which app you meant.
These should terminate fine, because they use the Flutter framework:
https://github.com/flutter/flutter/blob/master/examples/hello_world/lib/main.dart
https://github.com/flutter/flutter/blob/master/examples/layers/widgets/hello_world.dart
https://github.com/flutter/flutter/blob/master/examples/layers/rendering/hello_world.dart
This one should not terminate, because it does not use the Flutter framework:
https://github.com/flutter/flutter/blob/master/examples/layers/raw/hello_world.dart
None of them should only work intermittently, that's weird.

Ah, ok. It is this one I'm testing with.
Terminating from the command line seems to always work, though I think pressing Ctrl+C sends a different signal than just calling .kill() in node (which is basically what I'm doing). As I understood it, .kill() will just terminate the process in a way that it has no way of dealing with it, so I'm actually more surprised it ever works than that it sometimes doesn't!
That said, I guess it should work reliably if it's being terminated by something running on the device that has noticed the flutter process has gone away?
When I get time, I'll try and do a little bit more investigation and see whether I can find a pattern for when it does/doesn't work.

@DanTup, you could also kill the app with the app.stop() daemon command, instead of node process kill function.

@devoncarew Tried that, but then either the debugger process gets immediately terminated (which I don't know if may result in unreliable termination; eg. if the command was still in a buffer) or I delay telling Code I've finished (and that's where https://github.com/Microsoft/vscode/issues/28192 came from!).
If killing the process should work, then I think fixing this bug is the simplest way (for me). If it's unlikely it can be made reliable, I can try and see if that Code issue can be investigated/resolved.

FWIW, I made a change to send the request before immediately terminating and it seems to have been reliable (I don't know if would be the case on bigger apps or under load though).
I think there's still value in fixing this if you can, but it might not be as bad as I thought. I'll post back if it does seem to become unreliable though.

I think https://github.com/Dart-Code/Dart-Code/issues/771 may be related to this. I'm currently sending app.stop and then .kill(), but Flutter seems to continue running afterwards.
I could send a SIGKILL but I don't know if that's even more likely to leave things around. How fast shout Flutter stop when send app.stop/SIGTERM during a build?

I'm not sure why I commented on this and raised https://github.com/flutter/flutter/issues/16183 on the same day. Closing this as a dupe of https://github.com/flutter/flutter/issues/16183 since they seem to describe the same problem - telling Flutter to stop/quit during a build.


xService: Bugfix on 'Dependencies' property that caused a crash when set

Fixed a bug where the New-Service command was called with "Dependencies" instead of "DependsOn" as stated in the Documentation: https://technet.microsoft.com/en-us/library/hh849830.aspx. This caused the DSC Configuration to crash as soon as "Dependencies" was not null.
Updated Readme.md under section "Unreleased"

Hi @davidstrahm, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@davidstrahm, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

Thanks for your contribution @davidstrahm !


fix(grid-list): check correct platforms for change detection logic

:tada: This PR is included in version 9.4.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix link to stopping an AKS cluster

@dennis-benzinger-hybris : Thanks for your contribution! The author(s) have been notified to review your proposed change.

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

Link fix looks correct; thanks.


preserve-symlinks option not supported with ng test

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x] feature request

Versions.
@angular/cli: 1.3.0-beta.1
node: 8.2.0
os: darwin x64
Repro steps.
ng build/serve command do support --preserve-symlinks option, while ng test does not:
$ng build --help | grep sym
  --preserve-symlinks (Boolean) (Default: true) Do not use the real path when resolving modules.
$ng test --help | grep sym
# empty
$ ng test --preserve-symlinks
The option '--preserve-symlinks' is not registered with the test command. Run `ng test --help` for a list of supported options.

Desired functionality.
I think it'd make sense to support symlinked modules in the test command too.
The test command does not include common build options, while serve does:
<EMAIL_ADDRESS>Not sure if that's intentional for some reason or by mistake.

Yeah I agree it should be available there. ng test and ng build/serve/e2e do not share options for historical reasons that are now outdated. So we should make those shared.

Awesome @filipesilva will this be in 1.4.2?


Fix missing reference prefix of commits when sync mirror repository

replace #24868
just a patch to fix #24824 in v1.19.4
The reference name of commits when synchronizing should also has prefix like refs/heads/.

Thanks, confirmed as fixing the issue with manual testing of today's gitea/gitea:1.19-nightly container image.


Doc template not using the entire screen

Description of the modifications
The template does not scale with the screen resolution. This is impacting the rendering. I got complains already from users. Could we improve the space usage on screen ?
repo : https://github.com/ansys-internal/pyansys-edb

Useful links and references
No response

I use the following CSS for this:
.bd-main .bd-content .bd-article-container {
   max-width: unset;
}
.bd-page-width {
   max-width: unset;
}
table {
   width: 100%;
}
.bd-sidebar-primary {
   width: 15%;
}


how to use the OneStepGreedyOracle sample policy in simple_baselines.py

the job is so great and thx for it
I wanna to know how to use OneStepGreedyOracle sample policy just like LOUPESample format
Thx very much!

we developed our method based on the repo https://github.com/facebookresearch/active-mri-acquisition but I haven't tried this policy yet. You may want to ask in the original repo. Thanks


Input border - certain colors don't work on Native

Description
When using an Input field and trying to set the border color, only some border colors work.
This appears to be a problem on both data-[focused:true] as well as just setting the border color
CodeSandbox/Snack link
https://github.com/aaronatbissell/gluestack-issue-repro
Steps to reproduce

Go to https://github.com/aaronatbissell/gluestack-issue-repro
Clone the repo
npm install
npm run ios

❌ The first input box border should be yellow when in focus (it's black) - using a custom color I added to the config color-custom-test
✅ The second input box border should be orange when in focus (it's orange) - using a predefined color-tertiary-500
❌ The third input box border should be red when in focus (it's black) - using a predefined color-indicator-error

Just setting the base border colors:

gluestack-ui Version
@gluestack-ui/input: 0.1.31
Platform

[X] Expo
[X] React Native CLI
[ ] Next
[ ] Web
[ ] Android
[ ] iOS

Other Platform
No response
Additional Information
No response

Just opened this back up today and it looks like the borders are working as I would expect now:

This still isn't working with our debug builds - it looks like it works when running with metro after it initially loads. I'm having a tough time reproducing it 100% of the time, but it's definitely not working for actual builds on Native

hi @aaronatbissell, If you want to use dynamic colors with state-based styling (using the data-* attribute), you'll need to define the color values in the safelist section of the tailwind.config.js file for now. We are working on this fix and will update you once done.
thank you

Thank you @rajat693 - this worked! Looks like a couple pre-defined colors (indicator and status) aren't includes in the default safelist and I had to also include our own custom colors.
Thanks again!!


Fix commented out line with Singleton

Singleton expects a constructible type as an argument not an instance of something so this is probably what you wanted. It's the equivalent to line 16 but with construction deferred until when the instance is first needed.

Hi @meadsteve ! Yes, it was a typo thank you for that very much. But I replaced it with line 16 which is also working, you are correct.

👍


route list upside down in 0.9.8

I have a pages structure like
pages/
  - shop/
    - index.vue
    - _category.vue

In 0.9.7 routes, it will be generated to
{
	path: "/shop",
	component: _2a02d111,
	name: "shop"
},
{
	path: "/shop/:category?",
	component: _7e4de1c2,
	name: "shop-category"
},

But in 0.9.8, it became upside down

It's now fixed in v0.9.9.