Run nff-go on Azure

Hi, I'm trying to run nff-go on Azure VM
I'm using Ubuntu 16.04 with kernel 4.15.0-1037-azure, DPDK 18.11, and nff-go v0.7.3.
We still hit Requested receive port exceeds number of ports which canbe used by DPDK (bind to DPDK). (3) problem.
Any advice and suggestions will be greatly appreciated.

dpdk-devbind

$ ./dpdk-devbind.py --status

Network devices using kernel driver
===================================
910e:00:02.0 'MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] 1004' if=enP37134p0s2 drv=mlx4_core unused=

No 'Crypto' devices detected
============================

No 'Eventdev' devices detected
==============================

No 'Mempool' devices detected
=============================

No 'Compress' devices detected
==============================

ifconfig

enP37134p0s2 Link encap:Ethernet  HWaddr 00:0d:3a:12:eb:f6
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2146 (2.1 KB)  TX bytes:6042 (6.0 KB)

eth0      Link encap:Ethernet  HWaddr 00:0d:3a:1d:66:d4
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::20d:3aff:fe1d:66d4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2402331 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1106371 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2773705355 (2.7 GB)  TX bytes:227647628 (227.6 MB)

eth1      Link encap:Ethernet  HWaddr 00:0d:3a:12:eb:f6
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::20d:3aff:fe12:ebf6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:67 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4822 (4.8 KB)  TX bytes:6018 (6.0 KB)

lo        Link encap:Local Loopback
          inet addr:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:174 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:12548 (12.5 KB)  TX bytes:12548 (12.5 KB)

ethtool -i enP37134p0s2

driver: mlx4_en
version: 4.0-0
firmware-version: 2.41.7004
expansion-rom-version:
bus-info: 910e:00:02.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

lspci

0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
0000:00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
910e:00:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

The general rule is that you need to bind ports to DPDK driver. NFF-Go works only with ports bound to DPDK because it addresses them with indexes which start from zero. If there are no ports bound to DPDK, then even port with index 0 is not available, and you get that error message.
There are two possible ways to bind network interface to DPDK driver.
New way uses Netvsc (module uio_hv_generic) and here is the manual https://doc.dpdk.org/guides/nics/netvsc.html . You will need to switch to kernel 4.18 or newer for this. According to @shemminger this new driver is not yet free of bugs and doesn't handle application restart. Maybe in newer versions it will behave better.
Old way with failsafe driver with instructions here https://doc.dpdk.org/guides/nics/fail_safe.html and here https://docs.microsoft.com/en-us/azure/virtual-network/setup-dpdk . Also read my and @shemminger notes about using it on Azure here https://github.com/intel-go/nff-go/issues/467#issuecomment-453620921 .

On Thu, 21 Feb 2019 07:12:27 -0800
Gregory Shimansky<EMAIL_ADDRESS>wrote:

The general rule is that you need to bind ports to DPDK driver. NFF-Go works only with ports bound to DPDK because it addresses them with indexes which start from zero. If there are no ports bound to DPDK, then even port with index 0 is not available, and you get that error message.
There are two possible ways to bind network interface to DPDK driver.
New way uses Netvsc (module uio_hv_generic) and here is the manual https://doc.dpdk.org/guides/nics/netvsc.html . You will need to switch to kernel 4.18 or newer for this. According to @shemminger this new driver is not yet free of bugs and doesn't handle application restart. Maybe in newer versions it will behave better.

Recommended kernel for netvsc_pmd is 4.20.6 or later.  The fixes will also be backported to 4.19 (LTS) but not sure about what
version yet.

Old way with failsafe driver with instructions here https://doc.dpdk.org/guides/nics/fail_safe.html and here https://docs.microsoft.com/en-us/azure/virtual-network/setup-dpdk . Also read my and @shemminger notes about using it on Azure here https://github.com/intel-go/nff-go/issues/467#issuecomment-453620921 .

Did last comments help? I am thinking of closing this issue if there are no other questions within several days.

@gshimansky yes, we're going to upgrading the nff-go version and the kernel version.

Ok then, closing this issue

Hey, @gshimansky can you write the commands down that need to be entered on an Ubuntu 18.04 VM in Azure to use nff-go? I'm having a hard time figuring out from the docs, what needs to be done.


Error saving rules - Line 9: mismatched input '{' expecting {'function', 'service', 'syntax'}

When the following block is added to Database rules, I get the Error listed in the title above.
{
"rules": {
"messages": {
".read": "auth != null",
".write": "auth != null"
}
}
}

I'm able to publish this set of rules without issue.
{
  "rules": {
    "messages": {
    	".read": "auth != null",
    	".write": "auth != null"
    }
  }
}

Can you try again? If this fails persistently for you, please file a bug through the Firebase support channel.

The error "{'function', 'service', 'syntax'}" is a bit suspicious.  The rules here are for the Realtime Database, is it possible you're trying to deploy them as Cloud Firestore rules?

@samtstern, was led down Firestore beta feature and didn't even notice. Thanks, changed to realtime database and is working!

@samtstern thanks! So excited to get Google auth to work!!! 😄✨

The error "{'function', 'service', 'syntax'}" is a bit suspicious. The rules here are for the Realtime Database, is it possible you're trying to deploy them as Cloud Firestore rules?

Thanks a lot. I was doing that.


Not a superset of "go vet"

I'm not sure if this is intentional, but go-nyet doesn't pick up some issues that go vet does. eg.
devtodo2$ go vet .
importer.go:29: possible formatting directive in fatal call
importer.go:39: possible formatting directive in fatal call
main.go:115: possible formatting directive in fatal call
main.go:126: possible formatting directive in fatal call
main.go:174: possible formatting directive in fatal call
main.go:189: possible formatting directive in fatal call
main.go:237: possible formatting directive in fatal call
main.go:284: possible formatting directive in fatal call
main.go:288: possible formatting directive in fatal call
main.go:336: possible formatting directive in fatal call
exit status 1
devtodo2$ go-nyet .
consoleview.go:67:2:Odd decl (const, import, or type) in body

This is not a big deal, but it does also seem to include some checks that are the same for both, so if you run both tools you sometimes get duplicates.
Basically I'd like to run either both of them, or just one of them, get the same coverage, and not get duplicates.

Fair point -- I've imagined that you run both of them and they catch different things.
The error you've pointed to here is really just a debugging message and not an error, so I should fix that for sure.

Hi @barakmich,
Thanks for creating this tool!
I think it would be nice if go-nyet would be usable as a superset of go-vet directly, in the same way goimports and goreturns are for gofmt. What would be required for this is:

Add support for the -n and -x flags
Consistent output (file.go:123: lower case error message)
Run go-vet with same parameters
Optionally: For each package buffer all lines for both go-vet and go-nyet and sort alphabetically (could also remove duplicates at this stage)


CLIENTS-493

Ensure that tombstones don't mess up JSON parsing.
Fix some issues with FetchPreflist command not being exported correctly.
Fixes #74.

:+1: 7e6adf5


using s3_force_path_style in C++

Hello,
In the java client http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/Core/Client.html the configuration defines an option s3_force_path in the config options.
What is the method to specify the same option "s3_force_path" using the C++ client.
For example I am using the following code, however I am not able to find as how to give the option s3_force_path
`			Aws::Client::ClientConfiguration opts;
		opts.scheme = Aws::Http::Scheme::HTTP;
		opts.region = Aws::String("");

		opts.endpointOverride = Str_endpointOverride;
		opts.verifySSL = verifySSL;
		opts.connectTimeoutMs = 60000;
		opts.requestTimeoutMs = 10000;

		Aws::S3::S3Client s3_client(Aws::Auth::AWSCredentials(access_key_id, secret_access_key),
			opts);`

It's a constructor argument for the s3 client class.

The constructor is specified as follows
S3Client (const Auth::AWSCredentials &credentials, const Client::ClientConfiguration &clientConfiguration=Client::ClientConfiguration(), bool signPayloads=false, bool useVirtualAdressing=true)
Is the the parameter signPayloads same as s3_force_path in the constructor

If it was the same they'd be the same argument. Sign payloads avoids signing the object body during signature calculation (performance improvement) when using tls.
Virtual Addressing = false turns on path style addressing.
Sent from my iPhone

On Jun 26, 2017, at 8:30 PM, gourish2k<EMAIL_ADDRESS>wrote:
The constructor is specified as follows
S3Client (const Auth::AWSCredentials &credentials, const Client::ClientConfiguration &clientConfiguration=Client::ClientConfiguration(), bool signPayloads=false, bool useVirtualAdressing=true)
Is the the parameter signPayloads same as s3_force_path in the constructor
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

The option Virtual Addressing = false  is works,  thanks for answering the question.

I am having issue with a c++ sample (aws s3 cpp) to upload to minio, I received an error "SDK failed to sign the request".
I have use this constructor like you advised but I still have the issue.
Any idea why I got this error?

#include "pch.h"
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>
#include <aws/s3/model/PutObjectRequest.h>
#include <iostream>
#include <fstream>
#include <sys/stat.h>
#include <aws/s3/model/PutObjectRequest.h>
#include <aws/core/auth/AWSCredentialsProvider.h>

int main()
{
	Aws::SDKOptions options;
	Aws::InitAPI(options);
	{
		Aws::Client::ClientConfiguration config;
		config.region = Aws::String("");
		config.verifySSL = false;
		config.connectTimeoutMs = 60000;
		config.requestTimeoutMs = 10000;
		config.endpointOverride = Aws::String("localhost:9000");
		config.scheme = Aws::Http::Scheme::HTTP;
		Aws::S3::S3Client s3_client = Aws::S3::S3Client(Aws::Auth::AWSCredentials("user",
			"user_pswd"), config, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, false);

		Aws::S3::Model::PutObjectRequest request;
		request.SetBucket("toto");
		request.SetKey("totoFile");
		const std::shared_ptr<Aws::IOStream> input_data =
			Aws::MakeShared<Aws::FStream>("SampleAllocationTag",
				"toto.exr",
				std::ios_base::in | std::ios_base::binary);
		request.SetBody(input_data);

		auto outcome = s3_client.PutObject(request);

		if (outcome.IsSuccess())
		{
			std::cout << "Done!" << std::endl;
		}
		else
		{
			std::cout << "PutObject error: "
				<< outcome.GetError().GetExceptionName() << std::endl
				<< outcome.GetError().GetMessage() << std::endl;
		}
	}
	Aws::ShutdownAPI(options);
}

I am also facing same issue here when i am trying multipart upload to minio server. Do we have any alternative for this?

Isn't set useVirtualAddressing worked for you? Or is it a different issue as you just closed?

@singku thank you very much useVirtualAddressing worked. That is the reason i closed that issue. This is different one where verify upload fails for MINIO fails with SDK cannot sign the request

The original post of this issue was about forcing s3 path style. It's confusing to say you face the same issue but the real issue is about signing when doing multipart upload. They might be related after investigation. But at this step, we don't know. You might want to create a new issue stating clearly with details of what's going wrong with SDK cannot sign the request.

Oh, I see. You just followed the issue of the other guy.

sure will do


Refine some RPN function test

What have you changed? (mandatory)
This test simplifies some RPN function test case.
What are the type of the changes? (mandatory)

Engineering (engineering change which doesn't change any feature or fix any issue)

/run-all-tests


Dockerfile build error related to deprecated go get commands

When building the Dockerfile I am getting the error below:
Sending build context to Docker daemon  6.133MB
Step 1/14 : FROM golang:alpine as builder
 ---> 155ead2e66ca
Step 2/14 : LABEL<EMAIL_ADDRESS> ---> Using cache
 ---> 43c2e299dd99
Step 3/14 : RUN apk --no-cache add git libc-dev gcc
 ---> Using cache
 ---> e53550885528
Step 4/14 : RUN go get github.com/mjibson/esc
 ---> Running in 7419d4488a94
go: go.mod file not found in current directory or any parent directory.
        'go get' is no longer supported outside a module.
        To build and install a command, use 'go install' with a version,
        like 'go install example.com/cmd@latest'
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.
The command '/bin/sh -c go get github.com/mjibson/esc' returned a non-zero code: 1

Error:

go: go.mod file not found in current directory or any parent directory.
'go get' is no longer supported outside a module.
To build and install a command, use 'go install' with a version,
like 'go install example.com/cmd@latest'
For more information, see https://golang.org/doc/go-get-install-deprecation
or run 'go help get' or 'go help install'.

Reason
The go get command was deprecated starting on Go 1.17 and the golang:alpine image uses 1.18.x.
Proposed Resolution:

Change esc installation go get command to:

go install github.com/mjibson/esc:v0.2.0

This should install esc latest version. Please be aware that the version is a pre-requirement of the install command.

Change go get call to:

go mod tidy

which has the same effect but fully supporting go modules on newer versions of go.

This has been addressed in a merged PR #158


boards: teensy4: Add ethernet functionality

Adds support for Texas Instruments DP83825 RMII 10/100 ethernet transceiver. Driver supports:
- optional RESET pin
- optional INT pin
- config option for 25 or 50MHz RMII clock
Updates teensy board configs for use with new eth_nxp_enet.c driver

Could you add a device entry to tests/drivers/build_all/ethernet/?

Yes, but would prefer separate PR as there are some more update tasks regarding tests for this board.

@jukkar could you have a look at this PR?

Could you add a device entry to tests/drivers/build_all/ethernet/?

Yes, but would prefer separate PR as there are some more update tasks regarding tests for this board.

It should be a simple entry to make sure the driver is built in CI for ti,dp83825 PHY devices.

Could you add a device entry to tests/drivers/build_all/ethernet/?

Yes, but would prefer separate PR as there are some more update tasks regarding tests for this board.

It should be a simple entry to make sure the driver is built in CI for ti,dp83825 PHY devices.

I´m not sure if I understand correctly. Do I need to change boards/pjrc/teensy4/teensy41.yml to include entry netif:eth?

I´m not sure if I understand correctly. Do I need to change boards/pjrc/teensy4/teensy41.yml to include entry netif:eth?

I think that should be sufficient, you can do a (dry) run using twister to see if the board is included.

For some reason, the boards were not being built by default, I've opened #79537 to fix the CI coverage, the teensy41 board should be added too.

@bdkrae please rebase on latest main, the CI issues have been fixed.

added netif:eth, works as expected

@pdgendt Who can merge this? Or do we need more approvals?

Assignee approval is required. cc @vaishnavachath


Enable Gardener to use custom ImagePullSecrets

What would you like to be added:
It should be possible to pass custom ImagePullSecrets to Gardener, thus enabling it to retrieve Container Images from Container Image Registries that require authentication.
Ideally, it should be possible to pass multiple secrets and specify a mapping between secrets and target container image registries.
Why is this needed:
In private setups (e.g. in corporate environments), proprietary container images may be used, which are hosted in container image registries requiring authentication. Adding support for custom ImagePullSecrets will help enterprise operators of Gardener Landscapes.

/cc @ThormaehlenFred @hoeltcl

You could find [1] interesting, at least for Shoot cluster point of view.
For the seed cluster it is not applicable, at least not easy.
[1] https://kubernetes.io/docs/concepts/containers/images/#configuring-nodes-to-authenticate-to-a-private-registry

What is the exact use case? I am asking because with the Hub we have the same issue and so we want to establish a contract that people hosting charts on the Hub have to specify a certain pull secret (by name) with their charts (if they use the Hub's image registry) and we install the/our pull secret prior to installation of the chart.
I haven't thought about integrating that part into Gardener, but it's an idea. However, it may get quickly out of hand (considering that you can do that in many ways/namespaces). Our (Gardener) philosophy was more to leave the contents of the clusters to the end users and other tools and let Gardener only take care of the clusters. Pull secrets are somewhere in between, if Gardener starts to offer registry features like having a mirror/proxy registry in the seed or a BitTorrent-like intra-cluster-nodes registry. It's not yet doing that.

@vlerenc : can we have a personal follow-up?

Sure, you invite?

I think there are no concrete plans to pursue this anymore. Generally, even if there's still the necessity for it, I'd vote for implementing this as a separate component that registers a webhook for Pods and injects a configured image pull secret.
Adding it to Gardener core wouldn't be enough as there are many extensions that would require similar functionality, i.e., it's easier to handle it centrally via webhook.
/close


Navigation Pop inside an event handler stops event listeners working on page

Short description of the problem:
I have an alert in a pushed page, and when a button is pressed, I pop back to a previous page, however, none of my event listeners will fire (e.g. on a button)
If I don't call pop from inside the handler of the button, it works as expected
What behavior are you expecting?
The event listeners to not stop working
Steps to reproduce:

Create a page
Push a page
Call pop from an alert view after pressing a button
Event listeners stop working

My pop logic:
    throwAlert(title: string, subtitle: string): void {
            this._alert.create({
                    title: title,
                    subTitle: subtitle,
                    buttons: [
                        {
                            text: 'No'
                        }, {
                            text: 'Yes',
                            handler: () => {
                                this._nav.remove(2, 2)
                                this._nav.pop()
                            }
                        }]
                }).present()
   }

Plunker that shows an example of your issue
I created a plunker with the correct code:
http://plnkr.co/edit/aBsS4Iu1Qbk31BUGWzPx?p=preview
However, I couldn't get it to run as it was set to beta 10 and i need beta 11 and when I changed the index.js it broke. Hmm how do I create a beta 11 plunkr? Alerntatively, if you ammend the issue, it should demonstrate my problem.
Thanks!
Your system information:

Cordova CLI: 5.0.0
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.32
Ionic App Lib Version: 2.0.0-beta.18
ios-deploy version: 1.8.5
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v6.3.1
Xcode version: Xcode 7.3.1 Build version 7D1014

@Rambatino I don't understand exactly what this issue is about

Hello @Rambatino would you mind posting a repo that we can use to reproduce your issue? Thanks!

Hello all! As it seems it has been a while since there was any activity on this issue i will be closing it for now. Feel free to comment if you are still running into this issue. Thanks for using Ionic!


Fantastical: "Proposal has no invitees" Message

When I add a task to Fantastical, I sometimes get a "Proposal has no invitees". Here's an example of an action that produces this message: "Plug in TES 🔋 Battery 2 (Power Bank with display and two USB-A ports)"
p.s. Thanks for a great plug-in!

There's two different ways you can use the fantastical URL scheme, one is by providing a sentence which it parses for you and the other is by providing all the components as params e.g title=task%20title&start=2023-01-01%20. The plugin currently uses the former. I believe what is happening is Fantastical interprets certain words such as 'in', 'at', 'on' as providing data about the event. In this case it's seeing the 'in' of plugin and then interpreting that to mean a location and attempting to put the rest of the title in the location. I'm not sure about the ;proposal has no invitees' message as I've not managed to replicate that.
I did have it using the components approach at one point but it was causing some kind of problem, if I remember correctly it wasn't automatically adding them but I can't remember for sure. I'll try and have another look at it at some point but I can't promise anything as their URL scheme seem pretty brittle. For example, the URL scheme behaves differently on Mac and iOS .On Mac you have to use the param s="$your_cool_sentence." whereas on iOS you have to use `sentence="$your_cool_sentence" to get it to work. This discrepancy isn't documented anywhere either which makes it all a bit of a nightmare.

Thanks for your detailed response! Hopefully, it will be possible to figure out a way for this to work in most, if not all, scenarios. If you haven't already, you might consider reaching out to Flexibits Support to see if they have any helpful insights to offer.


The copy button is not working

After following the steps for configuring MDX as outlined on Next.js at https://nextjs.org/docs/app/building-your-application/configuring/mdx and implementing it according to the Expressive Code documentation, I encountered an error stating 'Error: page.mdx:Error: Cannot handle unknown node raw'. While I managed to make it display by using rehype-raw, a new issue arose with 'my-md-page:10 Uncaught SyntaxError: Unexpected token ')' in the console, leading to the copy button not working.

I'm having the exact same issue. There is also a hydration issue between the html escaped > to >

but that could be caused by whatever else is wrong.
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

The "Uncaught SyntaxError: Unexpected token ')'" is coming from the javascript being html escaped. The () => { is being serialized into () => {

Thanks for reporting! I was able to reproduce the issue on my end as well and will fix it in a few days.

If you don't have time to get to this soon, I could give fixing it a shot. I have no idea where to start code location wise, but I did read through the CONTRIBUTING.md doc.

Where in the markdown to html transformation toolchain does the html escaping happen in Next.js? I looked through the remark-expressive-code package but that doesn't seem to be the problem.

First of all, thank you very much for offering help!
As promised, your report caused me to reproduce the error locally and have a look at what is causing it. The escaping seems to be happening in the Next.js MDX loader and affects the contents of any regular HAST elements, unfortunately including <script> and <style> element contents.
I found a solution to this issue, which consists of two parts:

Moving EC processing one level later in the processing chain, from remark to rehype. This provides performance benefits by avoiding reparsing the raw HTML nodes and provides access to MDX JSX element nodes.
When the rehype plugin is processing pages in an environment like Next.js, use mdxJsxFlowElement with dangerouslySetInnerHTML to create inline asset elements instead of using regular HAST Element nodes. This prevents the escaping from happning.

I'll commit the solution later today and publish a patch.

I just released the fix in v0.35.1 of rehype-expressive-code. Please try switching from remark-expressive-code to the latest version of this new package, move it to rehypePlugins in your config, and let me know if it works for you!

I changed all the things mentioned in the docs and upgraded the packages, but I'm now getting a hydration error with a basic setup of nextjs with mdx.

Hmm, that's odd. I have added an example project to the EC repo and used this to test that the fix is working:
https://github.com/expressive-code/expressive-code/tree/main/packages/rehype-expressive-code/test/fixtures/nextjs
Could you have a look at this example and see if it works for you, and if so, what the difference to your repo is? Feel free to share a link to your repo or a minimal reproduction on StackBlitz.

https://github.com/AlexanderHott/next-mdx-expressive-code

I tried the example in the repo and I'm still getting the hydration error. I'll open another issue to keep this one in scope.

As discussed in the new issue #200, it wasn't actually an error in Expressive Code, but apparently some package manager fluke which @AlexanderHott fixed by deleting node_modules, upgrading pnpm and reinstalling packages. It's working now!


Provide maven task to create pacticipant

As mentioned in #403, when you publish a pact it will fail if either the consumer or producer have not yet been published, and share a name similar to an existing pacticipant.
You can get around this by manually creating a pacticipant with the given name.
A maven task should be added which can perform this pacticipant creation, and the error message should reference this new task when the aforementioned error occurs.

I would prefer to remove this check from the broker, related issue is https://github.com/pact-foundation/pact_broker/issues/35

Ah, I was wondering if that issue existed.
Assuming that's made configurable by a query param or something, there should probably be a corresponding flag on the maven/gradle side as well.
I like the idea of manual confirmation when you're creating a "similar" pacticipant, but the cognitive overhead should be lower, such as rerunning the command with -DforceCreation (or something like that) instead of opening confluence, finding the pact page, and updating the curl command with the new pacticipant name (which is what I currently do every time there's a new service).

Is the publish task not outputing the error text? The error text has the exact command to run.

Found the error text... That doesn't address auth, does it?
https://github.com/pact-foundation/pact_broker/blob/554c2c6da50f808f3504023c384fae6f35aad229/lib/pact_broker/locale/en.yml#L21

It looks like the maven code is only outputting the first line of the response body.
No, it doesn't include the basic auth credentials in the curl line (we wouldn't want to put the actual credentials in there), but I can add in an example of what it would look like if you think that would be useful?

regarding basic auth: pact-foundation/pact_broker#125


RuntimeError

When I try to run the code, I meet this error:
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.LongTensor [4, 90]] is at version 1; expected version 0 instead. Hint: the backtrace further above shows the operation that failed to compute its gradient. The variable in question was changed in there or anywhere later. Good luck!

Excuse me, do you resolve this problem?
I meet a similar error:
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.LongTensor [2, 90]] is at version 1; expected version 0 instead. Hint: the backtrace further above shows the operation that failed to compute its gradient. The variable in question was changed in there or anywhere later. Good luck!

@liuman089 I have also encountered this problem and would like to ask if you have solved it? Can you help me

@mxadorable I have also encountered this problem and would like to ask if you have solved it? Can you help me


[Bug] User is unable to clear Initial location after converting to JS

Steps to reproduce:

Add a MAP
Now Click on the Property pane
Add an Initial Location
Click on JS
Now navigate back to regular expression
Try to clear the initial location

Observation:
It is observed that user is unable to delete the Initial location. The user has to navigate back to JS mode to delete the initial location
Expectation:
User should be able to delete the initial location and add new location
Video link
https://www.loom.com/share/0536d037ba6745f5bd2ce5b5bc95501b

Hi @prapullac
I just tried this on release, it seems to work. There's a test case that checks for this as well.
Can you make sure that you have the latest changes?

Closing the issue as it works as expected


Timeseries are removed when associated pod is deleted

Noticed that when pods are scaled down, or the application is removed, it causes the timeseries associated with those pods to be removed from prometheus - i.e. a query of the span_count metric no longer returns any data.
In a volatile environment, where pods may be short lived, we need to ensure that any scraped metrics are still retained for further analysis/aggregation.

@simonpasquier My mistake, I was only looking at the console view so thought it was strange the timeseries were disappearing, but that was just showing the available timeseries at that point in time I guess - whereas the graph shows the time range and the deleted pod timeseries are still avaliable from a historic view.
Thanks!


Custom Attributes

Hi, you say "Custom Attributes are synced from on-premises Windows Server AD or from a connected SaaS application and the the format of "user.extension_[GUID]__[Attribute]", where [GUID] is the unique identifier in AAD for the application that created the attribute in AAD and [Attribute] is the name of the attribute as it was created". I have a question:  If I use Azure AD Connect which is the GUID to use? AAD Connect can create custom attributes? Example: I want to syncronize otherMobile from AD On Premise. Is otherMobile created as a custom attribute on Azure AD? Which is the exact format used to search for the otherMobile attribute created from AAD Connect?

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

ID: 5f7a4070-1be8-5f1f-0092-68fb6b9e2305
Version Independent ID: cd34312f-b507-affe-555e-1e0c63e7d494
Content: Attribute-based dynamic group membership in Azure Active Directory
Content Source: articles/active-directory/active-directory-groups-dynamic-membership-azure-portal.md
Service: active-directory
GitHub Login: @curtand
Microsoft Alias: curtand

I answered myself using the Azure AD Graph Explorer on my Azure AD.

@haplo69 Please let us know if the documentation needs clarification to assist other customers in the future.


NPY cannot be read from open binary stream

After creating a file with  a numpy array by
import numpy as np
np.save("example-2d.npy", np.array([[0.1,1.],[4,7.]]))

this cannot be read from an open binary stream:
In [25]: r = open_topography(open('example-2d.npy', mode='rb'))
---------------------------------------------------------------------------
CannotDetectFileFormat                    Traceback (most recent call last)
<ipython-input-25-d7acf498d764> in <module>
----> 1 r = open_topography(open('example-2d.npy', mode='rb'))

~/miniconda3/envs/topobank/lib/python3.7/site-packages/SurfaceTopography/IO/__init__.py in open_topography(fobj, format, communicator)
    185                     # has to be set back to the top of the file
    186                     fobj.seek(0)
--> 187         raise CannotDetectFileFormat(msg)
    188     else:
    189         if format not in lookup_reader_by_format.keys():

CannotDetectFileFormat: tried AscReader:
 'utf-8' codec can't decode byte 0x93 in position 0: invalid start byte

tried DIReader:
 Header line 'NUMPYv{'descr': '<f8', 'fortran_order': False, 'shape': (2, 2), }' does not start with a slash.

tried MatReader:
 Unknown mat file type, version 32, 32

tried OPDReader:
 Error reading directory block. Header is 'UMPY', expected 'Directory'

tried OPDxReader:
 Invalid file format for Dektak OPDx.

tried X3PReader:
 File is not a zip file

tried XYZReader:
 'utf-8' codec can't decode byte 0x93 in position 0: invalid start byte

tried IBWReader:
 Invalid file format.

tried MIReader:

tried NCReader:
 [Errno 2] No such file or directory: b"<_io.BufferedReader name='example-2d.npy'>"

tried H5Reader:
 Unable to open file (file signature not found)

tried NPYReader:
 stat: path should be string, bytes, os.PathLike or integer, not _io.BufferedReader

This is needed for Topobank to read the file.

There is actually a test for this in NuMPI:
https://github.com/IMTEK-Simulation/NuMPI/blob/a1f232fb55454c7d847e2857543285ba8dcd29c2/test/IO/test_io.py#L340-L353

Yes, but is the test used? It is skipped when mpi4py is used .. and then filestreams are not supported.
And for the test I wonder whether testing load_npy is sufficient and where it comes from, since I need it through open_topography.

It tells us that the problem is not in load_npy at least.
I uninstalled mpi4py on my environment and it run thru. Topobank is installed with mpi4py, I assume.
CI builds with and without mpi4py


Standardize on os-tmpdir

As per https://github.com/sass/node-sass/issues/989 os.tmpDir is deprecated since 0.10 and is now os.tmpdir.
Rather than dealing with this switching internally we'll use https://github.com/sindresorhus/os-tmpdir.
Fixes https://github.com/sass/node-sass/issues/989

My mistake. We do not use os.tmpDir. The issue was in a transient dependency which has since been patched. https://github.com/sass/node-sass/issues/989#issuecomment-136362839

It looks like this might still be an issue.
(node:18923) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
Error: ENOENT: no such file or directory, scandir '/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/vendor'
at Object.fs.readdirSync (fs.js:871:18)
at Object.getInstalledBinaries (/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/lib/extensions.js:121:13)
at foundBinariesList (/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/lib/errors.js:20:15)
at foundBinaries (/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/lib/errors.js:15:5)
at Object.module.exports.missingBinary (/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/lib/errors.js:45:5)
at module.exports (/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/lib/binding.js:15:30)
at Object. (/root/.nvm/versions/node/v7.4.0/lib/node_modules/muleify/node_modules/node-sass/lib/index.js:14:35)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)

I can't find the called referenced in that error. I suspect you're running an old version of node-sass

Node-sass is a dependency for a pack I maintain so let me check with the guy that has it on his system.


proposal: notify when the request.Context is not used

Go is frequently used for servers. And as such http.Handler is used often.
Given the following code;
package main

import (
	"context"
	"net/http"
)
func foo(ctx context.Context, a, b int) {}

func myHandler(w http.ResponseWriter, r *http.Request) {
	foo(context.Background(), 2, 33)
}

func main() {}

I think contextcheck should error with a message like;
Non-inherited new context, use r.Context() instead
And to resolve the error, you would have to do:
foo(r.Context(), 2, 33)

duplicate https://github.com/sylvia7788/contextcheck/issues/3

good idea 😊

Done in new version, https://github.com/golangci/golangci-lint/pull/3102


hresult_error doesn't play well with C++ unit test frameworks

Some additional details related to #207. Perhaps would need to be v3/#1123.
Consider the following test code:
#include "gtest/gtest.h"
#include <string_view>
#include <winrt/base.h>
#include <windows.h>

struct non_std_exception
{
	explicit non_std_exception(std::string_view what) : m_what{ what }
	{
	}

	std::string_view what()
	{
		return m_what;
	}
private:
	std::string m_what;
};

inline HRESULT do_something()
{
	try
	{
		throw std::runtime_error{ "a bad thing happened" };
	}
	catch (...)
	{
		return winrt::to_hresult();
	}
}

TEST(SampleFixture, SampleTest)
{
	//throw std::runtime_error{ "a bad thing happened" };
	//throw non_std_exception{ "a bad thing happened" };
	winrt::check_hresult(do_something());
}

which basically shows what happens when the implementation of a cppwinrt component throws an exception that's during a unit test, in particular, any std::exception-derived exception that has a message/.what().
Here's the output:
[ RUN      ] SampleFixture.SampleTest
unknown file: error: Unknown C++ exception thrown in the test body.
[  FAILED  ] SampleFixture.SampleTest (5 ms)

When uncommenting the std::runtime_error line instead, here's the output:
[ RUN      ] SampleFixture.SampleTest
unknown file: error: C++ exception with description "a bad thing happened" thrown in the test body.
[  FAILED  ] SampleFixture.SampleTest (0 ms)
[----------] 1 test from SampleFixture (1 ms total)

The sample above uses GoogleTest, but the same holds with Boost.Test and Catch2. The universal contract between a unit test and a c++ unit testing framework appears to be:
The test passes unless an exception is thrown.
If an exception is thrown, the message from std::exception.what() is displayed in the test failure message.
Furthermore, test failure messages are not customizable from any of the c++ unit test frameworks I checked - they apparently follow the Standard C++ guidance that exceptions should (ultimately) derive from std::exception, if possible.
(A couple also support directly throwing a char* or std::string and providing that text in the test failure message; none I checked support custom exception types.)
I understand there would be a UTF-8 conversion cost to pay, but for unit test failures, the experience is basically undebuggable when the exception message gets dropped and all you get is "unknown C++ exception".
Two main questions:

Could something better be done here, especially as part of v3 planning?
Are there any hooks/workarounds you'd recommend in the meantime that would make exception messages "just work" in unit test failures?

Thanks!

Not deriving from std::exception is a design decision that dates from back when C++/WinRT was first designed (as you've pointed out by linking #207). I'm not sure deriving from std::exception is possible at this point (since it can lead to silent source breakage - for example code catching (in this order) both std::exception and winrt::hresult_error will still compile, but the latter will not run anymore) and the concerns that lead to the decision still apply, AFAIK.
On the flipside, I'm surprised these unit testing frameworks don't support customizing output for custom exceptions, as C++/WinRT is certainly not the only one using custom exceptions

Yes, testing frameworks should typically provide some way to hook exceptions as we do here:
https://github.com/microsoft/cppwinrt/blob/b69f40d6ecc7d852aebb0682e099322b60cc34e3/test/test/main.cpp#L14-L17

Yes, testing frameworks should typically provide some way to hook exceptions as we do here:
https://github.com/microsoft/cppwinrt/blob/b69f40d6ecc7d852aebb0682e099322b60cc34e3/test/test/main.cpp#L14-L17

Unfortunately, it doesn't seem like any of them do. I debugged through MSTest, GoogleTest, Boost.Test, and Catch2 and couldn't find a way to hook exceptions in any of them.
My guess is they're following the isocpp guidance that says "derive (ultimately) std::exception" as their basis for keeping things simpler that way.
That fact that so many of them say this is the contract, and isocpp gives the same guideline, feels pretty compelling for me.

Yeah, sorry, I just made that connection. I wonder if it's partly a doc issue:
https://catch2.docsforge.com/v2.13.2/macros-api/CATCH_TRANSLATE_EXCEPTION/
(There isn't much there.)
Revisiting for cppwinrt v3 sounds great - thanks!

It looks like GoogleTest doesn't currently provide such a mechanism; there's an open request:
https://github.com/google/googletest/issues/3433
So for v3, I think there would be value in reconsidering.


[Enhancement] Method checks the size of a collection against zero rather than using isEmpty() [CloudEventProducer]

Search before asking

[X] I had searched in the issues and found no similar issues.

Enhancement Request

located at:
eventmesh-sdk-java/src/main/java/org/apache/eventmesh/client/grpc/producer/CloudEventProducer.java line 60
Describe the solution you'd like
For better code clarity, it is better to just use col.isEmpty().
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

fix: Method checks the size of a collection against zero rather than using isEmpty() [CloudEventProducer] #2936

I'm a first timer with respect to contributing to open source projects.
I would like to work on this issue. Please assign it to me.
Thanks.

I'm a first timer with respect to contributing to open source projects. I would like to work on this issue. Please assign it to me. Thanks.

Welcome, this issue has been fixed and I will close it, are you interested in other issues? You are more than welcome to contribute to eventmesh.

@Alonexc Sure, no problem. I'll look for other open issues that I can contribute to.


Support for polars Categorical datatype

Currently, pipedag fails when trying to materialize a polars table with Categorical types

@AndrewZehrQC the question is what do you expect for materialization in case of categorical. The ideal solution would be to preserve the speed of categoricals in SQL. This would mean to store it as an integer column and then write an additional table that can be used to map the integers back to strings. Dematerialization should automatically detect the additional table and map the data back to categoricals on the python side. @finn-rudolph at some point it might be nice if pydiverse transform could deal with such categorical columns within SQL.
@AndrewZehrQC I could imagine you rather had the quick bug fix in mind which would be converting a categorical column to a string column during materialization. It could be possible to also speed up this process by first writing very short strings per categorical and then send performing the replacement with the long strings in SQL. However, since the solution above would be so much nicer, I wouldn't invest too much on this transfer time speedup.

When supporting categoricals in SQL, it might be convenient to dematerialize not just an sa.Table as sa.Alias, but to dematerialize already a join query with the categorical resolution. Even though sqlalchemy does support getting columns from a join query via prefixed column names, I actually don't like this option too much. However, returning a tuple with multiple elements (main table, dictionary of categorical table aliases) might yield quite a complex user interface. With pydiverse transform we can make this super nice giving you even access to both the joined string and the category integer.


PInvoke.Kernel32 nuget package is including CodeGenerationAttributes.Net40.dll

I would be nice to not include CodeGenerationAttributes.Net40.dll in the package.

This seams to be related with some miss configuration of Nuproj (based on nuproj/issues/31).


Typos and spelling errors

I have found a  few typos and spelling errors that I would like to correct.  In additional, people on my team think that it would be better to call the individual elements "graphics" instead of "drawings", while the whole stack of graphics that can be exported an imported should continue to be called "drawing".

Hi mike,
You can fork and make a pull request with your modifications.
Your corrections are welcome !

Hi Mike,
Any problem to fork and make a pull request ?
If you want, you can just modifiy the english traduction and send me the file back :
https://raw.githubusercontent.com/magis-nc/esri-webappbuilder-widget-eDraw/master/nls/strings.js

Sorry, I was on a long vacation, but I will do that now.  Thanks!

Thanks.
Closed with your pull request.


add yosys attributes to netlist

https://github.com/siliconcompiler/siliconcompiler/actions/runs/9715088752


Links do not work Lecture 1-11

The links on the third slide (Reading Material) do not work. Can you re-link the readings?

Thanks - Corrected.


Ability to send pictures in chat

As it's a terminal based chat, the best option is to convert pictures into ascii art and send
Relevant resources: https://github.com/FineFindus/artem

Or I can take inspiration from my own project: https://github.com/Saphereye/image-to-terminal/blob/master/src/main.rs

This is great: https://github.com/0x61nas/aarty

Can be extended to files in general

Files are now supported as of commit 749f537e26381787e015c32f4d31ab004c5a9ef9

add feature to send multiple files as \file txt1 txt2


Fix the example "Usage" to match new Button component

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Is there an easy place for the docs on the next branch? We were looking to use it (and JSS) for a project.

What's an easy place? I host one live docs if that help.

Aww perfect! I didnt see anything in the material-ui.com docs about the next branch parameters so thats very helpful!


devops: added auto-publishing

Not sure if this is already enough.
Fixes #19

Sweet! I think we'll want this to only run on master. Additionally, it's also nice when a specific npm version is tied to a git tag. What we do on other projects is something like this: https://github.com/JupiterOne/graph-google-cloud/blob/master/.github/workflows/build.yml#L31
Thoughts?

In the current implement it would work like as follows:

code and merge features to master branch
decide you want a new version, then you can either do:
manually bump version, commit change, tag a commit and push it or just
npm version 1.2.3 (for example, yarn should work too) which will do all 3 steps automatically, then you only have to push in the end.
after you have pushed, the tag is on GitHub and you have to create a release, there you have to add release notes, whats new etc... Then after you created it the newly created Action will trigger and publish it to the NPM registry.

Excellent! Thanks for explaining.

@austinkelleher don't forget to set the npm_token secret in your repository settings.


Django tests have data persisting across tests

It seems like the current client does not clean up the database correctly in between tests, leading to tests that assert output equality of different queries to fail.
Reproduction:
Using the django test suite --
./runtests.py postgres_tests.test_array.TestSaveLoad.test_tuples --parallel 1

succeeds, while running the entire test class.
./runtests.py postgres_tests.test_array.TestSaveLoad --parallel 1

fails. With more inspection, you can see that the IntegerArrayModel's table has rows in it at the beginning of the test when running the full test class.

It doesn't seem like an issue in Django because I can't reproduce this testing with PostgreSQL. We're not going to try to support the postgres_tests (which are for django.contrib.postgres) at this time so I'm going to close this.


Add support for rackspace cloud

just in case we need to switch providers
quickly in case of downtime.

I'm running a manual build to test. Since this should not affect anything, I'll report back when my tests are complete and it should be good to merge. I know we are not planning on using rackspace, but I would like it to be as configured as possible so that we can revert if we have failures.

not going to finish this. rackspace cloud was too much effort b/c they use static addresses and not dhcp for their interfaces.


Slow / Unresponsive Stamp Navigation

Issues with the command menu after the #126 PR: neither mouse clicking or arrow-keys + enter does not work properly while trying to navigate to the stampbook page.

Due to the size of @supabase/helpers. Solved in the #137 PR.


Allow references to values that contain context values

Resolves the following correctly, up to 5 levels deep.
inputs = root==~/web_root
web_root = %(config:web_root)
js_root = %(config:base_root)/js

I think given the current implementation, this is a good approach. But maybe in the future we could add a more context-aware variable substitution that is able to detect cycles, like how the "dependencies" system in Sprinter works.


Failed to install google-cloud-logging using python setup.py

When attempting to install the google-cloud-logging package using setup.py install installation fails with the following information:

OS type and version
MacOS 10.12.3 Beta
Python version and virtual environment information python --version
Brew Python 3.6.0 running in virtualenv
google-cloud-python version pip show google-cloud, pip show google-<service> or pip freeze
google-cloud-logging==0.22.0
Stacktrace if available

Searching for gapic-google-cloud-logging-v2<0.91dev,>=0.90.0
Reading https://pypi.python.org/simple/gapic-google-cloud-logging-v2/
Downloading https://pypi.python.org/packages/4f/d2/dd19486660caf0faf667569c97d9b4660ce23afc275481b03c9ddddbd8fd/gapic-google-cloud-logging-v2-0.90.0.tar.gz#md5=4d127b7184d708ffeaa11d4cb3f010d4
Best match: gapic-google-cloud-logging-v2 0.90.0
Processing gapic-google-cloud-logging-v2-0.90.0.tar.gz
Writing /var/folders/m3/xkqbq0915jq8z_9tlwc4q5g80000gn/T/easy_install-_ivp_ub5/gapic-google-cloud-logging-v2-0.90.0/setup.cfg
Running gapic-google-cloud-logging-v2-0.90.0/setup.py -q bdist_egg --dist-dir /var/folders/m3/xkqbq0915jq8z_9tlwc4q5g80000gn/T/easy_install-_ivp_ub5/gapic-google-cloud-logging-v2-0.90.0/egg-dist-tmp-x5plt9zi
no previously-included directories found matching '.tox'
zip_safe flag not set; analyzing archive contents...
Traceback (most recent call last):
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/sandbox.py", line 157, in save_modules
    yield saved
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/sandbox.py", line 255, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/sandbox.py", line 285, in run
    return func()
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/sandbox.py", line 253, in runner
    _execfile(setup_script, ns)
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/sandbox.py", line 47, in _execfile
    exec(code, globals, locals)
  File "/var/folders/m3/xkqbq0915jq8z_9tlwc4q5g80000gn/T/easy_install-_ivp_ub5/gapic-google-cloud-logging-v2-0.90.0/setup.py", line 43, in <module>
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 209, in run
    os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 245, in zip_safe
    return analyze_egg(self.bdist_dir, self.stubs)
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 355, in analyze_egg
    safe = scan_module(egg_dir, base, name, stubs) and safe
  File "/[REDACTED]/lib/python3.6/site-packages/setuptools/command/bdist_egg.py", line 392, in scan_module
    code = marshal.load(f)
ValueError: bad marshal data (unknown type code)

Steps to reproduce
Add google-cloud-logging to setup.py in install_requires list. Run python setup.py install

Code Example

from setuptools import setup, find_packages

setup(
    name='some-package',
    version='0.0.1',
    packages=find_packages(),
    include_package_data=True,
    classifiers=[
        'License :: Non-Standard :: Commercial License',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
    ],
    keywords='cool project',
    install_requires=[
        'google-cloud-logging',
    ]
)

@jaitaiwan I was able to add google-cloud-logging to a setup.py and install without error.
Reading online, it seems this error is common if there are left over pyc files that are outdated or corrupt.
Did you try this with a fresh virtual environment?

@daspecster Thanks for the feedback. I've tried redoing the virtual environment several times just to be certain. I saw the same threads and I still don't seem to be having much luck.
Out of curiosity are you using a mac?

I am(macOS 10.12.2), however I just realized I installed with python 2.7 and you're using 3.6.
I'll give 3.6 a try right now.

So I'm actually running into a different issue where python 3.6 hangs.
We don't currently test Python 3.6 in our CI, but it's in process to be supported.
You may have to use Python 2.7 or 3.5 until we have 3.6 fully supported.

I'll confirm but I believe I was having the same issue on 3.5.

Exact same issue on 3.5.2

Indeed, I confirmed on 3.5 on Linux as well. The issue is the dependency gapic-google-cloud-logging-v2. For now, you can work around this by running
pip install gapic-google-cloud-logging-v2

before running setup.py install. I'm unclear on what's going wrong with setuptools, still digging in.
@geigerj @bjwatson FYI

For a more stripped down version, put this in setup.py:
from setuptools import setup, find_packages
setup(name='some-package',
      version='0.0.1',
      install_requires=['google-cloud-logging'])

then run the following
$ virtualenv --python=python3.5 venv
$ source venv/bin/activate
(venv) $ venv/bin/python3.5 setup.py install &> log.txt
(venv) $ echo ${?}
1
(venv) $ venv/bin/python3.5 -m pdb setup.py install
> .../setup.py(1)<module>()
-> from setuptools import setup, find_packages
(Pdb) c
running install
...
  File ".../venv/lib/python3.5/site-packages/setuptools/command/bdist_egg.py", line 392, in scan_module
    code = marshal.load(f)
ValueError: bad marshal data (unknown type code)
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> .../venv/lib/python3.5/site-packages/setuptools/command/bdist_egg.py(392)scan_module()
-> code = marshal.load(f)
(Pdb) f
<_io.BufferedReader name='build/bdist.linux-x86_64/egg/google/__init__.pyc'>
(Pdb) f.tell()
13
(Pdb) f.seek(0)
0
(Pdb) f.read()
b'\x03\xf3\r\n\xd1\x93JXc\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00@\x00\x00\x00s\x17\x00\x00\x00e\x00\x00d\x00\x00\x83\x01\x00j\x01\x00e\x02\x00\x83\x01\x00\x01d\x01\x00S(\x02\x00\x00\x00t\r\x00\x00\x00pkg_resourcesN(\x03\x00\x00\x00t\n\x00\x00\x00__import__t\x11\x00\x00\x00declare_namespacet\x08\x00\x00\x00__name__(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00s\x84\x00\x00\x00/usr/local/google/home/brianwatson/src/gapi-dev/api-client-staging/generated/python/gapic-google-cloud-logging-v2/google/__init__.pyt\x08\x00\x00\x00<module>\x01\x00\x00\x00s\x00\x00\x00\x00'
(Pdb) marshal
<module 'marshal' (built-in)>

It looks like it has @bjwatson homedir baked into the contents of the pyc file. I'm certainly out of my depth here, but I'd bet that @jonparrott will know what's right.
If I had to make a guess, I'd guess that the pyc file doesn't belong in the distributed files at all (e.g. due to a missing global-exclude *.pyc in a MANIFEST.in) and somehow pip knows how to gracefully ignore it.

Thanks for investigating @dhermes! I'm surprised that we haven't surfaced this issue before now.
@geigerj do you have time today to cut a new release of Logging with the MANIFEST.in change that Danny recommends? My day is full of meetings.

@geigerj Keep in mind I don't know that's the cause, just a guess.

Might want to use test PyPI to make sure before we publish a new version of anything?

@bjwatson Yup, will take a look at this late today or tomorrow.

Strange... Even after adding global-exclude *.pyc to MANIFEST.in AND manually ensuring there is no such file before running python setup.py sdist upload -r pypitest, I still am able to repro this error. When I look at the package on test PyPI, I still see this __init__.pyc file (although it now contains my home directory instead of @bjwatson's).

google/cloud/__init__.pyc has your home directory, but google/__init__.pyc still has mine. That's pretty strange.

I figured it out... the global-exclude *.pyc must be after graft google. I'm publishing 0.90.2 to test pypi right now.

Ok, fixed: https://testpypi.python.org/pypi/gapic-google-cloud-logging-v2/0.90.3
@jaitaiwan Can you see if this fixes your issue? If so, we'll publish it on the regular PyPI.

@geigerj Where do we update the template for MANIFEST.in? Is it still in packman?

@bjwatson Currently in packman, but not for long. Created https://github.com/googleapis/toolkit/issues/892 to fix this in toolkit once the PR to port from packman to toolkit is merged. (This will happen soon, just need to update artman before I merge that PR.)

Thanks @geigerj. I updated the issue to indicate where the new line goes.
Basically the last rule wins. So your previous version for 0.90.1 was excluding *.pyc except in the grafted google/ directory.

Hey guys, I've just determined that this effects more than the gapic-google-cloud-logging-v2 package. It seems to be effecting most (if not all) the gapic* packages. So far I've determined logging, pubsub and datastore to both be effected by these same issues I've mentioned above.
I'm seeing the full extent of failures by simply trying to run python setup.py install with google-cloud as a package.

I should also mention that once this happens, it leaves pip and setuptools in an unusable state.

Ouch! Thanks for the heads up @jaitaiwan. Installing exclusively with pip is an appropriate workaround until fixes are pushed to PyPI, yes?

@dhermes Yep, that's a working alternative for now, although quite cumbersome for anyone who installs the google-cloud package overall.

@jaitaiwan  I pushed new point releases for:
gapic-google-cloud-vision-v1 0.14.1
gapic-google-cloud-pubsub-v1 0.14.1
gapic-google-cloud-logging-v2 0.90.1
gapic-google-cloud-speech-v1beta1 0.14.1
gapic-google-cloud-datastore-v1 0.14.1

Fingers crossed that the change to MANIFEST.in fixes the issues you're seeing. Could you check if python setup.py install works now?

@geigerj Modifying my above, I verified in 3.5.2 gapic-google-cloud-logging-v2 == 0.90.1 works (0.90.0 still fails), gapic-google-cloud-datastore-v1 == 0.14.1 works (0.14.0 fails).

I just tried to reproduce using @dhermes recipe and had the installation run successfully.


Adaptive changes for homestore/6.6.x

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.

Project coverage is 61.88%. Comparing base (1746bcc) to head (7ff31fc).
Report is 12 commits behind head on main.

Files with missing lines
Patch %
Lines

src/lib/homestore_backend/hs_pg_manager.cpp
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #246      +/-   ##
==========================================
- Coverage   63.15%   61.88%   -1.27%
==========================================
  Files          32       32
  Lines        1900     2086     +186
  Branches      204      224      +20
==========================================
+ Hits         1200     1291      +91
- Misses        600      688      +88
- Partials      100      107       +7

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Extension points for local database customization

Feature request
I'd like to be able to re-run some SQL at development database creation time that is not part of a migration but that is run before migrations run. Specifically, I'd like to be able to create roles that can login, but don't want to have the same password in each environment, nor do I want such credentials checked into source control.
Is your feature request related to a problem? Please describe.
I have some features that require going to Postgres directly from Node.js but I want to be able to sign in with a Postgres user to do so. In production it's straightforward to just CREATE ROLE and be on my way, but there doesn't seem to be any great way to durably create the same setup in development that would survive a supabase db reset.
There used to be a globals.sql, which even contained comments indicating it was a place to customize roles, but release v0.15.6 removed support for processing this file, moving Supabase's role definitions into the CLI itself. FWIW, I agree with that change, but now there really isn't a great way to apply that kind of customization to the database. Note that I'm not interested in modifying Supabase's own roles, just creating my own.
I note that as of v0.15.5, extensions.sql is now processed before migrations, so that user migrations can refer to extensions, but from what I gather, the intent of this file is only to install Postgres extensions. Creating roles in this file happens to work today, but this seems to be a hack at best. Should the needs of enabling extensions require changing the order of application of this file, my development environments might break. I also worry that this might be subject to a supabase db push, which I definitely don't want.
Describe the solution you'd like
I'd like there to be some supported way to describe pre-migration provisioning of the development instance. It's possible that the only action I'd like from you is to officially bless extensions.sql as the way to do that. If not, processing SQL scripts in a folder like supabase/init after start but before migrations would be ideal. A single file would also work. In either case, these provisioning SQL scripts would not be propagated via supabase db push.
I don't think I'm asking to re-enable the processing of globals.sql that was dropped. Users of the older version of the CLI that generated that file may still have this old file lying around, and re-enabling this would likely interfere with Supabase itself.
Describe alternatives you've considered
As I noted, adding roles to extensions.sql works today, but I worry that activities other than installing extensions in this file are unsanctioned.
I can also almost do this as a migration: create an empty migration, push it to preview and production, and then enter development-only actions in the migration. However, this is dangerous, because if we ever rebuild preview or create some other pre-production environment, the development-only migrations will be applied there, which is undesirable.
seed.sql does not work because it runs after migrations. I'd like to be able to describe the grants or policies for non-Supabase roles in the same migration that creates the tables. If a migration creates a grant to a role that doesn't exist, the migration fails.

Hey @wilhuff, sorry for the late response, and thanks for the thorough description!
This has been brewing in my mind for a while - I think it's time to put a solution in place.

extensions.sql is now processed before migrations, so that user migrations can refer to extensions, but from what I gather, the intent of this file is only to install Postgres extensions. Creating roles in this file happens to work today, but this seems to be a hack at best

I don't think extensions.sql would be sufficient for roles - supabase db reset drops the database, but doesn't "reset" the cluster, so roles will persist. The solution will have to be something like globals.sql that is only run once on supabase start, but not on e.g. supabase db reset.
That means there are two things to support: a "roles" script and a "pre-migrations" script. ("globals" refer to cluster-wide objects i.e. roles and tablespaces, but we don't use the latter, so "roles" is more descriptive I think.)

I don't think I'm asking to re-enable the processing of globals.sql that was dropped. Users of the older version of the CLI that generated that file may still have this old file lying around

At this WIP stage I'm still open to this (I do breaking changes every now and then), but I agree it should be avoided if possible. There's actually a related issue https://github.com/supabase/cli/issues/66 on this matter - if we make the roles script an external command, we can avoid breaking things for users of older versions. We can also use this for a pre-migrations script that covers extensions and maybe other things.
To summarize, the solution I'm proposing is to extend the config with scripts roles, preMigrations, and seed which should cover all the issues above. Thoughts?

Those seem like they'd work, however the high-level you're proposing seems more general:

One script to run when the a cluster is created
One script that runs before migrations are run on a specific database
One script that runs after migrations are run

It seems like you could give them names like init or create for the first, and the others could be pre and post and then it will feel less transgressive when putting something other than roles in the roles file. Then again, specialized filenames suggest a structure for users--my issue is that there weren't enough of these to cover the things I wanted in the database and it felt wrong to shoehorn what I wanted to do into an extension point not meant for it.
Also note that special support for cluster-wide operations isn't really necessary. Here's effectively what I have in extensions.sql today that works for me:
DO
$$
  BEGIN
    IF NOT EXISTS (
      SELECT FROM pg_catalog.pg_roles
      WHERE rolname = 'site'
    ) THEN
      CREATE USER site
        WITH ENCRYPTED PASSWORD '***';
    END IF;
  END;
$$;

A little bit of documentation about how the different scripts interact with the shadow database and branches and specific advice for how to do things like add roles could make a pair of pre- and post-migrations scripts enough.

I see, agree that pre- and post-migrations scripts are enough for now. I'll go ahead with that then :+1:

Specifically, I'd like to be able to create roles that can login, but don't want to have the same password in each environment, nor do I want such credentials checked into source control.

I ran into the use case described above where I want to create a custom role but I do not want to hard code its credentials into the roles.sql file and have it checked into our git repository. In my specific example this is a role for metabase so that I can have a read-only restricted role for quick dashboards and visualizations.
At the moment the roles.sql file gets read as-is and executed as sql against the database
https://github.com/supabase/cli/blob/7c08f7fc3e1891844b0e3c42596954f2e772364c/internal/db/push/push.go#L66-L75
For the use case of custom roles I believe the current roles.sql incentivizes hard-coding passwords and checking them in.


Do not store bids in memory indefinitely

Knowabunga! 🐢🐢🐢🐢
This issue is tagged Knowabunga. It is only open for participants of the Knowabunga/DAV hackathon!
Thank you for your help :heart:
What is this project?
DAV (Decentralized Autonomous Vehicles) is a new foundation working to build an open-source infrastructure for autonomous vehicles (cars, drones, trucks, robots, and all the service providers around them) to communicate and transact with each other over blockchain.
The specific project you are looking at is Mission Control. It is the brain in charge of orchestrating missions between DAV users and autonomous vehicles.
How you can help
Mission Control comes with a built in simulation environment which generates and controls simulated vehicles, allowing developers to start developing without investing in costly hardware first.
One of the things the simulator does is create simulated bids from drones for delivery missions.
Once created, those simulated bids remain indefinitely in memory. In a real environment, those bids would only be valid for a few minutes at most.
Once we have many developers from around the world experimenting with the simulation environment, more and more bids will be created and kept in memory and never deleted.
What you can do
We need to add a TTL (Time To Live) expiration to the bids stored in Redis so that they are deleted automatically after 1 hour. And we need to reset that TTL, setting it to 1 hour again when those bids are accessed.
These bids are created in /server/store/bids.js, and the EXPIRE needs to be set when calling saveBid(), getBid(), and getBidsForRequest()
Contributing to Mission Control

[ ] Make sure no one has commented below that they are starting to work on this already.
[ ] Comment in this issue that you would like to do it.
[ ] Fork the repository from the Mission Control GitHub page.
[ ] Clone a copy to your local machine with $ git clone git@github.com:YOUR-GITHUB-USER-NAME/missioncontrol.git
[ ] Make your changes.
[ ] Run npm test to verify that all the tests pass.
[ ] Once you've made sure all your changes work correctly and committed all your changes, push your local changes back to github with $ git push -u origin master
[ ] Visit your fork on GitHub.com (https://github.com/YOUR-USER-NAME/missioncontrol) and create a pull request for your changes.
[ ] Make sure your pull request describes exactly what you changed and references this issue (include the issue number in the title like this: #6)
[ ] Get hooked on open source!

Claimed by @timigod


APT source whitelist request for Bazel

alias: bazel
sourceline: 'deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8'
key_url: 'https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg'
Thank you!

Any Updates? This issue remain.

ping; would be nice to have bazel easily available for use!

I currently use
https://github.com/PatWie/CppNumericalSolvers/blob/master/.travis.yml


Chapter cross sectional properties

I am adding the sections in chapter cross sectional properties as stated in the concept TOC file.

Static moment, centroid and normal force centre
Second moment of area and 'Weerstandsmoment'
Cross moment of area
Shear force centre
Core of a cross-section

The first one is already present in the book.

@gwslingerland, just remove the draft status and add me as a reviewer as soon as you think this is ready to merge!

I added the following sections:

Second moment of area and Section modulus
Shear force centre
Core of a cross-section

The proposed section cross moment area, i assumed is about Iyz and Izy. They are included in the first added section.
If there are any ANS exercises that correspond to these sections, they will have to be added in later.


fuzzer does not respect fuzz_runs configuration

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (65ca7e8 2022-08-26T19:01:34.828764Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
Running FOUNDRY_FUZZ_RUNS=1000 forge test or setting fuzz_runs = 1_000 under [profile.default] in foundry.toml and running forge test still results in 256 runs.
Seems to be similar to a previously closed issue: https://github.com/foundry-rs/foundry/issues/590

New changes have been very recently made: https://github.com/foundry-rs/foundry/pull/2882
Check here the new syntax:
https://github.com/foundry-rs/foundry/blob/master/config/README.md#all-options


Refactor/ci split modules

Description
Split up ci for different modules to support different version and maven central release

@DanielOber @simonhir Should we apply the changes to the labeler.yml and later on the release.yml to https://github.com/it-at-m/refarch-templates as well? This would allow us to split releases depending on the template, too.

Currently isn't working see #124. But if tested and works as intended that's a good idea.


feature Support path format v1 for Storage Vault

Proposed changes
Support path format v1 for Storage Vault. See more detail in #35473

run buildall

we may need some test

run buildall


fix minor language issues

Or was the "cautionary tail" some kind of a joke?

Maybe? It's no where near the car/cdr section though, so I'll merge this. Thanks for the work!


FidelityStatevectorKernel cannot be pickled

Environment

Qiskit Machine Learning version: qiskit-machine-learning==0.6.0
Python version:  Python 3.10.4
Operating system:  Ubuntu 20.04.5 LTS

What is happening?
qiskit_machine_learning.kernels.fidelity_statevector_kernel.FidelityStatevectorKernel cannot be pickled.  I.e., it gives error:

_pickle.PicklingError: Can't pickle <functools._lru_cache_wrapper object at 0x7f7de13c7e20>: it's not the same object as qiskit_machine_learning.kernels.fidelity_statevector_kernel.FidelityStatevectorKernel.get_statevector

Being able to pickle objects is required for a lot of frameworks we'd want to use machine learning components with.
I.e., this error prevents a lot of things - such as using it in a parallelization framework like ray (which requires pickling) or using it with common machine learning approaches such as sklearn GridSearchCV which also requires pickling.
The cause is a known issue of using lru_cache as is done in the code for FidelityStatevectorKernel (line 100-101):
# Create the statevector cache at the instance level.
self._get_statevector = lru_cache(maxsize=cache_size)(self._get_statevector_)

E.g., see: https://stackoverflow.com/questions/54363043/pickling-lru-cached-function-on-object
There are a number of fixes, including some listed in the SO post above.
How can we reproduce the issue?
from qiskit.circuit.library import PauliFeatureMap

from qiskit_machine_learning.kernels.fidelity_statevector_kernel import (
    FidelityStatevectorKernel,
)

import pickle

kernel = FidelityStatevectorKernel(
    feature_map=PauliFeatureMap(
        feature_dimension=3,
        reps=1,
        entanglement="linear",
        alpha=1.0,
        paulis=("Z", "ZZ"),
    )
)

kernel_obj = pickle.dumps(kernel)

What should happen?
Fix the class so it can be pickled.  I.e., the above code should not throw an error, but allow successfully pickling the object.
Any suggestions?
You can look at the stack overflow post linked above, and other similar posts.  There are some easy fixes, such as writing getstate and setstate to handle that attribute specially.

As a workaround I'd suggest to use dill instead of pickle. There may be lambdas in the codebase that are not suitable for pickling anyway.

Unfortunately we can't change this in the many third-party libraries that use pickle and not dill - such as Ray and Scikit-Learn

Hiya, I have implemented the getstate and setstate methods in fidelity_statevector_kernel as @bquanz suggested. Should be released in the Hartree Centre springv1 merge to qml :)

Hi @marcinjastrzebski8, yes, this was implemented using the __getstate__ and __setstate__ methods here. It is live in 0.7.2, we are looking into why pip isn't installing these changes. In the meantime, you can install from source by following the guidance here, by installing from the main or stable 0.7 branches, both include the bug fix.


Update userns-remap.md

Is it 231072 UID instead of 231073 right?

Proposed changes

Unreleased project version (optional)

Related issues (optional)

@HareshChhelana 231073 is correct in this instance as it is mapped to UID 1 and not UID 0. I'll have to close this PR without merging for this reason.

Feel free to continue the conversation after I close


opae.io: fix two issues

When run without arguments, the code calls into
opae/io/utils.py::find_device() with the device parameter
equal to None. The for loop in find_device() was flawed
and caused an exception. The utils.py change fixes that
error.

The lifetime management of the global variables the_device and
the_region were incorrect. The previous code assumed that pybind11
had full ownership (the default) of these objects such that they
would be tracked in a std::unique_ptr and destroyed. However, the
main.cpp code is also able to destroy and replace these objects.
Removing the unique_ptr designation and adding
py::return_value_policy::reference to the definition of open()
function tells pybind11 that it should be hands off with the
return values of this function.

Signed-off-by: Tim Whisonant<EMAIL_ADDRESS>

Coverage remained the same at 64.489% when pulling d3238b14953c018ce1f34f5e8dba3f22ce12e56e on tswhison/opae.io into b0f2e6308dedbbf450ec55578fcb4467c3272306 on master.


Inconsistent ordering of entries (Android vs iOS)

Consider the following scenario:
We have an array with one item (entry), which has a property (screens) that is basically a list of entries.
  }
}, {
  "sys": {
    "type": "Link",
            "linkType": "Entry",
            "id": "27S7..."
  }
}, {
  "sys": {
    "type": "Link",
            "linkType": "Entry",
            "id": "58De..."
  }
}]

The array item's includes contains all data for these screen entries:
"includes": {
  "Entry": [{
    "sys": {
      "id": "27S7...",
      ...
    },
    "fields": { ... }
  }, {
    "sys": {
      "id": "4N8k...",
      ...
    },
    "fields": { ... }
    }, {
      "sys": {
        "id": "58De...",
      ...
      },
      "fields": { ... }
    }]
}

Note how the order of the entries is different in these two json arrays (refer to the ids). Now, the iOS SDK seems to return the screen order as per the first json snippet (screens), however, the Android SDK appears to return the items in the order of the 2nd snippet (includes.Entry).
As a result, the item ordering is inconsistent between the two platforms. The is causing us some headaches with our screens data, as we initially intended our mobile clients to be driven by the order of items as returned from Contentful. But as the mobile SDKs exhibit different behaviour, this is unfortunately a no-go at the moment.
We can of course work around the problem by adding a property to enable explicit ordering/sorting on the clients, but this wouldn't be ideal for various reasons.
Any chance this is something that could be looked into? At a minimum, having consistent behaviour across the mobile SDKs seems preferable. Or perhaps this is something that can be configured on the Contentful-side? (forgive my ignorance, as I'm primarily a consumer of the API data).

Hello,
I saw your are inspecting the includes array of the response. This field is not intended to contain the resources in-order, but rather store the resources for building up the model presented to the user.
Instead, what you probably want to do is fetch the item containing the screens by id and then inspect its screens-field:
final CDAEntry one =
    client
        .fetch(CDAEntry.class)
        .one("{insert-id-here}");

final Collection<CDAResource> screens = one.getField("en-US", "screens");
for (final CDAResource resource : screens) {
  System.out.println(resource.id());
}

The output will be like so:
A96usFSlY4G0W4kwAqswk
1asN98Ph3mUiCYIYiiqwko
1asN98Ph3mUiCYIYiiqwko
1asN98Ph3mUiCYIYiiqwko
A96usFSlY4G0W4kwAqswk

Using the screens-field of an entry will return the resources in order defined in Contentful and works across all SDKs.
I hope that makes it a bit clearer on what is happening.
Greetings,
Mario

Hi Mario,
I appreciate the swift reply. Unfortunately, I can't fetch a specific item by ID; instead I have a query that fetches the first item with a certain content type. But regardless of the approach to get a specific item, I'm seeing the same inconsistency.

I saw your are inspecting the includes array of the response. This field is not intended to contain the resources in-order, but rather store the resources for building up the model presented to the user.

I don't actually inspect the includes at runtime (it's a package-private field/class for a reason) :).  Because of the inconsistency between the iOS and Android SDK, I decided to look at the raw I/O. I was only then that I noticed there are two separate arrays that contain resources with IDs in different orders. I didn't deep-dive into the code of the SDK, but I can tell you that the screens are returned in these orders:
iOS:
let screens = entry.fields.linkedEntries(at: "screens")

Result: [27S7, 4N8k, 58De]
Android:
List<CDAEntry> entries = entry.getField("screens");

Result: [4N8k, 27S7, 58De]

Using the screens-field of an entry will return the resources in order defined in Contentful and works across all SDKs.

For some reason, that doesn't appear to be true for me? Perhaps I'm missing something obvious here?
Cheers, Matt

Hey,
that sounds really odd to me and the swift SDK developer (@loudmouth).
Maybe we can compare both sides of code you are using (swift and java) with a screenshot from the UI, so we see the order in Contentful and then the code using this order.
I'm sure together we can make sense on what is happening...

Hey there, I'll just chime in that I'm a little confused after the first and last messages you left @mhelder ...In the first message you said the Swift SDK is returning the order as listed in the first JSON snippet which shows the screens field's jaw JSON; in the last message, you said the Swift SDK is returning you ID's in this order, [27S7, 4N8k, 58De], which is not the same order as the first JSON snippet. Can you help us by clarifying? We want to understand which SDK may be returning the wrong order so we can identify why.

@loudmouth: Ah, apologies. It looks like I messed up the original post by inverting that statement. Just to clarify, this is the gist of the json response from Contenful:
{
	"sys": {
		"type": "Array"
	},
	"items": [{
		"sys": {
			"id": "5nmZ",
			"type": "Entry"
		},
		"fields": {
			"title": "Demo",
			"screens": [{
				"sys": {
					"type": "Link",
					"linkType": "Entry",
					"id": "4N8k"
				}
			}, {
				"sys": {
					"type": "Link",
					"linkType": "Entry",
					"id": "27S7"
				}
			}, {
				"sys": {
					"type": "Link",
					"linkType": "Entry",
					"id": "58De"
				}
			}]
		}
	}],
	"includes": {
		"Entry": [{
			"sys": {
				"id": "27S7",
				"type": "Entry",

			},
			"fields": { }
		}, {
			"sys": {
				"id": "4N8k",
				"type": "Entry",
			},
			"fields": { }
		}, {

			"id": "58De",
			"type": "Entry",
			"fields": { }
		}]
	}
}

Then, retrieving the screens from the entry gives these results:
let screens = entry.fields.linkedEntries(at: "screens")

iOS: [27S7, 4N8k, 58De]
List<CDAEntry> entries = entry.getField("screens");

Android: [4N8k, 27S7, 58De]
So on iOS the order of screens matches that of the includes, on Android it's the order of the fields.screens (this is where I confused myself in the first post...sorry).
Assuming we're calling the appropriate functions to retrieve the screens from the entry, it seems to me that either iOS or Android is ending up with the wrong order. My initial thought was that it's the Android SDK (hence the issue here) but to honest: I can't verify the order as configured in Contentful (have asked our customer to double check) so don't really have a clue which one is supposed to be correct.
I guess the latter is what you guys could answer: which of the two orderings is supposed to reflect the actual ordering in Contentful?
I'm happy to provide more details if required. Just let me know what you need. Thanks for the prompt responses so far!

Hi, this looks like an issue with contentful.swift as the proper order is the one represented in the reference field of the parent object, not the order listed in the includes. The proper order should be [4N8k, 27S7, 58De] as the real order of a one-to-many reference field is represented in the JSON response as the array of link objects at that field.
I was about to open a new Github issue on your behalf for the Swift project, but I'm wondering if you could do it instead @mhelder and fill out the new issue template available there so I can get info about what operating systems, package managers, & xcode versions you're using.
I'm going to close this issue for now.

Hey @mhelder I'll add as an addendum that I've been doing more testing and I can't reproduce this issue on contentful.swift so far; nor can i see any suspicious code that would cause the ordering to get out of sync like that.
The linkedEntries(at:) method directly maps array of links to entries so the order shouldn't be changed and I don't think it is changed any earlier (during JSON deserialization).

I have one suspicion as to why this may be happening in Swift. When you make your Github issue, can you please share the code you have for your Query against the API please?

Good news: our customer has confirmed the screens are actually in the same order as exposed by the Android SDK ([4N8k, 27S7, 58De]). And as it turns out, the same is actually true for the iOS SDK...
I hate to admit it, but the problem was all on our end (a combination of assumptions, unknowns and business logic), and there was no issue with the SDK(s) to begin with.
My sincere apologies for the waste of time. 😞

Hey,
no worries, we are just happy to hear you could solve the issue. If you can find the time and think about what would have made the journey easier on our side, I am happy to read your thoughts.
But till then, I will close this issue, and feel free to reach out to us any time you need us.
Greetings,
Mario

As Mario said, no worries @mhelder ! Just glad we got everything all sorted out :-)


Create ome files downloads

Creates OME Files download page, enables access to artifacts on all downloads, unify styling

Thanks. Looks good to me.


Manifest not found for component id - sp-loader-assembly

Category

[x] Bug

Describe the bug
After installing @microsoft/sp-dialog and @microsoft/sp-property-pane via NPM into my project, running Gulp Serve will sometimes fail to load the whole workbench and will display a blank page. Sometimes Gulp loads the workbench and the webpart, but after a random amount of time it will fail to display the page/workbench on the next Gulp Reload. Uninstalling these packages from project will erase the errors and the workbench will display fine.
Steps to reproduce
I have a project with the following dependencies:

Then npm install @microsoft/sp-dialog and npm install @microsoft/sp-property-pane.
I see these errors:
Shot 1:

Shot 2:

Shot 3:

Originally was facing on Mac OS machine. Restarted project on Windows machine and faced same issue.
Expected behavior
I expect to be able to load my workbench and have the sharepoint site with my webpart displaying.
Environment details (development & target environment)
Node version: 8.17.0
Dev Environment: Windows 10 & MacOS 10.15.5
Target: Sharepoint Online
Browser: Chrome 84 Browser and Brave Browser
Gulp CLI version 2.3.0
Tooling: Visual Studio Code
Additional context

This used to not be a problem. My workbench would be working fine WITH the installed packages, then after a reload on the gulp server, it would bug out with these errors. There's no indication on what changed that would cause it to bug out. I then did a clean install again of the repo, reinstalled the packages, then it worked fine for a half hour - then after a gulp reload I was faced with these errors again.
If I uninstall the two packages, everything works fine - no errors - but I need the packages to further develop.

You've go conflicting versions... All SPFx packages are 1.9.1 but you added the dialog package as 1.10. You can't mix versions... try uninstalling the sp-dialog package & installing the correct version that matches the rest of the project.
I'd also delete your package lock file & node_modules folder followed by a clean npm install as you might have mixed versions in dependencies.


[BugFix] Redefine partition name generation rules in some special scenarios

Fixes #27200
Fixes #27107
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 3 / 5 (60.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/AnalyzerUtils.java
3
5
60.00%
[835, 836]

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0


CodeLens, Configuration fixes

Fixes https://github.com/prisma/vscode-graphql/issues/49
Fixes https://github.com/prisma/vscode-graphql/issues/35
Fixes https://github.com/prisma/vscode-graphql/issues/24
Fixes https://github.com/prisma/vscode-graphql/issues/21
And adds support for running queries, mutations and subscriptions from within this editor. This feature relies on endpoints extension.
This will be released as a preview in 0.1.4.

This is released in 0.1.4 (which is a preview release with CodeLens feature as well) 🎉
Feedback please 👍👇


allow styling sidebars like admonitions

This makes it easy to style docutils .. sidebar:: to match our admonition style, by adding classes like this:
.. sidebar:: Some title
   :class: admonition warning

   Some content

here's the demo:
https://pydata-sphinx-theme--836.org.readthedocs.build/en/836/demo/theme-elements.html#admonition-like-sidebars
Here's the original (unaffected) sidebar from kitchen-sink:
https://pydata-sphinx-theme--836.org.readthedocs.build/en/836/demo/kitchen-sink/paragraph-markup.html#sidebar

not apply the left margin to the content

Good idea

3. keep the sidebar as-is, and add a helper class for admonitions that would make it behave like a sidebar.

No strong feeling here. Both seem equally usable. Only difference I can think of is the actual HTML (whether it's an aside or not), which makes me lean slightly toward the current implementation.

Do you think this should just be the default styling for the sidebar?

I gave this some thought, and I think no. We don't know what users will do with the sidebar - maybe it's just an image, we should leave this container flexible by default. They should be able to get the grey one via :class: admonition (without also specifying a semantic color)

I think the biggest benefit of going the opposite direction and supporting:
```{note}
:class: sidebar
foo
```

would be on the implementation side. E.g. if we just add these 4 CSS rules to our admonition (e.g. triggered via .admonition.sidebar, then we get pretty much the same effect:
{
    max-width: 40%;
    float: right;
    clear: both;
    margin-left: 0.5rem;
}

results in:

Ok I'm convinced. Feel free to push that change, I'm out of office until Tuesday.

Although I think you also need a rule for the inner content left margin. But still, that's a much nicer implementation

Sounds good, I will try and give it a shot if I have a moment. I am hoping to do a little flurry of PR merges so that we can make a release relatively soon.

OK, the latest pushes re-work this to trigger the behavior with a sidebar class on an admonition, rather than an admonition class on a sidebar. I also updated the docs accordingly!
I will merge this once the RTD docs pass and I re-confirm that it looks as-expected :-)

Ah one extra change here - I realized that we were starting to put "instructional" information in the theme-elements.md file. In addition, a few of the other "theme-specific styles" pages in the demo/ folder were also acting more like instructions for how to set up various other extensions with the theme. So I decided to move these into the user_guide in a `"content and features" section, since I think that's a natural place for people to look to find out how to do specific things with this theme


Would you consider adding support for Caseta Switches/Dimmers

Hi!
Amazing work thank you for doing this!
Read in the readme that you specific did not add support for switches and dimmers but wondering if you would reconsider for a few reasons:
1/ native HomeKit support for these does not include double tap and long press!
2/ there is a crazy delay with native integration for switches, if you made them look like picos/general buttons this might actually solve that issue
3/ would love switches to work exactly like picos but hardwired so I do not have to think about battery life
Would be happy to help or donate time/effort/money/switches to get this done!
Thank you!
Neema

Unfortunately, the last time I checked (though I doubt this has changed), wall devices don't expose buttons - all you get is notification that the dimmer or on/off value has changed, so adding this support isn't possible.