Prefill create project form from project request email

Fixes #404
When admins get an email requesting a project be created for them, they can now click the "Create project" button and the form will be filled out for them using what the user submitted.
This can be easily tested at /email/tester with the 2 test Request project emails.
The custom code email request (which shouldn't actually ever happen) behaves differently based on whether the user is an admin or not (which also shouldn't ever happen, but who knows 🤷).
I've made Description required everywhere. I'm not sure if that's what we want, but we were enforcing it in some places, so I just made it consistent.
Here's a non-admin trying to create a dev project with a custom code:

And here's what an admin gets:

@hahn-kev This is ready for another review.
I got the commits messed up, because I thought I had pulled your commit even though I hadn't, then I had a fun merge.
That's why I force pushed.


plot top genes from a component

adds functions to geneontology.py and common to make a barplot of the top up and down regulated genes for a certain component, then color them using a GO term that is enriched in that group. Here are two examples:

(also accepting color palette recommendations)

@pascoesean Usually a lot of genes fall in more than 1 GO term. Did you find that as well? Also, many genes fall into your neither category, do you think this plot helps you interpret any of these genes?

@andrewram4287 I only chose to do one GO term for each because of potential overlap-- the original plot idea was to just plot genes and weights (all bars would be the same color), as a way to show weights without just listing genes or giving a list of enriched gene sets (which I feel like is a bit more removed/more malleable than the raw outputs). Because there is overlap between GO terms, you have to choose just one for the top and bottom subsections, and the function lets you choose which one to highlight of the top 10 terms enriched for that category.
I think in an ideal world, I'd color all of the bars by GO term (i.e. have no neither category), but I think that gets confusing in the case that one gene falls into multiple GO terms (the assumption here being that that won't happen between the top/bottom most genes, which I feel is reasonable). This way, though, we can directly highlight any trends were finding in the gene data + specifically where we found them in the Pf2 output

@aarmey What do you think?

I agree that the link between genes and GO terms is muddled here.
How about just making a plot where one GO term is shown, and every gene in that term is plotted by its weight on a component? That way you get a full view of that GO term and component's relationship.

Thoughts about something like this @andrewram4287 @aarmey :?

This plots all the genes it can find in our set of 2,000 from a GO term (with suggested GO terms coming from those that are overrepresented in the most highly weighted genes). Biggest concern is that I'm using the biomart API to get a list of genes from a GO term, which seems to be maybe not as good as the actual program (there are some discrepancies between the list of genes you get from the API and the list of genes you get from the actual program for the same GO accession #).

This is great! What is the red dotted line?

This is great! What is the red dotted line?

They represent the max/min weight value for that component-- the idea was to give an idea of the scale (for the second one you could imagine that the bars would look a lot bigger if they didn't have the same scale set by the max/min) (lines 649-650 and 660-661 in common.py)

Ah, makes sense. I like keeping a consistent scaling like this.


Is there a recommended way of using this with exorcist?

... or is there a way to get access to the write stream of the output files instead of having them write to disk by default?

I am also interested in a way to keep sourcemaps in separate files.

If you use the programatic API, you can pass a function or a stream for the respective "output" options, instead of a filename.

The output arguments are also available to outpipe for command-line usage:
browserify files/*.js \
    -p [ ../ -o 'uglifyjs -cm | gzip > bundle/`basename $FILE`.gz' ] \
    | uglifyjs -cm | gzip > bundle/common.js.gz

https://github.com/substack/factor-bundle#command-line-outpipe-example

I found the factor.pipeline event to be helpful with using exorcist and the API.
b.on('factor.pipeline', function (file, pipeline) {
    pipeline.get('wrap').push(exorcist(path.join('build', path.basename(file) + '.map')));
});


[BUG] failed to get instance metadata for node - harvester-cloud-provider

Describe the bug
Hey everyone,
I am trying to provision a kubernetes cluster on Harvester (v1.2.0) with the ClusterAPI (Sandbox) Provider cluster-api-provider-harvester
I am using the latest Release of the harvester-cloud-provider (v0.2.1), RKE2 ControlPlane and Bootstrap Provider (v0.2.7) and the cluster-api-provider-harvester in version v0.1.2
Almost everything works fine. I am able to provision a ControlPlane and 2 worker nodes on my harvester instance.
But in the Logs of the harvester-cloud-provider, i get these error messages:
I0609 12:47:04.101311       1 node_controller.go:415] Initializing node test-rk-workers-6jv4s-96tmj with cloud provider

E0609 12:47:04.101635       1 node_controller.go:229] error syncing 'test-rk-workers-6jv4s-96tmj': failed to get instance metadata for node test-rk-workers-6jv4s-96tmj: an empty namespace
 may not be set when a resource name is provided, requeuing

To Reproduce

Following the Guide of the cluster-api-provider-harvester
init the kind cluster with clusterctl init --infrastructure harvester:v0.1.2 --control-plane rke2:v0.2.7 --bootstrap rke2:v0.2.7
retrieve the kubeconfig clusterctl get kubeconfig test-rk -n example-rk > test-rk-kubeconfig.kubeconfig
Access the new cluster with k9s and take a look at the logs of the harvester-cloud-provider

Expected behavior
I expected that every node gets a ready state, so that the taints gets removed and the deployment of the other application begin to start:
clusterctl describe cluster test-rk -n example-rk --show-conditions MachineDeployment/test-rk-workers
NAME                                                                     READY  SEVERITY  REASON                       SINCE  MESSAGE
Cluster/test-rk                                                          True                                          39m
├─ClusterInfrastructure - HarvesterCluster/test-rk-hv
├─ControlPlane - RKE2ControlPlane/test-rk-control-plane                  True                                          39m
│ └─Machine/test-rk-control-plane-snwzn                                  True                                          39m
│   └─MachineInfrastructure - HarvesterMachine/test-rk-cp-machine-cptxv
└─Workers
  └─MachineDeployment/test-rk-workers                                    False  Warning   WaitingForAvailableMachines  46m    Minimum availability requires 2 replicas, current 0 available
    │           ├─Available                                              False  Warning   WaitingForAvailableMachines  46m    Minimum availability requires 2 replicas, current 0 available
    │           └─MachineSetReady                                        False  Warning   ScalingUp                    46m    Scaling up MachineSet to 2 replicas (actual 0)
    └─2 Machines...                                                      True                                          33m    See test-rk-workers-6jv4s-96tmj, test-rk-workers-6jv4s-bzsl9

Support bundle

Environment

Harvester ISO version: v1.2.0 (Patched ISO for the USB Installation)
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Baremetal

Additional context
Add any other context about the problem here.

I upgraded my Harvester Instance to v1.2.2 - but the error still exists.
And I am using the v1.26.6+rke2r1 Image.

Ok, I have found the issue. The provided Kubeconfig - which will be decoded to the cloud-config secret - needs the namespace.
Like shown here in the example:
https://docs.harvesterhci.io/v1.2/rancher/csi-driver


[CP] Run tests on iOS 17 exclusively

Issue Link
https://github.com/flutter/flutter/issues/144020
Target
stable
PR Link
https://github.com/flutter/flutter/pull/145181
Changelog Description
Runs devicelab tests in Flutter CI on iOS 17 exclusively.
Impacted Users
Flutter Release Team
Impact Description
A majority of our devicelab devices are now on iOS 17. Before we can upgrade the remaining devices, stable must use iOS 17 devices. This should also improve times for the release branch since more devices will be available.
Workaround
N/A
Risk
low
Test Coverage
yes
Validation Steps
No response

Would @jmagman be the correct TL to evaluate this cherry pick request? Thank you!

This mostly impacts the release team, and @vashworth already checked with them. I approve!

Thank you! The PR itself https://github.com/flutter/flutter/pull/145181 might also need an approval too


Update index_map_team.html

I've added online sources for images so you can delete the jpg files.

That´s great Ezgi, thank you!

That´s great Ezgi, thank you!


chore: update unable to load tracking - send screen message if screen present, tab otherwise

This PR resolves PHIRE-1280
Description

Minor update to the unable to load tracking to send screen name if present, tab otherwise, attach the extras to the event.
PR Checklist

[ ] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

update unable to load tracking - brian

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (update unable to load tracking - brian - brainbicycle)

  Generated by :no_entry_sign: dangerJS against 8f860dd70344137604ad13b5fb28e4efb16ba483


Dualstack & round-robin cloaking

In my dnscrypt-proxy.toml I set cloaking_rules = '/etc/dnscrypt-proxy/cloaking_rules.txt' and in the file:
localhost.123 <IP_ADDRESS>
localhost.123 ::1

When I call host localhost.123 I receive:
localhost.123 has address <IP_ADDRESS>
Host localhost.123 not found: 3(NXDOMAIN)

I get similar results with dig localhost.123 and dig localhost.123 AAAA.
When I attempt to use a cloaking rule localhost.123 <IP_ADDRESS> ::1, I see a syntax error in journalctl: Oct 17 23:19:48 sedric dnscrypt-proxy[13151]: [2018-10-17 23:19:48] [ERROR] Syntax error in cloaking rules at line 4 -- Unexpected space character and the A record also breaks.
I think the traditional hosts file allows mapping domain into multiple addresses and I expected that from dnscrypt-proxy too. In case they are supported, I am not seeing them in https://github.com/jedisct1/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-cloaking-rules.txt .

Debian GNU/Linux testing (buster)
dnscrypt-proxy 2.0.16

Indeed, names map to a single entry.
It shouldn't be very hard to have them map to (query type, IP) tuples instead.
Would you like to try implementing this?

Would you like to try implementing this?

I fear that I am not capable of that as I don't have coding background and while learning is on my daily todo, I don't think I will get enough skilled in near future to touch dnscrypt-proxy's code and I think it's not in Go, even if I cannot remember what it is as I type this comment on phone.
I am also having a strange issue that after cloaking IPv6-only addresses with IPv6-only domains, ssh and mosh started requiring -6 flag to not timeout. Is it related to dnscrypt-proxy / this issue or did I just happen to do something else wrong by happenstance?

I am also having a strange issue that after cloaking IPv6-only addresses with IPv6-only domains, ssh and mosh started requiring -6 flag to not timeout.

I think they and Firefox are getting confused by hearing that the domain exists and doesn't exist simultaneously. I guess dnscrypt-proxy should recognise that the cloak is IPv4/IPv6-only and give empty response instead of NXDOMAIN for the other protocol. Does that make this two related issues?
Not-cloaked:
└┌(%:~)┌- host y.relpda.mikaela.info
y.relpda.mikaela.info has IPv6 address 201:ef0c:cebe:f000:183c:9326:cbba:8fe1

Cloaked:
└┌(%:~)┌- host relpda.mikaela.internal
relpda.mikaela.internal has IPv6 address 201:ef0c:cebe:f000:183c:9326:cbba:8fe1
Host relpda.mikaela.internal not found: 3(NXDOMAIN)

(and in the original submission there was localhost.123 which had the issue on IPv4 instead of IPv6)
Howver I don't understand why this issue I am quoting started happening when I cloaked y.relpda.mikaela.info as it never had an A record or is it getting confused by mikaela.info being DNSSEC-signed?

Thank you :smile:

` $ ping -4 -c 4 i.imgur.com
PING i.imgur.com (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS> (<IP_ADDRESS>): icmp_seq=1 ttl=51 time=210 ms
64 bytes from <IP_ADDRESS> (<IP_ADDRESS>): icmp_seq=2 ttl=51 time=210 ms
64 bytes from <IP_ADDRESS> (<IP_ADDRESS>): icmp_seq=3 ttl=51 time=210 ms
64 bytes from <IP_ADDRESS> (<IP_ADDRESS>): icmp_seq=4 ttl=51 time=210 ms
--- i.imgur.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 210.064/210.340/210.784/0.624 ms
$ ping -c 4 i.imgur.com
PING i.imgur.com(2a04:4e42::193 (2a04:4e42::193)) 56 data bytes
64 bytes from 2a04:4e42::193 (2a04:4e42::193): icmp_seq=1 ttl=60 time=27.7 ms
64 bytes from 2a04:4e42::193 (2a04:4e42::193): icmp_seq=2 ttl=60 time=27.6 ms
64 bytes from 2a04:4e42::193 (2a04:4e42::193): icmp_seq=3 ttl=60 time=27.0 ms
64 bytes from 2a04:4e42::193 (2a04:4e42::193): icmp_seq=4 ttl=60 time=27.5 ms
--- i.imgur.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 27.086/27.501/27.767/0.253 ms
$ host i.imgur.com
i.imgur.com has address <IP_ADDRESS>
i.imgur.com has IPv6 address 2a04:4e42::193
i.imgur.com is an alias for prod.imgur.map.fastlylb.net.`
Thank You 👍

You can also have multiple addresses of the same class. dnscrypt-proxy will do load-balancing between these IPs.


GL context lost when creating many viewers

When creating several viewers, I end up with many of them having a sad emoticon in place of the images, because the GL context is lost (a warning is shown in the console). I'm no webgl expert and don't know if there could be methods to mitigate the issue (I've heard of gl context virtualization), or I have to accept that I can't open more than say 10 niivue viewers?

This seems an interesting starting point
https://github.com/greggman/virtual-webgl

Please see issue 693. This is an intentional limitation of your web browser, not NiiVue.

@neurolabusc apart from the virtualization idea, would it be possible to "detach" a niivue object from the canvas, and then reattach it later? So I can just freeze the canvas and unfreeze later when I have more than 16 views open.

Hi @vincenzoml, I'm curious what your use case is. Do you need more than 16 simultaneous webgl contexts or can you create and destroy them as needed? Can you describe how you are using NiiVue within your app?

A screenshot is worth a thousand words. I'm writing a dataset-oriented UI to run VoxLogicA(see https://github.com/vincenzoml/VoxLogicA) and neural-networks and visualize the overlays. Indeed I can limit the viewers to 16, and it might even make sense usability-wise, but not sure, because it may be that one wants to open many cases and view the overlays.
Sure,it's also heavy to load that many viewers in the main thread, but I'm trying to use webworkers for that.

@vincenzoml the high performance of NiiVue in particular is that it stores the entire 3D volume on the graphics card. For this reason, the data is bound to the context (allowing garbage collection). WebGL and NiiVue are well suited to some problems, but less well suited for others. Perhaps you want to show hundreds of images as static 2D bitmaps using the HTML  tag. When the user selects one of these bitmaps, you could load a NiiVue context for interactive manipulation. An extension of this idea is that you have two WebGL contexts: the visible on that the user is interacting with, and a hidden one that asynchronously generates 2D bitmaps for all the other tiles.

It may make sense usability-wise to just keep the number of open viewers low, thanks. I will rethink this part of the application.

@neurolabusc Suppose I wanted to use a single large viewer, and click on cases to open them inside the viewer. However I also would like to keep the open cases "preloaded": user clicks on case A, case A goes to the viewer, overlays are opened etc. User clicks on case B, the same happens for B. Then user clicks on A again. Now I want A to appear in the state it had before (overlays etc.), and to do that as quickly as possible, ideally instantly.
This could be achieved if the nv object could detach and attach from a canvas (it can attach already, but can it detach? how?). What would be the workflow to achieve the above?

My understanding is that browsers limit the number of gl contexts because of all the resources they use. What makes WebGL so fast on mobile devices is that it stores all the data (textures, shaders, buffers, etc) on the GPU. When you detach the context, all of these resources are released.
You could use a single WebGL2 context to simulate multiple canvases. This solution outside of the remit of the core NiiVue development team: we already have a very ambitious set of goals so we can not get distracted, and the group tends to prefer a simple API. However, you could always make a fork of NiiVue. However, the NiiVue shaders and buffers are tiny, while typical MRI scans lead to textures that demand a lot of resources. I suspect that loading a large number of 3D volumes onto the GPU will lead to issues for many devices.
You want to choose the tool that is best for your job. WebGL2 has many nice features - thanks to ANGLE and its shader-based design it is able to leverage the best high performance graphics API for each device (OpenGL, Metal, DirectX, Vulkan).  Therefore, it really does allow you to write one piece of code that provides great graphics on any device. NiiVue leverages its retained mode to provide fast performance and great battery life. However, it is not ideally suited for all jobs. If you want to display a huge number of large 3D textures, using an immediate mode instead of retained mode is the appropriate approach.

@neurolabusc thanks for the reply; it is now clear to me that it is not a good idea in general to use many viewers because of the textures, makes sense. However my question now stands: using a single viewer/gl canvas, is it possible to quickly switch the nv object attached to it, so that many different cases can be opened, one at a time, without destroying the state of the previous viewer? Is it possible to do this in niivue, and if so by which workflow? I imagine there could be something like "save state to memory" and "restore state" but don't understand if it is there among the many methods of the nv object.

NiiVue is optimized to work with 3D textures WebGL2 in retained mode. You may want to explore the outstanding Papaya which uses 2D textures (as WebGL1 does not support 3D textures). I have not looked at the architecture of Papaya, but I would not be surprised if it works in immediate mode.

Thanks, I do understand the design of niivue better now, but I have already investigated the alternatives thoroughly and for the moment I'm investing my time and energy in niivue so I want to adapt to the limitations of retained mode in order to take benefit of its advantages.
Perhaps my previous question was not well-thought. What I really need to do, is just serialize the state of the viewer (not the textures) to a variable which is not attached to a canvas, and then later, reattach to the canvas, reload the volumes and finally reload the state (by which I mean position, scaling, current slice type, etc, NOT the textures or the GL data). Is this possible? Easy? Difficult? Requires patching of niivue?

@vincenzoml , you can use the niivue NVDocument format to achieve what you want. There are demos here at the bottom of the page https://niivue.github.io/niivue/. Rather than downloading the saved document, we could return the contents to a variable. The entire state of NiiVue should be preserved. However, it won’t be instant due to serialising and deserialising the image data, but it should be fast enough to offer a pleasant user experience.

Very nice. Since I already keep a cache of pre-fetched NVImage objects, would it be faster to avoid serialising the images when serializing, and later re-add the images directly using addVolume (yes I understand this would require patching the source)?

The more I work with niivue the more I think providing a fast way to discharge an image to a record of UInt8Arrays and reloading it from there, could be a game changer: one could clone the images and pass them around to web workers, and also save them to indexdb or marshal to localstorage. Based on that, a binary variant of NIIDocument could be provided, that can be in turn cloned to webworkers and saved to indexdb.


Release notes/changelog?

Hi, where can i find release notes/changelogs? It seems the folio API is changing quite rapidly (breaking changes IMO) and playwright test is surfacing these breaking changes via patch/minor releases. Have I got that right?  Also why is playwright-test using alpha versions of folio? https://github.com/microsoft/playwright-test/blob/e4b321a3fc39505c32d7134413d5f22997e8d776/package.json#L23
Is this package ready for general consumption?

Sorry, I didn't realise this package is in preview:

Playwright test runner is available in preview and minor breaking changes could happen.


FunctionToConstantFixer - get_class($this) support

closes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3900

Where is it missing? If you talk about the default value, that's on purpose for BC reasons.

which btw breaks on some traits :/

Do you have an example of failing case?


Runtime error - Failed loading library libarrow.so.1100.0.0

I'm using Gluten with VL as a backend on Ubuntu 20.04 machines.
I compiled Gluten with Velox using the script dev/buildbundle-veloxbe.sh and taking the JAR gluten-velox-bundle-spark3.3_2.12-ubuntu_20.04-0.5.0-SNAPSHOT.jar (from package/targets).
I'm compiling it on 1 machine (using a docker) and copy the JAR to the Ubuntu machines (to avoid compiling it multiple times)
That worked fine!
Then I synced to a latest version of gluten and compiled it the same way as did before. On the machines I am running I just replaced the JAR with the updated one. While running the same job I used to run I got the following runtime error:
23/04/09 19:23:51 INFO Utils: Successfully started service 'SparkUI' on port 4040.
23/04/09 19:23:51 INFO SparkContext: Added JAR file:/mnt/spark/jars/spark-sql-perf_spark3_2.12_1673446848.jar at spark://ip-172-31-30-161.us-east-2.compute.internal:43725/jars/spark-sql-perf_spark3_2.12_1673446848.jar with timestamp<PHONE_NUMBER>095
23/04/09 19:23:51 INFO SparkDirectoryUtil: Created local directory at /media/ephemeral0/spark/gluten-d7a8cb84-655b-4e46-ac4f-81821479acab
23/04/09 19:23:52 INFO JniWorkspace: Creating JNI workspace in root directory /media/ephemeral0/spark/gluten-d7a8cb84-655b-4e46-ac4f-81821479acab/jni/283671a0-425b-4c64-8f1c-e69d308dd76a
23/04/09 19:23:52 INFO JniWorkspace: JNI workspace /media/ephemeral0/spark/gluten-d7a8cb84-655b-4e46-ac4f-81821479acab/jni/283671a0-425b-4c64-8f1c-e69d308dd76a/gluten-8949048098835699965 created in root directory /media/ephemeral0/spark/gluten-d7a8cb84-655b-4e46-ac4f-81821479acab/jni/283671a0-425b-4c64-8f1c-e69d308dd76a
23/04/09 19:23:52 INFO JniLibLoader: Trying to load library libarrow.so.1100.0.0
Exception in thread "main" java.lang.UnsatisfiedLinkError: /media/ephemeral0/spark/gluten-d7a8cb84-655b-4e46-ac4f-81821479acab/jni/283671a0-425b-4c64-8f1c-e69d308dd76a/gluten-8949048098835699965/libarrow.so.1100.0.0: /media/ephemeral0/spark/gluten-d7a8cb84-655b-4e46-ac4f-81821479acab/jni/283671a0-425b-4c64-8f1c-e69d308dd76a/gluten-8949048098835699965/libarrow.so.1100.0.0: failed to map segment from shared object
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
	at java.lang.Runtime.load0(Runtime.java:782)
	at java.lang.System.load(System.java:1100)
	at io.glutenproject.vectorized.JniLibLoader.loadFromPath0(JniLibLoader.java:88)
	at io.glutenproject.vectorized.JniLibLoader.access$300(JniLibLoader.java:56)
	at io.glutenproject.vectorized.JniLibLoader$JniLoadTransaction.loadWithLink(JniLibLoader.java:315)
	at io.glutenproject.vectorized.JniLibLoader$JniLoadTransaction.lambda$commit$1(JniLibLoader.java:265)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at io.glutenproject.vectorized.JniLibLoader$JniLoadTransaction.commit(JniLibLoader.java:262)
	at io.glutenproject.backendsapi.velox.VeloxInitializerApi.initialize(VeloxInitializerApi.scala:49)
	at io.glutenproject.GlutenDriverPlugin.init(GlutenPlugin.scala:49)

Per my understanding the libarrow.so should be loaded from the JAR itself so there should not be an issue that the machine has incompatible version of libarrow than expected.

@shtein-vs thanks for reporting, looks like it's related with the dependency issue @zhejiangxiaomai is actually trying to improve this. Can you please have a try on our prebuilt packages for Ubuntu20.04 here(https://github.com/oap-project/gluten/releases/tag/0.5.0)? It should contains all libraries needed
-yuan

Yes, here is command.
spark-shell --name run_gluten \
 --master yarn --deploy-mode client \
 --conf spark.plugins=io.glutenproject.GlutenPlugin \
 --conf spark.gluten.sql.columnar.backend.lib=velox \
 --conf spark.memory.offHeap.enabled=true \
 --conf spark.memory.offHeap.size=20g \
 --conf spark.gluten.loadLibFromJar=true \
 --jars https://github.com/oap-project/gluten/releases/download/0.5.0/gluten-velox-bundle-spark3.2_2.12-ubuntu_20.04-0.5.0-SNAPSHOT.jar,https://github.com/oap-project/gluten/releases/download/0.5.0/gluten-thirdparty-lib-ubuntu-20.04.jar

I have root-caused this issue to when the JNI workspace directory is set to a path within a VFS mount that is mounted with noexec (As can be seen by cat /proc/mounts). In that case, libarrow.so is attempted to be mapped as executable from a non-executable mount point. I have noticed this issue is resolved when remounting the path with sudo mount -o remount,exec [path].


namespace should be in small letter "namespace app\controllers;"

In BASIC app,
After  generating crud
ie generated Controller is UserController.php
Under UserController.php
namespace app\Controllers;
it give error: Not Found (#404)
after change C to c  :  "namespace app\controllers;"
its working perfectly.

It's your own responsibility, you should be carefully input the Controller Class field.

OK i got it.


ClassNotFoundException: com.yasirkula.unity.NativeFilePickerPermissionReceiver

Description of the bug
I tried using the Asset Store version of the plugin, and downloading from this repo.
When I try to trigger the file-picker on Android, I get the following error:
public void promptUserFilePicker()
    {
#if UNITY_ANDROID
        // Use MIMEs on Android
        string[] fileTypes = new string[] { "video/*" };
#else
		// Use UTIs on iOS
		string[] fileTypes = new string[] { "public.movie" };
#endif

        // Pick image(s) and/or video(s)
        NativeFilePicker.Permission permission = NativeFilePicker.PickFile((path) =>
        {
            if (path == null)
                Debug.Log("Operation cancelled");
            else
            {
                Debug.Log("Picked file: " + path);
                Open(path);
            }
        }, fileTypes);

        _ShowAndroidToastMessage($"Permission result: {permission}");
        Debug.Log("Permission result: " + permission);
    }

Reproduction steps
If possible, providing reproduction steps would be very helpful while pinpointing the issue. You can also post screenshots if you think they would be helpful.
Platform specs
Please provide the following info if this is a Unity 3D repository.

Unity version: 2021.3.11f1*
Platform: Android
Device: Samsung Galaxy S10 5G UW, SM-G981V, Android 12, One UI 4.1
How did you download the plugin: tried Asset Store, and Github

12-01 18:12:46.955: E/Unity(19439): AndroidJavaException: java.lang.ClassNotFoundException: com.yasirkula.unity.NativeFilePickerPermissionReceiver
12-01 18:12:46.955: E/Unity(19439): java.lang.ClassNotFoundException: com.yasirkula.unity.NativeFilePickerPermissionReceiver
12-01 18:12:46.955: E/Unity(19439): 	at java.lang.Class.classForName(Native Method)
12-01 18:12:46.955: E/Unity(19439): 	at java.lang.Class.forName(Class.java:454)
12-01 18:12:46.955: E/Unity(19439): 	at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
12-01 18:12:46.955: E/Unity(19439): 	at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
12-01 18:12:46.955: E/Unity(19439): 	at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
12-01 18:12:46.955: E/Unity(19439): 	at android.os.Handler.dispatchMessage(Handler.java:102)
12-01 18:12:46.955: E/Unity(19439): 	at android.os.Looper.loopOnce(Looper.java:226)
12-01 18:12:46.955: E/Unity(19439): 	at android.os.Looper.loop(Looper.java:313)
12-01 18:12:46.955: E/Unity(19439): 	at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
12-01 18:12:46.955: E/Unity(19439): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yasirkula.unity.NativeFilePickerPermissionReceiver" on path: DexPathList[[zip file "/data/app/~~2SxF3bRkAF4GEX2SPy-XmA==/com.jakedowns.nrealDemo-zZGyxBZwlPgN4jf7VdhXbw==/base.apk"],nativeLibraryDirectories=[/data/app/~~2SxF3bRkAF4GEX2SPy-XmA==/com.jakedow

Looks like the class is stripped but I don't know how because the embedded Proguard file specifically tells the Gradle compiler not to strip any of the classes. I don't believe you can reproduce this issue on a new project, so something is interfering with Gradle build pipeline in a way I'm unfamiliar with.

Ah, thank you, that was the issue, added to my Exported proguard-unity.txt
-keep class com.yasirkula.unity.* { *; }


feat(api): refactor access control management in Docker

This PR brings a rewrite of the access control management in the Portainer API.
Summary of the changes:

Automatically creates a private RC (Resource Control) after succesfully creating a Docker resource through Portainer. This RC is returned as part of the Docker resource creation response (Docker API response decoration).

The access policy on that resource can now only be updated by the user who created the resource or an administrator user via (via the ResourceControlUpdate API operation).

Restricting access to the ResourceControlCreate and ResourceControlDelete API operations to administrators only in order to prevent authenticated non-admin user from creating resource control accesses on any resources.

API update: the ResourceControlCreate API operation is now restricted to administrator users only. This allow an administrator user to create a custom access policy on a resource without any RC (such as resources created outside of Portainer, manageable as administrator only by default).

API update: the ResourceControlDelete API operation is not required anymore. Existing resource controls object are now removed when the Docker resource is removed. For convenience reasons, this API operation is still available and restricted to administrator users. It can be useful if users are mixing Portainer and Docker CLI usage.

Re-introduction of the AdministratorOnly attribute in the Resource Control object. As this was an already existing attribute in a previous version of the database, a database migration will be required to set this flag to false for all existing resource controls.

Introduction of a new System resource control to represent Docker system resources (such as the bridge, host and none networks). These kind of RC are created on the fly by the Portainer (not persisted inside the database) and are available publicly by defaut (ownership/access control on system resources cannot be changed).

Introduces the automatic creation of a resource control and the decoration of each Docker resource creation API operation where a user access policy can be set (ContainerCreate, VolumeCreate...). In the same fashion, the Docker resource removal API operations will automatically remove any existing resource control object associated to the resource to remove.

The authorizations associated to each role when using the RBAC extension have been updated:

Endpoint administrator: remove the ResourceControlDelete authorization
HelpDesk: no change
Standard user: remove the ResouceControlCreate and ResourceControlDelete authorizations
Readonly: no change

Triggers a database migration to update existing accesses for users as well as the authorizations associated to each role.

Add the ability to set access control from labels (closes https://github.com/portainer/portainer/issues/1257)

Labels can be set on any Docker resources in the following fashion:
    labels:
      # - "io.portainer.accesscontrol.public"
      # - "io.portainer.accesscontrol.teams=dev,prod"
      - "io.portainer.accesscontrol.users=bob,adam"

io.portainer.accesscontrol.public takes precedence over team/user assignments. A mix of team/user assignment is possible.
Fixes the following issues:

[x] Fixes #3273
[x] Fixes #3224
[x] Fixes #3346
[x] Fixes #3348
[x] Fixes #3351
[x] Fixes #3352
[x] Fixes #3364

@xAt0mZ re-creating a private container with another user account will try to associate the user id of the previous container owner to the newly created resource, which will fail as the backend won't allow that.
To reproduce:

with RBAC enabled, create a private container as adam (endpoint admin role or standard user role)
with user account bob (endpoint admin role) try to re-create adam container

Great news! Will there be a new portainer release in the next days?

Tested and works fine for me, waiting for the official release.
thx!

There seem to be problems with double entries. E.g.
- "io.portainer.accesscontrol.users=bob,adam,bob"
This changes the ownership of the group to restricted. But neither bob nor adam are listed.
Probably, the strings should be trimmed. Otherwise adam will not have access to the resource.
- "io.portainer.accesscontrol.users=bob, adam"
Great work! Thx!

This feature sounds awesome! pardon the newbie question, but does the use of the labels require the RBAC extension?

@shakeandbakeyo it do not.
@m-a-v sorry I only noticed this message right now, please open a bug report for this.

@deviantony thanks for the response. I don't think this is a bug for me. more about correct usage. but will open one to continue the discussion.

@shakeandbakeyo He asked me to open an issue for the bugs I found. I think you misunderstood that.


Mhe implementation

Initial PR to improve this feature.

Codecov Report

Merging #147 into master will not change coverage.
The diff coverage is 80.00%.

@@           Coverage Diff           @@
##           master     #147   +/-   ##
=======================================
  Coverage   87.66%   87.66%
=======================================
  Files          17       17
  Lines        2278     2278
=======================================
  Hits         1997     1997
  Misses        281      281

Impacted Files
Coverage Δ

biorbd_optim/integrator.py
100.00% <ø> (ø)

biorbd_optim/optimal_control_program.py
82.03% <50.00%> (ø)

biorbd_optim/path_conditions.py
84.80% <100.00%> (ø)

biorbd_optim/plot.py
76.61% <100.00%> (ø)

Continue to review full report at Codecov.

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

@fbailly
I am accepting this even though it is not ready yet for the MHE. But the changes I've made are important for everyone. I let you open a new PR for the MHE!


Vram leak on open/close windows and layersurfaces

Hyprland Version
e496b0f250139b572307d048f3189aa6dde72f18
Bug or Regression?
Bug
Description
First of all, it's nvidia, so might be isolated case. Whenever a window or layersurface is closed, there's a high chance vram consumption will go up by 10mb and such memory won't be freed, eventually consuming all vram and making the system unusable. My record so far was 2gb of vram being used by hyprland. Also managed to reproduce using default config.
How to reproduce
Open nvtop
Spam open/close window or layersurface
Watch vram usage spike (expected)
Watch vram usage stay the same even though all windows were closed
Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/64620317/653854d7-8242-4e54-b7aa-747637250b7f

+1 same problem on nvidia on arch branch of hyprland

repro'd, above should fix. Lmk. Thanks for spotting!

Aye, that works, thanks!


log_backup: move all download request into the same runtime

What is changed and how it works?
Issue Number: Close #14285
What's Changed:
Because the implementation of hyper (see https://github.com/hyperium/hyper/issues/2112), the lifetime of the client must be longer than the runtime.
However, because of some historic reasons, we are using a temporary runtime for S3 requests(!). Which may lead to the runtime dropped error (again!).
Download tasks will executed in a tiny runtime for now.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Manual test
(Generally this problem can only be tested by an end-to-end test, because the problem is S3 specified...)
The test is trivial: just run a PITR, and check whether there are "dispatch error".

BEFORE(Current release-6.5):

AFTER(This PR):

Release note
Fixed a bug that may cause restoring from S3 get slow.

/merge


Methylation frequency on the + and - strand

Hi,
Is there a way to split the output of naopolish calculate_methylation_frequency by + and - strand? There is a column with strand information in the output of naopolish call-methylation but not in the output of naopolish calculate_methylation_frequency.
Thank you!

HI @TheresaLueth,
There currently is not a function to do this in calculate_methylation_frequency.py. If you would like stranded frequencies, I suggested splitting the call-methylation file in two, one file for + and one for -.
Jared

Okay, I will try this.
Thank you for your help!

No problem, happy to help

Hi,
How can we split the call-methylation file in two? Can you explain more details? Thanks!


🐛 Update provider components if (and only if) it's spec has been changed

What this PR does / why we need it:
Now we update provider components only if it's version has changed, but there are other cases where we need to do the same. For instance, when we update its DeploymentSpec or ManagementSpec.
Also we should reconcile providers if their spec is the same as for the last applied version.
To fix it we calculate last applied spec hash and store it in a provider annotation. For next reconciliations we calculate the hash again. If it's the same as in the annotation, we skip further steps and stop immediately.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #156

/retest


[Bug] (trapped) error reading bcrypt version

Describe the bug
Trying to start langflow using the "python -m langflow" command after installing it in a conda environment on Windows 10 x64 results in the following error message:

[12/04/23 17:49:31] INFO     2023-12-04 17:49:31 - INFO     - manager - Alembic not initialized           manager.py:140
INFO     2023-12-04 17:49:31 - INFO     - manager - Initializing alembic              manager.py:121
INFO     2023-12-04 17:49:31 - INFO     - manager - Alembic initialized               manager.py:126
INFO     2023-12-04 17:49:31 - INFO     - manager - Running DB migrations in          manager.py:149
C:\Users\[username]\.conda\envs\textgen\lib\site-packages\langflow\alembic
(trapped) error reading bcrypt version
Traceback (most recent call last):
  File "C:\Users\[username]\AppData\Roaming\Python\Python310\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
    version = _bcrypt.__about__.__version__
AttributeError: module 'bcrypt' has no attribute '__about__'
[12/04/23 17:49:32] INFO     2023-12-04 17:49:32 - INFO     - utils - No LLM cache set.                      utils.py:92

Hey. This is a bug on passlib. I'll try to push an update on that ASAP.
The issue is bcrypt's version has to be pinned at 4.0.1 until they fix it in passlib.

Could you try version 0.5.11 to see if this is resolved?

found error:-
(trapped) error reading bcrypt version
Traceback (most recent call last):
File "E:\Coding\flask-project\venv\lib\site-packages\passlib\handlers\bcrypt.py", line 620, in _load_backend_mixin
version = _bcrypt.about.version
AttributeError: module 'bcrypt' has no attribute 'about'

For now I forced bcrypt to 4.0.1 in my requirements.txt and pip installed it. Fixed it. Thanks @ogabrielluiz 👍
bcrypt==4.0.1
passlib[bcrypt]

Any updates on when this will be fixed?

still happens with:
bcrypt==4.1.2
passlib[bcrypt]==1.7.4

是的 ，在 4.1.2 中还是会出现这个错误，回退到4.0.1 解决

Faced the same issue with
bcrypt==4.1.3
(trapped) error reading bcrypt version
Traceback (most recent call last):
File "/home/user/Documents/TriLIMS/api/venv/lib/python3.12/site-packages/passlib/handlers/bcrypt.py", line 620, in _load_backend_mixin
version = _bcrypt.about.version
^^^^^^^^^^^^^^^^^

passlib==1.7.4
(trapped) error reading bcrypt version
Traceback (most recent call last):
File "C:\Users\HP\Documents\fastapi\venv\Lib\site-packages\passlib\handlers\bcrypt.py", line 620,
in _load_backend_mixin
version = _bcrypt.about.version
^^^^^^^^^^^^^^^^^
AttributeError: module 'bcrypt' has no attribute 'about'

same using
bcrypt==4.1.2
passlib[bcrypt]==1.7.4

mismo uso
bcrypt==4.2.0
passlib[bcrypt]==1.7.4

use bcrypt==4.0.1
my requirements.txt
annotated-types==0.7.0
anyio==4.4.0
bcrypt==4.0.1
certifi==2024.7.4
click==8.1.7
colorama==0.4.6
dnspython==2.6.1
email_validator==2.2.0
fastapi==0.112.1
greenlet==3.0.3
h11==0.14.0
httpcore==1.0.5
httpx==0.27.0
idna==3.7
iniconfig==2.0.0
packaging==24.1
passlib==1.7.4
pluggy==1.5.0
psycopg2-binary==2.9.9
pydantic==2.8.2
pydantic_core==2.20.1
PyJWT==2.9.0
pytest==8.3.2
pytest-httpx==0.30.0
python-dotenv==1.0.1
python-multipart==0.0.9
sniffio==1.3.1
SQLAlchemy==2.0.32
starlette==0.38.2
typing_extensions==4.12.2
uvicorn==0.30.6

Still experiencing this bug with
passlib = "==1.7.4" bcrypt = "==4.2.0"

Still experiencing this bug with
passlib = "==1.7.4"
bcrypt = "==4.2.0"

experiencing issue as well...

This works well for me:
bcrypt==4.0.1
passlib==1.7.4

I believe the issue is that passlib is out of maintenance, and they're checking the version of bcrypt, probably something that they changed

I believe the issue is that passlib is out of maintenance, and they're checking the version of bcrypt, probably something that they changed

yeah you're right. i just ended up using bare bcrypt.

Could you show how?

Could you show how?

These helper methods cover all the functionality I need to hash and verify passwords. I then import them into my AuthService:
import bcrypt

def to_bits(s):
  return s.encode('utf-8')

def to_str(b):
  return b.decode('utf-8')

def hash_pwd(pwd: str) -> str:
  salt = bcrypt.gensalt()
  return to_str(bcrypt.hashpw(to_bits(pwd), salt))

def verify_pwd(plain_pwd: str, hashed_pwd: str) -> bool:
  return bcrypt.checkpw(to_bits(plain_pwd), to_bits(hashed_pwd))

This works well for me: bcrypt==4.0.1 passlib==1.7.4

Thanks @miguelmallquidiaz. I tried it. It is working.

I'm stuck in this issue too
> pip freeze | grep -Ei 'bcrypt|passlib'
bcrypt==4.0.1
passlib==1.7.4

I found this solution from fastapi discussion:
import bcrypt

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

app = FastAPI()

def verify_password(plain_password, hashed_password):
    return bcrypt.checkpw(
        bytes(plain_password, encoding="utf-8"),
        bytes(hashed_password, encoding="utf-8"),
    )

def get_password_hash(password):
    return bcrypt.hashpw(
        bytes(password, encoding="utf-8"),
        bcrypt.gensalt(),
    )

credit to https://github.com/sinisaos for the solution


Team Tea & Biscuits is in the house! - Richard Green, Mike Kaoudis, Kelly Kaoudis, Brandon Mikulka

:thumbs:
GitHub usernames plz :smile:

ping @thejinxters

@kaoudis @vanchagreen @mkaoudis
On Fri, Apr 10, 2015 at 7:25 PM, Ian Ker-Seymer<EMAIL_ADDRESS>wrote:

ping @thejinxters
Reply to this email directly or view it on GitHub:
https://github.com/HackCU/hackcu/issues/1#issuecomment-91736103


Update action information

name: action-zip
uses<EMAIL_ADDRESS>

This has already been implemented in another PR


Support flexible DataArray shapes in Dataset

I always use Pandas to deal with my neuroscience data (multi-dimension). It is annoying to stack and unstack all the time and I heard Xarray is designed for multi-dimension data.
In neuroscience research, we usually have multiple participants and we will test them different times, which means the data may look like this:

participant A:

2*5*100 matrix

participant B:

2*5*101 matrix

(100 and 101 are the testing times)
But Dataset doesn't support to have 2*5*100 DataArray and 2*5*101 DataArray together. Is there any solution to deal with that kind of data in Xarray?

this ultimately depends on how the last dimension of A and B are related (or rather, how you want to model the relationship). If they are not related at all, simply use different dimension names:
In [2]: da1 = xr.DataArray(np.empty(shape=(2, 5, 100)), dims=("x", "y", "z1"))
   ...: da2 = xr.DataArray(np.empty(shape=(2, 5, 101)), dims=("x", "y", "z2"))
   ...: ds = xr.Dataset({"a": da1, "b": da2})
   ...: ds
Out[2]:
<xarray.Dataset>
Dimensions:  (x: 2, y: 5, z1: 100, z2: 101)
Dimensions without coordinates: x, y, z1, z2
Data variables:
    a        (x, y, z1) float64 6.901e-310 6.901e-310 4.67e-310 ... 0.0 0.0 0.0
    b        (x, y, z2) float64 6.901e-310 6.901e-310 4.67e-310 ... 0.0 0.0 0.0

If they are related, assign coordinates to the dimensions:
In [3]: da1 = xr.DataArray(
   ...:     np.empty(shape=(2, 5, 100)),
   ...:     dims=("x", "y", "z"),
   ...:     coords={"z": np.arange(100)},
   ...: )
   ...: da2 = xr.DataArray(
   ...:     np.empty(shape=(2, 5, 101)),
   ...:     dims=("x", "y", "z"),
   ...:     coords={"z": np.arange(101)},
   ...: )
   ...: ds = xr.Dataset({"a": da1, "b": da2})
   ...: ds
Out[3]:
<xarray.Dataset>
Dimensions:  (x: 2, y: 5, z: 101)
Coordinates:
  * z        (z) int64 0 1 2 3 4 5 6 7 8 9 10 ... 91 92 93 94 95 96 97 98 99 100
Dimensions without coordinates: x, y
Data variables:
    a        (x, y, z) float64 6.901e-310 6.901e-310 ... 6.917e-323 nan
    b        (x, y, z) float64 6.901e-310 6.901e-310 ... 6.901e-310 -6.35e+53

In this case, A does not have the label z=100, so it is treated as missing (you should be familiar to the concept of "missing values" since you know pandas).

I dont try it, but i know your problem.
If you try to create from dataarray df.to_dataset(name='participant_A')
df.to_dataset(name='participant_B')
and after merge them?
xr.merge([ds1, ds2], compat='no_conflicts')
http://xarray.pydata.org/en/stable/combining.html
In potter case you could create nan values to create the same dimensions.
But i have never tried. I found another solution for my data, but it was my
alternative.
El dom., 19 abr. 2020 20:57, (Ray) Jinbiao Yang<EMAIL_ADDRESS>escribió:

I always use Pandas to deal with my neuroscience data (multi-dimension).
It is annoying to stack and unstack all the time and I heard Xarray is
designed for multi-dimension data.
In neuroscience research, we usually have multiple participants and we
will test them different times, which means the data may look like this:

participant A:

25100 matrix

participant B:

25101 matrix

(100 and 101 are the testing times)
But Dataset doesn't support to have 25100 DataArray and 25101
DataArray together. Is there any solution to deal with that kind of data
in Xarray?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pydata/xarray/issues/3984, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIGDFO4X4KQA5WPOVUEQQVLRNNCRJANCNFSM4ML467MA
.

@keewis your answer (and a clarification that we can't do real "ragged" arrays) would make a useful cookbook or StackOverflow answer, since I suspect a lot of people have this question.

Your both methods worked! Thank you!


Possible to have individual flags for metallic and roughness?

Hi, I posted issue#1956 over on the glTF-Blender-IO repo with regards to handling of metallic and roughness properties. TL;DR; when a material doesn't have metallic, the exporter is writing 1 into the exported texture as opposed to the value set by the node.
This got me wondering, currently in cgltf there is a combined flag that checks to see if a material has_metallic_roughness. I know that the texture source is one texture for both metallic and roughness, but was wondering if there are cases where one is present but not the other? For instance if a wood material only has roughess (along with baseColor and normal) but not metallic.
My inclination (which may be wong in terms of the spec) is that if the material only has roughness, there should be a texture for roughness and metallicFactor of 0. Which is what I'm seeing in the export:
			"pbrMetallicRoughness":{
				"baseColorTexture":{
					"index":1
				},
				"metallicFactor":0,
				"metallicRoughnessTexture":{
					"index":2
				}
			}

I don't see a flag in the cgltf API to check for metallic or roughness individually. Am I missing or misundersatnding something here?

The way you would check the condition you're asking about is material->has_pbr_metallic_roughness && material->pbr_metallic_roughness.metallic_factor > 0 and material->has_pbr_metallic_roughness && material->pbr_metallic_roughness.roughness_factor > 0, respectively.
has_pbr_metallic_roughness specifically refers to the presence of pbrMetallicRoughness node in glTF material file; cgltf mirrors the structure of glTF files pretty much one to one, so since glTF files don't have metallic and roughness separated, other than through factors, that's how cgltf represents this as well.

Let's ignore cgltf for now, as I said it tries to give a 1-1 semantic mirror of the glTF file.
The way glTF metallic roughness node works is that for every pixel, the metalness value is computed as metallicFactor * textureSample(metallicRoughnessTexture, uv).b, and roughness value is computed as roughnessFactor * textureSample(metallicRoughnessTexture, uv).g. When texture is absent, the texture sample is assumed to return (1, 1, 1, 1). When either factor is absent, it is assumed to be 1. See https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#metallic-roughness-material.
A factor is not ignored when a texture is present. A factor that is absent is indistinguishable from a factor that is specified and equal to 1.
As such, you can determine the definite absence of metalness (if the goal is to skip some computations) by checking if metalnessFactor is exactly 0 - even if texture is present, that will nullify whatever values the texture has.
If the factor is not 0 or absent (which means it's 1), and the texture is present, you can't definitively say whether any pixels of the mesh must be rendered as a metallic material - this requires analyzing the blue channel of the texture and seeing if all pixels are 0, which glTF file doesn't provide anywhere.
Hopefully that clarifies this? Getting back to cgltf, since absence of metallicFactor is equivalent to metallicFactor being specified as 1, cgltf doesn't store the presence of the factor in source document anywhere because from the spec perspective it doesn't matter if it exists.

That's a helpful explanation. Thanks!
I had forgotten that the factors acts as multiplier in the cases I stated above. In thinking about it, the ambiguous case(s) will need to be addressed with workflow requirements.


Is Marshal actually reducing the cooldowns?

I tried upping the fight length by 10x, but the amount of shouts cast with and without Marshal seems to be the same.

It's because it's subscribing to the WarCryEvent but WarCryCooldownAuraExpired hasn't been created yet at that point in time. Probably need to subscribe to AuraApplied[WarCryCooldown] event

Tried to fix this to subscribe to AuraAppliedEvent. But for some reason we're casting LESS shouts with Marshal glyph than without it. Doesn't make any sense.

Working properly!


Append/prepend actions triggered on partial rule chain match

I have following default action in my modsec installation:
SecContentInjection On
SecDefaultAction "phase:4,log,auditlog,append:'MODSEC_MATCH:%{rule.id}',pass"

I use content injection for testing purposes, it should trigger on rule/rule chain match, it returns id of matched rule, when matches. Also I have next chain:
SecRule ARGS chain \
  "chain, \
  msg:'Chained rule fired!', \
  id:'900001', \
  phase:1, \
  block, \
  t:none
    SecRule REQUEST_HEADERS:X-Catch-Me here

I got MODSEC_MATCH:900001 on request to /?smth=chain with header X-Catch-Me: here - OK.
BUT, when I send request /?smth=chain WITHOUT my super-header, I get MODSEC_MATCH:900001 too. I tried to change default action pass to deny, and it works fine, (except that it injects nothing in response). Also, other actions (log and auditlog) don't trigger together with prepend, they behave as they should.
software version:
ModSecurity for nginx (STABLE)/2.9.0
nginx version: nginx/1.9.4

I built nginx with latest version of nginx_refactoring branch, but got exactly same bug. Who knows another way to provide fired rule ID's with response, please, give me a clue!

Hi @metheoryt you may wnat to read about the setvar action:

https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#setvar


Fix serverless deployment

I reverted it back to what it was before, because for some reason every time I try to move function.js into a folder. GitHub gets confused about where backend/question-service/models is located (even though the path is correct) and just fails. I honestly don't know why it does this but having function.js at root works.

Outdated


Bump Spring Cloud GCP version to 1.2

@dzlier-gcp - Any insight into why this version bumps aren't being performed by renovate?

At least one of the dependencies doesn't seem to follow anything approximating semver; e.g. HOXTON.release

At least one of the dependencies doesn't seem to follow anything approximating semver; e.g. HOXTON.release

@elharo Hoxton is a release train name in Spring Cloud and they use it as version for the BOM. We don't really have control over it.


Remove trailing spaces and add a commit hook to prevent them

Trailing spaces are removed using
pre-commit run trailing-whitespace --all-files

Do we really want this?  If this goes in but we don't mandate the use of the precommit hook then we're going to increase the chance that a PR is going to seemingly randomly touch lines unrelated to a PR because some previous PR went in without the precommit hook.  We'd need a CI precommit check to verify the hook is being used to prevent it, and IMO that just makes it harder to contribute to the project since it makes the potential contributor jump through a hoop that is somewhat difficult to justify in practice.  Like a coding style, there's no semantic difference either way, but unlike a coding style, the difference isn't visual because it's whitespace.
If we're really going to do this, I'd personally rather see it done as part of a mandated coding style that would essentially force developers and contributors to use a precommit hook or script to reformat their PRs to pass a draconian CI precommit style check, much like the clang formatting and flake8 enforcement in the cudf project.  Doing just the whitespace change without also a coding style enforcement means we're in this weird middle ground where we either didn't really solve the "issue" because we aren't enforcing future commits or we are enforcing and thus forcing contributors to make changes that seem very arbitrary given the lack of any other coding style enforcement.

@jlowe I advocate for this check to be mandated. I wanted to create a separate PR for CI. However, I  see a marginal benefit of having the CI PR go in first over the situation today.

Mandating the removal of trailing whitespace is a form of an enforced coding standard, but in isolation it has the drawback that it has no visible benefit.  The code isn't any easier to read after the transform, and I think we can agree the potential disk space savings is not the goal here.
But then I'm wondering, what is the goal?  What tangible benefit do we point to when potential contributors stumbling into this new hurdle ask why the hurdle exists?  From my perspective, this seems like an arbitrary restriction on contributions since I don't see the benefit of enforcing it.  If it was part of enforcing an overall coding standard that increases code readability then that makes sense to me if the project chooses to force a rigid coding standard.

Spark enforces this via scala style:
<check level="error" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>

If we are going to enforce this, we should add this scala style check so that mvn verify fails on violations.

Spark enforces this via scala style:
<check level="error" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="true"></check>

If we are going to enforce this, we should add this scala style check so that mvn verify fails on violations.

Adding checks / linters to mvn verify is a good idea, and add another layer of defense.
pre-commit hook's advantages

it does not depend on the maven goals and lifecycle phases,
covers many file extensions out of the box, and is easily configurable for more or less
if the developer installs pre-commit, the check is much less likely to be skipped than maven verify before posting/updating  PRs

Will this impact any of the documentation PRs (markdown files)?

Will this impact any of the documentation PRs (markdown files)?

Yes, markdown files are also filtered as shown in the files modified in this PR (e.g.: docs/download.md).  Any contributors would need to ensure their trailing whitespace is filtered or have their submission rejected once the precommit CI starts enforcing this.  I think we all agree it isn't sensible to put this in without also enforcing it in the precommit, but where we disagree is whether this is worth changing at this time.  I still stand by my previous comment.

From my side, I just paused working on this because it's a lower-priority side issue for me, and I did not anticipate such discussion around it. It was standard in my past work.
Once the developer installs pre-commit we do enforce it in the pre-commit config
https://github.com/NVIDIA/spark-rapids/pull/2736/files#diff-63a9c44a44acf85fea213a857769990937107cf072831e1a26808cfde9d096b9R30. And I added the scalastyle rule per @andygrove's comment which the developer may equally skip running when submitting the PR.
I was thinking of adding a CI-side pre-merge check just like we do for large files with the error message how to automatically prevent this by installing pre-commit
I disagree that we should lump this issue with other formatting enforcement because this issue is more general and spans multiple languages including md.

Since this is at an impasse and not impacting functionality, can we close without any further action?


Upgrade existing version to .NET 7

See gaepdit/EPD-IT/issues/98

Applications using Entity Framework will be affected by this breaking change: Encrypt defaults to true for SQL Server connections.
Originally posted by @dougwaldron in https://github.com/gaepdit/EPD-IT/issues/98#issuecomment-1479718357

Closed by #567


make stan-revert shouldn't build dependency files

Summary:
make stan-revert shouldn't build dependency files
Description:
You can see example output here: https://jenkins.mc-stan.org/blue/organizations/jenkins/CmdStan/detail/PR-737/14/pipeline/12
Reproducible Steps:
run make stan-revert
Current Version:
v2.20.0

Yeah... I think to do this, we'll need to exclude the stan-revert target from kicking off any of the dependency files. I know that's not enough of a hint to implement, but I think that's what needs to happen.

This was fixed in one of the makefile refactors. Not an issue on current develop.


Build failing due to Manifest.lock Podfile.lock mismatch

Getting this error while building with xcodebuild. Using release 0.7.2v.
I've tried bundle exec pod install and removing my Podfile.lock with no luck so far. Any idea what might be causing this?
I was thinking that maybe PODFILE CHECKSUM: 239bd95cf3943e5b4c39aa6e03f66eabb1a7d796 is wrong, but honestly I don't know too much about how Cocoapods works.
▸ Check Dependencies
▸ Running script '[CP] Check Pods Manifest.lock'

❌  error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

** BUILD FAILED **

The following build commands failed:
	PhaseScriptExecution [CP]\ Check\ Pods\ Manifest.lock /Users/danielkarpinski/Projects/vinehealth.mobileapp.mvp/ios/build/Build/Intermediates.noindex/RCTAppleHealthKit.build/Debug-iphonesimulator/RCTAppleHealthKit.build/Script-4827C5812AF01D94AD806134.sh
(1 failure)
detox[9395] ERROR: [cli.js] Error: Command failed: xcodebuild -workspace ./ios/app.xcworkspace -scheme app -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build

Adding the following in my package.json fixed the issue for me as there is a Podfile and now it generates the Podfile.lock and Manifest.lock. It's a hack but works:
  "scripts": {
    "postinstall": "npx jetify && cd node_modules/rn-apple-healthkit/ && pod install || true"
  },

npx jetify was already there, but the pod install step solved this issue


Define student configuration file contents

Currently the 'student' tooling is configured through the SSettings.scala file that gets generated by the studentify command.
We want to get rid of this generated Scala file in favour of a plain properties configuration file; which is usable for different student tools.
Let's develop the contents of the configuration file in this issue.

@eamelink
We can close this one IMO. The tooling indeed generates a configuration file as part of the studentified repo.
It's a file named .cmt-config located in the root folder of the studentified repo.
For example, for the Lunatech Quarkus course, this is the content of the configuration file generated by cmta:
$ more .cmt-config
{
    "active-exercise-folder" : "code",
    "cmt-studentified-dont-touch" : [
        "code/.idea",
        "code/.bsp",
        "code/.bloop",
        "code/.vscode",
        "code/.mvn",
        "code/target",
        "code/pom.xml"
    ],
    "exercises" : [
        "exercise_001_initial_state",
        "exercise_002_a_qute_hello_world",
        "exercise_003_qute_products",
        "exercise_004_even_qute_products",
        "exercise_005_products_from_the_database",
        "exercise_006_CDI_and_ArC",
        "exercise_007_Convert_endpoints_to_JSON",
        "exercise_008_Adding_REST_data_Panache",
        "exercise_009_Hook_up_the_React_app",
        "exercise_010_Validation_and_PUT",
        "exercise_011_Going_Reactive",
        "exercise_012_Reactive_search_endpoint",
        "exercise_013_Listen_and_Notify",
        "exercise_014_Internal_Channels",
        "exercise_015_Connecting_to_Kafka",
        "exercise_016_Dead_Letter_Queue_and_Stream_filtering"
    ],
    "read-me-files" : [
        "README.md",
        "EXERCISES.md"
    ],
    "studentified-repo-solutions-folder" : ".cue",
    "studentified-saved-states-folder" : ".savedStates",
    "test-code-folders" : [
        "src/test"
    ]
}

An advantage of this approach is that in "emergency situations", the config file can be patched up in place (imagine for example that a student uses an IDE that wasn't taken into account when the studentified artefact was created and that this IDE creates some IDE metadata folder. The student can then add the folder to the cmt.cmt-studentified-dont-touch setting.


XcodeToBUILD

This PR implements the ability to pull any old Xcode project into Bazel. It simply reads the Xcode project and then generates a BUILD file from the Xcode project.

@jerrymarino This seems interesting but probably out-of-scope for this project?


4 Years and still no guidance for License server HA...

[Enter feedback here]
Why is it that Microsoft has gone through 2000, 2003, 2003 R2, 2008, 2008 R2, 2012, 2012 R2, 2016 and now 2019 and still has yet to produce any guidance around RDS License server HA.
Over the various OS release documentation the closest Microsoft has ever come is the addition on this page that has been 4 years since the last update and still only has a place holder with no link...

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

ID: 60723f7e-747c-1b5c-ad16-7b2382dfe6d0
Version Independent ID: fba257cf-e827-bf67-4af1-b4676a3a095a
Content: Remote Desktop Services - High availability
Content Source: WindowsServerDocs/remote/remote-desktop-services/rds-plan-high-availability.md
Product: windows-server
Technology: remote-desktop-services
GitHub Login: @lizap
Microsoft Alias: elizapo

Duplicate of #4648. Addressed.

Hi @IngridAtMicrosoft ! Could you please point me to the part of the documentation which addresses this issue? I just do not see it =(

Hi @IngridAtMicrosoft Ingrid Henkel FTE ! Could you please point me to the part of the documentation which addresses this issue? I just do not see it =(

You will see it sometime this evening, after our next publishing cycle is completed.

@IngridAtMicrosoft Ah cool 👍 thank you!


Let user prefix an attribute to force insertion into tags of envelope.

So, wondering how you would feel about creating some sort of convention where an attribute key is pushed into the tags of the envelope.
For example, I would like to pull the ai.user.id generated by the web client and add it to the span for my web requests.  I know you already have some mappings, but it would be cool if a user could force it into tags with a prefix.
Maybe something like KeyValue::new("tag-ai.user.id") (or whatever), and then in get_tags_for_span, after all of the other mappings, we just iterate through all of the attributes, grab the ones with the prefix, and then add the suffix+value into the tags field of the envelope.
Thoughts?

I'm also cool to implement it: I just don't want to work on it unless you are cool with that sort of functionality.

I think where possible, I would prefer to use semantic conventions. But I don't think there is a good match for all of the different App Insights tags.
So yeah, I think a prefix like you proposed would be a good idea. In a way all tags already have a prefix: ai.. I wonder if that's enough. 🤔
We could then also offer constants for these keys, similar to the opentelemetry-semantic-conventions crate. E.g.:
pub const USER_ID: Key = Key::from_static_str("optionalprefix.ai.user.id");

Then users can use them like:
use opentelemetry_application_insights::tags as ai;

let _span = tracer
    .span_builder("span-name")
    .with_attributes(vec![
        ai::USER_ID.string("42"),
        ai::USER_AUTH_USER_ID.string("42"),
    ])
    .start(&tracer);

We might want to exclude some tags like ai.operation.id, though. Otherwise users could accidentally break the relationship of spans.

Cool.  I also agree that sticking to the semantic conventions as much as possible is the best way to go.  This really just came out of the fact that I don't quite see a good semantic convention for ai.session.id, and I would like to capture ai.user.id, and enduser.id is already used for a different AI field.
On the prefix front, ai. could be a good prefix, since this crate is AI-specific anyway.  I like that idea.
Same thing on the constants: I like that idea, as well.
As for ai.operation.id, we could just "flip" the order.  Apply the ai. tags first, and then apply the ones that you currently apply (thereby overwriting the user-defined ones).

Sounds like a good approach. It would be amazing if you could give it go 🙂

I just published this under version 0.8.0. Thanks for adding this 👍


Question about Cordova and mobile platform dependency

This may be a dumb question, so I apologize in advance. But why do I need to have a mobile platform installed in order to make a "thin client" electron desktop build of my app?
I see this:
*2 you can always build with --server-only if you do not want to have mobile clients, you do not actually have to have android sdk or xcode to go on with your project
but I am not familiar with this and research into the Meteor docs indicate that it's strictly for making a build... Which leads me to my next question... I normally use Mup to deploy so I don't operate within the standard build process that meteor employs (except that it's handled for me)... So if I don't want to have any mobile clients or utilize cordova, can I just make a build and then use the run desktop <ddp url> somehow?
I see that the first paragraph in the instructions talk about how it takes the cordova build from the .meteor folder... but the prior caveat makes it sound like there's a way around this.
If anyone could shed some light, I would be very appreciative. :)
Thanks!

I had the same question when I first saw the project and never got the --server-only to work. I think the mobile part is just so a platform specific binary can be built and you are not bundling nodejs code in the final app. It works on OSX.

@btbjosh This is what I did to get it working for me on OSX. I needed two scripts. First one adds the npm packages and mobile capabilities to the meteor project + runs the server and the second one actually builds the app. Hope this helps.
Build script 1 from a /build folder in my project
#!/bin/bash
cd ../themetorappfolder
#make sure meteor is up to date
meteor reset
meteor npm prune
meteor add-platform ios
meteor npm install
meteor npm install --save-dev meteor-desktop

meteor --mobile-server=<IP_ADDRESS>:3000 --settings mycustommeteorsettings.json
echo 'NOW OPEN A NEW TERMINAL AND RUN BUILD STEP 2'

Build script 2 from same /build folder
#!/bin/bash
#this creates the .desktop folder and runs the app
cd ../themetorappfolder
#this step is just for when you have copied and customized the assets
#cp ../assets/* .desktop/assets/

#npm run desktop -- --scaffold
#npm run desktop build
npm run desktop build-installer

#on OSX the build puts the app/installer under themetorappfolder/.desktop-installer/mac/
#open in Finder
open .desktop-installer/mac/
echo 'Done building the app'

@sputnick Thanks. I actually was missing a step with the mobile server pointing to my wrong settings file (i have a few of them for different environments)... So that helped. I got it working now :) Pretty slick.
Thanks again!

FYI: in 0.7.0 you can now pass --meteor-settings to pass settings.json. This only works with -b so when meteor-desktop is building the meteor project for you.


Feature/ADL-8: Initial project setup

I have setup our Avalonia UI MVVM project, I have also added run configurations (for rider) to publish a windows and linux binary for distribution.
I have added a .editorconfig file - this will ensure everyone has the same code formatting guidelines no matter on the IDE / environment, for vscode you may need to install an extension -- please ensure you do so. If anyone wants a code standard changes, please let me know and I'll update the editor config :)
We have 2 projects under our solution:

Dashboard: Our app (can change the name later)
DashboardTests: Our NUnit test project -- runs a headless version of avalonia (i have a few mock tests in there now to test that the current demo dashboard displays correctly)

I have also setup a github action for our project, this will auto run formatting and tests for every PR we create.
I would heavily encourage everyone to checkout this branch and ensure the code can build, test, and run on your machine -- if not lmk and I will try fix up

LGTM


remove slack logging

We receive quite a lot of messages in slack. Currently this often obfuscates output from other integrations.
In this PR we remove the fluentd entry that is responsible for slack forwarding

Alternatively, should we send it to a dedicated channel? The amount of logs might justify a dedicated channel - if they are useful to tenants, then that might be ok?


citations generation: Export page

Add a CSL JSON export option using the CSL JSON serializer:
Part of: https://github.com/inveniosoftware/product-rdm/issues/17

Fixed in https://github.com/inveniosoftware/invenio-app-rdm/pull/893


GDAX - Backtesting in last 24h yields TypeError: Cannot read property 'currency' of undefined

I'm submitting a ...
[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Action taken (what you did)

Deleted SQLite history database.
Imported data since 2017-08-14 at midnite UTC from GDAX using CLI.
Attempted to run a backtest using daterange: 'scan' from CLI.

Expected result (what you hoped would happen)
Backtest would complete successfully.

Actual result (unexpected outcome)
Fatal error occurred backtesting:

2017-08-16 23:33:10 (DEBUG):    calculated MACD properties for candle:
2017-08-16 23:33:10 (DEBUG):             short: 4278.49961348
2017-08-16 23:33:10 (DEBUG):             long: 4266.62376128
2017-08-16 23:33:10 (DEBUG):             macd: 11.87585219
2017-08-16 23:33:10 (DEBUG):             signal: 11.29378142
2017-08-16 23:33:10 (DEBUG):             macdiff: 0.58207078
2017-08-16 23:33:10 (DEBUG):    In no trend
/opt/teamcity/gekko/node_modules/sqlite3/lib/trace.js:27
                    throw err;
                    ^

TypeError: Cannot read property 'currency' of undefined
    at PerformanceAnalyzer.calculateReportStatistics (/opt/teamcity/gekko/plugins/performanceAnalyzer/performanceAnalyzer.js:133:29)
    at PerformanceAnalyzer.bound [as calculateReportStatistics] (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at PerformanceAnalyzer.finalize (/opt/teamcity/gekko/plugins/performanceAnalyzer/performanceAnalyzer.js:170:23)
    at PerformanceAnalyzer.bound [as finalize] (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at /opt/teamcity/gekko/core/gekkoStream.js:44:9
    at Function.forEach (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:3298:15)
    at Gekko.shutdown (/opt/teamcity/gekko/core/gekkoStream.js:42:5)
    at Base.finish (/opt/teamcity/gekko/plugins/tradingAdvisor/baseTradingMethod.js:322:12)
    at Base.bound [as finish] (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at Actor.finish (/opt/teamcity/gekko/plugins/tradingAdvisor/tradingAdvisor.js:80:15)
--> in Database#all('\n    SELECT * from candles_USD_BTC\n    WHERE start <=<PHONE_NUMBER> AND start >=<PHONE_NUMBER>\n    ORDER BY start ASC\n  ', [Function])
    at Reader.get (/opt/teamcity/gekko/plugins/sqlite/reader.js:100:11)
    at Reader.bound [as get] (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at Market.get (/opt/teamcity/gekko/core/markets/backtest.js:61:15)
    at Market.bound [as get] (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at Market.processCandles (/opt/teamcity/gekko/core/markets/backtest.js:105:10)
    at bound (/opt/teamcity/gekko/node_modules/lodash/dist/lodash.js:729:21)
    at Statement.<anonymous> (/opt/teamcity/gekko/plugins/sqlite/reader.js:110:5)

It looks like the specified data range (start <=<PHONE_NUMBER> AND start >=<PHONE_NUMBER>) is missing when I open the SQLite DB in SQLite explorer.

Other information
I've tried both the develop and stable branches.

Can you upload your config and your dataset (where this happens)?

Requested info is now attached:
config.js.txt
history.zip

Ah, I should properly check this in Gekko but the problem is simple:
You have configured the performanceAnalyzer, but there is no trading plugin to feed it data (in this case portfolioData). You either need the trader or the paperTrader plugin (since it's a backtest you need the paperTrader plugin).

Note to self: Figure out why this is not caught by these checks in the pipeline.

@askmike Aha! This explains why it works through the UI on the same data set.

The UI builds a config dynamically and runs a Gekko based on it. You can look at the generated config by inspecting the POST request in your browser's developer tools like so:

(at the far bottom at request payload).


"Writerly" hard-coded into StoreHelper

In the Redeem an Offer section of Manage Purchases I get "Have an offer code for Writerly? Tap "Redeem an Offer" to...
This should be a configurable param rather than a string hard-coded into the package.

Fixed! Thanks for letting me know!


forceTLS: false being ignored.

Reverb Version
1.4.3
Laravel Version
11.32.0
PHP Version
8.2
Description
I have setup laravel Reverb with laravel-echo on my webserver succesfully and was working fine. After some days of testing I added SSL certificate, now the ws:// connection is swapped to wss:// after changing some .env reverb variables and nginx config.
I don't get the wss:// connection to work. So I want to let Reverb connect through ws:// instead because I tested this connection via Postman and this is stil functioning.
I changed the .env variables like so:
REVERB_APP_ID=app_id
REVERB_APP_KEY=hidden_key
REVERB_APP_SECRET=hidden_secret
REVERB_HOST="my.website.url"
REVERB_PORT=6001
REVERB_SERVER_HOST=<IP_ADDRESS>
REVERB_SCHEME=http

VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"

and in bootstrap.js:
import axios from 'axios';
window.axios = axios;

window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

/**
 * Echo exposes an expressive API for subscribing to channels and listening
 * for events that are broadcast by Laravel. Echo and event broadcasting
 * allow your team to quickly build robust real-time web applications.
 */

import Pusher from 'pusher-js';
window.Pusher = Pusher;

import Echo from 'laravel-echo';

const OriginalRuntime = window.Pusher.Runtime;
window.Pusher.Runtime = {
    ...OriginalRuntime,
    getProtocol() {
        return 'http:'
    }
};

window.Echo = new Echo({
    broadcaster: 'reverb',
    key: import.meta.env.VITE_REVERB_APP_KEY,
    wsHost: window.location.hostname,
    wsPort: import.meta.env.VITE_REVERB_PORT,
    wssPort: import.meta.env.VITE_REVERB_PORT,
    forceTLS: false,
    enabledTransports: ['ws'],
});

And i have run: php artisan optimize:clear && npm run build.
But still when I check the network tab
wss://my.website.url:6001/app/ is being use with wss:// so I think this means forceTLS: false, is being ignored?
More info nginx available-site config:
    # Add this block for WebSocket proxying
    location /app/ {
        proxy_pass my.website.url:6001; # Replace with your WebSocket server's IP and port
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

Steps To Reproduce
Not required

Seems like when you set a SSL certificate you are not allowed to connect through ws anymore. Which makes sence, but I dont  get my reverb to settup correctly.
My nginx config:
server {
    server_name _ DOMAIN www.DOMAIN my.domain.nl;
    root /var/www/laravel/public;

    listen 443 ssl http2;

    ssl_certificate /etc/letsencrypt/live/domain.nl/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.nl/privkey.pem;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }

    # Add this block for WebSocket proxying
    location /app/ {
        proxy_pass <IP_ADDRESS>:6001; # Replace with your WebSocket server's IP and port
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

/config/reverb.php
    'servers' => [

        'reverb' => [
            'host' => env('REVERB_SERVER_HOST', '<IP_ADDRESS>'),
            'port' => env('REVERB_SERVER_PORT', 8080),
            'hostname' => env('REVERB_HOST'),
            'options' => [
                'tls' => [
                    'cert_path' => '/etc/letsencrypt/live/domain.nl/fullchain.pem',
                    'key_path' => '/etc/letsencrypt/live/domain.nl/privkey.pem',
                    'cafile' => '/etc/letsencrypt/live/domain.nl/chain.pem', // Optional: If required by your server
                ],
            ],
            'max_request_size' => env('REVERB_MAX_REQUEST_SIZE', 10_000),
            'scaling' => [
                'enabled' => env('REVERB_SCALING_ENABLED', false),
                'channel' => env('REVERB_SCALING_CHANNEL', 'reverb'),
                'server' => [
                    'url' => env('REDIS_URL'),
                    'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
                    'port' => env('REDIS_PORT', '6379'),
                    'username' => env('REDIS_USERNAME'),
                    'password' => env('REDIS_PASSWORD'),
                    'database' => env('REDIS_DB', '0'),
                ],
            ],
            'pulse_ingest_interval' => env('REVERB_PULSE_INGEST_INTERVAL', 15),
            'telescope_ingest_interval' => env('REVERB_TELESCOPE_INGEST_INTERVAL', 15),
        ],

    ],

.env reverb:
REVERB_APP_ID=949906
REVERB_APP_KEY=yeuxwxdgiy7pcckljglb
REVERB_APP_SECRET=429lnzpoxbxe6buzwa0c
REVERB_HOST="domain.nl"
REVERB_PORT=6001
REVERB_SERVER_HOST=<IP_ADDRESS>
REVERB_SCHEME=https

I am trying to fix this for 2 days now, but I can't find the mistake.

Hey there,
While this may be a legitimate issue, can you first try posting your problem or question on one of the support channels below? If this issue can be definitively identified as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!


Tidied

Hi Leo! Great work - this looks really tidy! One change I'd recommend is not indenting  and . This will save you a level on indentation (discussed further here under "What about the basic structure of a webpage?": https://www.granneman.com/webdev/coding/formatting-and-indenting-your-html/). Please make this change and mention me when you push up a commit that resolves the issue.

Hi Leo, I've done some more reading on this (http://stackoverflow.com/questions/29900287/should-head-and-body-tags-be-on-a-different-level-of-indentation-to-html) and it seems like standard practice to indent <head> and <body>, so I'm accepting your PR.


feat: mutation testing setup

First stab at mutation testing using the go-mutesting tool/binary.
A quick summary of mutation testing and the output the binary produces:

Mutation testing attempts to modify a program or binary, which are called mutants, and executes existing tests against those mutants.
If tests fail, the mutant is considered "killed".
Having mutants killed is a good thing, which means the software properly tests the various possible execution paths and should lead to strong confidence levels in the program's correctness.
The go-mutesting produces an output such as the following: The mutation score is 0.750000 (6 passed, 2 failed, 0 skipped, total is 8). This means 6 mutants were killed yielding a score or confidence level of 75%, which is not terrible. The higher the score the better.
False positives are probably going to be a common, i.e. a mutant that isn't killed but should be ignored. The most common example is "early exits" in a function/method. These are going to be pretty common I imagine and need to be added to a "blacklist" file that we will maintain as times goes on.

This PR sets up the scaffolding in CI for mutation testing and uses various parts of x/tokenfactory as the starting point. Subsequent PRs should be made which add more and more files/packages to be executed. Note, if the confidence score is low, that means our tests are not sufficient and should be improved prior to merging said PR.

This is awesome! Ran the script for the token factory module, and this seems like qutie valid testing gaps found!
(That we currently aren't verifying codec changes, which even led to concerns on PRs #1972 #1994 )
Only errror type I;'m struggling to understand right now is:
-
-	_, err = GetTokenDenom(m.Sender, m.Subdenom)
+	_, _, _ = err, m.Sender, m.Subdenom
 	if err != nil {
 		return sdkerrors.Wrap(ErrInvalidDenom, err.Error())
 	}

wdyt the steps here should be?  (Beyond understanding ^ and if its a false positive)
I feel like going ahead and merging this, and then maybe making CI run this on a schedule (perhaps once a week at first?) for a couple modules, and generate a list of failures into a github issue we tackle? (If details of that are hard, we can do so manually first couple of times)

@ValarDragon simulation is failing in CI (and locally) every now and then when the simulator decides to use the same lock ID twice. I can look into it, but for now if we rerun this should clear

Really excited about this!


chore: upgrade connectors

Closes #3006
Closes #3014

Summary
Upgrade @fuels/connectors and @fuels/react to 0.25.0 for stability with dependency issues, thus resolving the broken integration test. I had some trouble upgrading the wallet-sdk-react-demo, had some obscure errors but seemed to be resolved by upgrading the create next-app templating. I didn't have the same problem with the other next apps.
Checklist

[x] All changes are covered by tests (or not applicable)
[x] All changes are documented (or not applicable)
[x] I reviewed the entire PR myself (preferably, on GH UI)
[x] I described all Breaking Changes (or there's none)

@danielbate 🚢?

@arboleya hmm 🤔


Add standalone volume

Hi,
I couldn't post in discussions for some reason so excuse for asking here.
Is it possible to add a standalone volume (not a member of a storage group) ? if so how?
Thanks

Yes there is an add volume to storage group function and add existing volume to storage group function. If you search the read the docs you should be able to find. I can post names here later if you have trouble finding them
…
________________________________ From: ransa808 @.> Sent: Monday, April 3, 2023 1:15:34 PM To: dell/PyU4V @.> Cc: Subscribed @.> Subject: [dell/PyU4V] Add stadlone volume (Issue #165) [EXTERNAL EMAIL] Hi, I couldn't post in discussions for some reason so excuse for asking here. Is it possible to add a standalone volume (not a member of a storage group) ? if so how? Thanks — Reply to this email directly, view it on GitHub [github.com]<https://urldefense.com/v3/https://github.com/dell/PyU4V/issues/165;!!LpKI!hS12HZMhBrJKUywt-Pz3IKOt3nYJPBbr0u7PKLTHCG22-Mu0FC9w0O7lU5jp4fp1eXcidy2qMuqeSUKlaM4IfCHm$>, or unsubscribe [github.com]<https://urldefense.com/v3/https://github.com/notifications/unsubscribe-auth/AF7FWPP53NLGFAQ3KTAKEPLW7K5ONANCNFSM6AAAAAAWRHN4NM;!!LpKI!hS12HZMhBrJKUywt-Pz3IKOt3nYJPBbr0u7PKLTHCG22-Mu0FC9w0O7lU5jp4fp1eXcidy2qMuqeSUKlaMzbNQdE$>. You are receiving this because you are subscribed to this thread.Message ID: @.>

Yes there is an add volume to storage group function and add existing volume to storage group function. If you search the read the docs you should be able to find. I can post names here later if you have trouble finding them
…
________________________________ From: ransa808 @.> Sent: Monday, April 3, 2023 1:15:34 PM To: dell/PyU4V @.> Cc: Subscribed @.> Subject: [dell/PyU4V] Add stadlone volume (Issue #165) [EXTERNAL EMAIL] Hi, I couldn't post in discussions for some reason so excuse for asking here. Is it possible to add a standalone volume (not a member of a storage group) ? if so how? Thanks — Reply to this email directly, view it on GitHub [github.com]<https://urldefense.com/v3/https://github.com/dell/PyU4V/issues/165;!!LpKI!hS12HZMhBrJKUywt-Pz3IKOt3nYJPBbr0u7PKLTHCG22-Mu0FC9w0O7lU5jp4fp1eXcidy2qMuqeSUKlaM4IfCHm$>, or unsubscribe [github.com]<https://urldefense.com/v3/https://github.com/notifications/unsubscribe-auth/AF7FWPP53NLGFAQ3KTAKEPLW7K5ONANCNFSM6AAAAAAWRHN4NM;!!LpKI!hS12HZMhBrJKUywt-Pz3IKOt3nYJPBbr0u7PKLTHCG22-Mu0FC9w0O7lU5jp4fp1eXcidy2qMuqeSUKlaMzbNQdE$>. You are receiving this because you are subscribed to this thread.Message ID: @.>

My goal is to create a volume that is not a member of any storage group, is it possible via the api?

closing as this is not supported in the API

I'm trying to add a volume to an existing SG which has SRDF replicated volumes, I get the following error message :
invalid input [this will render the storage group srdf unmanagable. Force flag is needed to continue.
Is there  any other solution or workaround to create a new volume and add it to such SG ?

no, you must use a storage group to create a volume with the API
Can I ask why you want to create a volume outside storage group structure?

Can you re-open please?

I'm trying to add a volume to an existing SG which has SRDF replicated volumes, I get the following error message : invalid input [this will render the storage group srdf unmanagable. Force flag is needed to continue.
Is there any other solution or workaround to create a new volume and add it to such SG ?

i've re-opened but the error is clear, it's not a PyU4V issue you are having, the issue is you are trying to add volumes to a protected storage group without following the protection workflow, you need to provide the additional parameters to provide details for where to protect, this is a protection mechanism in the API you will get the same error in GUI.

Per documentation for add_new_volume_to_storage_group
:param remote_array_1_id: 12 digit serial number of remote array,
optional -- str
:param remote_array_1_sgs: list of storage groups on remote array to
add Remote device, Unisphere instance must
be local to R1 storage group otherwise
volumes will only be added to the local
group -- str or list
These parameters are the ones you provide when adding volumes to SRDF protected storage group, on the assumption you want to protect them.  If you want to force add them then that's up to you but it will make the storage group unmanageable as per the message, you can provide the force flag to the API call but you will need to make a custom API call for that as PyU4V doesn't have these flags added to the functions to protect customers from breaking things in an automated way.  We should really be following the rules and not trying to force anything outside of the happy path workflows.  https://pyu4v.readthedocs.io/en/latest/quick_start.html#perform-a-custom-rest-call-in-pyu4v


Provide a Django TestCase sub-class to facilitate testing of Strawberry APIs in Django

Inspired by graphene-python's Django integration, provides a sub-class of Django's TestCase that includes a helper method for testing your GraphQL API with real Django requests. This enables things like authentication, which otherwise are not possible, because there is no Django HTTPRequest provided if you execute queries against your schema manually.

v0.10.0 introduced a test client that can be used to solve the issues this PR was trying to solve: https://github.com/strawberry-graphql/strawberry-graphql-django/blob/main/strawberry_django/test/client.py
And since this has been stale for a while, I'm going to close it


Feature/cu kd5r5u cannot integrate new aws platform by following aws documentation or executing terraform modules

preview.pdf

Task linked: CU-kd5r5u Cannot Integrate new AWS Platform by following AWS Documentation or executing Terraform Modules

Merging this because other tickets are also being implemented in the same area and would be good to have these changes in. @chewbeccy is on vacation and @Jelledb & @tfelix is on meshTraction. If any changes are needed we do it later I guess.


on failure to add network trying to use exisiting configuration, #36

If adding network fails setup looks for existing configuration by SSID and tries to use that instead. While testing solution reduced failure rate on nougat significantly.

@CityVibes have you tested this on a Samsung device yet?

@jensck I have samsung S7, so tested on that.

Excellent.
You can merge when you're ready, I just want to get clear on what was happening with the network add/remove functions.


Avoid cache collision for org teams in unique GitHub instance

This pull request avoids cache name collisions for organization teams in unique GitHub instances by using an instance-aware key.

Closing in favor of https://github.com/github/entitlements-github-plugin/pull/30


Pyraminx 4+5 but also Megaminx 3+ does nothing?

Eg this. A Pyraminx with size 4 and Alg R and Case L => but shows a solved pyramid?
Tested on your test site [https://tdecker91.github.io/puzzlegen-demo/](tdeck91 Demo)
`let type = "pyraminx";
let options = {
  "width": 500,
  "height": 500,
  "puzzle": {
    "alg": "R",
    "case": "L",
    "size": 4
  }

Hey @Domalar thanks for the interest.
Yes unfortunately larger pyraminx and megaminx do not support Algs. It should be noted in the docs. This isn’t something I plan to add support for (at least anytime soon). You can set the sticker colors manually if all you needed was a picture.
If you need that functionality I recommend something like https://alpha.twizzle.net/
sorry it’s not the answer you were probably looking for. Currently the simulators that I wrote for the pyraminx and megaminx strictly only support the wca competition official sizes and isn’t abstract enough to support multiple layers.


RuntimeError: tensorflow/lite/kernels/concatenation.cc:158 t->dims->data[d] != t0->dims->data[d] (0 != 1)Node number 60 (CONCATENATION) failed to prepare.Failed to apply the default TensorFlow Lite delegate indexed at 0.

1. System information

OS Platform and Distribution: Ubuntu 18.04.5
TensorFlow installation: 2.8.0 (pip package or built from source):
TensorFlow library (version, if pip package or github SHA, if built from source):

2. Code
Provide code to help us reproduce your issues using one of the following options:
Model can be accessed through link here: https://drive.google.com/file/d/1ucgrKsFkoWiEaZCtk_DmF_fIMqumhH4Z/view?usp=sharing
interpreter = tf.lite.Interpreter(model_path="./temp_model.tflite")
interpreter.allocate_tensors()

3. Failure after conversion
If the conversion is successful, but the generated model is wrong, then state what is wrong:
Conversion is successful. But when doing the inference, something wrong. The model can't be loaded.
RuntimeError: tensorflow/lite/kernels/concatenation.cc:158 t->dims->data[d] != t0->dims->data[d] (0 != 1)Node number 60 (CONCATENATION) failed to prepare.Failed to apply the default TensorFlow Lite delegate indexed at 0.
5. (optional) Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Hi @jsw-zorro
Sorry for the late response. This issue does not seem to be replicating in 2.8.2, 2.9 and nightly. Could you try in 2.9/nightly and let us know.
Thank you!

Ok @jsw-zorro !
Thanks for the update.  Could you please look at this issue.
Thank you!

@jsw-zorro Is it possible for you to provide a colab gist of this issue? Thanks!


influx reported to https endpoint

the problem i am facing is for some reason, writing to an https endpoint results in failure everytime. is this by design?

Duplicate - https://github.com/AppMetrics/InfluxDB/issues/24


Give REST endpoints better names on the apidocs pages

Currently the names are actually the paths to the endpoint, despite the fact that they can be proper english strings. (Perhaps the old swagger didn't allow this..)

Fixed


Somfy Blinds

Hi,
I used your integration and it works perfectly. There is just one thing. The blinds get recognized as lights. They can open and close from the Kaku app. It's Somfy RTS so doesn't report back a state. When I add it in HA, it gives me a light switch that can only open it. How do I solve this?

Hi,
I have exactly the same challenge. All the lights are working fine, but the sunscreen isn't going up or down.
In the klikaanklikuit app, the sunscreen is configured using 'somft rts - sunscreen'. The buttons within this app are also slightly different (up, down and pauze/stop).
Within the HA integration, the 'sunscreen' item is recognised/imported, but it only has an on/off button and these do not trigger the action in klikaanklikuit.
Should I change the 'light' in de code with something else, of add a second integration with the same details but change light in switch?
Regards,
Frank

Please see https://github.com/rdegraafwhizzkit/ics2000-hass/issues/3. Somfy is not supported as I do not own such equipment. Anyone with coding skills AND Somfy hardware is more than welcome to contribute ;)