trying to communicate from C# with D365BC Odata v4 web service

LS,
I am trying to communicate with a D365BC web service. If I use HttpClient there is no problem.
But if I use Simple.Odata.Client v4 than I get an error:
Not found: {"error":{"code":"BadRequest_NotFound","message":"The request URI is not valid. Since the segment 'WorkersWebService' refers to a collection, this must be the last segment in the request URI or it must be followed by an function or action that can be bound to it otherwise all intermediate segments must refer to a single resource.
I installed the following packages:
//Added Nuget: Install-Package Newtonsoft.Json -Version 12.0.3
//Added Nuget: Install-Package Microsoft.AspNet.WebApi.Client -Version 5.2.7
//Added Nuget: Install-Package Simple.OData.V4.Client -Version 5.12.0
I created a global variable:
    ODataClient Client = new ODataClient("https://api.businesscentral.dynamics.com/v2.0/SomeFunkyGuid/Sandbox/ODataV4/Company('CRONUS%20NL')/WorkersWebService");

As no credentials are set I included at OnLoad:
        ODataClientSettings settings = new ODataClientSettings()
        {
            BaseUri = new Uri("">api.businesscentral.dynamics.com/.../WorkersWebService"),
            Credentials = new NetworkCredential("UserName", "Password")
        };
        Client = new ODataClient(settings);

And as Button.click I included:
    private async void button1_Click(object sender, EventArgs e)
    {
        try
        {
            var workers = await Client.For<Worker>().FindEntriesAsync();
        }
        catch (Exception ex)
        {

        }
    }

The error occurs at this line: var workers = await Client.For().FindEntriesAsync();
I think the problem lies in authentication.
The code I use with HttpClient is:
private void btnFindWorkerOdata_Click(object sender, EventArgs e)
{//WORKS OK
listBox1.Items.Clear();
WorkersReadFromAlWebService = new List();
string _url = "https://api.businesscentral.dynamics.com/v2.0/SomeFunkyGuid/Sandbox/ODataV4/Company('CRONUS NL')/WorkersWebService";
HttpWebRequest _request = (HttpWebRequest)WebRequest.Create(_url);
_request.ContentType = "application/json; charset=utf-8";
_request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("UserName:Password"));
_request.PreAuthenticate = true;
HttpWebResponse _response = _request.GetResponse() as HttpWebResponse;
using (Stream _responseStream = _response.GetResponseStream())
{
var x = _response.Headers.AllKeys;
StreamReader _reader = new StreamReader(_responseStream, Encoding.UTF8);
string _content = _reader.ReadToEnd();
string _jasonPart = GetJsonPartMultiRecord(_content);
List _jWorkers = JsonConvert.DeserializeObject<List>(_jasonPart);
foreach (var _worker in _jWorkers)
{
WorkersReadFromAlWebService.Add(_worker);
listBox1.Items.Add(_worker.Last_Name + " / " + _worker.First_name + " (No: " + _worker.No + ")");
}
}
ClearWorker();
}
This HttpClinet code works, but inserting a record is my real problem so that is why I want to try Simple.Odata.Client. But before I can do that I need to be able to communicate with the web service
I hope someone can help me.
Kind regards,
Clemens Linders

@clemenslinders Sorry this is a little late. Perhaps this will help someone.
We are using Simple.OData.Client to communicate with D365BC web services and APIs. When we create the ODataClientSettings object, we pass a base URL which is something like
Web Services: https://api.businesscentral.dynamics.com/v2.0/<tenant_id>/sandbox/ODataV4/
APIs: https://api.businesscentral.dynamics.com/v2.0/<tenant_id>/sandbox/api////
We create the client from the Client Settings:
`
ODataClientSettings clientSettings = new ODataClientSettings("https://api.businesscentral.dynamics.com/v2.0/<tenant_id>/sandbox/ODataV4/")
{
IncludeAnnotationsInResults = true,
IgnoreResourceNotFoundException = true,
IgnoreUnmappedProperties = true,
};
        IODataClient client = new ODataClient(clientSettings);

`
When we make the OData call, we pass the name of the method (i.e. name of web service in BC):
IBoundClient<Worker> command = client.For("Company").Key("CRONUS%20NL").NavigateTo<Worker>("WorkersWebService"); var workers = await command.FindEntriesAsync();

Hi wintg-zns,
Thanks for your response,
I have one small problem with your code sample.
You use: IBoundClient
So Worker is a class, but how do you define this class?
Is there an automated way to inherit the correct properties and if not what should it contain.
It would be very nice if you could give me a sample of that.
And how about passing the network credentials in your sample?

@clemenslinders, my apologies for not being more clear.
Worker is the name of your class from your example above. It is the class that represents the object to be retrieved/inserted/updated/deleted. I tried to give an example that followed your example as much as possible.
I'm not quite sure which properties you want to inherit. We have a library that handles/wraps the management of ODataClients and their associated settings. The code looks almost identical to the code above that creates an ODataClientSettings object with a few conditional statements to handle a few options that we configure.
We pass our credentials pretty much the same way you do:
clientSettings.Credentials = new NetworkCredential("UserName", "Password");
BC doesn't use anything other than basic auth, right now, but our library has some stubbed code to potentially handle other authentication schemes when BC gets around to implementing them.

Hi Wintg-zns,
Thanks for your reply.
Currently I am on holiday.
In approx 14 days I will give it a try.
Kind regards,
Clemens Linders

Hi Wintg-zns,
Thanks for your reply, I can now say that I have it working.
As there is very little about this topic I will put my whole test code here so that others can benefit from this as well.
AL language:
CpWorkers.AL:
page 50108 "Workers Card"
{
PageType = Card;
ApplicationArea = All;
UsageCategory = Administration;
SourceTable = Workers;
layout
{
    area(Content)
    {
        group(General)
        {
            field("No."; "No.")
            {
                ApplicationArea = Basic;
                Importance = Promoted;
            }

            field("First name"; "First name")
            {
                ApplicationArea = Basic;
            }

            field("Last name"; "Last name")
            {
                ApplicationArea = Basic;
            }

            field(FunctionName; FunctionName)
            {
                ApplicationArea = Basic;

            }
        }
    }
}

}
LpWorkers.AL:
page 50109 "Workers List"
{
PageType = List;
ApplicationArea = All;
UsageCategory = Lists;
SourceTable = Workers;
layout
{
    area(Content)
    {
        repeater(Group)
        {
            field("No."; "No.")
            {
                ApplicationArea = Basic;
            }

            field("First name"; "First name")
            {
                ApplicationArea = Basic;
            }

            field("Last Name"; "Last Name")
            {
                ApplicationArea = Basic;
            }

            field(FunctionName; FunctionName)
            {
                ApplicationArea = Basic;
            }
        }
    }
}

}
TabWorkers.AL:
table 50109 "Workers"
{
DataClassification = ToBeClassified;
fields
{
    field(1; "No."; Code[20])
    {
        DataClassification = ToBeClassified;
    }

    field(10; "First name"; Text[50])
    {
        DataClassification = ToBeClassified;
    }

    field(20; "Last Name"; Text[50])
    {
        DataClassification = ToBeClassified;

    }

    field(40; FunctionName; Text[50])
    {
        DataClassification = ToBeClassified;

    }
}

trigger OnInsert()
var
    myInt: Integer;
begin

end;

trigger OnModify()
var
    myInt: Integer;
begin

end;

trigger OnDelete()
var
    myInt: Integer;
begin

end;

}
WorkersWebService.xml:

Page
50108
WorkersWebService
true

WorkersWS.xml (not used in this sample)

Page
50109
WorkersWS
true

Don't forget to publish the code in D365BC and in D365BC (search for web services) copy the Odata4 address.
C# code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Simple.OData.Client;
namespace OdataTestSimpleClient
{
public partial class Form1 : Form
{
public class Worker
{
private string No;
private string Firstname;
private string LastName;
private string FunctionName;
        public string no { get => No; set => No = value; }
        public string firstname { get => Firstname; set => Firstname = value; }
        public string lastName { get => LastName; set => LastName = value; }
        public string functionName { get => FunctionName; set => FunctionName = value; }
    }

    public Form1()
    {
        InitializeComponent();
    }

    private async void button1_ClickAsync(object sender, EventArgs e)
    {
        System.Net.NetworkCredential networkCredential = new System.Net.NetworkCredential("USERNAME", "PASSWORD");

        ODataClientSettings clientSettings = new ODataClientSettings("https://api.businesscentral.dynamics.com/v2.0/SomeFunkyGuid/Sandbox/ODataV4/", networkCredential)
        {
            IncludeAnnotationsInResults = true,
            IgnoreResourceNotFoundException = true,
            IgnoreUnmappedProperties = true,
        };

        IODataClient client = new ODataClient(clientSettings);
        IBoundClient<Worker> command = client.For("Company").Key("CRONUS%20NL").NavigateTo<Worker>("WorkersWebService");
        var workers = await command.FindEntriesAsync();
    }
}

}
workers now gets filled with the list of workers that you entered (using the card page) in D365BC.
If you see it like this, it looks very easy, but I tried many many ways and this is the only way that works for ODATA.
I hope more people will find this solution.
Again my thanks to: Wintg-zns.
Kind regards,
Clemens Linders


Ethers Integration

Make Ethers easily accessible within Composer and create basic directions on how to use it.

Closing issue for not having activity in several months.


Older private bills raise too many exceptions in the scraper

Private bills created several years ago are raising lots of exceptions, for example: MatterRestrictViewViaWeb is set to False (which confuses the logic of our scraper), the bill has a date that falls outside the defined legislative sessions, the bill presents a new bill_type, etc.
It does not seem useful to scrape these early bills, since they will very likely never be made public. (@shrayshray, can you confirm?) So, rather than finding a work around for all these cases, I propose the following:

for today, I am going to turn off scraper functionality for all private bills, i.e., we revert to scraping just public bills

moving forward, let's identify a lower boundary for when the scraper should scrape a private bill – for example, the scraper would only scrape private bills from the start of this legislative session and later (all bills created on July 1, 2018 or later). The most recently created private bills seem to be the ones that require attention, since they are the bills toggled between public and private.

@shrayshray - can you let me know if this sounds like an appropriate solution? If so, we can get something implemented quickly.

@reginafcompton you're right, early reports which are not public are not likely to be made public.
A few months ago, I gave the Board Secratary's office a list of early reports which were clearly tests or otherwise should not be public, but I'm not sure the progress they've made on cleaning them up.
Your solution seems like a sound approach/work around.

Closed via https://github.com/opencivicdata/scrapers-us-municipal/pull/262 and https://github.com/opencivicdata/scrapers-us-municipal/pull/263


Documentation needs update

Below text for Azure Disk backup is not correct as we have the option to stop the backup and retain the backup data with mutliple options.
Text from document "Currently, you can’t disable a backup, as the option stop backup and retain backup data isn’t supported."

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

ID: 7fe8088c-6f30-5de6-0f91-231e5c99ef59
Version Independent ID: 1e10aa9a-ee70-39f2-6791-155102af4829
Content: Azure Disk Backup support matrix - Azure Backup
Content Source: articles/backup/disk-backup-support-matrix.md
Service: backup
GitHub Login: @AbhishekMallick-MS
Microsoft Alias: v-abhmallick

@kambojb Thanks for your feedback! We will investigate and update as appropriate.

@kambojb - Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can review and update accordingly.

@kambojb - thanks for bringing this to our notice. We have updated the doc, this will be live soon. As the doc updates are complete, we are closing this issue. #please-close
CC: @KrishnaG-MSFT for visibility.


[Lint] Add a rule to detect and replace .forEach { ... } with for-i…

…n loop

@xymus This adds a more specific diagnostic for .forEach and allows uses like forEach(callback) which IHMO seems reasonable for this method.


EFLOW VM corrupt after Cumulative Updates

Describe the Problem
For the past few weeks, we've noticed that each time a Windows host takes a Cumulate Update, and it seems to be any Cumulative Update, the Eflow VM stops working and cannot be connected to. For example today we have machines that took KB5008218 on 12/15/2021 and the modules running on the Eflow instance are no longer working nor does Eflow. Our only means of resolution is reinstalling Eflow. We've noticed this with each of the most recent versions of IoT Edge including 1.1.2111.17111 however we do still have a machine on <IP_ADDRESS> which seems to not be effected.
To Reproduce
Steps to reproduce the behavior:
On a stable and running Eflow Host

Open an Elevated PowerShell terminal
Type Get-EflowVmEndpoint
Ensure the HealthStatus is in an OK state
Type Connect-EflowVm
Ensure you're able to connect
Click the Windows button and type Updates
Click Check for Updates
Install any Cumulative Update that's available restarting if necessary
Repeat steps 1, 2, 3, and 4

Expected behavior
The Eflow infrastructure should remain intact across any windows update as advertised

Actual behavior
The Eflow infrastructure appears to have entered a corrupt state in which no modules are working and cannot be connected too

Screenshots
For example this box stopped working today and on the 2nd:

And each event seems to have a VM Switch being reconstructed each time this happens:

Windows Host OS (please complete the following information):

Edition: Windows 10 Enterprise LTSC
Version: 1809
OS build: 17763.2366
Azure IoT Edge LTS: 1.1.2111.17111, 1.1.2110.03111

Additional context
I currently suspect this is an issue that has to do with a change in the VM networking given some of the log entries in the windows event logs as well as the error messages being seen. It appears something is causing changes to the Default Switch being used by Eflow which isn't propagated or something. Though this has been happening for over a month now, the issue is now compounded by the expiration of a code signing cert which causes further pain when attempting to re-deploy eflow:

Though two certs exist and one is valid, the Deploy-Eflow command doesn't always pick the valid certificate causing the deploy to fail.

I'm able to work around this by manually removing the expired cert

If it helps, I also have a local VM setup in which I can replicate this 100% of the time

After reading through some of the issues more, when we enter the bad state, using the command hcsdiag list produces no results at all:

Whereas prior to the update(s) it works:

As I continue to dig into this a little more, I believe more heavily that it's an issue stemming from the drop of the VM network endpoint during the update. In my repeatable VM sandbox I am seeing the following prior to update

However after installing KB5008215 for example, none of the hcsdiag commands work and I'm seeing the following

Notice that Get-HnsEndpoint no longer returns anything and for the data returned from Get-HnsNetwork notice that now

CurrentEndpointCount = 0
NatName has changed
TotalEndpoints = 0
Subnets have changed from <IP_ADDRESS>/20 to <IP_ADDRESS>/20

Hi @jbudbo,
Thanks for all the detailed information. We will try to reproduce the issue in our environment and reach back. In the meantime, could you please answer the following questions:

Are you using a WiFi-connected device? Are you changing between different WiFi networks?
After the update, can you try doing a Stop-EflowVm and StartEflowVm` and see if the problem persists?

Thanks,
Francisco

Hi @fcabrera23, these devices are not connected via Wifi and neither of those commands work without error. I'll work on getting a screenshot but essentially they report that the VM can't be reached.

Hello, @jbudbo and @fcabrera23 we are also experiencing this issue in our staging environments for a week now.
We opened a ticker to try to realize the root cause.
Until now we didn't associate it with windows updates. I will try to check this relationship on our side.
@jbudbo how do you revert this status? We just manage to do it by uninstalling the .msi and re-deploying the VM.
Thanks,
Nuno

@ngmartins it took us a while to pin it down to updates. And oddly, from what I can tell not just any update but Cumulative updates for one reason or another. When a system gets in this state the only thing we've found we can do is uninstall and rebuilding like you've mentioned you're doing. I've tried to find a way to maybe just rebuild the virtual network adapter but haven't had any luck (or I'm just not doing something right).

Thanks once again for your help.
About the updates: Our devices' updates are managed by update rings. Just checked the updates' history and there are no updates on this device since June. But this device got stuck in that state 4 times since last Friday.

I manually forced the update of today and after de updates, it is still possible to connect to the VM (didn't course the faulty status for us).

@ngmartins, that's really interesting. In your system event logs do you see records indicating that a VM Network Switch we removed and re-added like in my screenshot above?

For the today's updates, I can see Creation, Initialization, and Connection events from a Hyper-V-VmSwitch source. However, I cannot see Removing Events.
(EventIds - 102; 232; 233; 264 and 7)

Hi @ngmartins , @jbudbo
Can you please try using External Switch and see if the problem persists?
Thanks,
Francisco

@fcabrera23, so I tried this in my sandbox device and it took me a little while to figure out the steps as I haven't done a deployment on an external network before.
Here is what I did:

Open Hyper-V Manager and open Virtual Switch Manager
Create a new Virtual Switch named nvw and set it an External switch bound to my NIC
Uninstall Eflow
Reinstall Eflow and redeploy using Deploy-Eflow -acceptEula yes -acceptOptionalTelemetry no -vswitchName nvw -vswitchType External

At this point the Deployment partially succeeded as my sandbox doesn't seem to be providing an IP to the new switch but the new Eflow VM does show as on and I can use hcsdiag console to gain access to it

Install my pending Cumulative Update (KB5008215) and reboot

Unlike what I see in the issue I've raised here, after the reboot my Eflow VM seems to be in essentially the same state as I saw in Step 4. Meaning that after reboot my Eflow device is once again in a started state (unlike what I've reported initially) and I can gain access to it using hcsdiag (unlike what I've reported initially) so I'm assuming if I were able to figure out my sandbox networking issue then this would have worked. That said however, I do still see entries in my event log indicating that both my Default Switch and nvw virtual switches were removed and reconstructed during the update. It's just that now my Eflow VM isn't drawing connectivity from the internal system rather the external network. I do find it strange though that in my first report I can't even list the device using hcsdiag but I can with this workflow.

Good morning @fcabrera23, any other thoughts on this one? I suspect your suggestion to move to an external switch may work however I don't know that this is the topology we'd want to use in all situations.

Hi @jbudbo,
Were you able to confirm if the problem persists when using External Switch during this long period?  We are working with the Hyper-V team to repro the issue, as we think it's related to the Default Switch.
Thanks,
Francisco

@fcabrera23, sorry it's taken so long to get back to you. I'm still looking over our systems to find one that has taken a CU during the break and see if it's still up. That said, we haven't had any machine go down during the long period of time since we last connected (except one but it seems unrelated and with different symptoms). I need to try and setup my internal dev box and see if it sustains itself.

Hi @jbudbo,
I'm glad to hear that the update worked and everything is working with External Switch. We've found an issue with the Default Switch and we plan to address it in the upcoming updates. In the meantime, I suggest keep using the External Switch for the best support and stability.
Thanks,
Francisco

@fcabrera23, that's excellent news! We can probably keep things moving forward for the short term with an External switch and attempting to stop Hyper-V during update (if we have the opportunity) but any thoughts on what timeframe we'd be looking at for the issue you've identified?

@jbudbo,
There's no need for stopping Hyper-V and the EFLOW VM for the update. It should work without any action.
Regarding the timeframe, we are aiming to include the fix in our next update, end of Jan, although we haven't confirmed it yet.
Thanks,
Francisco

hey @fcabrera23,
We had another client go down today even though we stopped updates temporarily on their box. Same symptoms in that I can't get connected to the Eflow VM. Even if I reboot the machine and/or stop and restart the WSSDAgent nothing seems to work. It's as if the VM is "gone". When I run hcsdiag list I get nothing back. I managed to dump the result of a call to Get-EflowVM to JSON.
In doing so I get the following exceptions:

Could not resolve virtual machine IP address at line 3881
Cannot index into a null array. at line 1558
And the resulting Json looks as follows (I've expanded the nested error message a little)

{
	"VmConfiguration": {
		"ID": "14d0b3530c16ee9",
		"name": "SB-7080-001-EFLOW",
		"properties": {
			"HighAvailabilityState": "UNKNOWN_HA_STATE",
			"disableHighAvailability": false,
			"hardwareProfile": {
				"customsize": {
					"cpucount": 2,
					"gpucount": 0,
					"memorymb": 4096
				},
				"vmSize": "Custom"
			},
			"isPlaceholder": false,
			"networkProfile": {
				"networkInterfaces": [
					{
						"virtualNetworkInterfaceReference": "SB-7080-001-EFLOWInterface"
					}
				]
			},
			"osProfile": {
				"computerName": "SB-7080-001-EFLOW",
				"linuxConfiguration": {
					"disablePasswordAuthentication": true
				},
				"osbootstrapengine": "CloudInit",
				"windowsConfiguration": {
					"rdp": {
						"DisableRDP": null
					}
				}
			},
			"provisioningState": "UPDATED",
			"securityProfile": {
				"enableTPM": false
			},
			"statuses": {
				"Error": "Message:\"Not Found
					Virtual Machine [SB-7080-001-EFLOW] not found
					github.com/microsoft/moc/pkg/errors.Wrapf
						/home/johnson/go/pkg/mod/github.com/johnsonshih/moc@v0.10.8-alpha.10.0.20210526222753-7f9ed43aa602/pkg/errors/errors.go:118
					github.com/microsoft/wssdagent/pkg/nodeagent/services/compute/virtualmachine/hcs.(*Client).StopVirtualMachine
						/home/johnson/repos/wssdagent.js/pkg/nodeagent/services/compute/virtualmachine/hcs/hcs.go:370
					github.com/microsoft/wssdagent/pkg/nodeagent/services/compute/virtualmachine.(*Client).Stop
						/home/johnson/repos/wssdagent.js/pkg/nodeagent/services/compute/virtualmachine/client.go:556
					github.com/microsoft/wssdagent/pkg/nodeagent/services/compute/virtualmachine.(*VirtualMachineProvider).Stop
						/home/johnson/repos/wssdagent.js/pkg/nodeagent/services/compute/virtualmachine/virtualmachine.go:89
					github.com/microsoft/wssdagent/pkg/nodeagent/server.(*virtualmachineAgentServer).Operate
						/home/johnson/repos/wssdagent.js/pkg/nodeagent/server/virtualmachine.go:95
					github.com/microsoft/moc/rpc/nodeagent/compute._VirtualMachineAgent_Operate_Handler
						/home/johnson/go/pkg/mod/github.com/johnsonshih/moc@v0.10.8-alpha.10.0.20210526222753-7f9ed43aa602/rpc/nodeagent/compute/moc_nodeagent_virtualmachine.pb.go:1177
					google.golang.org/grpc.(*Server).processUnaryRPC
						/home/johnson/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1024
					google.golang.org/grpc.(*Server).handleStream
						/home/johnson/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1313
					google.golang.org/grpc.(*Server).serveStreams.func1.1
						/home/johnson/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:722
					runtime.goexit
						/usr/lib/go-1.15/src/runtime/asm_amd64.s:1374\" ",
				"HealthState": "",
				"PowerState": "Running",
				"ProvisionState": "currentState:UPDATED previousState:UPDATING ",
				"Version": "1642096472806222000"
			},
			"storageProfile": {
				"dataDisks": [],
				"osDisk": {
					"vhd": "AzureIoTEdgeForLinux-v1-EFLOW"
				},
				"vmConfigContainerName": ""
			}
		},
		"tags": {
			"SB-7080-001-EFLOW-id": "dcff55a7-7499-11ec-b129-a4bb6dd3c68f"
		}
	},
	"VmPowerState": "Running",
	"EdgeRuntimeVersion": {},
	"EdgeRuntimeStatus": {},
	"SystemStatistics": {}
}

Do you think this is any way related to what I've brought up in this chain?

Hi @jbudbo,

Did the VM stop without reboot or update?
Is this deployment also using Default Switch?
Do you have access to this VM so that we can do some further troubleshooting?

Thanks,
Francisco

Hi @fcabrera23,

It does appear to have stopped on it's own accord. Updates have been paused and the machine had been up for some time (I've rebooted it in an attempt to resolve the issues)
It is using the Default (and internal) Switch
I do have access to the host windows machine to troubleshoot anything you need

Hi @jbudbo,
Thanks for the information provided. From the events you shared, there was a hard shutdown (due to lack of power) of the host OS that causes the same Default Switch issue that Cumulative updates. This issue will be fixed in our next update.
Thanks,
Francisco

Hey @fcabrera23,
Not trying to be impatient or anything but I just wanted to check in on the patch/update y'all were thinking may be available by the end of Jan. Updates are set to resume across our fleet of devices in the next week or so.
We've been relatively stable since pausing them but we'd like to avoid getting too far behind.
Thanks for everything!
~Justin

Hi @jbudbo,
That fix should be available in Jan release - in 1st week of Feb/2022.
Regards,
Jagadish

Hi @jbudbo ,
This issue was fixed with the EFLOW 1.1.2201.04022 update.
Thanks,
Francisco


Add event on container death

First step of converting Wait over to use events

Gets us an event formatted like this:
2019-03-12 16:25:27.088574667 -0400 EDT container died 70f01ba82a02575d3efc3579ee5951f1b3b3383243b204a54c21989e4b2d41fa (image=docker.io/library/fedora:latest, name=pensive_payne)

LGTM

I matched Docker for the name but wouldn't nine changing to exited
On Wed, Mar 13, 2019, 07:33 Daniel J Walsh<EMAIL_ADDRESS>wrote:

@rhatdan commented on this pull request.
In libpod/events.go
https://github.com/containers/libpod/pull/2621#discussion_r265083782:

@@ -19,6 +19,19 @@ func (c *Container) newContainerEvent(status events.Status) {
}
}

+// newContainerDiedEvent creates a new event for a container's death
+func (c *Container) newContainerDiedEvent(exitCode int32) {
Should we call this Exited rather then Died?
In libpod/events/events.go
https://github.com/containers/libpod/pull/2621#discussion_r265083839:

@@ -58,6 +58,8 @@ const (
Commit Status = "commit"
// Create ...
Create Status = "create"

// Died indicates that a container's process died
Died Status = "died"

Exited.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/containers/libpod/pull/2621#pullrequestreview-213895736,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHYHCLRQ27xRxRcqReBkAfza9iG-lysrks5vWOIZgaJpZM4brzjR
.

I prefer "exited" too, but am just concerned about someone expecting 'died" due to a script that they run.  If that's a valid concern, I'd leave it as died.
Otherwise LGTM

Lets go with Exited since this is what happened.  Exited whether through successful running or failure.

Updated

/lgtm


Inverse resolution for Gamepad in Xenoblade Chronicles X, fixes missing Gamepad text

This bug may be related to the v5 (in progress) graphics packs, but they're presently archived and I was told to post here.
Gamepad resolution in XCX does not correctly apply to second screen. The higher the Gamepad resolution, the blockier the gamepad screen. This has a secondary effect, resulting in the list of probes not being visible on the second screen when changing probes - that is, all text for probe names was not visible, yet still selectable if I  clicked randomly enough.
To fix this I LOWERED the resolution of the gamepad in the Graphics Packs to the lowest setting. Now they're nice and crisp and the missing text is also visible.

If you need me to take a video of the bug because I've explained it poorly, I can do so.
This is when using the v5 gfx packs, which I downloaded from their github before they were archived.
Step 1. Increase game pad resolution.
Step 2. Restart game.
Step 3. Look at game pad in game. It is now blockier then before.
Do the opposite, and it looks better instead.
On default game pad resolution when you choose to change the current probe in a region, the text that lists the different probes is hidden.
This is fixed on the 'lowest' game pad resolution, though I have not checked the other 'lower' game pad resolutions as well.
Main screen resolution tested at hd and 4k, didn't seem to have any impact on bug.

If you need me to take a video of the bug because I've explained it poorly, I can do so.
This is when using the v5 gfx packs, which I downloaded from their github before they were archived.
Step 1. Increase game pad resolution.
Step 2. Restart game.
Step 3. Look at game pad in game. It is now blockier then before.
Do the opposite, and it looks better instead.
On default game pad resolution when you choose to change the current probe in a region, the text that lists the different probes is hidden.
This is fixed on the 'lowest' game pad resolution, though I have not checked the other 'lower' game pad resolutions as well.
Main screen resolution tested at hd and 4k, didn't seem to have any impact on bug.

Your explanation made sense. That conversation in #gfx_packs was more about why the cause of the bug wasn't obvious. We've had other reports of some similar stuff happening too. So don't worry too much about it. I plan to look into updating everything soon!

Your explanation made sense. That conversation in #gfx_packs was more about why the cause of the bug wasn't obvious. We've had other reports of some similar stuff happening too. So don't worry too much about it. I plan to look into updating everything soon!

Let me know if this was actually fixed!

Let me know if this was actually fixed!


Add genesis config for nft

The initial idea for a genesis config of the NFT pallet. The config accepts BTreeMap<T::AccountId, BTreeMap<(Vec<u8>, T::ClassData), Vec<(Vec<u8>, T::TokenData)>>> that basically says each account has a map where the key is a vector of tuples for token class data (metadata and ClassData) with the value of vector of tokens to be minted.
However, I can't get this code built, so I will appreciate any help with finishing this PR
   Compiling orml-nft v0.3.5-dev (/home/pmensik/work/polkadot/open-runtime-module-library/nft)
error[E0463]: can't find crate for `serde`
   --> src/lib.rs:100:1
    |
100 | / decl_storage! {
101 | |     trait Store for Module<T: Config> as NonFungibleToken {
102 | |         /// Next available class ID.
103 | |         pub NextClassId get(fn next_class_id): T::ClassId;
...   |
161 | |     }
162 | | }
    | |_^ can't find crate
    |

You need those to fix the serde error
https://github.com/open-web3-stack/open-runtime-module-library/blob/2de1e024781a7744a3aeb82229ebcb555163452a/auction/Cargo.toml#L11
https://github.com/open-web3-stack/open-runtime-module-library/blob/2de1e024781a7744a3aeb82229ebcb555163452a/auction/Cargo.toml#L28

You need those to fix the serde error
https://github.com/open-web3-stack/open-runtime-module-library/blob/2de1e024781a7744a3aeb82229ebcb555163452a/auction/Cargo.toml#L11
https://github.com/open-web3-stack/open-runtime-module-library/blob/2de1e024781a7744a3aeb82229ebcb555163452a/auction/Cargo.toml#L28

@xlc I've updated the solution and changed a type according to your comment (I've just added an AccountId to a GenesisClassData because class data needs an owner as well). Thanks for your review!

@xlc I've updated the solution and changed a type according to your comment (I've just added an AccountId to a GenesisClassData because class data needs an owner as well). Thanks for your review!

Please merge master to fix CI

Please merge master to fix CI


[Event Request] codeunit 5940 ServContractManagement - CreateDetailedServLine - OnAfterSetFirstLineAndNewContract

Hi,
We would like to extend Codeunit ServContractManagement  CreateDetailedServLine  procedure like this:

[IntegrationEvent(false, false)]
    local procedure OnAfterSetFirstLineAndNewContract(var FirstLine: Boolean; var NewContract: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Correction of the logic of submit button of end trip popup.

in the trip tracking screen you can see when the submit of end tracking is pressed
it does everything like storing trip data
but it does not closes the popup dialogbox and  does not resets the page to start trip mode again
Implementation is needed

also check the _onEndTrip of lib/features/trip_tracking/presentation/bloc/trip_bloc.dart


Missing book level alignments, extra chapter level alignments

The linked arxiv paper reports that there are 436 book-level alignments, but the alignments/book-level-summary-alignments/ directory only contains 405 alignments (314 train + 45 val + 46 test). The paper also reports 12,293 chapter-level alignments, but the alignments/chapter-level-summary-alignments/ directory currently contains 12,630 alignments (9713 train + 1485 val + 1432 test).
Are there plans to fix these discrepancies? I am trying to reproduce the paper's results with as much fidelity as possible.

@bandrus5 Apologies for getting back to you late on this. The discrepancy in these numbers is because we updated our data collection process to make fetching of data from the links more reliable. We will push an updated version of our paper soon which reflects the new numbers present in the alignment files.


[ISSUE #6601] Load authentication implementation, regardless of aclEnable.

Make sure set the target branch to develop
What is the purpose of the change
fix #6601

fix #
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

why need load authentication implementation when aclEnable=false

why need load authentication implementation when aclEnable=false

If we need to customize authentication based on AccessValidator, we need to load it in advance. aclEnable is false, but your customize authentication need to be load. The default implement will take effect only when aclEnable is true.

Codecov Report

Merging #6602 (fe1dacb) into develop (3fe81bf) will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop    #6602      +/-   ##
=============================================
+ Coverage      43.10%   43.13%   +0.02%
+ Complexity      8996     8993       -3
=============================================
  Files           1107     1107
  Lines          78287    78284       -3
  Branches       10202    10202
=============================================
+ Hits           33745    33764      +19
+ Misses         40314    40286      -28
- Partials        4228     4234       +6

Impacted Files
Coverage Δ

...a/org/apache/rocketmq/broker/BrokerController.java
47.43% <0.00%> (+3.90%)
:arrow_up:

... and 24 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

So why not set aclEnable=true?

If the name of customize authentication is RAM(Resource Access Management). In order to load RAM, two params must set to be true: the aclEnable and ramEnable. It is nature that other customize authentication will not be controlled be aclEnable.

If the name of customize authentication is RAM(Resource Access Management), in order to load RAM, two params must set to be true: the aclEnable and ramEnable. It is nature that other customize authentication will not be controlled by the param aclEnable.

I closed this pr, because there is only one kind of authorization in normal conditions, It is counterintuitive in this pr. Use AclEnable to control other authorization is ok. If you have a authorization for your own, implemented the AccessValidator interface, and make AclEnable equals to true.


Try to use go-git or other git client lib to replace git command

This will remove dependency on git command line tool.

try with go-git


[fix](jdbc catalog) fix type conversion error in MySQL JDBC Driver 5.x

Proposed changes
Issue Number: close #31868

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

LGTM


Mint token with uid and gid

The eos driver expects the uid and gid from the opaque map of a user. While the proxy does mint tokens correctly, the accounts service wasn't.

I restarted the build. Phoenix pipeline 2 was failing, which is a random failure (will be fixed with next phoenix update).

I will add another commit to this, which also mints the uid and gid number of the service user when talking to the index.

Now added a commit for the service user auth on indices.


I Updated Postman

I can't do a PR on the postman collection so I just published my changes here: https://documenter.getpostman.com/view/13008/SzYUXfng?version=latest#e748420e-013a-4b57-bb67-54499d7df5fa
I parameterized each url parameter so they show up correctly in postman as a parameter like so:

Here is a link to the raw collection as well: https://www.getpostman.com/collections/2871c12be082524a2dce

Hey, @genecyber  Thank you for the collection. Let me add the collection here so you could raise a PR on the same.
Also, I've just updated the collection with two more endpoints, could you take of them as well?

@genecyber I've added the postman collection here

Issued a PR to my updated collection (parameterized) along with an iso country list in array format


fix: a bundle can be in more then one channel

Description

The audit was considering that one bundle could be only in one channel. However, by checking the servicemeshoperator use case we could identify that the relation here is 1..N instead of 1..1.
Also, we fix the comment when we identify that the project has probably performance issues.

PS.: I will re-generate all reports at the end of the day and push that in a follow-up because I'd like to address some others improvements tracked in the repo today.

Pull Request Test Coverage Report for Build 841865469

0 of 17 (0.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.003%) to 1.329%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/reports/bundles/data.go
0
1
0.0%

pkg/reports/bundles/report.go
0
4
0.0%

pkg/reports/packages/data.go
0
4
0.0%

pkg/helpers.go
0
8
0.0%

Totals

Change from base Build 841776864:
-0.003%

Covered Lines:
18

Relevant Lines:
1354

💛  - Coveralls

/lgtm


[1906] Fix broken translation

Context

https://trello.com/b/BBEuhbHM/publish-register-sprint-board

Changes proposed in this pull request
Before:

After:

Guidance to review

Visit /sign-in/user-not-found

 Fix broken translation content


Added 5.7 release notes to TOC

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

File
Status
Preview URL
Details

docs/TOC.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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


update azure poland events

@tiagocostapt hi, could you check why our event isn't added after merge hmm, I'm not sure if I missed something in configuration. Thank you!

Hep, it's working now!


Add owner of poolboy in hex.pm

Just like proper-testing/proper#176, a new owner of the proper is added in hex.pm.
I think @devinus  you should add @Vagabond  to be a new owner of the poolboy in the hex.pm, and finally push poolboy 1.5.2 to the hex.pm.

@Vagabond
I find out a link, it might be help.
https://hex.pm/policies/dispute#if-you-wish-to-acquire-an-existing-package-name
Would you do the instruction as the page described?

I have started this process, we will see where it goes.


Support for Collections

Your plugin looks very clean and was simple to install. Would be great to add it to the JekyllKB project.
Any chance you'll be adding support for Jekyll 2.1.0 Collections?

Hello,
Does this plugin support Jekyll Collections now?

@iloveip Not yet, I've not really been keeping it up-to-date recently.


Upgrading 7.4.18 with patch included

Describe the bug

My hypothesis is that brew upgrade<EMAIL_ADDRESS>is not installing the latest patch (https://github.com/shivammathur/homebrew-php/commit/fc256dac438bde6fc35e57eeeb8803c71a3f6f1a)
Running brew upgrade<EMAIL_ADDRESS>only outputs: "Warning<EMAIL_ADDRESS>7.4.18 already installed". Is this the expected behavior?
Is there a way to verify if the patch has been applied using phpinfo()?
PHP versions

7.4.18.
To Reproduce

brew install<EMAIL_ADDRESS>brew upgrade<EMAIL_ADDRESS>Expected behavior

The patch fixes a postgres / pdo bug. I am still seeing an error related to this bug when using Laravel Valet for development.
Screenshots/Logs

Additional context

The PHP bug that was patched: https://github.com/php/php-src/pull/6801
Are you willing to submit a PR?

Yes

@scottperlitch
Reinstall using the formula from the tap. That should fix it.
brew update
brew reinstall<EMAIL_ADDRESS>brew link --force --overwrite<EMAIL_ADDRESS>


Update JunitReporter to parse parallel tests

Change JunitComponent to capture the Regex used to create the component
Relies on capture groups being consistent between parallel and non-parallel output
Add unit test

Fixes https://github.com/tuist/xcbeautify/issues/83

@thii Let me know the best way to get this added and/or relased

cc @acecilia

@thii @acecilia we'd really like to get this in so that our Jenkins runs can report failing/passing tests from parallel executions.
I haven't found any other test parsers that handle parallel test runners yet, so I think this would be a pretty good addition to xcbeautify

@welshm This is included in https://github.com/tuist/xcbeautify/releases/tag/0.16.0.


Setting a controller base class that uses http_basic_authenticate_with breaks bin/rails assets:precompile

Start with an application that is working fine and a docker image that is building successfully.
The application already has a Admin::AdminController that looks like this:
class Admin::AdminController < ApplicationController
  layout 'admin'
  http_basic_authenticate_with name: 'admin', password: Rails.application.credentials.admin_password, realm: 'Admin'
end

Then add this gem and add this line to an initializer:
MissionControl::Jobs.base_controller_class = "Admin::AdminController"

Or, alternatively, add this line to config/application.rb:
config.mission_control.jobs.base_controller_class = "Admin::AdminController"

Once you add that line of configuration, you start getting this error when you try to build the Docker image:
 > [10/10] RUN SECRET_KEY_BASE_DUMMY=1 ./bin/rails assets:precompile:
3.508 bin/rails aborted!
3.509 ArgumentError: Expected password: to be a String, got NilClass (ArgumentError)
3.509
3.509             raise ArgumentError, "Expected password: to be a String, got #{password.class}" unless password.is_a?(String)
3.509                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3.509 /app/app/controllers/admin/admin_controller.rb:3:in `<class:AdminController>'
3.509 /app/app/controllers/admin/admin_controller.rb:1:in `<main>'
3.509 /app/config/environment.rb:5:in `<main>'
3.510 Tasks: TOP => environment

Is that configuration of mission_control causing an eager loading of controller file or something?
Or it's causing the controller file to be loaded before credentials are fully loaded?
Any solution?

This might help https://github.com/rails/rails/issues/51772.

@smitssjors Thanks for the help! I already moved to Devise also for admins... so I have solved in some way.
I was just curious about why that error for credentials is raised only when I set that controller as the base controller for mission control. When I normally use that controller, without mission control, the docker image compiled normally without errors.


Clean Up About/Description labels

Clean up references to description to match whether they are the About field or the short description field.

Don't merge this until after 1.1.9 is released.


Add phyNODE sensors support

In this pull request I added the support for five sensors of the phyNODE-board.
My adds I've tested with phyBOARD-Wega with newest mraa-library and connected to a phyNODE-board over I2C.
Signed-off-by: Norbert Wesp<EMAIL_ADDRESS>

Hi @svlstriker, thanks a lot for these new drivers! We've made a slight change to how we handle dependencies on other libraries (including MRAA) with this commit 567476b89a6ea618e4879c8ae086470846b9cb02. All that needs to be changed here is upm_module_init(mraa) in the CMakeLists.txt files for the sensors and that will take care of the Travis builds.
Also, we would greatly appreciate any feedback you might have regarding UPM's documentation on how to add new sensor drivers.

Hi @Propani,
Hi @upm-team,
I think u have a great documentation on how to add new sensor drivers. Everything I looked for I found very quick. So by adding new sensor drivers to upm u can focus on your sensor-specific properties. I also like the big amount of other sensor drivers witch can be helpfull to add a new one. Thanks for this!

These have been merged. Thanks again for your great contribution!!


vscode (maybe lsp?): Registering dynamically and statically causes duplicate requests

So 0.3.0 fixed an issue with the client options providers not working as expected.
This has raised a new issue, where providers registered via the static means (at client return) are also called again when dynamically registered.
Need to investigate this issue and see if it's a problem in LSP implementation, the vscode lsp implementation or just a regular bug.
cc @tintoy

Probably vscode-languageclient, BTW - I found I got double-called for stuff like hover and completions if I added a DocumentSelector twice on the LanguageClient in my extension :)


Help me please with this error

Traceback (most recent call last):
File "/data/data/com.termux/files/home/007-TheBond/src/007-TheBond.py", line 2, in
import pyfiglet
File "/data/data/com.termux/files/usr/lib/python3.11/site-packages/pyfiglet/init.py", line 11, in
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
Can u help me?

use python2.7 and you're good to go

So python3 doesn't work?
On Sat, Jun 3, 2023, 7:38 PM DeadShot0x7 @.***> wrote:

use python2.7 and you're good to go
—
Reply to this email directly, view it on GitHub
https://github.com/Deadshot0x7/007-TheBond/issues/35#issuecomment-1575059057,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APPF5FX7PJR66POBFINXNLLXJNSB5ANCNFSM6AAAAAAYXEJMQ4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yep , don't worry will  refactor it soon


Setup ESlint with Prettier

Added the following changes:

downgrade to use React 16.14.0, same as Foreman
Ignore lock files (Gemfile.lock, package-lock.json, yarn.lock)
Added eslint with prettier (using 'eslint:recommended', 'plugin:react/recommended', 'plugin:prettier/recommended')
Added CI with ESlint

@LiorKGOW The CI will work only after we merge this PR.
@mariaaga I believe we should add it to your repo as well :)

Successful build in https://github.com/Ron-Lavi/My-Guitar-Store/actions/runs/3355650694/jobs/5560076248

@LiorKGOW The CI will work only after we merge this PR. @MariaAga I believe we should add it to your repo as well :)

I can work on it 👍🏼 @Ron-Lavi

LGTM Thanks! @Ron-Lavi
This PR can be merged in my opinion


merge resize.c into commands/resize.c

no real reason to have sway/resize.c now that we have the commands split apart, it can easily be merged into sway/commands/resize.c

actually don't merge this yet please

Thanks!


Load local csv from input file

Hi, it is possible to load a local csv in jexcel? From example code below,
$('#my').jexcel({
  csv:'http://cdn.bossanova.uk/demo/demo1.csv',
  csvHeaders:true,
});

My attempt is to load csv from user input file,
$('#my').jexcel({
   csv:inputFileFromUser,
   csvHeaders:true,
});

It produce GET request 404 error which is it try to load an url instead

Hi, I able to solve this anyway. For those who wants to load local csv file, if you notice there is a csv plugin in jExcel distribution folder.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-csv/0.8.3/jquery.csv.min.js"></script>

By following the jquery.csv github , you can read csv file locally. This is example code that I produced, note that I already initialize the excel table
<input type="file" id="csvInput"/>

var reader = new FileReader();
$("#csvInput").change(function(){
csvFile= this.files[0];
 if (csvFile) {
    reader.readAsText(csvFile, "UTF-8")
    reader.onload = function (evt) {
      data = $.csv.toArrays(evt.target.result)
      $('#excelTable').jexcel('setData',data, false);
    }
  }
}


Enable optimization within .stan programs

This would be similar to integrate_ode but instead of calling
theta <- integrate_ode(sho, ...);

it would be something like
theta <- solve_equations(system, ...); // calls Eigen::HybridNonLinearSolver

and / or
theta <- minimize(loss, ...); // calls LBFGS or something in Boost

We would have to make sure the derivatives due to the implicit function get put in the right place.
There is a review paper that discusses such constructs in Bayesian models at
http://onlinelibrary.wiley.com.ezproxy.cul.columbia.edu/doi/10.1002/9781118771051.ch11/pdf

Is this still a proposed feature? It would be quite useful for some work I am doing.

Ben, I can't access the paper you posted, do you have the author/title info?
Rob
On Tue, Mar 7, 2017 at 1:33 PM, Jim<EMAIL_ADDRESS>wrote:

Is this still a proposed feature? It would be quite useful for some work I
am doing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/issues/1319#issuecomment-284813647, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADvmhxKMTVeKEPEA1CSb7UVFY9Y9yIMFks5rjaLegaJpZM4DngLV
.

It's a chapter called "Approximate Bayesian Inference in Models Defined
Through Estimating Equations" from the book Bayesian Inference in the
Social Sciences. DOI: 10.1002/9781118771051.ch11
On Tue, Mar 7, 2017 at 2:14 PM, Rob Trangucci<EMAIL_ADDRESS>wrote:

Ben, I can't access the paper you posted, do you have the author/title
info?
Rob
On Tue, Mar 7, 2017 at 1:33 PM, Jim<EMAIL_ADDRESS>wrote:

Is this still a proposed feature? It would be quite useful for some work
I
am doing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/issues/1319#issuecomment-284813647,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ADvmhxKMTVeKEPEA1CSb7UVFY9Y9yIMFks5rjaLegaJpZM4DngLV>

.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/issues/1319#issuecomment-284825377, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHb4Q4-dHctxXxHakKOuFRm94qCS65M8ks5rjayFgaJpZM4DngLV
.

Oops misread this, idt we should close this


bounded multi-scalar multiplications.

Here's a much faster Pippegenger algorithm for MSM's with u8 integers.
We are talking about > 3x faster for sizes of ~1k elements.
It would be nice to have a generic interface for MSM that depending on the vector of scalars does something smarter than just convert to field elements and invoke the generic MSM algorithm.
/// Simpler pippenger for u8 scalars.
pub fn u8msm<G: CurveGroup>(bases: &[G::Affine], scalars: &[u8]) -> G {
    let mut buckets = [G::zero(); 8];
    for (base, scalar) in bases.iter().zip(scalars.iter()) {
        buckets.iter_mut().enumerate().for_each(|(i, bucket)| {
            if scalar & (1u8 << i) != 0 {
                bucket.add_assign(base);
            }
        });
    }

    for b in (1..8).rev() {
        buckets[b].double_in_place();
        buckets[b - 1].add_assign(buckets[b]);
    }
    buckets[0]
}

I'd rather go with a trait VariableBaseMSM<Scalar> that gets implemented as VariableBaseMSM<Field>, VariableBaseMSM<u8>, etc.. That'd spare us the conversion to BigInts and back. What do you think?

they could implement domain-specific functions or do something like the following I think?
type GG = u64;

pub trait VariableBaseMSM<T>: Sized {

    fn msm_unchecked(bases: &[Self], scalars: &[T]) -> Self;
}

impl VariableBaseMSM<u8> for GG {
    fn msm_unchecked(bases: &[Self], scalars: &[u8]) -> Self {
        bases.iter().zip(scalars.iter()).map(|(&x, &y)| x*(y as GG)).sum()
    }
}

impl VariableBaseMSM<u16> for GG {
    fn msm_unchecked(bases: &[Self], scalars: &[u16]) -> Self {
        bases.iter().zip(scalars.iter()).map(|(&x, &y)| x*(y as GG)).sum()
    }
}

fn commit<T>(ck: &[GG], scalars: &[T]) -> GG
    where GG: VariableBaseMSM<T> {
    GG::msm_unchecked(ck, scalars)
}

We do something similar with msm_bigint: we could just have it as a type of scalar

A slightly simpler solution would be to just put a NUM_BITS variable on the msm method. This would allow us to avoid the proliferation of impl VariableBaseMSM<T> for each T.
const FULL: u16 = u16::MAX;
pub trait VariableBaseMSM: Sized {
    // by default we assume the scalars are full-sized field elements
    fn msm_unchecked<const NUM_BITS: usize = FULL>(bases: &[Self], scalars: &[F]) -> Self {
		// Some logic based on `NUM_BITS`
    }
}

fn u64_commit<G: VariableBaseMSM>(ck: &[G], scalars: &[G::Scalar])  {
    GG::msm_unchecked<64>(ck, scalars)
}

We could also offer a "simple" method which internally figures out a maximum size S of the input scalars, and then invokes msm_unchecked<S>

Agreed -- but when you have bounded elements they are often not as a Field type, so we'd have to come up with something more for egonomicity I feel

Is the issue the delegation to SWCurveConfig::msm and similar?  It's likely some of that interface should be improved anyways, but they enable things like FPGAs or native calls from WASM, but they space of trade offs gets subtle.
We could literally enforce a type equivalent to &[ #[repr(align(runtime_limb_size))] [[u8; runtime_limb_size]; runtime_limbs_count]] in unsafe code.


Cassandra: NULL-Value in Date and UDT Columns

After the issue https://github.com/serge-rider/dbeaver/issues/236 was fixed, another issue with cassandra driver came in. All date and udt fields are NULL!!

Date and time data types (new in Cas3) handler will be fixed in the next version.
Can you provide me some example with UTD types?

In our case these are JSon-Objects.

3.6.2 will include major update of Cassandra plugin (for 3.x version).
Including UDT and new metadata objects support.


App does not start after installation of react-native-iap

Version of react-native-iap
2.5.1
Version of react-native
0.59.3
Platforms you faced the error (IOS or Android or both?)
IOS
Expected behavior
App should start
Actual behavior
App does not start
Tested environment (Emulator? Real Device?)
real device iPhone SE iOS 12.2
Steps to reproduce the behavior
After installing and linking react-native-iap the app just freezes on start. This happens only when xCode -> Product -> Scheme -> Build Configuration is set to DEBUG. If i set Build Configuration to Release it just works. Is this a known bug/feature? Cant find something about it in docs. It would be great if we could use DEBUG Build Configuration with this plugin.

Thanks for reporting this. Since this was unknown issue on our side, I hope you can post some error codes for more detail.

Sry, magically it works now after restarting xcode. I think it was not a problem with react-native-iap.


Allow named exports in js/ts file with autoimport

Describe the feature
https://stackblitz.com/edit/nuxt-starter-frkyxu?file=pages%2Findex.vue,components%2FHello.ts,app.vue
not sure if it's a missing feature; We currently cannot import named exports with component dir.
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide.
[X] Check existing discussions and issues.

True! IMO we should handle it as with composables when it is a .ts file in components. 👍🏻

Hi, I would like to take on this issue. One thing I'm not sure about is how I should name the components with named exports? I'm thinking about <path><file name><export name>, or should I just go with <path><export name>?

We should keep the same naming system just like for named export in utils or composables.
The catch here is that we probably need to read the file and add all exports as components with addComponent which contains an export field.
The other issue is that I'm pretty sure some people export types or non-component varaibles from theses files so we need to know what to do with it.


fix(admin): wrong webpath after navigation

Fix #418

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

GitHub release
v6.21.0

Your semantic-release bot :package::rocket:


fix PIL call

Fix for Image being imported as Image and then called as PIL.Image

thanks, that was introduced in the previous PR..
I need to add more tests in this repo to avoid this kind of issues


Move and revise overview for Security section

A fix for https://github.com/kubernetes/website/issues/36591 (fixes #36591)

Change https://kubernetes.io/docs/concepts/security/ to be an overview of security (preview)

Based the overview on the CNCF security white paper

Remove https://kubernetes.io/docs/concepts/security/overview/ (with a redirect)

We should make this change because https://kubernetes.io/docs/concepts/security/overview/ is not really giving readers a good overview of how to secure a Kubernetes cluster. That page was much better than no advice; this PR aims to improve it further by explicitly aligning with the CNCF security white paper.
/language en
/sig security

/label refactor

Thanks for the review @aj11anuj. However, please watch out for making suggestions that change text from good use of English to invalid or unidiomatic English.

Part of https://github.com/kubernetes/website/issues/25119

@divya-mohan0209 as you've taken a look already, would you be willing to look again?
As is often our favored approach, I'm looking to find the smallest set of changes that could let this merge. I'm also very happy to hear any non-binding feedback that I might then adopt or might save for a separate PR.

I reviewed the preview (https://deploy-preview-43176--kubernetes-io-main-staging.netlify.app/docs/concepts/security/)
It's not clear that the link to the Security certification program and the other links to the CNCF white papers should be part of this overview page.

I reviewed the preview (https://deploy-preview-43176--kubernetes-io-main-staging.netlify.app/docs/concepts/security/) It's not clear that the link to the Security certification program and the other links to the CNCF white papers should be part of this overview page.

I've separated out the CNCF white paper links. I still support linking to the CNCF program; as Kubernetes is a CNCF project, I'm confident it's fine.

@sftim I read the updates at a high level and they read (technically) right to me. There maybe minor things we need to change which I missed but that could be accomplished in follow up PRs.
Few things that I recommend we should consider updating before we merge:

We should link existing seccomp profile k8s documentation. I didn't see it linked in either of the two pages, but I could have used it.
Highly request linking to cloud native security white paper using this link instead of current link: https://github.com/cncf/tag-security/tree/main/security-whitepaper as it has the pdf too but more importantly most up to date markdown where minor corrections post publication were made.
Optionally, if you see the above link you will find the paper translated into multiple languages. Since we maintain k8s docs for many languages too we could consider making a special note of the translated white paper if one exists for that particular language. This will be a wonderful user experience in my opinion.

Notes:

I reviewed this on GitHub mobile app so don't know how it reads on a laptop screen
I was the lead author for version 2 of the white paper, so I appreciate this massive lift from SIG Docs to make the paper relevant for our community!

We should link existing seccomp profile k8s documentation. I didn't see it linked in either of the two pages, but I could have used it.

I recommend covering that in a follow-up PR. The content I'm replacing didn't link there either.

Highly request linking to cloud native security white paper using this link instead of current link: https://github.com/cncf/tag-security/tree/main/security-whitepaper as it has the pdf too but more importantly most up to date markdown where minor corrections post publication were made.

OK, will update.

Optionally, if you see the above link you will find the paper translated into multiple languages. Since we maintain k8s docs for many languages too we could consider making a special note of the translated white paper if one exists for that particular language. This will be a wonderful user experience in my opinion.

I'll add a note to localizers.

Looks good to me now.
Hopefully one more person from sig security can review too

I left several nits, none of which should be interpreted as merge-blocking.
This is beautiful! Thank you for the huge amount of thoughtful work that has gone into it.
/lgtm
Please ping me to re-LGTM if you choose to address any of the nits and the LGTM thus falls off.

Missed to comment lgtm
/lgtm

@tabbysable, I think this is ready for another LGTM if you're happy with it.

/lgtm
( @tabbysable hoping to save you some keystrokes )

This PR improves the security content in the docs
Thank you
/approve


Complementary PR for #1065

This is complementary commit for PR #1065, apparently I clicked save changes to one csproj after commit.

Added fix to issue #1060

Ugh. Looks like i should create a branch per fix. Let me know Jeremy if i have to. Not exactly sure about the full github book of etiquette for PRs

@Miggleness Thank you sir.


CreateCard isSuccessful() does not work properly.

$response = $this->gateway->createCard(['card' => $creditCard])->send();
if ($response->isSuccessful()) // This always fails

See https://go.eway.io/s/question/0D5w000001jr3DjCAI?language=en_US
Perhaps check the response code instead for createCard? Instead of:
public function isSuccessful()
{
    return isset($this->data['TransactionStatus']) && $this->data['TransactionStatus'];
}

I had to implement my own isSuccessful() for this particular gateway (which doesn't seem right)
public function isSuccessful(\Omnipay\Common\Message\AbstractResponse $response)
{
        if ($response->getRequest() instanceof \Omnipay\Eway\Message\RapidDirectCreateCardRequest) {
            return $response->getCode() == 'A2000';
        }

        return parent::isSuccessful($response);
}

Good catch Ben, interestingly the test for this function expects false:
$this->assertFalse($response->isSuccessful());

The gateway logic is that since no transaction took place, TransactionStatus is false.
However I agree this means that isSuccessful here gives unexpected results. The solution may be to create a RapidDirectCreateCardResponse class which overrides isSuccessful with criteria along the lines of what you're using. Or I'm open to other ideas!

The solution may be to create a RapidDirectCreateCardResponse class which overrides isSuccessful with criteria along the lines of what you're using.

That sounds the most logical suggestion to me.  If someone submits a PR then I will merge it.


Dear author, it seems that this code can only execute two view data. Do you have a multi view version?

Dear author, it seems that this code can only execute two view data. Do you have a multi view version?

How to conduct contrastive learning and prediction learning for more than two views is a pendent problem due to the combination problem of multi-view data. The simplest solution is directly conducting contrastive learning and prediction learning on every two views and we are still trying to solve this problem in a more effective and efficient way.

Hi，Can you ask about the incomplete data construction process?

@lywinaaa The missing data is constructed by get_mask.py and we have released a three view version in 2022-TPAMI-DCP.


Grafana add-on on fresh Bookinfo install has no data to visualize

Helm-installed Istio on GKE, applied Bookinfo, then followed instructions in https://preliminary.istio.io/docs/tasks/telemetry/using-istio-dashboard.html.
I get the following result:

Perhaps I also need to add prometheus, but the documentation doesn't explicitly require prometheus and it seems to be included in the grafana image.

Yes. This seems like an issue with prometheus not being installed.
@mandarjog the istio.yaml packaged with the release includes prometheus. Should we update the helm instructions to include the prom enablement?

Discussed in istio/istio.github.io#1315.


Better progress bar for single session

This might get a little tricky as per previous conversations, but putting it on the eventual to-do list with low priority initially
It just wouldn't be a very nice experience if the user tries to run a conversion of a file that's > 10 GB and then the app just freezes for an indeterminate amount of time
Existing progress bars already exist under the hood via tqdm, but unclear how to pipe that out in real time asynchronously to the front-end

For 2, I guess we could do something like:
# on the GUIDE backend

def update_display()
    ...

SpikeGLXRecordingInterface.run_conversion(
    ...,
    iter_opts=dict(reporthook=update_display),
)

reporthook is borrowed from urlretrieve syntax
We could modify GenericDataChunkIterator either on the hdmf side or the NeuroConv side to have a reporthook as an optional kwarg in __init__ which, if provided, is called every iteration with the GenericDataChunkIterator's self as the sole input.
This function would then be automatically passed through the unpacking of iterator_ops e.g. here:
traces_as_iterator = SpikeInterfaceRecordingDataChunkIterator(
    recording=recording,
    segment_index=segment_index,
    return_scaled=return_scaled,
    **iterator_opts,
)


Front and back text colours are wrong

You have a bug in your code:
@IBInspectable var textColorBack: UIColor = UIColor.white {     didSet {       backgroundLabels[0].textColor = textColorFront       backgroundLabels[1].textColor = textColorFront     }   }
should be
@IBInspectable var textColorBack: UIColor = UIColor.white {     didSet {       backgroundLabels[0].textColor = textColorBack       backgroundLabels[1].textColor = textColorBack     }   }

Thank you. I fixed the bug.


Spock extension for better lifecycle management

I think with a Spock extension it should be possible to keep the proxy running throughout the test suite rather than having to start & stop it between each individual test. Currently that's necessary because JUnit doesn't report the end of a test suite in any way.

Moved to Trello: https://trello.com/c/ORCvNjyN

Moved to Trello: https://trello.com/c/ORCvNjyN


MINOR: Fix typo in CreateTopicsResponse.json

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

LGTM

Thanks @omkreddy, merging to trunk


minor video docs on how to install

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Don't use CPU in idle when a hard drive performs some work not related to Files app

What feature or improvement do you think would benefit Files?
Less CPU usage in idle... Right now, the use of the processor is much larger than the classic old Windows 10 Explorer even if Files app do nothing
In some cases you can reproduce cpu usage in idle:

Open Files app and minimize
Open task manager and wait when Files will use 0% CPU
Don't maximize Files and run some copy or read operations using another apps like game updaters/launcher or do some massive operations using old Windows 10 explorer or copy files using SMB protocol from another PC
See task manager - Files App will use 10-15% CPU in idle (Ryzen 5 1600, 6 cores, 12 threads) in some cases (maybe Files app use some file system events in background?)

Requirements

disable FS event listeners in idle I guess (to avoid CPU usage when disk working in cases not related to Files app)

Files Version
<IP_ADDRESS>
Windows Version
10.0.19045.4291
Comments
No response

Thank you for your feedback, unless you're actively running a file operation, Files shouldn't use CPU on idle (and this is true even if the window is open).

Thank again you for your feedback, we're working on improving performance and will continue releasing updates with this goal in mind. While we continue working on this, we'll track progress in #4180 along with other performance related issues.


Manipulation V1

This still needs significant testing in sim and IRL, and also needs @le2tang manipulation changes to be merged in. I would appreciate an initial review focusing on architecture. Leave comments if you have any ideas on how this could break

This still needs to be merged with lyndon's robot pose lookup service changes but otherwise it is ready for review

i think we should close this in favor of : https://github.com/nightingale-project/nightingale/pull/53/files


merge params deeply & ability to pass a function

This PR addresses the params property, which was pretty useless. Basically there were 3 problems:

The Object.assign for params shallow merges the query so the query becomes overwritten -> only params without the query-property make sense.
Who needs static properties in params outside of query?
You cannot pass authentication to the services for custom restrictions

The 1. point is also mentioned in #15. Marshall came up with the idea of an function to manipulate the params after feathers-shallow-populate. I achieved the solution with two approaches:

use lodash/merge for the passed params object to merge deeply.
pass a function with params: (params) => {}. The function can manipulate the passed params or return a new params object which gets merged deeply.

For the 3. point it made sense for me to also pass the context down to the params object: params: (params, context) => {}. This way the context.params.authentication can be passed to params.authentication or context.params.user to params.user
This feature is totally optional. I wrote tests for the various approaches. The deep merge instead of the shallow Object.assign changes the behaviour, I guess, but makes it better.
I also documented the possible values in the README.md. This can also be copied to feathers-graph-populate which addresses https://github.com/marshallswain/feathers-graph-populate/issues/12

This is a beautiful thing!  Thanks!

Released as<EMAIL_ADDRESS>


OFFSET not working as expected for performing pagination

OFFSET not working as expected for performing pagination
Affected Version
0.18.1
Description
Example query using limit and offset
{
"queryType":"scan",
"dataSource":"mydatasource",
"intervals": ["2020-11-01/2020-11-11"],
"limit":25,
"offset:25
}
{
"queryType":"scan",
"dataSource":"mydatasource",
"intervals": ["2020-11-01/2020-11-11"],
"limit":25,
"offset:50
}
Everytime returning same results for pagination for both the above queries.

As per docs there is a fix for this issue on release 0.20.0. Closing out the issue
https://github.com/apache/druid/releases/tag/druid-0.20.0


xdg-desktop-portal: 1.15.0 -> 1.16.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/flatpak/xdg-desktop-portal/releases.
meta.description for xdg-desktop-portal is: "Desktop integration portals for sandboxed apps"
meta.homepage for xdg-desktop-portal is: ""
meta.changelog for xdg-desktop-portal is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 1.16.0 with grep in /nix/store/4k7vdmyxsxrqg5j13b89321mcmwxiwsr-xdg-desktop-portal-1.16.0
found 1.16.0 in filename of file in /nix/store/4k7vdmyxsxrqg5j13b89321mcmwxiwsr-xdg-desktop-portal-1.16.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
xdg-desktop-portal
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4k7vdmyxsxrqg5j13b89321mcmwxiwsr-xdg-desktop-portal-1.16.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A xdg-desktop-portal https://github.com/r-ryantm/nixpkgs/archive/2b12ddaaaa459891b340acaa425f61348b30d788.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4k7vdmyxsxrqg5j13b89321mcmwxiwsr-xdg-desktop-portal-1.16.0
ls -la /nix/store/4k7vdmyxsxrqg5j13b89321mcmwxiwsr-xdg-desktop-portal-1.16.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

xdg-desktop-portal
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk

Maintainer pings
cc @jtojnar for testing.

Duplicate of #206248


CREATE GOALS PAGE COMPLETED

Make PR to the staging branch.

Debby, main branch you are making PR to is stale. I've posted it


Draft: remove side-effects from spaces

Following the discussion in #163 and #183, this (starts to) implement an approach laid out by @LeaVerou to remove the usage of side-effects in spaces, and make them available externally in a tree-shakeable way:

I think probably the best way forwards is:

Color spaces drop side effects
spaces/index-fn.js imports and re-exports all of them
index-fn.js imports and re-exports spaces/index-fn
spaces/index.js imports everything from spaces/index-fn.js and registers it calling ColorSpace.register()

Please let me know what you think!
Aside: my editor seems to be adding newlines at the end of files. Please let me know whether I should change my config to stop that from happening!

Aside: my editor seems to be adding newlines at the end of files. Please let me know whether I should change my config to stop that from happening!

I'm fine with that!

Looking good so far!

Do you think this is ready to move forward to full implementation across all color spaces, @LeaVerou?

Yes! 😄

I've applied this to all color spaces, and rebased on main. I think this is ready for review!

Thank you! The testsuite is in a state of disarray right now, but have you checked that all passing tests still pass? (I just pushed some fixes so you'd need to rebase first)

Thank you! The testsuite is in a state of disarray right now, but have you checked that all passing tests still pass? (I just pushed some fixes so you'd need to rebase first)

I did try to run the tests, but even after rebasing from main again I'm still getting 404s on resources from raw.githubusercontent.com. Perhaps I'm missing something? I'm not entirely sure how to actually go about running the tests; all I tried was to open tests/index.html locally.

Thank you! The testsuite is in a state of disarray right now, but have you checked that all passing tests still pass? (I just pushed some fixes so you'd need to rebase first)

I did try to run the tests, but even after rebasing from main again I'm still getting 404s on resources from raw.githubusercontent.com. Perhaps I'm missing something? I'm not entirely sure how to actually go about running the tests; all I tried was to open tests/index.html locally.

 I'm on it, but it will take a while. Meanwhile you can try loading the different HTML pages individually. Sorry this is such a PITA. 😢

Oh shit, you're right, the test harness is broken for users who are not logged in to GitHub. I'm on it, but it will take a while. Meanwhile you can try loading the different HTML pages individually (or log in). Sorry this is such a PITA. 😢

No worries at all 🙂
Looks like there are some issues to figure out on my end, namely with ordering; registering xyz-abs-d65 before xyz-d65 results in an error, because the former depends on the latter. We may have to go back to explicitly listing them (instead of looping over them) to maintain ordering, or instead being smarter about it to reorder at registration time.

Wait, does xyz-abs-d65 refer to xyz-d65 by id? It should import the color space and use that reference.

Wait, does xyz-abs-d65 refer to xyz-d65 by id? It should import the color space and use that reference.

The issue isn't something that xyz-abs-d65 specifically is doing, but rather the ColorSpace constructor:
this.base = options.base ? ColorSpace.get(options.base) : null;

Since base is provided through an ID, and since ColorSpace.get relies on the color space registry, this fails during construction of the xyz-abs-d65 space.
One way of solving this would be by having base provide not the ID but the ColorSpace instance itself. What do you think, @LeaVerou?

Wait, does xyz-abs-d65 refer to xyz-d65 by id? It should import the color space and use that reference.

The issue isn't something that xyz-abs-d65 specifically is doing, but rather the ColorSpace constructor:
this.base = options.base ? ColorSpace.get(options.base) : null;

Since base is provided through an ID, and since ColorSpace.get relies on the color space registry, this fails during construction of the xyz-abs-d65 space.
One way of solving this would be by having base provide not the ID but the ColorSpace instance itself. What do you think, @LeaVerou?

Yeah, base should always point to the ColorSpace instance, not an id. I think I've done that with most spaces, but I guess not that one.
That line should still be there because other people should be able to provide base through an id, but we should never do that internally.

Yeah, base should always point to the ColorSpace instance, not an id.

Oh, I hadn't noticed there was code to handle that possibility, thanks!
I've updated all the existing IDs to instances, and that seems to have fixed things 👍

I rebased and tested main vs this branch, and I get the exact same number of passes/failures for all tests 👍
Some of the tests still fail with 404s, this time from projects.verou.me, but everything seems to be the same before and after these changes.

I just fixed the tests to eliminate the 404, but the failing requests were for cosmetic things, so I don't think this affects anything here. I think I'm gonna go ahead and merge this! Thanks again!

Woohoo, thank you @LeaVerou! 🎉
After these changes, the procedural API is looking quite good. To give you an example, here is a map for what gets included on a simple test case that just makes use of parse, serialize, and the sRGB color space:

21 KB uncompressed / 8.4KB compressed is quite good 🙂

This should be in the upcoming v0.3.0 release, hopefully later today, but failing that tomorrow.

Btw what did you use to generate the graphic above? It's really cool!


Add COMMENT_TEMPLATE as parameter

This adds the functionality for the COMMENT_TEMPLATE parameter as discussed in #11. Also, this parameter has been added to the README.

I've started working on a PR-on-your-PR to address different points, I'll try to post it in the close future. Being sick makes it complated to evaluate how much clear-mind time I'll have on my hands in the next days (and how much I'll dedicate to coding 😅 )

@kieferro aaaaand done. I've reworked the PR and added my suggestions (working with blocks and template inheritance, documentation, etc). Also, I included a fix for the issue that currently makes the CI red.


Enable CPU Type on machine template

Hi!
Please let me know if there is anything I missed in this change.
I'm trying to deploy a pod to a cluster managed with this provider, but it seems to have an issue where the image is incompatible with the kvm64 cpu type as there are features missing (eg SSE4.2)

Thank you !!!


examples: Add create-react-app example

Hi @tmc, thank you for creating this issue.
Sorvor is still new and lacks some of the features available in CRA.
But I'll keep this issue open until we match the features.


Generated file reduction

Need only two generated files after #10, one per bit length.

Will go other route first.


Support pluggable ethernet devices (avoid "Timed out while waiting for device")

Describe the bug
I have configured a pluggable ethernet device (from a dock) on my NixOS system with networking.interfaces.enp0s13f0u1u4.useDHCP = true. When I boot without the dock plugged in, it now waits 1m30s for the ethernet device to appear (which won't happen) and then proceed booting normally.
Steps To Reproduce
Steps to reproduce the behavior:

Configure a pluggable or non-existing ethernet device
Boot without the device
Systemd will show a message: Waiting for a start job for device ...
After 1m30s, systemd will time out logging Timed out waiting for device /sys/subsystem/net/devices/enp0s13f0u1u4
The boot completes succesfully

Expected behavior
If the pluggable ethernet device is not present when booting, systemd should not needlessly delay the booting process by waiting on the device to appear.
This should probably not be the default behavior however, since some systems depend on an ethernet connection to be present. We probably want an option to set networking.interfaces.<name>.pluggable = true; to enable skipping the device at boot time.
Additional context
I am using a Dell XPS 13 with a dock.
Notify maintainers

@symphorien, @Artturin, @rnhmjoj
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.10, NixOS, 22.05 (Quokka)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.4`
 - channels(rien): `""`
 - nixpkgs: `/etc/nixpkgs`

If don't think the networking.interfaces or networking.dhcpcd modules are  setting a dependecy on the network devices: if they do I can't find where in Nixpkgs. I guess you've configured some other software that does (networking.supplicant or networking.wireless, maybe?).
Can you tell me what does this say?
systemctl list-dependencies --reverse sys-subsystem-net-devices-enp0s13f0u1u4.device

[rien@chaos]$ systemctl list-dependencies --reverse sys-subsystem-net-devices-enp0s13f0u1u4.device
sys-subsystem-net-devices-enp0s13f0u1u4.device
○ └─network-addresses-enp0s13f0u1u4.service

Which in turn is a dependency of network-setup.service and part of the network.target:
[rien@chaos]$ systemctl list-dependencies --reverse network-addresses-enp0s13f0u1u4.service
network-addresses-enp0s13f0u1u4.service
● ├─network-setup.service
● └─network.target
○   ├─cups.service
●   ├─dhcpcd.service
●   ├─network-setup.service
●   └─wpa_supplicant-wlp114s0.service

Which seems to be defined at https://github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/tasks/network-interfaces-scripted.nix#L170
You should be able to reproduce this locally by adding networking.interfaces.idontexist.useDHCP = true; to your NixOS config.

I see, thank you. Yes, I think we could define an option interfaces.<name>.neededForBoot, like the one for disks, and
do something like:
bindsTo = optional i.neededForBoot (deviceDependency i.name);

this issue persists. is there something that can be done in the meantime?

No, you can try to resume the work in https://github.com/NixOS/nixpkgs/pull/155017 if you're interested.

I've attempted to resurrect #155017 in #360092. Instead of removing the bindsTo, I removed the wantedBy. I also incorporated the requested change around the option description. We can continue discussion there as-needed, so far it appears to work on my machine -- although I haven't done thorough testing.


DOC: move xarray related projects to top-level TOC section

Make xarray-related projects more discoverable, as it has been suggested in xarray mailing-list.

lgtm. Can you add holoplot (https://pyviz.github.io/holoplot/user_guide/index.html) under the visualization section?


use MockXcm to simulate test

currenty xcm-simulator and xcm-emulator both use non-relayed(thread-local/memory like) to test xcm.
As cumulus aleady support inject dmp_messages and hrmp_messages into MockXcm(also aim to test) in this PR: https://github.com/paritytech/cumulus/pull/876. maybe we could let xcm-simulator unchanged
but xcm-emulator intergrate this feature so that we could also test something more than just handle_messages. because current the implementation of dmp-queue and xcmp-queue has some implements detail(such as cache,status,page etc), although the testcase in the cumulus repo can make sure it all works well. but I think we may need further/deeper integration?

Yes it would be helpful for tests. PR is welcomed.


Publish simple-query-builder to maven central

We will be releasing to maven central from developer machine.


No handler registered in 'background' error, but background handler still being found and invoked

So, I recently ran into a fun new issue I am having a hard time debugging. I recently switched up from using "hard-coded" message handlers to generating them dynamically at runtime. Not a single issue passing messages until that change. (Ill explain)

The background onMessage handler for that messageId is correctly registered and is actually being called despite that error in the foreground code.
Error conditions

Only If one or more contexts are open such as options + popup (works fine if only one is open)
Only if an onMessage handler actually yields asynchronously such as network request or setTimeout in a promise
It happens if the promise is accepted or rejected.
The last context to open fails; if the options page is open, async popup requests will fail

I was having issues tracing with the debugger from the background side (couldn't repro), however I could trace with console messages to determine that the functions were still getting called despite the error and failure. However the sendMessage console error appears after the method is called, but before the promise resolves.
Example Source Code

import { runtime } from "webextension-polyfill";
import { onMessage, sendMessage } from 'webext-bridge/background'
import { BridgeMessage, RuntimeContext, isInternalEndpoint } from "webext-bridge";
import { JsonObject } from "type-fest";
import { cloneDeep } from "lodash";
import { debugLog } from<EMAIL_ADDRESS>export interface BgRuntime<T> {
    readonly state: T;
    readonly onInstalled: (callback: () => Promise<void>) => void;
    readonly onConnected: (callback: () => Promise<void>) => void;
}
export type ApiExport = {
    [key: string]: Function
};
export type IFeatureApi<T> = (bgApi?: BgRuntime<T>) => ApiExport
export type SendMessageHandler = <T extends JsonObject | JsonObject[]>(action: string, data: any) => Promise<T>
export type VarArgsFunction<T> = (...args: any[]) => T
export interface IFeatureExport<TState, TFeature extends ApiExport> {
    background: (bgApi: BgRuntime<TState>) => TFeature
    foreground: () => TFeature
}
export interface IForegroundUnwrapper {
    use: <T extends ApiExport>(api:() => IFeatureExport<any, T>) => T
}
export interface IBackgroundWrapper<TState> {
    register: <T extends ApiExport>(features: (() => IFeatureExport<TState, T>)[]) => void
}
export const useBackgroundFeatures = <TState>(state: TState): IBackgroundWrapper<TState> => {
    const rt = { state,
        onConnected: runtime.onConnect.addListener,
        onInstalled: runtime.onInstalled.addListener,
    }   as BgRuntime<TState>
    return{
        register: <TFeature extends ApiExport>(features:(() => IFeatureExport<TState, TFeature>)[]) => {
            for (const feature of features) {
                const f = feature().background(rt)
                for (const externFuncName in f) {
                    const func = f[externFuncName] as Function
                    const onMessageFuncName = `${feature.name}-${externFuncName}`
                    onMessage(onMessageFuncName, async (msg: BridgeMessage<any>) => {
                        try {
                            if (!isInternalEndpoint(msg.sender)) {
                                throw new Error(`Unauthorized external call to ${onMessageFuncName}`)
                            }
                            const result = func(...msg.data)
                            // ---> Foreground error is raised here if pending promise is awaited
                            const data = await result;
                            return { ...data }
                        }
                        catch (e: any) {
                            return { bridgeMessageException: JSON.stringify(e),}
                        }
                    });
  }}}}
}
export const useForegoundFeatures = (sendMessage: SendMessageHandler): IForegroundUnwrapper => {
    return{
        use: <T extends ApiExport>(feature:() => IFeatureExport<any, T>): T => {
            const api = feature().foreground()
            const proxied : T = {} as T
            for(const funcName in api){
                //Create proxy for each method
                proxied[funcName] = (async (...args:any) => {
                    const result = await sendMessage(`${feature.name}-${funcName}`, cloneDeep(args)) as any
                    if(result.bridgeMessageException){
                        const err = JSON.parse(result.bridgeMessageException)
                        if(result.errResponse){
                            err.response = JSON.parse(result.errResponse)
                        }
                        throw err
                    }
                    return result;
                }) as any
            }
            return proxied;
   }}
}
const exampleFeature = () : IFeatureExport<any, {exampleMethod:() => Promise<void>}> => ({
    foreground: () => ({
        exampleMethod: () => Promise.resolve() //stub method never actually called
    }),
    background: (state:any) => ({
        exampleMethod: () => new Promise((resolve) => setTimeout(resolve, 0)) //actual background method called
    })
})
//In background main.ts
const { register } = useBackgroundFeatures({})
register([ exampleFeature ])

//In foreground
const { use } = useForegoundFeatures(sendMessage)
const { exampleMethod } = use(exampleFeature)
await exampleMethod() //Mapped directly to background handler

Each script, popup/options/conent-script pass the correct sendMessage function to the useForegoundFeatures method. The senMessage function uses the default context argument (tried explicitly setting 'background' and doesnt change).
Extra steps I have taken

Confirmed that the offending methods are correctly returning pending promises
Confirmed the issue still exists after a release build (not just during debugging)
Tried loading in FireFox on another machine, not using the debug remote-control
Rewrite using promises instead of async/await syntax
Confirmed no other messages are being handled when this happens

After debugging, it seems fairly obvious that a promise is not being properly awaited, I just need to figure out where, and why it would cause that type of exception. Big apologies if this a bonehead mistake, I have just been pulling my hair out all weekend and was hoping someone might be able to help. I have not pushed these latest changes to my repo yet (I wanted to debug first) but I can create a buggy branch if it would help seeing the entire project.

Hey, just ran into this issue myself, it seems like in bundle there are both .js and .cjs files from this package. It can be a problem because of webpack / babel configuration, that forces to use commonjs instead of es6 modules.
I added "module": "es2015" and   "sideEffects": false to my package.json and it worked
Here is the issue on ts-loader:
https://github.com/TypeStrong/ts-loader/issues/886#issuecomment-460931806

Thank you for your response, I have been waiting to get some time to learn and play around. Tonight I have spent a few hours playing around with my tsconfig and Vite bundler settings, and nothing has changed unfortunately. I also tested setting "sideEffects":"false" in my package.json file. I always use "type":"module"
Here are my latest configurations maybe you might have some more insight
{
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "compilerOptions": {
    "target": "es2020",
    "useDefineForClassFields": true,
    "module": "es2020",
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "skipLibCheck": true,
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,

    /* Linting */
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true
  }
}

And my vite.config.js build settings (I removed the server configs for brevity) I just added the build target value to vite for testing, but did not originally set it.
  plugins: [ vue() ],
  build: {
    cssCodeSplit: true,
    rollupOptions: {
      plugins: [],
    },
    target: "es2020",
  },
  optimizeDeps: {
    exclude: ['']
  },
  css: {
    postcss: postcss
  },

So I have been messing around a bit more. I downloaded the latest master branch into my local source tree and built it locally.
I was able to do some more tracing.
Only when tracing, I can catch the following exceptions, and see the promise being rejected with the screenshot below. Without the debugger attached, the promises returned from sendMessage() never actually complete (resolve or reject). This type of JS  behavior is new to me. I have to assume this is a bundler or browser related issue. I haven't found a silver bullet bundler/tsconfig setting yet. I removed all intervals/timers that may have been blocking the event loop somehow, no change.

I encountered the same issue today and found the root cause - using enums for message IDs, like this: sendMessage(ACTION.REQUEST_POPUP_DATA)
When I replaced the enum with a plain string value, everything started working without errors. Later, I realized there was a listener registered for an undefined message ID because the enum itself was undefined. Switching to string values resolved the issue.

I migrated away from webext-bridge and wrote my own message handling code for my project, as I could not get passed this issue.
You can see the code here it's agpl so it may not be the most friendly to your project, but maybe it can help you get your projects going.