ef core7 , RemoteCertificateValidationCallback error was throwd in docker container

I try to run an asp.net core api with dotnet7 SDK in a docker container.
I have this connection string:
server=xxx.xxx.xxx.xxx,SqlServerPort;database=DbName;user id=sa;password=DbPassword123;TrustServerCertificate=True;
it works fine on my local pc. but when I run this project in a docker container throws this error:

Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
System.Security.Authentication.AuthenticationException: The remote certificate was rejected by the provided RemoteCertificateValidationCallback.

I use this Dockerfile:
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["Project.Api/Project.Api.csproj", "Project.Api/"]
COPY ["Project.Module.Admin/Project.Module.Admin.csproj", "Project.Module.Admin/"]
COPY ["Project.Module.Shared/Project.Module.Shared.csproj", "Project.Module.Shared/"]
COPY ["Project.Data/Project.Data.csproj", "Project.Data/"]
COPY ["Project.Infrastructure/Project.Infrastructure.csproj", "Project.Infrastructure/"]
COPY ["Project.Identity/Project.Identity.csproj", "Project.Identity/"]
COPY ["Project.Job/Project.Job.csproj", "Project.Job/"]
COPY ["Project.Module.Driver/Project.Module.Driver.csproj", "Project.Module.Driver/"]
COPY ["Project.Module.User/Project.Module.User.csproj", "Project.Module.User/"]
RUN dotnet restore "Project.Api/Project.Api.csproj"
COPY . .
WORKDIR "/src/Project.Api"
RUN dotnet build "Project.Api.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Project.Api.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Project.Api.dll"]

and use this docker-compose file:
version: "3.4"
services:
  db-production:
    image: "mcr.microsoft.com/mssql/server:2022-latest"
    container_name: db-production
    restart: always
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_SA_PASSWORD: "DbPassword123"
    volumes:
      - /home/volumes/mssql/data/production:/var/opt/mssql/data
    ports:
      - "1432:1433"
  backend-production:
    image: "backend_production:${TAG}"
    container_name: backend-production
    environment:
      - "ASPNETCORE_ENVIRONMENT=Production"
    build:
      context: .
      dockerfile: Project.Api/Dockerfile
    ports:
      - "${EXPOSED_PORT_PRODUCTION}:80"
    restart: unless-stopped
    depends_on:
      - db-production

I add my dbContext and SQL server ef core provider:
builder.Services.AddDbContextPool<AppDbContext>(options =>
{
    options.UseSqlServer(builder.Configuration.GetConnectionString("ConnectionStringName"), ss =>
    {
        ss.EnableRetryOnFailure(3);
    });
});

if I downgrade EF Core package version to 6.0.1 its works fine on docker!
EF Core version: 7.0.0
Database provider: (e.g. Microsoft.EntityFrameworkCore.SqlServer)
Target framework: (e.g. .NET 7.0)
Operating system: Windows, Linux
IDE: (e.g. Jetbrains Rider 2022.3 EAP 9)

Moving to do the SqlClient repo as this isn't related to EF Core.

@roji
Thanks Shay :)

I'm also like mistake after migration to dotnet 7

I think the issue comes from the breaking change in M.D.SqlClient by changing the default value of Connection string Encrypt from false to true. For testing purposes, you can add Encrypt=False to your connection string or
Encrypt = SqlConnectionEncryptOption.Optional

in your connection string builder and see if that solves the issue.

@JRahnama
thanks, Javad. but I change my connection string from:
server=xxx.xxx.xxx.xxx,SqlServerPort;database=DbName;user id=sa;password=DbPassword123;TrustServerCertificate=True;
to:
server=xxx.xxx.xxx.xxx,SqlServerPort;database=DbName;user id=sa;password=DbPassword123;TrustServerCertificate=True;Encrypt=False;
and it didn't make a difference . I also tried to remove TrustServerCertificate=True to be sure and it's not working.

Is there any sample code for asp.net core
with dotnet 7 SDK and EF Core 7 that runs  fine on docker?

Is there any sample project or GitHub repo for asp.net core with dotnet 7 SDK and EF Core 7 that runs fine on docker?

Not that I am aware of. EFCore team may know that better. Have you tried a new simple application with EFCore to see if that works?
One other option I can think of is HostNameInCertificate connection string property that was recently added. Seems like you are using IP instead of server name which could cause some issues with this new property. Can you use server FQDN instead of IP address and see what happens?
Just keep in mind that we are in the middle of a GA release and cannot dedicate so much time on the issues at the moment, but we can investigate it later after the GA release.

Is there any sample project or GitHub repo for asp.net core with dotnet 7 SDK and EF Core 7 that runs fine on docker?

Not that I am aware of. EFCore team may know that better. Have you tried a new simple application with EFCore to see if that works?
One other option I can think of is HostNameInCertificate connection string property that was recently added. Seems like you are using IP instead of server name which could cause some issues with this new property. Can you use server FQDN instead of IP address and see what happens?
Just keep in mind that we are in the middle of a GA release and cannot dedicate so much time on the issues at the moment, but we can investigate it later after the GA release.

Unfortunately I can't use FQDN in my cloud PaaS provider.
There is no way to use an IP address?

I currently have the same Issue, tried every possibility of the parameters
Persist Security Info=True;
Encrypt=False;
TrustServerCertificate=True;

This really needs to be resolved as its a significant breaking change/regression.

@JRahnama why is this in waiting for customer? It looks like sufficient information has been given and the issue is certainly repeatable. What is the team waiting on from any customer?

Bump, this is causing several issues here in our dev environment.

Hey, I got the same error:
System.Security.Authentication.AuthenticationException
The remote certificate was rejected by the provided RemoteCertificateValidationCallback.
   at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.AuthenticateAsClient(SslClientAuthenticationOptions sslClientAuthenticationOptions)
   at Microsoft.Data.SqlClient.SNI.SNITCPHandle.EnableSsl(UInt32 options)

also tried TrustServerCertificate=True; but still fails.

We have the same problem which prevents us from upgrading to EF Core 7 yet, as it would break our development pipeline.

Also having the same issue. Have tried everything above including changing from localhost to the actual IP and port number.

We just experienced this issue and adding "Trust Server Certificate=True" fix the issue.
Within UAT we use managed instances. When connecting to the SQL Browser Agent, the connection simply dies with the same error. We are not happy with the solution but this was fixed by setting the connect to use TCP and set the Instance port directly
Server=tcp:persistneo,1439;Database=<removed>;User Id=<removed>;Password=<removed>;Trust Server Certificate=True

Please check the code DB context object is added as singleton and the object must be injected from constructor only. The connectionString must be set or re-set (re-load from Configuration appsettings.json) if the object of dbcontext is created separately anywhere in code.

Any progress on this? We are stuck on EF6 due to this bug because we cannot run our integration tests.

Any updates regarding this? We are also blocked from migrating to .net 7 until this is fixed

Is anyone able to provide a sample repo without EFCore that reproduces the issue?

@JRahnama here it is: https://github.com/elepner/EfCore7BugReproduce

The following repository seamlessly integrates with ASP.NET Core, .NET 8, and Microsoft SQL Server, demonstrating a smooth and efficient Docker deployment process.
https://github.com/saddamhossain/DockerDemo

I updated to EF 8.0.1 and simply adding "Encrypt=False" to my connection string solved the callback certificate exception.
Below the connection string I used to register the data context into my IOC container.
Server=mySqlServerInstance,1433; Database=MyDatabase; User=sa; Password=MyStrongPassword; MultipleActiveResultSets=true;TrustServerCertificate=true;Encrypt=False;

I updated to EF core version 8.0.1 and simply adding "Encrypt=False" to my connection string solved the callback certificate exception. Below the connection string, I used to register the data context into my IOC container. Server=mySqlServerInstance,1433; Database=MyDatabase; User=sa; Password=MyStrongPassword; MultipleActiveResultSets=true;TrustServerCertificate=true;Encrypt=False;

It's also works for me in .NET 8.

I am also facing the same issue, even with .Net 8 (tried 8.0.1 & 8.0.3), adding Encrypt=False & TrustServerCertificate has no effect, it still expects server certificate validation.
More context:
Running integration tests with EF Core in docker container & facing the same issue.
It blocking to upgrade EF Core to > 6.0.0
Getting below additional stack trace in my case
--AuthenticationException    at System.Net.Security.SslStream.SendAuthResetSignal(ReadOnlySpan1 alert, ExceptionDispatchInfo exception)
at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
at System.Net.Security.SslStream.AuthenticateAsClient(SslClientAuthenticationOptions sslClientAuthenticationOptions)
at Microsoft.Data.SqlClient.SNI.SNITCPHandle.EnableSsl(UInt32 options)`
 ----> System.Security.Authentication.AuthenticationException : The remote certificate was rejected by the provided RemoteCertificateValidationCallback.

After changing connection string format from Server=sql-db,1433;Database=CloudDb;User Id=sa;Password=YourStrong@Passw0rd;MultipleActiveResultSets=true to Data Source=sql-db; Initial Catalog=CloudDb; User ID=sa; Password=YourStrong@Passw0rd;trusted_connection=false;Persist Security Info=False;Encrypt=False; everything started working. Thanks, @saddamhossain, for providing a working example.


Create 0000-01-02-Brodhead05.md

created a branch, created a file and made a commit, and opened a pull request


Problems running own example GCN

Dear all,
I am running the following code:

import torch

from IPython.display import set_matplotlib_formats
from matplotlib import pyplot as plt
import torch.nn.functional as F

#import matplotlib.pyplot as plt
from sklearn.manifold import TSNE

def visualize(h, color):
    z = TSNE(n_components=2).fit_transform(out.detach().cpu().numpy())

    plt.figure(figsize=(10,10))
    plt.xticks([])
    plt.yticks([])

    plt.scatter(z[:, 0], z[:, 1], s=70, c=color, cmap="Set2")
    plt.show()

from torch_geometric.data import Data
edge_index = torch.tensor([[0, 1],
                           [1, 0],
                           [1, 2],
                           [2, 1],
                           [3, 0],
                           [1, 3],
                           [4, 2],
                           [3, 4],
                           [1, 4],
                           [0, 5],
                           [6, 5],
                           [7, 3],
                           [8, 1],
                           [5, 8],
                           [3, 7],
                           [5, 7],
                           [0, 6],
                           [2, 6]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1], [1], [-1], [0], [1], [1]], dtype=torch.float)

data = Data(x=x, edge_index=edge_index.t().contiguous(), num_classes=2)#, train_mask=2, test_mask=2, val_mask=2)

from torch_geometric.transforms import NormalizeFeatures

dataset = data

print()
print(f'Dataset: {dataset}:')
print('======================')
print(f'Number of graphs: {len(dataset)}')
print(f'Number of features: {dataset.num_features}')
print(f'Number of classes: {dataset.num_classes}')

#data = dataset[0]  # Get the first graph object.

print()
print(data)
print('===========================================================================================================')

# Gather some statistics about the graph.
print(f'Number of nodes: {data.num_nodes}')
print(f'Number of edges: {data.num_edges}')
print(f'Average node degree: {data.num_edges / data.num_nodes:.2f}')
#print(f'Number of training nodes: {data.train_mask.sum()}')
#print(f'Training node label rate: {int(data.train_mask.sum()) / data.num_nodes:.2f}')
print(f'Contains isolated nodes: {data.contains_isolated_nodes()}')
print(f'Contains self-loops: {data.contains_self_loops()}')
#print(f'Is undirected: {data.is_undirected()}')

from torch_geometric.nn import GCNConv

class GCN(torch.nn.Module):
    def __init__(self, hidden_channels):
        super(GCN, self).__init__()
        torch.manual_seed(12345)
        self.conv1 = GCNConv(dataset.num_features, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, dataset.num_classes)

    def forward(self, x, edge_index):
        x = self.conv1(x, edge_index)
        x = x.relu()
        x = F.dropout(x, p=0.5, training=self.training)
        x = self.conv2(x, edge_index)
        return x

model = GCN(hidden_channels=16)
print(model)

model = GCN(hidden_channels=16)
model.eval()

out = model(data.x, data.edge_index)
visualize(out, color=data.y)

from IPython.display import Javascript  # Restrict height of output cell.
display(Javascript('''google.colab.output.setIframeHeight(0, true, {maxHeight: 300})'''))

model = GCN(hidden_channels=16)
optimizer = torch.optim.Adam(model.parameters(), lr=0.01, weight_decay=5e-4)
criterion = torch.nn.CrossEntropyLoss()

def train():
      model.train()
      optimizer.zero_grad()  # Clear gradients.
      out = model(data.x, data.edge_index)  # Perform a single forward pass.
      loss = criterion(out[data.train_mask], data.y[data.train_mask])  # Compute the loss solely based on the training nodes.
      loss.backward()  # Derive gradients.
      optimizer.step()  # Update parameters based on gradients.
      return loss

def test():
      model.eval()
      out = model(data.x, data.edge_index)
      pred = out.argmax(dim=1)  # Use the class with highest probability.
      test_correct = pred[data.test_mask] == data.y[data.test_mask]  # Check against ground-truth labels.
      test_acc = int(test_correct.sum()) / int(data.test_mask.sum())  # Derive ratio of correct predictions.
      return test_acc

for epoch in range(1, 201):
    loss = train()
    print(f'Epoch: {epoch:03d}, Loss: {loss:.4f}')

test_acc = test()
print(f'Test Accuracy: {test_acc:.4f}')

model.eval()

out = model(data.x, data.edge_index)
visualize(out, color=data.y)

But receive the following error when running out=model(...=
Traceback (most recent call last):

  File "<ipython-input-120-9a6fb7a581c1>", line 24, in <module>
    out = model(data.x, data.edge_index)

  File "/home/neurolab2/anaconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)

  File "<ipython-input-120-9a6fb7a581c1>", line 11, in forward
    x = self.conv1(x, edge_index)

  File "/home/neurolab2/anaconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)

  File "/home/neurolab2/anaconda3/lib/python3.8/site-packages/torch_geometric/nn/conv/gcn_conv.py", line 160, in forward
    edge_index, edge_weight = gcn_norm(  # yapf: disable

  File "/home/neurolab2/anaconda3/lib/python3.8/site-packages/torch_geometric/nn/conv/gcn_conv.py", line 62, in gcn_norm
    deg = scatter_add(edge_weight, col, dim=0, dim_size=num_nodes)

  File "/home/neurolab2/anaconda3/lib/python3.8/site-packages/torch_scatter/scatter.py", line 29, in scatter_add
    return scatter_sum(src, index, dim, out, dim_size)

  File "/home/neurolab2/anaconda3/lib/python3.8/site-packages/torch_scatter/scatter.py", line 21, in scatter_sum
    return out.scatter_add_(dim, index, src)

RuntimeError: index 8 is out of bounds for dimension 0 with size 8

And in this command here:
x = torch.tensor([[-1], [0], [1], [1], [-1], [0], [1], [1]], dtype=torch.float)
gives node 0 the value -1, node 1 the value 0 etc.?
and here:
data.edge_attr: Edge feature matrix with shape [num_edges, num_edge_features]
I can define the weights for the edges?
Best,
Steph

edge_index contains an index of 8. However, x only has 8 nodes, while it needs 9 (zero-based indexing).

Yes, right.
Running
      loss = criterion(out[data.train_mask], data.y[data.train_mask])  # Compute the loss solely based on the training nodes.
(data.y[data.train_mask])
leads to
TypeError: 'NoneType' object is not subscriptable

In case you do not have a train_mask, replacing via
loss = criterion(out, data.y)

should fix your issues.

Great. It works now. I would like to construct a brain as a graph. Each node represents a specific region in the brain and each region has an edge to every other region. Each node just gets a certain number as attribute. Having 3000 regions results in a 3000x3000 Adjacency matrix, where only the diagonal entries are 0. and rest is 1. Each regions has a single certain association with another region represented in the edge_attribute.
So:
data.x = [3000,1]
data.edge_index = [2,3000x3000]
data.edge_attr = [3000x3000,1]
data.y = [3000, *]
I am unsure what is exactly meant with * in data.y and what are the values in data.y?
The goal is to learn unsupervised e.g. 2 classes in the brain to one of each region/node belongs to.
Do you think it makes sense to implement that with the above posted code and change data.x, .. to these values?
Best,
Steph

The * in data.y = [3000, *] just means that the shape of data.y depends on the given task. If you have a binary classification problem for every node, then data.y should have shape [3000] holding values in { 0, 1 }.
I think, in theory, your graph creation is correct. However, I'm not sure if learning on the dense adjacency matrix is the best approach to tackle this. One could make this adjacency matrix more sparse by only regions that are spatially near. WDYT?

So, I give every node a value of 0 or 1 in data.y? As a supervised learning approach?
I would like more to do an unsupervised clustering of the nodes. Is that possible?
Yes you are probably right, I guess finding nodes which are conditional independent might be a way for more sparsity.

Yes, that would be a supervised learning approach. In an unsupervised learning approach, you wouldn't make use of ground-truth labels, and instead utilize something along the line of the "Deep Graph Infomax" work.

okay. Would Deep Graph Infomax work with the same type of data input as mentioned earlier?
Is there also something implemented such as an anomaly detection for nodes?
Learning with a lot of normal graphs and use then an anomaly detection for a new graph is "anormal" nodes.

The current implementation of Deep Graph Infomax operates on single graphs and need to be modified in order to operate on a set of graphs, e.g., by iterating over graph using a DataLoader, and corrupting each example individually.
We sadly don't have any examples for anomaly detection yet :(

It would be totally fine in the beginning for only one graph. It works until the testing method
 def test():     model.eval()     z, _, _ = model(data.x, data.edge_index)     acc = model.test(z[data.train_mask], data.y[data.train_mask],                      z[data.test_mask], data.y[data.test_mask], max_iter=150)     return acc
How do I specify data.y in that unsupervised learning method?

Here, data.y is simply used to validate the performance of the unsupervised node embeddings in a down-stream task (node classification). If you do not have any labels, you cannot apply such down-stream evaluation.

Yes, I see. I would not need a numerical evaluation. But I would need to plot it and evaluate it with the visualisation. That should work as well right?

Yes, you can directly visualize them via TSNE, which seems sufficient for your use-case. When plotting via matplotlib, you can add labels to each dot in the visualization, or make use of some color to identify node ids.

out.dtach() command in def visualize(h, color) gives me AttributeError: ‘tuple’ object has no attribute ‘detach’ .
`#!/usr/bin/env python3
-- coding: utf-8 --
"""
Created on Wed Aug 18 14:14:00 2021
"""
import os.path as osp
import torch
import torch.nn as nn
from torch_geometric.datasets import Planetoid
from torch_geometric.nn import GCNConv, DeepGraphInfomax
from torch_geometric.transforms import NormalizeFeatures
import numpy as np
LL = np.load('/home/neurolab2/GCN/sub-20Corr_LL.npy')
np.shape(LL)
from torch_geometric.data import Data
torch.Size([3352*3352, 2])
edge_index = torch.empty([0, 2])
x = torch.empty([0, 1])
edge_attr = torch.empty([0, 1])
counter = 1
for i in range (1,10):
for j in range (1,10):
    #row = LL[i,:]
    #column = LL[1,:]
    print(i)
    print(j)

    #a = np.array([i, j])

#c = np.concatenate((c[i,:], a[i,:]), axis=1)

    edge_index_temp = torch.tensor([[i, j]], dtype=torch.long)
    edge_index = torch.cat((edge_index, edge_index_temp))

    x_temp = torch.tensor([[counter]], dtype=torch.float)
    x = torch.cat((x, x_temp))
    counter = counter+1

    corr_value = LL[i,j]

    edge_attr_temp = torch.tensor([[corr_value]], dtype=torch.float)
    edge_attr = torch.cat((edge_attr, edge_attr_temp))

#y = torch.tensor([0, 1, 1, 1, 1, 1, 1, 1, 1], dtype=torch.long)
y = (torch.rand(size=(1,81)) < 0.25).long().squeeze(0)
#y_bool = (torch.rand(size=(1,81)) < 0.25).boolean()
#train_mask = (torch.rand(size=(0,81)) < 0.25).long()
train_mask = (torch.rand(size=(1,81)) < 0.25).long().squeeze(0)
test_mask = (torch.rand(size=(1,81)) < 0.25).long().squeeze(0)
#train_mask = torch.gt(train_mask, 0)
#test_mask = torch.gt(y, 1)
edge_index  =torch.tensor(edge_index, dtype=torch.long)
edge_index = torch.transpose(edge_index, 0, 1)
x_dummy = torch.tensor([[1]])
#x = torch.cat((x, x_temp)) ##need one more entry in x than in edge_index
data_HGG = Data(x=x, y=y, train_mask=train_mask, test_mask=test_mask, edge_attr=edge_attr, edge_index=edge_index)#, train_mask=2, test_mask=2, val_mask=2)
data = data_HGG
class Encoder(nn.Module):
def init(self, in_channels, hidden_channels):
super(Encoder, self).init()
self.conv = GCNConv(in_channels, hidden_channels, cached=True)
self.prelu = nn.PReLU(hidden_channels)
def forward(self, x, edge_index):
    x = self.conv(x, edge_index)
    x = self.prelu(x)
    return x

def corruption(x, edge_index):
return x[torch.randperm(x.size(0))], edge_index
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = DeepGraphInfomax(
hidden_channels=81, encoder=Encoder(1, 81),
#hidden_channels=512, encoder=Encoder(dataset.num_features, 512),
summary=lambda z, *args, **kwargs: torch.sigmoid(z.mean(dim=0)),
corruption=corruption).to(device)

#data = dataset[0].to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
def train():
model.train() #wo wird das ausgeführt?
optimizer.zero_grad()
pos_z, neg_z, summary = model(data.x, data.edge_index) ###where does model go with data.x,..
loss = model.loss(pos_z, neg_z, summary)
loss.backward()
optimizer.step()
return loss.item()
def test():
model.eval()
z, _, _ = model(data.x, data.edge_index)
acc = model.test(z[data.train_mask], data.y,
z[data.test_mask], data.y, max_iter=150)
return acc
for epoch in range(1, 301):
loss = train()
print('Epoch: {:03d}, Loss: {:.4f}'.format(epoch, loss))
acc = test()
print('Accuracy: {:.4f}'.format(acc))
#model.eval()
Helper function for visualization.
#%matplotlib inline
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
def visualize(h, color):
z = TSNE(n_components=2).fit_transform(out.detach().cpu().numpy())
plt.figure(figsize=(10,10))
plt.xticks([])
plt.yticks([])

plt.scatter(z[:, 0], z[:, 1], s=70, c=color, cmap="Set2")
plt.show()

out = model(data.x, data.edge_index)
visualize(out, color='green')`

That's because DeepGraphInfomax returns both positive and negative embeddings, as well as the summary vector. visualize(out[0], color='green') should fix this.

I see. still the same error but when I change in def visualize(h, color) h to out it works. Where is h used in the visualize method?

The h argument should be used to create TSNE embeddings (while currently you are using the global out embedding).

As a general rule of thumb, you should avoid for-loops at all cost. Furthermore, concatening lists to tensors inside a for-loop is very expensive, as you will create a lot of intermediate tensors. Moving the cat calls outside the for-loops should already speed things up. An even faster version is:
row = torch.arange(3352).view(1, -1).repeat(3352, 1).view(-1)
col = torch.arange(3352).view(-1, 1).repeat(1, 3352).view(-1)
edge_index = torch.stack([row, col], dim=0)
edge_attr = LL[row, col]


Add 4.9 release notes

Docs Build status updates of commit fd8bbc9:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/release-notes/NuGet-4.9-RTM.md
:warning:Warning
View
Details

docs/release-notes/NuGet-4.9-RTM.md

Line 20, Column 50: [Warning: hard-coded-locale - See documentation] Link 'https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#whats-new-in-159' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 20, Column 50: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes#whats-new-in-159' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 1a34534:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/release-notes/NuGet-4.9-RTM.md
:white_check_mark:Succeeded
View

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


[HUDI-397] Normalize log print statement

What is the purpose of the pull request
Normalize log print statement
Redo hudi-test-suite log statements using SLF4J
Brief change log
Normalize log print statement
Redo hudi-test-suite log statements using SLF4J
Verify this pull request
This pull request should be covered by existing tests.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@wangxianghu Can you please check the failing build and rebase ? We should be able to merge this soon!

Hi @n3nash, Sorry for the delay, I'll fix it soon.

hi @wangxianghu, you can use git rebase operation and try again

hi @n3nash, I have rebased this pr PTAL, thanks


Update to build 4.2.3 and 5.3.0

Somebody will have to take care of Makefile and .drone.yml since I can't make that work, some inspiration on how to make it work might be found in the test.sh

Integrated 4.2.3 and 5.3.0 instead of only one build
I moved over from build-essential git libssl-dev python ca-certificates curl to using the same dependencies as the original x86 docker image (lists from buildpacks-deps:jessie and buildpacks-deps:wheezy)
Building can be tested with test.sh
I successfully build and tested the images on a Raspberry Pi 2 and have been using it for my own node app
0.10 and 0.12 builds for linux-armv6l are not available by the node foundation

@MariusRumpf This is awesome! Yes, we have to build both of the stable versions. We have to setup our Drone CI to give better feedback for such PR's in the future.

Thanks!


change mat structure to support some transformations in future

- matrix:
  - row-1
  - some-operation
  - row-2

added support for changing delimiter.
- matrix:
  - row-1
  - context
      delimiter: ''
  - row-2

# removes delimiter between style ids


Previous bandwidth optimization breaks bwmg on old AMI

My previous patch in PR #195 to fix issue #194 was not compatible with the stock/old BWMG AMIs.  A patch is coming to fix this.
The issue is that 'fgrep' on the older Ubuntu AMIs does not support the -F option.  However, using 'grep -F' is functionally equivalent because -F implies fixed strings, which should cause 'grep' to behave like fgrep CPU-wise.

PR merged, closing


Optional Agents in Tasks (mismatch documentation vs code)

Hello  @ all,
First and foremost, I want to express my appreciation for this fantastic project! :)
I recently encountered an issue that was previously discussed in #71 , and I've spent some time examining both the code and the wiki. If I understand correctly, the tasks should function properly even when no agent is selected for a particular task. You can find more information about this in the Wiki Reference to tasks. However, based on my investigation into the code, it appears that this feature may not be currently implemented. Is there someone actively working on this feature, or has it been dropped?
I appreciate your clarification on this matter.

Great catch, indeed, right now the sequential process expects the tasks to be assigned, in other processes that wont be necessary, I've updated the wiki as part of that for now


Missing Class EnvCanvas in agents.py

The current version of agents.py appears to have been truncated.

It is missing the EnvCanvas class and a set of tests for the gui environment.
Earlier versions of the code contain these.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 23 Jul 2010 at 12:56

@GoogleCodeExporter I would like to work on this


Update doc

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 97.983%

Files with Coverage Reduction
New Missed Lines
%

linear_elasticity.py
1
98.98%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
583

Relevant Lines:
595

💛  - Coveralls


groupremovecontact doesn't seem to do anything?

I ran the command groupremovecontact gn/long group n/150 after viewing expenses gn/long group and nothing seemed to happen.
seems like the difference is only seen in contacts and groups. Shouldn't all expenses of the contact be removed as well?

Nope, if it is deleted from a contact, the splitting of expenses incurred by the contact will not involve him.


[FEATURE] Tell no, of profiles added to the Linkfree database

Description
Mostly, everyday one or two profiles get added, so a text field above the current button "Profile Type" or below that telling how many profiles are added will really be nice, according to me.
Screenshots
No response
Additional information
No response

Nice idea 👍 if anyone wants to create a mock up of what this could look like feel free.

Ig it can look something like this?
[image: image.png]
On Thu, 10 Feb 2022 at 03:07, Emma Dawson @.***> wrote:

Nice idea 👍 if anyone wants to create a mock up of what this could look
like feel free.
—
Reply to this email directly, view it on GitHub
https://github.com/EddieHubCommunity/LinkFree/issues/1069#issuecomment-1034215520,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUGJUTKR3UV5M5P4QCNKPCTU2LNCRANCNFSM5NVNHDAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Ig it can look something like this? [image: image.png]
…
On Thu, 10 Feb 2022 at 03:07, Emma Dawson @.> wrote: Nice idea 👍 if anyone wants to create a mock up of what this could look like feel free. — Reply to this email directly, view it on GitHub <#1069 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUGJUTKR3UV5M5P4QCNKPCTU2LNCRANCNFSM5NVNHDAQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you authored the thread.Message ID: @.>

@emmalearnscode Let me know if I should share the image again... I shared it on email so ig that didnt work?

Yes, please share it again, it’s not visible

Yes, please share it again, it’s not visible

I'm not sure what actual value such a counter would bring to the website. I think most of the people will not go to the "main" homepage rather than the actual user profile. But this would only my personal opinion on this topic.

@KendallDoesCoding, Can I work on this as my first issue.?

@KendallDoesCoding i would like to work on issue if it is not closed?

Profile visits would need a database behind it, it is currently only a frontend app. This is something we could look to do in the future once a database/api is connected

For now can't we just show the number of profile added on the data file, just count the number of files on the data folder and show it on the frontend?
If that's possible can I work on it?

We can add something like this:
6563 users have been using LinkFree on their social media accounts!
Adding the word developers instead of users will render LinkFree's image as a product for especially made for developers
6563 developers have been using LinkFree on their social media accounts!
Would love to add this

@EmmaDawsonDev @eddiejaoude I believe what @KendallDoesCoding was referring to should look like this. Let me know if this is something we want to build upon

I think we have done something similar in the new version 2 which is in the "nextjs" branch - I can take another look when I get back home

We have this on the home page now, and we also have the data for how many today, we can display this also or a graph for the amount per day. I will close this and maybe a new specific issue could be created

how else would they increase?


Fix some issues regarding private client slots

Avoid potential crashes with out of bounds value of sv_privateClients.
Implement my suggestion here for server stats in the presence of private slot users. Namely, the difference between the number of current clients and the max should be the number of open public slots. For comparison, #40 proposes max clients = max(number of public slots, number of clients).
Actually prevent users without the right password from occupying the private slots (fixes #41).

If server has 1 private slot (-set sv_maxclients 1 -set sv_privateclients 1 -set sv_privatePassword "53CR37") and one private client is connected, other people see server (client count/max client count) as (0/0), is this expected? It means the server browser displays an empty server if a whole clan using private slots is playing on it.
I notice I still can connect the local server and taking a private slot without password or with wrong password if I connect either to my localhost address and my LAN address, is this expected? If yes, how can I easily test the various scenarii? I have not tested from a non-localhost or non-LAN address, it's just not easy to do so.

@illwieckz I checked to make sure, and none of the issues you report occur when I test my patch. With privateclients=1 maxclients=1 and 1 player connected, it displays 1 + (0) / 1. It is not possible to enter with the wrong password. All of these behaviors sound like you are using the old version.

@slipher yes that was probably a mistake on my side, I rebuilt it to be sure and now it works as expected. that's good.


Receive course ID & email from server

This won't be ready to merge until the server starts sending the course ID.
See: https://github.com/Cal-CS-61A-Staff/ok/pull/332

Now should resolve #32 - This won't be ready to merge until the server starts sending this information (https://github.com/Cal-CS-61A-Staff/ok/pull/332) - hopefully this should tell students what account they've submitted under.
It might be helpful to also add another line instructing them to re-authenticate if that's not the right email.

@Some3141 / @albert12132 - this is ready to be included in the next ok update.

LGTM.


Connectionless tests for UDP sockets

I'm thinking of filling in this repo a bit.  Wanted to make sure no one else is working on this already and that I implement this in a way that is useful.  Basic question: what is UDP used for in IPFS?  (In particular, is it used "as-is", or is there expected to be some application code providing reliability, ordering, etc.?)
I had a look through the abstract-transport tests.   The tests are currently set up for connection-oriented (TCP) sockets.  Would I just need to tweak the tests a bit to add connectionless (UDP) tests?

IPFS is designed to be multitransport, that being said, it should work over any transport protocol or addressing system. The way that we do this is by abstracting all of the network nuances with libp2p and using a PubKey+multiaddr addressing scheme to enable a given PeerID to be available through a several transports.
udp is one more protocol that we want to be able to support. As far as libp2p is concerned, a given transport should implement abstract-transport interface https://github.com/diasdavid/abstract-transport#api, that is, whatever happens underneath, the expectations for those API calls should be fulfilled. This doesn't mean however, that we need to add reliability to UDP in order to make it happen (a simple initial signalling message should be enough to verify that a socket was indeed open).
We created the notion that a transport should return a connection and a connection should be upgradable (to a cyphered channel, to a reliable channel, to a multiplex channel, etc) more context here: https://github.com/diasdavid/node-libp2p-swarm/issues/8
libp2p spec - https://github.com/ipfs/specs/pull/19 (easier to read: https://github.com/diasdavid/specs/tree/libp2p-spec/protocol/network)
All this being said (and my apologies if I'm being redundant to the information you already had :)), it would be great to have your help implementing the transport. I'm interested to learn what kind of tests do you have in mind for non reliable connections? Our goal was to have a incremental battery of tests that validates that a transport can indeed fulfil the expectations of the API.

I have a pretty good idea how message-oriented interfaces all the way through libp2p could look like and wanna write these down properly in the next few weeks. @tinybike Please keep me in the loop if you want input or review, or keep nagging me into writing my thoughts down :)

@diasdavid

a way to make it work is to upgrade the UDP socket with some kind of Congestion Window to add reliability to the flow, like UDT or uTP do, however, we don't have that 'Congestion Window' stand alone module implemented.

The problems I understand for udp (but also the inherent unreliable aspects of udp) as you explained in the other issue:

Packets being unordered.
Packet losses because congestion or any other under layer reasons (such as radio interferences over wifi)

Now that I understand why this handles the congestion I don't see why it solves the order issue (and the other potential losses), does it ?
And I am not sure I get the upgrades architecture right here, how would the TCP connection look like before it is upgraded with the congestion flow. I mean, it's already there as soon as you get the connection once the socket is open no (because it's tcp)?
I feel like the implicit purpose here is to flatten the transport layer protocols differences with more or less application layer counterparts depending on the protocol, to abstract any network interaction into a single ipfs interface. Is that a good summary ?
But then, how do we ensure that adding the reliability to udp doesn"t break the very purpose of udp ? (such as very low latency ?)
@whyrusleeping mentionned :

we currently use a stream cipher that requires reliable ordered packets.

I have not been able to identify where this is implied in the code go-libp2p-crypto or js-libp2P-crypto
Can you point me to the right direction in there ? (I suppose it's just the fact that the unordered message could not work out for guaranteeing integrity because changing the order would change the hash but I don't see where you are receiving those raw data from the transport if that makes any sense)
And by the way I can't fin any interface for the crypto implementations, seems an issue is already pointing that out but it does not seem "complete". It would be very helpful to have one.
Thanks for your help ! just trying to figure out things :)


Fix ArgumentError when plotting Geom.bar with empty array of values

The below code was resulting in ArgumentError: reducing over an empty collection is not allowed because there is no value where category1 is B and category2 is Y.
using Gadfly

Gadfly.plot(x=[1, 4, 2],
            y=[5, 7, 3],
            xgroup=["A", "A", "B"],
            ygroup=["X", "Y", "Y"],
            Geom.subplot_grid(Geom.bar))

I fixed this by copying the logic used in the HistogramStatistic version of apply_statistic and added a test.

Coverage increased (+0.005%) to 63.059% when pulling 9960d63fa3698c215c439452a1d839dc75e9a084 on JohnHBrock:pull-request/9960d63f into 91fb46809d2376f1b81f521f8b9d7f4e7804d3c9 on dcjones:master.

Thanks for this fix, I'm rebooting travis and I'll merge this once tests pass. Sorry this took so long!


Some infrastructures stay listed after deleting

Hi,
After trying to deploy some infrastructures, (with failure due to site issues), I cannot delete the infrastructures from "My Infrastructures" list.

After presing "Delete" button, the "infrastructure uuid" stills there.
BR, Borja

Hi @BorjaEst,
If the infrastructure remains is because the IM cannot delete it successfully.
Could you tell me which site are you using.
There are some known issues in IFCA site deleting Security Groups that causes this kind of error.
You can delete it some hour before.

In case the infrastructure cannot be deleted for some error in the cloud provider. The IM service enables forcing the deletion. I'm adding this feature to the dashboard (see #26).

Hi @micafer

Could you tell me which site are you using.

Provider: | OpenStack: controller.ceta-ciemat.es:5000
Provider: | OpenStack: keystone3.ui.savba.sk:5000 (x3)

There are some known issues in IFCA site deleting Security Groups that causes this kind of error.
Does the IM delete the security groups if all instances are removed?
In keystone3.ui.savba.sk I tested again, but it did not get to create the groups (maybe that is the issue why it failed to deploy).

You can delete it some hour before.
I tried it, but still there.

I have tried the force delete but the lines still there...

First one is CETA-CIEMAT, second one is IISAS.
IISAS has othe known issues that uses an old OpenStack API version. I will try to see how to configure it in the dashboard to enable it.
But forcing the deletion they should disappear.

IISAS error must be solved. Now you must be abe to submit and delete without errors.

Hi @micafer,
I tried to delete the infrastructures and this time it worked perfectly.
Thank you!


cloudflare_zone_settings_override Unrecognized zone setting name

Confirmation

[X] My issue isn't already found on the issue tracker.
[X] I have replicated my issue using the latest version of the provider and it is still present.

Terraform and Cloudflare provider version
Terraform v1.2.2
on darwin_arm64

provider registry.terraform.io/cloudflare/cloudflare v3.18.0

Affected resource(s)
cloudflare_zone_settings_override
Terraform configuration files
module.simple_life.module.this.cloudflare_zone_settings_override.this will be created
  + resource "cloudflare_zone_settings_override" "this" {
      + id                       = (known after apply)
      + initial_settings         = (known after apply)
      + initial_settings_read_at = (known after apply)
      + readonly_settings        = (known after apply)
      + zone_id                  = ""
      + zone_status              = (known after apply)
      + zone_type                = (known after apply)

      + settings {
          + always_online               = "on"
          + always_use_https            = "on"
          + automatic_https_rewrites    = "on"
          + binary_ast                  = (known after apply)
          + brotli                      = "on"
          + browser_cache_ttl           = 1200
          + browser_check               = "on"
          + cache_level                 = "aggressive"
          + challenge_ttl               = 1800
          + ciphers                     = []
          + cname_flattening            = "flatten_at_root"
          + development_mode            = "off"
          + early_hints                 = "on"
          + email_obfuscation           = "on"
          + filter_logs_to_cloudflare   = (known after apply)
          + h2_prioritization           = "on"
          + hotlink_protection          = "off"
          + http2                       = "on"
          + http3                       = "on"
          + image_resizing              = "off"
          + ip_geolocation              = "on"
          + ipv6                        = "off"
          + log_to_cloudflare           = (known after apply)
          + max_upload                  = 100
          + min_tls_version             = "1.2"
          + mirage                      = "on"
          + opportunistic_encryption    = "on"
          + opportunistic_onion         = "on"
          + orange_to_orange            = (known after apply)
          + origin_error_page_pass_thru = (known after apply)
          + polish                      = "lossless"
          + prefetch_preload            = (known after apply)
          + privacy_pass                = "on"
          + proxy_read_timeout          = (known after apply)
          + pseudo_ipv4                 = "off"
          + response_buffering          = (known after apply)
          + rocket_loader               = "off"
          + security_level              = "medium"
          + server_side_exclude         = "on"
          + sort_query_string_for_cache = (known after apply)
          + ssl                         = "flexible"
          + tls_1_2_only                = (known after apply)
          + tls_1_3                     = "zrt"
          + tls_client_auth             = (known after apply)
          + true_client_ip_header       = (known after apply)
          + universal_ssl               = "on"
          + visitor_ip                  = (known after apply)
          + waf                         = "on"
          + webp                        = "on"
          + websockets                  = "on"
          + zero_rtt                    = "on"

          + minify {
              + css  = "on"
              + html = "on"
              + js   = "on"
            }

          + mobile_redirect {
              + status    = "off"
              + strip_uri = false
            }

          + security_header {
              + enabled            = false
              + include_subdomains = false
              + max_age            = 0
              + nosniff            = false
              + preload            = false
            }
        }
    }

Debug output
2022-07-15T12:40:59.072+0300 [DEBUG] provider.terraform-provider-cloudflare_v3.18.0: Cloudflare API Response Details:
---[ RESPONSE ]--------------------------------------
HTTP/2.0 400 Bad Request
Connection: close
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Cf-Cache-Status: DYNAMIC
Cf-Ray: 72b18a213db6152e-LCA
Content-Type: application/json
Date: Fri, 15 Jul 2022 09:40:59 GMT
Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Expires: Sun, 25 Jan 1981 05:00:00 GMT
Pragma: no-cache
Server: cloudflare
Set-Cookie: __cflb=0H28vgHxwvgAQtjUGU56Rb8iNWZVUvXho69pAhEykgM; SameSite=Lax; path=/; expires=Fri, 15-Jul-22 12:11:00 GMT; HttpOnly
Set-Cookie: __cfruid=08df6c05722f05ecea552cf1758d772befb2dec2-1657878059; path=/; domain=.api.cloudflare.com; HttpOnly; Secure; SameSite=None
Strict-Transport-Security: max-age=31536000
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
{
"success": false,
"errors": [
{
"code": 1006,
"message": "Unrecognized zone setting name: h2_prioritization"
}
],
"messages": [],
"result": null
}
-----------------------------------------------------: timestamp=2022-07-15T12:40:59.071+0300
log.LOG
Panic output
No response
Expected output
Terraform apply finished without errors
Actual output
Error: Unrecognized zone setting name: h2_prioritization
Error: Unrecognized zone setting name: image_resizing
Steps to reproduce
Using cf-terraforming generation create terraform block with existing cloudflare_zone_settings_override, run terraform plan/apply
Additional factoids
I've read all of similar issues here and tried each workaround but have no luck.
Also i've turned some parameters to on/off (cause terraform object name is override) but still the same problem.
As i can see in API, fields image_resizing and h2_prioritization has a "editable": true (also i've tried turn them on/off via UI but have no luck)
I've made terraform state rm for this resource too.
For now, i think we can't use terraform for manage these settings and this is awful.
And also very often i get Error: Plugin did not respond...
We couldn't import it and couldn't create, idk what to say more
References
https://github.com/cloudflare/terraform-provider-cloudflare/issues/961
https://github.com/cloudflare/terraform-provider-cloudflare/issues/533
https://github.com/cloudflare/terraform-provider-cloudflare/issues/1297

Have provided the log file already as attachment since its too big for pasting content

@aleksandrovpa look into Plan-Dependent Settings
I've seen the Unrecognized zone setting name: h2_prioritization before.
I was able to resolve the issue by setting h2_prioritization = null which defaults to "off". Unfortunately I see in your config that you're attempting to set h2_prioritization = "on" so I'm not sure how to resolve the issue.
Have you tried to set h2_prioritization = null apply the changes and then set h2_prioritization = "on" and re-apply?

also see https://github.com/cloudflare/terraform-provider-cloudflare/issues/1787#issuecomment-1190716389


[ManifestLoading] Add mitigation and additional debug diagnostics for suspected libSwiftPM race condition

Add mitigation and additional debug diagnostics for a sporadic issue in which opening a new llbuild database emits an error about it being locked.  This is suspected of being a race condition of some kind.  It is only seen in libSwiftPM.
rdar://63297363

@swift-ci please smoke test

@swift-ci please smoke test

Based on additional debugging of this issue, it's become clear that the additional debug info being added here wouldn't actually help.  So I'm withdrawing the PR.


Hotspot Name
micro-lead-seal
Hotspot b58 Address
11RaJCqprk5PsR37KxZZMVaYT6b5EjT4RPfUG4Ldpy28ipW8FHr
Discord Handle
No response
Hotspot Manufacturer
Pisces Miner
Removal Reason
I used the company vpn at home for work reasons before, and I don't know why my equipment was blacklisted. My equipment is normal.
Modifications
No
Extra forwarders
Yes
Extra antennas
No
Additional Information
No response

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


⚠ SceneTime has degraded performance

In 901b79c, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 5180 ms

Resolved: SceneTime performance has improved in 2a40a9b after 6 minutes.


No Output Directory named "dist" found after the Build completed Error when deploying the project to vercel?

Environment

Operating System: Darwin
Node Version:     v16.20.0
Nuxt Version:     3.4.3
Nitro Version:    2.4.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
monorepo root
https://github.com/terwer/zhi-blog/tree/dist
nuxt project
https://github.com/terwer/zhi-blog/tree/dist/apps/zhi-blog
Describe the bug
I build a fresh nuxt project on vercel,dev is ok, bot on vercel it says
Error: No Output Directory named "dist" found after the Build completed. You can configure the Output Directory in your Project Settings.
Build Command
pnpm vercelBuild -F zhi-blog

Output Directory
apps/zhi-blog/dist

Install Command
pnpm install

Additional context
No response
Logs
11:30:12.263	zhi-blog:vercelBuild: [success] You can now deploy `.vercel/output/static` to any static hosting!
11:30:12.326
11:30:12.326	  Tasks:    7 successful, 7 total
11:30:12.326	 Cached:    0 cached, 7 total
11:30:12.326	   Time:    1m8.276s
11:30:12.326	Summary:    /vercel/path0/.turbo/runs/2PUfO10JoQGA5ierGXHlw9TFXix.json
11:30:12.326
11:30:12.507	Error: No Output Directory named "dist" found after the Build completed. You can configure the Output Directory in your Project Settings.
11:30:12.507	Learn More: https://vercel.link/missing-public-directory
11:30:12.704	Deployment completed
11:30:12.656	STATIC_BUILD_NO_OUT_DIR: No Output Directory named "dist" found after the Build completed. You can configure the Output Directory in your Project Settings.

I give up using monirepo.As a single repo, it works now.

Hey @terwer, Turborepo team here. I took a quick look at this, it looks like on Vercel, and when using:
export default {
  nitro: {
    preset: 'vercel-edge',
  },
};

Outputs are written to .vercel/output/static. However, Nuxt is nice enough to alias this to dist/. So to enable caching with Turborepo on Vercel, your config should look like:
{
  "pipeline": {
    "generate": {
      "outputs": ["dist/**"]
    }
  }
}

And ensure the output directory is set to dist/ (the Nuxt default) on your Vercel project.
If you have more issues with Nuxt / Turbo feel free to open an issue over at vercel/turbo and we'll happily take a look.

Hey @terwer, Turborepo team here. I took a quick look at this, it looks like on Vercel, and when using:
export default {
  nitro: {
    preset: 'vercel-edge',
  },
};

Outputs are written to .vercel/output/static. However, Nuxt is nice enough to alias this to dist/. So to enable caching with Turborepo on Vercel, your config should look like:
{
  "pipeline": {
    "generate": {
      "outputs": ["dist/**"]
    }
  }
}

This is assuming a package.json of:
{
  "name": "nuxt-demo",
  "private": true,
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  "devDependencies": {
    "nuxt": "^3.0.0"
  }
}

And ensure the output directory is set to dist/ (the Nuxt default) on your Vercel project.
If you have more issues with Nuxt / Turbo feel free to open an issue over at vercel/turbo and we'll happily take a look.

Hello, I encounter one trouble with  preset: 'vercel-edge'.
In my project, I need to deploy my nuxt3 app to vercel-edge, and override build setting by vercel.json as this:
{
  "installCommand": "pnpm install",
  "buildCommand": "pnpm build:enprod",
  "outputDirectory": "apps/dalle-nuxt3/.vercel/output/static",
  "framework": "nuxtjs"
}

I found that final outputs dir is .vercel, then I set outputDirectory to path/to/.vercel or path/to/.vercel/output or  path/to/.vercel/output/static  or path/to/, and then deploy it,
Every deployment is success, but after deploy, the result url is aloways 404.
Is my config error?

if set outputDirectory to apps/dalle-nuxt3/.vercel/output/, then deploy and then turn on Directory Listing

Hi, i had the same type of issue with nx 18 monorepo
I managed to deploy using build-static command of NX
.vercel/project.json:
    "framework": "nuxtjs",
    "devCommand": null,
    "installCommand": "pnpm install",
    "buildCommand": "nx build-static NAME_OF_NX_APP",
    "outputDirectory": "apps/NAME_OF_NX_APP/.vercel/output/static",


fix(webhook/client): error on http status codes >= 400

As dicussed in https://github.com/gotenberg/gotenberg/issues/550 this change catches an http response code >=400 to ensure it the caller of the send function can handle it (in this case by logging it).

Thanks @doriandekoning!
FYI:

retryablehttp performs automatic retries under certain conditions. Mainly, if an error is returned by the client (connection errors, etc.), or if a 500-range response code is received (except 501), then a retry is invoked after a wait period. Otherwise, the response is returned and left to the caller to interpret.

Codecov Report

Merging #551 (4168974) into main (1f784ad) will decrease coverage by 0.05%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #551      +/-   ##
==========================================
- Coverage   93.45%   93.39%   -0.06%
==========================================
  Files          36       36
  Lines        3162     3164       +2
==========================================
  Hits         2955     2955
- Misses        132      133       +1
- Partials       75       76       +1

Impacted Files
Coverage Δ

pkg/modules/webhook/client.go
80.00% <0.00%> (-3.34%)
:arrow_down:

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

Thanks for the review, I'll apply the suggestions. I didn't really see any unit tests for this file in client_test.go but I assume they live in a different place?
Also if I see it correctly the this field is a struct not an interface so dependency injection (to have it return some non-ok status codes) would be a bit hard ;)  How do you normally test these kind of things?

Best place to test it would be the TestWebhookMiddlewareAsynchronousProcess method from the middleware_test.go file. This method is a bit convoluted though 😅

Thanks! I'll add some cases there!


Apply raster symbolizer on gdalimage

Hi,
I have tried to load an image manually in map control. I can now read a tiff image using gdal, here is my code
>             DotSpatial.Data.Rasters.GdalExtension.GdalImage g = new DotSpatial.Data.Rasters.GdalExtension.GdalImage(@"E:\Personal\Project\Sebal\dem\dem.tif");
> map1.MapFrame.Layers.Add(g);

well it works and loads gdal driver, But it does not show anything in map, It seems there must be some symbolizer applied on map, But I could not figure out how to do it, Can some one pleas hep me?thanks

well I tried this one, It seems it can produce raster symbolizer but again nothing is shown
`DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider gr = new DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider();
            IRaster g= gr.Open(@"E:\Personal\Project\Sebal\dem\dem.tif");

            IMapRasterLayer mRas = new MapRasterLayer(g);
            RasterSymbolizer rSym = new RasterSymbolizer();
            rSym.Scheme = new ColorScheme(ColorSchemeType.Glaciers, g);
            mRas.Symbolizer = rSym;

            map1.MapFrame.Layers.Add(g);`

Can you see the image if you load your tif file via Map.AddLayers()?
If this works you might be better of using Map.AddLayer(fileName) instead of trying to load it manually.
If it doesn't work DotSpatial might have a problem loading the file for one reason or another. If this is a case it would be nice if you'd upload the file so we can check whether we can fix the problem.

@jany-tenaj  thanks for your reply,
using this code I could load image
    DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider gr = new DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider();
            IRaster g= gr.Open(@"E:\Personal\Project\Sebal\dem\dem.tif");
            map1.Projection = g.Projection;
            IMapRasterLayer mRas = new MapRasterLayer(g);
            RasterSymbolizer rSym = new RasterSymbolizer();
            rSym.Scheme = new ColorScheme(ColorSchemeType.Glaciers, g);
            mRas.Symbolizer = rSym;

            map1.MapFrame.Layers.Add(g);

but It has some bugs which does not show image fully in different zooms.

I think what you're seeing is related to #824.

@jany-tenaj  yes exactly


bug(cmd/cli): Show single-mesh-enforced warning

Description:
Warns user that they cannot install a new mesh due to single-mesh-enforcement
and resolves #4438
Signed-off-by: Shalier Xia<EMAIL_ADDRESS>
Testing done:
Install osm with enforce-single-mesh true:

Install osm with enforce-single-mesh false:

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[x ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?no

Did you notify the maintainers and provide attribution?

Is this a breaking change?no

Has documentation corresponding to this change been updated in the osm-docs repo (if applicable)?

Codecov Report

Merging #4503 (5b2e239) into main (47db020) will increase coverage by 0.04%.
The diff coverage is 87.50%.

@@            Coverage Diff             @@
##             main    #4503      +/-   ##
==========================================
+ Coverage   69.18%   69.22%   +0.04%
==========================================
  Files         213      213
  Lines       14627    14627
==========================================
+ Hits        10120    10126       +6
+ Misses       4456     4450       -6
  Partials       51       51

Flag
Coverage Δ

unittests
69.22% <87.50%> (+0.04%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/cli/install.go
76.33% <87.50%> (ø)

pkg/ticker/ticker.go
83.33% <0.00%> (-3.85%)
:arrow_down:

pkg/certificate/rotor/rotor.go
84.78% <0.00%> (-2.18%)
:arrow_down:

pkg/crdconversion/crdconversion.go
74.62% <0.00%> (+5.22%)
:arrow_up:

pkg/messaging/workqueue.go
100.00% <0.00%> (+10.71%)
:arrow_up:

Continue to review full report at Codecov.

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


Proposal: Support transforming NumPy arrays with multi-GPU Plan1d

Follow-up of #2644. Close #1429 and address https://github.com/cupy/cupy/issues/2742#issuecomment-608951598.
This PR supports Plan1d.fft(a, b, direction) with a and b being NumPy arrays. The main purpose is to transform a massive dataset that single GPUs cannot hold (which to me is one of the biggest motivations to do multi-GPU FFTs).
No real code is added in this PR, only tests --- all of the work was done in #2644, but the NumPy support at both low- and high- levels were commented out in 3e2b7d0 and 705fe1a, respectively, and this PR restores the former so that advanced users can allocate and use Plan1d if needed. This PR does not affect any high-level APIs such as cupy.fft.fft().
I also made a few variables cdef'd, but this is just a very minor code fix.

Jenkins, test this please

Jenkins CI test (for commit 0530e755adfe6725a156cc5f4c7a9eba3900a8bf, target branch master) succeeded!

08cbd2d is added to follow #3775 and circumvent the CUDA 11 bug, making this PR robust against CUDA 11.
@emcastillo @kmaehashi I now think this PR should be included in v8 for two reasons:

This usage follows the "simpleCUFFT_MGPU" demo from the CUDA samples
This helps diagnose the bug (#3757)

Offline discussion with @leofang

Users need to literally call Plan1d.fft(a, b, dir) , not any high-level api, so it won’t affect the 1:1 mapping or array_function  dispatch

We are not modifying cupy.fft to accept numpy arrays, but the plan itself.
Pitch to allow this change:

Think about where this massive data could come from? for us it’s usually experimental data (images, etc) loaded from disk, and another library such as h5py already returns a numpy array
so you’re suggesting to do another copy from host (numpy) to host/device (managed memory), and then do FFT
If the data is big enough, we are bounded by host memory and we may not even be able to do a copy.

Personally, as here the user needs to explicitly call fft over the plan, I think allowing host memory buffers here (or numpy arrays) makes sense as the plan is not part of numpy or cupy.
@asi1024 what do you think?

a9e5f50 is an extra safety taken to prevent numpy arrays from being passed to high-level functions (cupy.fft.fft etc). For most cases, it also helps error out early (otherwise an exception is not thrown until the plan is actually executed).

Jenkins, test this please

Jenkins CI test (for commit a9e5f50073978d2ae22df5e2b128c9958e93cee8, target branch master) failed with status FAILURE.

Oops, sorry, made the entrypoint wrong. Should be fixed now.

Jenkins, test this please

Jenkins, test this please

Jenkins CI test (for commit 3bb463b1b5d653db07d9c87134db3cf6e4473c7f, target branch master) succeeded!

RTD seems misbehaving, let me power-cycle to reboot it.

Jenkins, test this please

Jenkins CI test (for commit 3bb463b1b5d653db07d9c87134db3cf6e4473c7f, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins CI test (for commit 3bb463b1b5d653db07d9c87134db3cf6e4473c7f, target branch master) succeeded!

Jenkins, test this please

Jenkins CI test (for commit 3bb463b1b5d653db07d9c87134db3cf6e4473c7f, target branch master) succeeded!

Thank you, @emcastillo!


Add dedicated documentation page for compatibility iso6

ISO6 specific pr for https://github.com/inmanta/irt/issues/1888
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[ ] Attached issue to pull request
[ ] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

What was the conflict?

iirc on the version for Sphinx-Substitution-Extensions==2022.2.16 was bumped to that of master Sphinx-Substitution-Extensions==2024.2.25

Processing this pull request

Merged into branches iso6 in e37fb024601ad75dc6fc021946b90531620dd7ba


Specified the representation of error codes to make easier passing them through FFI interfaces.

This PR is intended to eliminate the code like
fn tcpconnect_error_from_connect_error(
	res: core::result::Result<(), tcp::ConnectError>,
) -> TCPConnectError {
	match res {
		Ok(_) => TCPConnectError::OK,
		Err(err) => match err {
			tcp::ConnectError::InvalidState => TCPConnectError::InvalidState,
			tcp::ConnectError::Unaddressable => TCPConnectError::Unaddressable,
		},
	}
}

when passing the error enums through FFI by specifying numeric values of them within the main lib.

Thanks for the pull request! Unfortunately, I don't think this is something we can merge.
smoltcp is a Rust library intended to be used in Rust programs, therefore its public API aims to be as idiomatic Rust as possible. It is not idiomatic to have "Ok" variants in error enums, because it causes duplicate ways of returning "success" from functions returning Result<(), ResultCode>: either Ok(()) or Err(ResultCode::Ok).
Converting from "idiomatic Rust API" to "idiomatic C API" should be a responsibility of the FFI wrapper crate, not smoltcp itself.

Converting from "idiomatic Rust API" to "idiomatic C API" should be a responsibility of the FFI wrapper crate, not smoltcp itself.

I think it is the most efficient to implement it here. I keep the API idiomatic, but added

a grand global enum for enumeratig error codes. All the specific codes are still one byte, and the most of space within 1 byte is unoccupied, so I guess we can affford to assign an unique number for each code, so it should be zero overhead.
into this enum I have added 2 additional codes. 1 for success and 1 for providing a buffer that is too small.
I have tried to add the From<Result<...>> traits within my crate, the compiler didn't allow me to do that.
It is a burden to generate these conversion traits separately from the enums. So I have done a different thing:

the specific enums get the #[repr(u8)], so they are mapped to uint8_t when passed through FFI. Otherwise I'd have to just copy these enums definitions into my FFI crate and write nasty boilerplate code as the one I have mentioned, and I'm completely not sure it can be generated automatically without doing additions into the smoltcp crate. Doing this way is inefficient, unproductive and is additional burden.
the specific enums just get the values from the grand enum;
the names and values they get are the same names and numeric values as in the grad enum, tue assignment is done by the macro, so the code looks idiomatic, it looks even better tuan without the macro;
for an each specific enum a From<Result<>> trait is generated, which can be used to convert tue idiomatic Rust result into the integer code that can be passed through ffi; the integer error code corresponds to the codes in the grand enum, but the typed enums are used in fact, not the grand enum, so accidentially passing the error code from another enum will be statically detected.

Also I have done a bit of renamings to reflect the fact that the code may contain not only errors, but also a success.

As I said, having an "Ok" variant in Error enums is not idiomatic.
Also, having one big Error enum with all errors is not idiomatic either. I've been actively refactoring the code to replace it with function-specific enum, see #617 . The end goal is to remove Error completely. This change is a step back w.r.t that goal.

I've been actively refactoring the code to replace it with function-specific enums, see #617 .

Yes, it is good and I have kept them. But to make FFI interface simpler we need a single bijection number <-> error semantics. It would allow us to have a single enum on other side of FFI.
If we don't have a single bijection, we would have to define a manual one and maintain it.

Also, having one big Error enum with all errors is not idiomatic either.  The end goal is to remove Error completely. This change is a step back w.r.t that goal.

It may be idiomatic and pure to liquidate that index, but it will make significantly harder to create and maintain FFI bindings to this lib. If we liquidate it here, then I'll have to hand-assemble it in my lib manually instead of relying on compiler machinery in order to do it.

Yes, I agree these things are good to have for C FFI bindings. However these things should be done in the FFI binding crate, not in smoltcp itself. Smoltcp's goal is to provide a network stack with a Rust API, that's all.

But it cannot be automated enough when done in a separate crate, can it?

You'll have to write some boilerplate, yes.


Investigate adding support for Preact and  Haunted

So it just works under preact/compat (https://twitter.com/cassiozen/status/1395076878495490050?s=21)

https://github.com/cassiozen/useStateMachine/wiki/Usage-with-Preact


Share robot_name between nodes

Setting the robot_name parameter to global and sharing it between nodes (controller, teleop, control_gui).
In the future would be nice to have a way to use this parameter on joint_state_publisher's too, for description and moveit_controller (maybe environment variable, like the turtlebot_model?) .
 <rosparam param="source_list">["open_manipulator/joint_states"]</rosparam>

With this control_gui and teleop nodes run normally when setting robot_name to values other than open_manipulator.

@Affonso-Gui
Thank you for your contribution :)


Instrument fetch_batch for each_message

Okay, this is a start. Not sure if this is the best place to do this. Also, I did not add the same instrumentation for each_batch as it would just duplicate start_process_batch.consumer. However, for consistency it might make sense to add it?
Let me know what you think and I'll adapt as necessary.

Hmm, tests failed but it looks unrelated. I ran spec/consumer_spec.rb locally and it passed.

Thanks!


Provider filter

Should be capitalized.
Will there eventually be a place listing all the providers and who they are? I don't recognize some on the list and not sure I would choose geographdfdk without know what it was..

I updated the filters with the names of the providers:

Let me know if this will suffice.


Save logevent as JSON

Fixes a bug where properties with the same name (key) as a column would overwrite the column value.
Adds option to exclude properties from the Properties xml column if they are being saved as additional columns.
Adds option to save the log event JSON to new LogEvent nvarchar(max) column.

Tested and changed the default value of store JSON to false so we do not break existing implementations. Thanks for the PR!


Use write buffering in StreamConnection class

During recent packet analysis, we determined command writes to the server were not being coalesced as often as we expected.  In particular, when sending a succession of pipelined requests on a new connection, we often saw the commands going out in multiple packets rather than a single full one.  I suspect this is due (in part) to Nagle's algorithm not having sufficient requests on the new connection for the heuristic to activate.
To improve performance, I suggest adding a write buffer to StreamConnection::write().  All bytes written would be stored (appended) to an internal buffer.  The write buffer is only flushed to the server when:

a read() is performed,
disconnect() is called,
or in write() when a tipping point is reached in the number of bytes buffered (say, 64K)

We implemented this change using a custom connection Factory that produces subclasses of StreamConnection and saw immediate improvements in reducing the number of packets transmitted and overall command execution time.

Adding an explicit flush() to the stream classes, and calling it within Pipeline after writing and before reading, would improve concurrent I/O on aggregated connections.


admin: navbar is frozen

Package version (if known): 4.1.2
Describe the bug
From the Administration page, while managing Communities, some buttons/links in the navbar are "frozen".
Steps to Reproduce

Go to '/administration'
Click on 'Communities'
Click on sidebar collapse, "+" button, and username
See error i.e. no sidebar collapse / no quick create dropdown / no user dropdown

Expected behavior
Expect sidebar to collapse, options to appear.
Screenshots (if applicable)

Triaged 2024-09-20: This is still applicable.
A lot of JS warnings on that page that might clue to fundamental problem:
09:30:51.723 Warning: Failed prop type: Invalid prop `config.defaultSortingOnEmptyQueryString` of type `array` supplied to `SearchApp`, expected `object`.
    in SearchApp checkPropTypes.js:20

09:30:51.739 Warning: Failed prop type: The prop `updateQueryState` is marked as required in `Connect(WrappedComponent)`, but its value is `undefined`.
    in Connect(WrappedComponent) (created by Overridable)
    in Overridable (created by Element$3)
    in Element$3 (created by SearchBar$1)
    in SearchBar$1 (created by SearchBarUncontrolled)
    in SearchBarUncontrolled (created by Overridable(SearchBarUncontrolled))
    in Overridable(SearchBarUncontrolled) (created by Connect(Overridable(SearchBarUncontrolled)))
    in Connect(Overridable(SearchBarUncontrolled)) (created by RecordSearchLayout)
    in div (created by RecordSearchLayout)
    in div (created by RecordSearchLayout)
    in RecordSearchLayout (created by Overridable)
    in Overridable (created by SearchApp)
    in Overridable (created by ReactSearchKit)
    in Bootstrap$1 (created by Overridable(Bootstrap$1))
    in Overridable(Bootstrap$1) (created by Connect(Overridable(Bootstrap$1)))
    in Connect(Overridable(Bootstrap$1)) (created by ReactSearchKit)
    in Provider (created by ReactSearchKit)
    in ReactSearchKit (created by Overridable(ReactSearchKit))
    in Overridable(ReactSearchKit) (created by SearchApp)
    in SearchApp
    in NotificationController checkPropTypes.js:20

09:30:52.166 Warning: Failed prop type: The prop `fieldSchema` is marked as required in `Formatter`, but its value is `undefined`.
    in Formatter (created by SearchResultItemComponent)
    in SearchResultItemComponent (created by WrappedComponent)
    in WrappedComponent (created by Connect(WrappedComponent))
    in Connect(WrappedComponent) (created by Parametrized(Connect(WrappedComponent)))
    in Parametrized(Connect(WrappedComponent)) (created by Overridable)
    in Overridable (created by ListItem)
    in ListItem (created by Element$7)
    in tbody (created by TableBody)
    in TableBody (created by SearchResultsContainer)
    in table (created by Table)
    in Table (created by SearchResultsContainer)
    in SearchResultsContainer (created by Parametrized(SearchResultsContainer))
    in Parametrized(SearchResultsContainer) (created by Overridable)
    in Overridable (created by Element$7)
    in Element$7 (created by ResultsList$1)
    in ShouldRender (created by Overridable(ShouldRender))
    in Overridable(ShouldRender) (created by ResultsList$1)
    in ResultsList$1 (created by Overridable(ResultsList$1))
    in Overridable(ResultsList$1) (created by Connect(Overridable(ResultsList$1)))
    in Connect(Overridable(ResultsList$1)) (created by SearchResults)
    in div (created by GridColumn)
    in GridColumn (created by SearchResults)
    in div (created by GridRow)
    in GridRow (created by SearchResults)
    in div (created by Grid)
    in Grid (created by SearchResults)
    in div (created by GridColumn)
    in GridColumn (created by SearchResults)
    in div (created by GridRow)
    in GridRow (created by SearchResults)
    in div (created by Grid)
    in Grid (created by SearchResults)
    in SearchResults (created by Parametrized(SearchResults))
    in Parametrized(SearchResults) (created by Overridable)
    in Overridable (created by Results)
    in Results (created by WrappedComponent)
    in WrappedComponent (created by Connect(WrappedComponent))
    in Connect(WrappedComponent) (created by SearchAppResultsPane)
    in ResultsLoader$1 (created by Overridable(ResultsLoader$1))
    in Overridable(ResultsLoader$1) (created by Connect(Overridable(ResultsLoader$1)))
    in Connect(Overridable(ResultsLoader$1)) (created by SearchAppResultsPane)
    in Overridable (created by SearchAppResultsPane)
    in SearchAppResultsPane (created by RecordSearchLayout)
    in div (created by GridColumn)
    in GridColumn (created by RecordSearchLayout)
    in div (created by Grid)
    in Grid (created by RecordSearchLayout)
    in RecordSearchLayout (created by Overridable)
    in Overridable (created by SearchApp)
    in Overridable (created by ReactSearchKit)
    in Bootstrap$1 (created by Overridable(Bootstrap$1))
    in Overridable(Bootstrap$1) (created by Connect(Overridable(Bootstrap$1)))
    in Connect(Overridable(Bootstrap$1)) (created by ReactSearchKit)
    in Provider (created by ReactSearchKit)
    in ReactSearchKit (created by Overridable(ReactSearchKit))
    in Overridable(ReactSearchKit) (created by SearchApp)
    in SearchApp
    in NotificationController checkPropTypes.js:20
    printWarning checkPropTypes.js:20
    checkPropTypes checkPropTypes.js:83
    React 2
    render SearchResultItem.js:68
    render SearchResultItem.js:57
    React 8
    unstable_runWithPriority scheduler.development.js:653
    React 4
    Redux 6
    executeQuery index.js:1314
    Redux 2
    onAppInitialized index.js:1096
    middleware Redux
    onAppInitialized index.js:1751
    componentDidMount index.js:1723
    React 6
    unstable_runWithPriority scheduler.development.js:653
    React 10
    initSearchApp util.js:39
    (Async: promise callback)
    initSearchApp util.js:38
    createSearchAppInit util.js:57
    js search.js:32
    Webpack 7

to list a few


Update sea-query dependency to 0.24.0

PR Info

Closes #672

Adds
The use of the lower function to sea-orm 0.7; amongst other features that sea-query 0.24.0 brings.
Changes

Cargo.toml; update sea-query to version = "^0.24.0"
Use window: None on SelectExpr constructs

We seemed to have broken something with Postgres enum

Parameter binding part in SeaQuery should be at fault.
Related: SeaQL/sea-query#303


Return closest valid target on successful target acquisition

References #281
After culling each invalid runner (line trace returns obstacle in the way), then save the runner that had a successful line trace and has the closest position to the current runner and return the closest runner after checking each valid runner.

See #281 comment for story cancellation reason


[BUG] Allow TextClassification to generate text without structured generation

Describe the bug
TextClassification only generates structured text, which can result on errors hard to get.
To Reproduce
Code to reproduce

Expected behaviour
Work as any other task
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Package version:
Python version:

Additional context
Add any other context about the problem here.

One can just pass the use_default_structured_output and use the default parser, the prompt would not change, and it should work if the model follows the instruction (but while testing, the results are almost always better using the structured output by default


[Bug] Hyprlock after sometime auto unlock and can't be use anymore

After some time (10 minutes or so), hyprlock auto unlock and when I try hyprlock again, it returns this.
[LOG] [core] dmabufFeedbackMainDevice
[LOG] output 52 make LG Display model 0x05FE
[LOG] output 52 name eDP-1
[LOG] output 52 description LG Display 0x05FE (eDP-1)
[LOG] output 52 done
[LOG] Running on Hyprland
[LOG] Locking session
[ERR] Pam module "hyprlock" not found! Falling back to "su"
[WARN] Extension: .png
[LOG] eglQueryDmaBufModifiersEXT found 8 mods
[LOG] bo chose modifier 0
[LOG] onLockFinished called. Seems we got yeeten. Is another lockscreen running?
[LOG] Got dma frame with size [Vector2D: x: 1920, y: 1080]
[LOG] PAM_PROMPT: Password:

hyprlock.conf
source = $HOME/.cache/wal/colors-hyprland

general {
    grace = 1
}

background {
    monitor =
	path = screenshot   # screenshot of your desktop
	# path = $HOME/.config/rofi/.current_wallpaper   # NOTE only png supported for now
    color = $color7

    # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
    blur_size = 4
    blur_passes = 2 # 0 disables blurring
    noise = 0.0117
    contrast = 1.3000 # Vibrant!!!
    brightness = 0.8000
    vibrancy = 0.2100
    vibrancy_darkness = 0.0
}

input-field {
    monitor =
    size = 250, 50
    outline_thickness = 3
    dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
    dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
    dots_center = true
    outer_color = $color1
    inner_color = $color0
    font_color = $color7
    fade_on_empty = true
    placeholder_text = Password... # Text rendered in the input box when it's empty.
    hide_input = false

    position = 0, 200
    halign = center
    valign = bottom
}

# Date
label {
    monitor =
    text = cmd[update:18000000] echo " "$(date +'%A, %-d %B %Y')" "
    color = $color5
    font_size = 34
    font_family = JetBrains Mono Nerd Font 10

    position = 0, -150
    halign = center
    valign = top
}

# Week
label {
    monitor =
    text = cmd[update:18000000] echo " "$(date +'Week %U')" "
    color = $color7
    font_size = 24
    font_family = JetBrains Mono Nerd Font 10

    position = 0, -250
    halign = center
    valign = top
}

# Time
label {
    monitor =
# text = cmd[update:1000] echo "<big> $(date +"%I:%M:%S %p") </big>" # AM/PM
text = cmd[update:1000] echo "<big> $(date +"%H:%M:%S") </big>" # 24H
    color = $color7
    font_size = 94
    font_family = JetBrains Mono Nerd Font 10

    position = 0, 0
    halign = center
    valign = center
}

label {
    monitor =
    text =    $USER
    color = $color7
    font_size = 18
    font_family = Inter Display Medium

    position = 0, 100
    halign = center
    valign = bottom
}

label {
    monitor =
    text = cmd[update:60000] echo " "$(uptime -p)" "
    color = $color12
    font_size = 24
    font_family = JetBrains Mono Nerd Font 10
    position = 0, 0
    halign = right
    valign = bottom
}

image {
    monitor =
    path = $HOME/.config/rofi/.current_wallpaper
    size = 230
    rounding = -1
    border_size = 4
    border_color = $color12
    rotate = 0
    reload_time = -1
    position = 0, 300
    halign = center
    valign = bottom
}

#205 related to this maybe

I'm having a similar issue where Hyprlock doesn't actually lock properly and I can still open terminals, just can't switch workspaces.
It was working fine a while ago.

@PaideiaDilemma Sorry but can you take a look at this? This bug is kinda bad.

Which version are you on guys?

I'm on latest git

Hmm odd. Can you share which distro you are using, so I can check out the "su" pam configuration?
The logs look fine though.

@acheong08 This is probably https://github.com/hyprwm/hyprlock/issues/308
But killall hyprlock really should not crash the compositor. Instead it should leave you with the red screen of death.
Please try to reproduce this and check the Hyprland logs

I'm using Fedora

ok i will try to reproduce you issue later today :)

Did you found something 😥

I have tested the commit eb1123f which is before your commit, so the problem is not from your commit

Currently git bisecting. Have been able to narrow it down quite a bit. Will update

90e1411315065ead5b5a7873be4109bdfb9f5470 is the first bad commit
commit 90e1411315065ead5b5a7873be4109bdfb9f5470
Author: Vaxry<EMAIL_ADDRESS>Date:   Tue Apr 30 16:32:05 2024 +0100

    session-lock: move to new impl

Since this is a Hyprland issue, we should close this and move discussion there

I have updated to the latest git but it doesn't resolve the bug I'm facing, maybe your bug is different from mine. But I agree that it may be hyprland bug due to using swaylock resulting in the same bug.

Hello @Mr-Ples, can you test if this problem happens with swaylock.

move to https://github.com/hyprwm/Hyprland/issues/5913 please


feature/lf-5-attach-detach-license2item

Phases
MP
MM
MB
MR
JM
Total

ETA
0
0
0
0
0
0

Developing
0
7+4
0
0
0
0

Review
0
0
0
0
0
0

Total
-
-
-
-
-
0

ETA est.

0

ETA cust.
-
-
-
-
-
0

Problem description
Manage (attach/detach) the Clarin License for the Item in the Edit Item view.
TO DO

[x] Call maintainLicensesForItem method in the ItemRestRepository when the user is attaching/detaching the clarin license in the item editing.
[x] Create Authorization class for license tab in the item edit page.
[x] Create Integration Tests for the updated ItemRestRepository in the another class ClarinItemRestRepositoryIT

NOTE
This featured was developed in the: https://github.com/dataquest-dev/DSpace/pull/161

This featured was developed in the: https://github.com/dataquest-dev/DSpace/pull/161


Default for max_variables in fit_class_random_forest and fit_regr_random_forest

I just noticed this inconsistency:
The process specs of fit_class_random_forest and fit_regr_random_forest   do no have a default value for the max_variables parameter.
e.g. https://github.com/Open-EO/openeo-processes/blob/589bfd29667f8bfa4dd40992ca4f5edcb2d753d2/proposals/fit_class_random_forest.json#L27-L44
In the python client we apparently have default null with behavior defined as:

Default value is null, which corresponds to the          number of predictors divided by 3.

And in the VITO back-end implementation of fit_class_random_forest we even don't use the max_variables yet, and just use the default ("auto") behavior of Spark MlLib's RandomForest.
Obviously, there are a couple of things to be resolved.
For the process spec of fit_class_random_forest and fit_regr_random_forest   I would propose to allow a default value (null) for the max_variables parameter, with the behavior "back-end is free to chose the best strategy".

related to #358  where I even propose to drop the max_variables parameter

Just to clarify, the proposal was meant to say: Make it required (and as such have no default value, so the user needs to choose).

The implementations are wildly different and as such it seems weird to have a default that does some kind of a black box thing. That is not really reproducible then.

You have a reproducibility problem anyway because of these wildly different implementations. Requiring the user to specify a max_variable  makes it even less reproducible because they have to change the value each time they change back-end.
I think a ML/AI user is aware of the multitude of degrees of freedom in ML tech and  is not going to expect reproducible models or results when  switching to a different back-end with different technology. But by requiring to set max_variables even their code/script is not reproducible (because whatever they chose might not work on some back-end).  By allowing default null, they can at least make the running of their code or algorithm reproducible or interoperable.
Likewise, it's is or will be annoying  for documentation/demo/tutorial purposes if we can't give a generic fit_class_random_forest example snippet  that will work without an interoperability disclaimer about a detail like max_variables.

So I don't see an inconsistency here? Or was this meant to go into openeo-python-client and the back-end to align?

The inconsistency I want to refer to is between the spec  in openeo-processes  and the actual implementations as they current are.

it seems weird to have a default that does some kind of a black box thing.

To turn that around: each random forest  implementation already has a default for their max_variables equivalent, so wouldn't it be weird that we don't?
I understand that you're worried that the behavior for max_variables=null is potentially different among back-ends, but as as user, when I "use" a default (e.g. by omitting an argument) I implicitly say "I trust the system to pick a good behavior for me and I don't care about those details".
As a user I appreciate this feature not only in an actual RF model implementation (e.g. Spark MlLib  or sklearn) but also on a higher or more abstract level like openEO processes.

My argument in short: I think user friendliness and interoperability (of code) is more important than reproducibility of results (which is practically impossible here anyway I'm afraid)

Okay, but should we add a default value or remove it completely? #358

Well, I proposed to drop it in #358 to have a quick solution so that implementers could proceed in function of the SRR deadlines, with the idea to reintroduce it again at a later point once we have a better idea how to tackle the interoperability issues (string versus int, enum values, defaults, ...).
While the time pressure is different now, I still think we can first drop it and reintroduce it later, unless you  think that is silly or overkill.
To give an implementer's data point: in the VITO backend we practically ignore the max_variables parameter at the moment and just use Spark MlLib's default


scan-ref doesn't work when using filesystem instead of fs

Hello Aqua Security,  if you have a scan-type: filesystem instead of scan-type: fs the action will error with FATAL	Require at least 1 argument if you have specified scan-ref: . However, this shouldn't be a problem as fs is an alias of filesystem
 - name: Scan Dependencies with Trivy
   uses: aquasecurity/trivy-action@master
   with:
        scan-type: filesystem
        scan-ref: .

I've noticed this issue is caused by there being no catching case in entrypoint.sh and not scan-ref itself.


Correction for raw affiliation Univ Lyon, Université Lumière Lyon 2, CNRS, UMR 5600 EVS, Lyon, France

Correction needed for raw affiliation Univ Lyon, Université Lumière Lyon 2, CNRS, UMR 5600 EVS, Lyon, France
raw_affiliation_name: Univ Lyon, Université Lumière Lyon 2, CNRS, UMR 5600 EVS, Lyon, France
new_rors: 03rth4p18;029brtt94;02feahw73;0256r1e04
previous_rors: 03rth4p18;029brtt94;02feahw73
works_examples: W4285066315
contact: 6663626e6a2d714cbd66efe4fce96169:8c59bdbbf56c2e29738b80131236 @ ens-lyon.fr

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


Crash in tf.raw_ops.UnsortedSegmentJoin/UnsortedSegmentMin/UnsortedSegmentMax/UnsortedSegmentProd/UnsortedSegmentSum

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
tf 2.16
Custom code
Yes
OS platform and distribution
Linux Ubuntu 22.04.3 LTS (x86_64)
Mobile device
No response
Python version
3.9.13
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
On specific input, These APIs will output "The session crashed because it took up all available RAM."
Furthermore，tf.raw_ops.UnsortedSegmentJoin triggered Aborted (core dumped).
Standalone code to reproduce the issue
https://colab.research.google.com/drive/14cpQrFAGZtNXXPvQzXGIYxOmJxIKhJ9q?usp=sharing

Relevant log output
Jun 14, 2024, 9:37:23 PM	WARNING	WARNING:root:kernel 971d9681-81a9-4140-92f6-1ae620993b21 restarted
Jun 14, 2024, 9:37:23 PM	INFO	KernelRestarter: restarting kernel (1/5), keep random ports
Jun 14, 2024, 9:37:23 PM	WARNING	2024-06-14 13:37:23.763910: F tensorflow/core/framework/tensor_shape.cc:419] Check failed: 0 <= new_num_elements (0 vs. -1)
Jun 14, 2024, 9:37:16 PM	WARNING	2024-06-14 13:37:16.149795: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Jun 14, 2024, 9:37:14 PM	WARNING	To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
Jun 14, 2024, 9:37:14 PM	WARNING	2024-06-14 13:37:14.046722: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
Jun 14, 2024, 9:31:38 PM	INFO	Kernel started: 971d9681-81a9-4140-92f6-1ae620993b21, name: python3
Jun 14, 2024, 9:23:53 PM	INFO	Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Jun 14, 2024, 9:23:53 PM	INFO	http://<IP_ADDRESS>:9000/
Jun 14, 2024, 9:23:53 PM	INFO	Jupyter Notebook 6.5.5 is running at:

@x0w3n,
For UnsortedSegmentProd, we have below logic implemented and also reason for different implementation on CPU and GPU is:
num_segments should equal the number of distinct segment IDs.
On CPU, values in segment_ids are always validated to be less than num_segments, and an error is thrown
for out-of-bound indices.
On GPU, this does not throw an error for out-of-bound indices. On Gpu, out-of-bound indices result in safe but unspecified behavior, which may include ignoring out-of-bound indices or outputting a tensor with a 0 stored in the first
dimension of its shape if num_segments is 0.