[BUG]

:information_source: Info
Pulled version 0.1.1-alpha from GitHub.
Version on Pub.dev however is still 0.1.0-alpha (that version is used if you activate the package using dart pub global activate figma2flutter).
:speech_balloon: Description
First of all, @mark-nicepants thank you for this awesome package!
I've been trying out the package but there are 2 small bugs that I've noticed.
The generated output is not correct, and I think I've found the reason for it.
In the tokens.g.dart file the generated class DefaultRadiiTokens tokens returns a const BorderRadius.zero which is not possible, since there is no const constructor for BorderRadius.zero. The same goes for DefaultSpacingTokens, where a const EdgeInsets.zero can be returned, which is not possible either since there is no const constructor for EdgeInsets.zero.
I tried to make a PR, but I have no permissions it said when I tried to push the PR. I noticed how ever that the bug for the DefaultSpacingTokens class is fixed in version 0.1.1-alpha, but because the version 0.1.0-alpha is being used (that's the version on pub.dev) the files still generate the wrong output.
I fixed those little bugs locally on my machine, but another error came to light when I did that. I tried to activate the local package by using dart pub global activate --source path <local dir>, so I am able to run the figma2flutter --input <input json> --output <output dir> with the fixed bugs. This however did not work because the paths are hardcoded in version 0.1.1-alpha in the figma2flutter.dart file, instead of using the values from the parameters.
Edit: I missed the commented lines above the part were the paths were hardcoded, so locally on my machine I uncommented the variables that take the values supplied for the input and output parameters, and commented the hardcoded lines and that worked!
Summary / TL;DR:

DefaultRadiiTokens class still contains a const BorderRadius.zero which will not work.
Version on pub.dev is behind (0.1.0-alpha is being used, instead of 0.1.1-alpha).
figma2flutter --input --output does not work in version 0.1.1-alpha due to hardcoded values in the figma2flutter.dart file.

:scroll: tokens file you tried to import
Not applicable

It looks like someone did a PR for the const BorderRadius.zero

Sorry for the delay. I pushed a new update to pub.dev with these bugs all fixed.

No worries! Keep up the good work!


Support using Traefik as a Service Mesh with Service Fabric

The aim would be to allow services to use a label like traefik.servicefabric.enable-mesh which would publish a service on an internal endpoint.
Inter-service communications can then benefit from features of traefik such as circuit-breakers, retry, rate-limiting etc.
Tasks:

update to add support for this label
add support for adaptive weighting to prefer routing to services on the local node over remove nodes
test using this approach in a large cluster

Proposal
Create an additional label traefik.servicefabric.mesh. When this label is added to a service it would be added to the mesh endpoint defined in your traefik.toml the default template would be updated to include this endpoint too.
All labels set on the service would then control the behavior of the service in the mesh so existing labels for circuitbreaker etc would work internally.
# Entrypoints definition
#
# Optional
# Default:
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.traefik]
address = ":8080"
[entryPoints.mesh]
address = ":7887"

Hey @lawrencegripper ,
First of all let me start by saying i truly believe this can be an amazing functionality to all service fabric users.
Just to add some background, before i started to think about traefik as a service mesh i started to think about the concept of using Traefik as in internal reverse proxy for my internal service to service communication after i noticed that when using windows as the OS of the cluster nodes the integrated reverse proxy is a thin and basic application which is far from being a fine grained reverse proxy which looks legit for production use cases.
On Linux based node deployment, the integrated reverse proxy is Envoy (which i find highly similar to Traefik) which is way different than the windows based reverse proxy app.
I know from various sources that a work is being made in order to include Envoy is windows based deployment as well.
As a personal note, Upon availability of both Traefik and Envoy i will probably choose Traefik for various reasons :).
After i examined all of the features offered from Traefik which include circuit breaker, rate limit, max connections, authorization,letsencrypt support, access log, retry policy and more..
I realized its way more than a simple proxy that make a URL manipulation, and it has a lot functionalities i want in my service mesh layer.
Before going to implementation and thinking about Lables and entry points I would start with checking with the Treaefik team what is their opinion regarding using Traefik as a service mesh, because after reading their documentation and large portion of the code it looks like they are defining Traefik more as a modern reverse proxy which handles communication from the external world into the backend implementation.
I cant see any samples or blogs talking about using it for internal service to service communication although its really easy to achieve it  due to the fact we already have service discovery so whats left is just to have an entry point with a port which is not exposed to the external world.
In the rules identified associated with the internal endpoint i can easily get rate limiting, circuit breaker, retries and more for my internal service to service communication... which are without a doubt a mesh layer responsibility.
I even took the time to check it in my DEV cluster with 50+ micro services deployed to it and it looked fine. 40 of them was connected to the internal entry point and 10 were exposed to the external world in and external entry point which i exposed to the external world.
Now when it comes to mesh solutions there are a lot of discussions around the division between the data planes and the control planes (more info can be shown here -

https://medium.com/microservices-learning/understanding-microservices-communication-and-service-mesh-e888d1adc41

https://blog.envoyproxy.io/service-mesh-data-plane-vs-control-plane-2774e720f7fc

Treafik is often correlated with the data planes features...in my opinion some of the control planes features too.
Projects like  Istio (https://istio.io/) have a a real separation between the control and the data plane.
Essentially  Istio  makes use in Envoy as a data plane and have implementation for the control plane.
As far as it looks to me, it looks legit to use it as mesh because as i mentioned it looks like it includes a lot of out of the box functionality besides routing and classic load balancing, and on top of that at the end of the day Service fabric linux based deployment are are using Envoy in the same manner.
In my opinion it might not have the flexibility of stuff like Istio but its can be still used as a mesh layer.
Now, regarding the fact you consider to have an option that will prefer stay on the same node in service to service communication (if both service are deployed in the same host) im not sure it the exact behavior we want to achieve. if the node is under a lot of load maybe its better to route the traffic to another node which host the desired service.
I would be happy to see your opinion and @jjcollinge  opinion as well :) this development should be really precise because if customers will use it as a mesh changing the design will be a hard task :)
Avi.


Breadcrumbs should not display parts of baseURL

Another fix related to baseURL (also remove a regression from previous one)

Also Error: Username and password required on Push PR step


Investigate whether Adobe Embed API can highlight areas using bounding box coordinates

As part of #337, @eurolife built a demo where text is highlighted on a PDF embedded in a webpage using the Adobe Embed API.
In reality, there are likely to be differences between the text we've extracted from a PDF and the text that's searchable in a PDF embed. Therefore, it'd be better if we could highlight text/an area of the page using a set of bounding box coordinates, which could be returned by the product's search API.
This issue is to investigate whether we can highlight areas of a PDF given a page number and a set of bounding box coordinates.

this article and codepen might contain some clues https://medium.com/adobetech/adding-annotations-to-a-pdf-using-adobe-pdf-embed-api-fb6f85da4c02


Explain how to access MQ from outside the cluster

https://learn.microsoft.com/en-us/azure/iot-operations/manage-mqtt-connectivity/howto-test-connection#connect-clients-from-outside-the-cluster-to-default-the-tls-port
I believe the scenario fo accessing MQ outside the cluster should be revisited to make sure we explain how to connect using secure best practices. The article uses the --insecure  flag.
Some proposal we should consider:

Configure the TLS cert using a cert-manager issuer to configure the PublicIP/DNS to make it a valid certificate.
Add instructions on how to open a port in AKS-EE
Add a code sample on how to validate the TLS cert outside the cluster

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

ID: 93b1be01-5496-3904-fe5e-dead1ecd7f4e
Version Independent ID: 48051c74-9ff5-1d38-da4e-e79e97edd2dd
Content: Test connectivity to IoT MQ with MQTT clients - Azure IoT MQ
Content Source: articles/iot-operations/manage-mqtt-connectivity/howto-test-connection.md
Service: iot-operations
Sub-service: mq
GitHub Login: @PatAltimore
Microsoft Alias: patricka

@rido-min
I've delegated this to @PatAltimore , a content author, to review and share their valuable insights.

We might just want to better explain the intent. The page in question about testing. For non-testing use, we have https://learn.microsoft.com/en-us/azure/iot-operations/manage-mqtt-connectivity/howto-configure-tls-auto?tabs=prod
I think we add an H2 with the clarification.
We can also add a link to relevant AKS EE content.

even for testing we dont need to use  the --insecure flag, as long we specify the CaFile when connecting.


Slurm initialization only supports one device per host

I have access to a HPC cluster with multiple nodes that each have two GPUs. As I want to do computations that require the memory access of many GPUs, I was looking into the multi-host setup.
The HPC cluster uses slurm, so using that for initialisation seems the easiest. I created a simple test script:
import os

import jax

jax.distributed.initialize()
jax.config.update("jax_enable_x64", True)

print(os.environ.get("CUDA_VISIBLE_DEVICES"))
print(jax.devices(), jax.local_devices())

And a slurm job script:
#!/bin/bash
#SBATCH --mail-type=ALL
#SBATCH --nodes=2
#SBATCH --tasks-per-node=1
#SBATCH --exclusive
#SBATCH --job-name=jax-multinode-test
#SBATCH --gpus=4

source $DATA/venv-jax/bin/activate
cd ~/jax-testing/
srun python distributed.py

I would then expect jax.devices() to be an array of 4 GPU devices. But the output is:
0,1
[gpu(id=0), gpu(id=1)] [gpu(id=0)]
0,1
[gpu(id=0), gpu(id=1)] [gpu(id=1)]

So each of the two hosts only contributes one local device.
If I comment out jax.distributed.initialize() and therefore let both hosts do their own thing, both hosts detect both GPUs properly:
0,1
[gpu(id=0), gpu(id=1)] [gpu(id=0), gpu(id=1)]
0,1
[gpu(id=0), gpu(id=1)] [gpu(id=0), gpu(id=1)]

Technically, this is documented here in the function arguments:
https://github.com/google/jax/blob/f94104f71a041def61ea5b22676bbbecbfbe0a9b/jax/_src/distributed.py#L147-L149
But I am not sure what the reason for this limitation is as in my experience having two GPUs per host is quite common.
And patching
https://github.com/google/jax/blob/f94104f71a041def61ea5b22676bbbecbfbe0a9b/jax/_src/clusters/slurm_cluster.py#L60-L62
to instead return None  makes everything work the way one would expect:
0,1
[gpu(id=0), gpu(id=1), gpu(id=2), gpu(id=3)] [gpu(id=0), gpu(id=1)]
0,1
[gpu(id=0), gpu(id=1), gpu(id=2), gpu(id=3)] [gpu(id=2), gpu(id=3)]

(see https://github.com/google/jax/discussions/16789 for another issue I am having with doing this)

Same thing
#!/bin/bash
#SBATCH --job-name=trl
#SBATCH --partition=production-cluster
#SBATCH --gpus-per-task=8
#SBATCH --cpus-per-gpu=10
#SBATCH --ntasks=2 # 1 nodes
#SBATCH --output=slurm/logs/%x_%j.out

srun python jax_test.py

import jax
import os
jax.distributed.initialize()

print(os.environ.get("CUDA_VISIBLE_DEVICES"))

print("jax.device_count()", jax.device_count())
print("jax.local_device_count()", jax.local_device_count())
print("jax.devices()", jax.devices())

0,1,2,3,4,5,6,7
jax.device_count() 2
jax.local_device_count() 1
jax.devices() [StreamExecutorGpuDevice(id=0, process_index=0, slice_index=0), StreamExecutorGpuDevice(id=1, process_index=1, slice_index=1)]
0,1,2,3,4,5,6,7
jax.device_count() 2
jax.local_device_count() 1
jax.devices() [StreamExecutorGpuDevice(id=0, process_index=0, slice_index=0), StreamExecutorGpuDevice(id=1, process_index=1, slice_index=1)]

There is 2 ways of doing multi-GPU on one node. One process that handle all the GPUS, or each GPU have a different process.
When doing multi-node, we end up doing multiple process.
Doing one process per GPU is faster in some cases. So this is the recommended way if you script support it.
The current default suppose that if you use slurm, you will tell slow to start 1 process per GPUs.
But this isn't what you are doing.
Maybe the code can be updated to detect that automatically. But it isn't the case right now.
So I would suggest to use initialize(). But modify your slurm job to have 1 process for each GPU: --tasks-per-node=2 in the original question.
TODO: Lets keep that issue open to verify if we can update initialize() to automatically detect how many GPUs should be used by the process.

Ok, so I figured out a quick fix. Works like a charm.
import jax
import os
jax.distributed.initialize(local_device_ids=range(8))
print("jax.__version__", jax.__version__)

print(os.environ.get("CUDA_VISIBLE_DEVICES"))

print("jax.device_count()", jax.device_count())
print("jax.local_device_count()", jax.local_device_count())
print("jax.devices()", jax.devices())

jax.__version__ 0.4.13
0,1,2,3,4,5,6,7
jax.device_count() 16
jax.local_device_count() 8
jax.devices() [gpu(id=0), gpu(id=1), gpu(id=2), gpu(id=3), gpu(id=4), gpu(id=5), gpu(id=6), gpu(id=7), gpu(id=8), gpu(id=9), gpu(id=10), gpu(id=11), gpu(id=12), gpu(id=13), gpu(id=14), gpu(id=15)]
jax.__version__ 0.4.13
0,1,2,3,4,5,6,7
jax.device_count() 16
jax.local_device_count() 8
jax.devices() [gpu(id=0), gpu(id=1), gpu(id=2), gpu(id=3), gpu(id=4), gpu(id=5), gpu(id=6), gpu(id=7), gpu(id=8), gpu(id=9), gpu(id=10), gpu(id=11), gpu(id=12), gpu(id=13), gpu(id=14), gpu(id=15)]

@Findus23 do you have a patch to JAX to have it handle this correctly? If so, where it is? It would be good to update JAX to handle this.

I've run into this problem as well. But I would like to ask, when running distributed computing using jax, which is more elegant, assigning one process to a node to manage all the local devices or assigning multiple processes to a node, each managing one local device?

Ok, so I figured out a quick fix. Just add jax.distributed.initialize(local_device_ids=range(8)). Works like a charm.
import jax
import os
jax.distributed.initialize(local_device_ids=range(8))
print("jax.__version__", jax.__version__)

print(os.environ.get("CUDA_VISIBLE_DEVICES"))

print("jax.device_count()", jax.device_count())
print("jax.local_device_count()", jax.local_device_count())
print("jax.devices()", jax.devices())

Thanks for the solutions, I was having the same issues. To automate, why not do the following? This should work for both cases where there is only one device per host and for multiple GPUs per task.
import os
import jax

cuda_visible_devices = os.environ.get("CUDA_VISIBLE_DEVICES")
local_device_ids = [int(i) for i in cuda_visible_devices.split(",")]
print(local_device_ids)

jax.distributed.initialize(local_device_ids=local_device_ids)
print("jax.__version__", jax.__version__)
print(jax.device_count())
print(jax.local_device_count())

for a job with the following options,
#SBATCH --nodes 2
#SBATCH --ntasks-per-node 1
#SBATCH --gpus-per-task 2

outputs,
[0, 1]
jax.__version__ 0.4.30
4
2
[0, 1]
jax.__version__ 0.4.30
4
2

TODO: Lets keep that issue open to verify if we can update initialize() to automatically detect how many GPUs should be used by the process.

What currently already works (when binding of gpus is done by slurm) is to pass an empty string as the local_device_ids. That is more a side-effect of the current implementation and maybe not to be relied upon atm but could also be formally supported rather easily?


cannot send empty string value in multipart request

req.field('fieldName', '') throws... I get that you wouldn't be able to send undefined, but any other falsy value should be supported. Use case is : patching with a file and input values that can be empty (to be reset for eg) or null.
EDIT : It was supported in an earlier version. I stumbled upon this after upgrading.

This was changed in #1066, because FormData doesn't allow empty values: #1065
I see this can be annoying, and we've had a few reports about this already. Perhaps we should redesign how we build FormData (i.e. not use it directly, but create a filtered version when you call .end())

FormData does allow empty values, you mean that the dependency form-data doesn't, right ?

+1 more report - yes it is annoying :)

PR welcome


CSP error while attempting to make a contribution

steps to reproduce:

Load https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/?src=ss
With the console open, click on the Contribute button
Check the console for any CSP errors

observed behavior:
Console shows the following CSP error:
Content Security Policy: The page's settings observed the loading of a resource at https://ic.paypal.com/webapps/adaptivepayment/flow/expresscheckoutincontextremembermeflow?execution=e1s2 ("frame-src https://addons.mozilla.org https://www.paypal.com https://www.google.com/recaptcha/"). A CSP report is being sent.
screenshot:
https://www.dropbox.com/s/er7hw15qbcp448z/Screenshot 2016-02-01 09.55.31.png?dl=0

Blocks #995

Verified as fixed on AMO-dev and AMO-prod using FF45(Win 7),
Postfix screenshot:


fix types in check_equal so clients don't need to cast

There's a problem with issue #1405 triggering compiler style warnings that are due to a problem in check_equal.  Those calls to check_equal should not be triggering warnings.

OK, I see what's going on now.
The two options seem to be

client code includes explicit static_cast(...) or static_cast<size_t>(...)  when it knows it's comparing different size types

check_equal and other error checking code handles the casting for us.  This would involve writing more complicated check code to suppress the warnings

I don't like either solution.  The first one overcomplicates client code and the second one potentially hides errors.
Daniel, if you can't live with the second option, just close this issue.

I think we can close this. We have a separate check function called
"check_size_match" that handles the casting for us.
On Wed, Mar 25, 2015 at 8:45 PM, Bob Carpenter<EMAIL_ADDRESS>wrote:

OK, I see what's going on now.
The two options seem to be

client code includes explicit static_cast(...) or static_cast(...)
when it knows it's comparing different size types
check_equal and other error checking code handles the casting for us.
This would involve writing more complicated check code to suppress the
warnings
I don't like either solution. The first one overcomplicates client code
and the second one potentially hides errors.
Daniel, if you can't live with the second option, just close this issue.
—
Reply to this email directly or view it on GitHub
https://github.com/stan-dev/stan/issues/1410#issuecomment-86267007.

It's in: src/stan/math/prim/scal/err/check_size_match.hpp

Daniel provided the solution in the last comment.  Thanks.


Please can you provide more information on this issue?

Does this happen with a newly created flutter project or an existing one?
Please provide other information as well as indicated in the issue template such as a completed and minimal reproducible code sample, the output of flutter doctor -v and reproduction steps

Thank you!

Hi @dam-ease ,
It happened with an existing flutter project
and working fine in a newly created flutter project


Issue expanding item window in UTM

Describe the issue
Opening an item window and expanding it to show all fields, the macOS spinning wheel appears and UTM hangs.
Configuration

UTM Version: 3.0.4 (46)
OS Version: Monterey 12.3 beta
Intel or Apple Silicon? M1 pro ARM Silicon

Crash log
Debug log
No log possible.

Can you explain what “an item window” is? Preferably attach a screenshot?

yes,
sure. Thank you for your diligent reply.
Sorry, I’m not native English speaker.
I mean the windows of a virtual machine.
i.e. for now I’m trying to get a working Solaris 11 VM (please, help for this! Solaris starts book but then has no network so it doesn’t complete the installarion...) and OpenStep, but with every window, if I expand the right part, when the two dropdown field below are showed, the spinning wheel freezes the app.
Salvo
PS: It would be really nice to have VMs for Solaris 11.4, OpenStep and Haiku in the gallery :)
Thank you

Il giorno 9 feb 2022, alle ore 18:09, osy @.***> ha scritto:
Can you explain what “an item window” is? Preferably attach a screenshot?
—
Reply to this email directly, view it on GitHub https://github.com/utmapp/UTM/issues/3612#issuecomment-1033993856, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6RCVMK6YZ364SZDDPZRJ3U2KNT7ANCNFSM5N6COU6Q.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

I’m still not clear what the “two drop down field” refers to. Can you please provide a screenshot?

Normally these two fields (dropdown) remain half-hidden unless the scroll bar slides.
If you expand the entire window to make them appear completely (with mouse in one of the side of the window), to avoid the scroll bar use, the spinning wheel appears and the app remains waiting, in fact then it must be closed because you no longer have control of it.
Salvo

Il giorno 9 feb 2022, alle ore 18:19, osy @.***> ha scritto:
I’m still not clear what the “two drop down field” refers to. Can you please provide a screenshot?
—
Reply to this email directly, view it on GitHub https://github.com/utmapp/UTM/issues/3612#issuecomment-1034005471, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6RCVIRTS2E6W3FREVBD6LU2KO3DANCNFSM5N6COU6Q.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

Now I am more confused, you mentioned this is in the virtual machine window but there isn’t a scroll bar in that window. Are you referring to something that happens int the guest?
Any chance you can attach a screenshot? That would clear things up really quickly.

Sorry again,
I wrote very badly.
So, four simple steps:

I open the main UTM window

I select an item on the left

I extend the window to see all the information on the right without having to use the scroll bar, until the last two fields at the bottom are visible.

the blockage happens.

Even simpler.
The screenshots of before could be enough, I can't do better, sorry :)
Salvo

Il giorno 9 feb 2022, alle ore 18:34, osy @.***> ha scritto:
Now I am more confused, you mentioned this is in the virtual machine window but there isn’t a scroll bar in that window. Are you referring to something that happens int the guest?
Any chance you can attach a screenshot? That would clear things up really quickly.
—
Reply to this email directly, view it on GitHub https://github.com/utmapp/UTM/issues/3612#issuecomment-1034019637, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6RCVKFJR4SLM4B4FKWG6TU2KQRDANCNFSM5N6COU6Q.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

Oh if you made an attachment, I don’t think it made it to GitHub. Otherwise please follow https://support.apple.com/en-us/HT201361

I found that this behaviour is related to scrollbar settings in macOS:
If is set “Automatically based on the mouse or trackpad” (the one I always use) or “Always” the lock happens, if “While scrolling” option is set it does not happen.
I tested it various times here now.
I hope this can help.
Thank you for your attention

Il giorno 9 feb 2022, alle ore 18:42, osy @.***> ha scritto:
Oh if you made an attachment, I don’t think it made it to GitHub. Otherwise please follow https://support.apple.com/en-us/HT201361 https://support.apple.com/en-us/HT201361
—
Reply to this email directly, view it on GitHub https://github.com/utmapp/UTM/issues/3612#issuecomment-1034027176, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6RCVIOU2OLDZFSLCZOX2LU2KRPPANCNFSM5N6COU6Q.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

I mean: in System Preference -> General
::::
I found that this behaviour is related to scrollbar settings in macOS:
If is set “Automatically based on the mouse or trackpad” (the one I always use) or “Always” the lock happens, if “While scrolling” option is set it does not happen.
I tested it various times here now.
I hope this can help.
Thank you for your attention

Il giorno 9 feb 2022, alle ore 18:42, osy @.*** @.***>> ha scritto:
Oh if you made an attachment, I don’t think it made it to GitHub. Otherwise please follow https://support.apple.com/en-us/HT201361 https://support.apple.com/en-us/HT201361
—
Reply to this email directly, view it on GitHub https://github.com/utmapp/UTM/issues/3612#issuecomment-1034027176, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI6RCVIOU2OLDZFSLCZOX2LU2KRPPANCNFSM5N6COU6Q.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.

@salvomic Please open the issue website to upload your screenshots, at the bottom of the page there is a comment field where you can drop the files. It will not work if you reply via email with an attachment. Thank you.

I was able to use the above workaround of changing the scroll bar behavior to "when scrolling" to get out of a state of the main UTM application persistently hanging whenever I selected a virtual machine.
It first started happening when I stretched the main window displaying the virtual machines to be bigger.
If I returned the scroll bar behavior preference to "always" and I was able to get the spinning beach ball hang by dragging a corner of that window around to make it small then large and eventually it would start to hang after some resize.
Again returning the preference to "when scrolling" eliminated the hang.

@jkleckner is this on UTM 3.1.x beta?

Yes, version 3.1.1 (48) also was able to reproduce the problem when the preference for scroll bar behavior is "always".

They way to make it more reproducible is to select one VM before dragging the bottom right corner around to make it minimum then as large as possible then move your mouse into the area of the scroll bar.  I can get it pretty fast that way.  No need to start any virtual machines (which you don't want to do since a force quit will kill them).
It does seem to need the selection of a VM to stimulate the problem.
I did a "sample" of the process while hung and am attaching it in case it is useful.
Also the problem report of the Force Quit as sent via the reporter with a link to this issue.
Sample of UTM.txt
ForceQuitReport.txt

And here is the Force Quit report for the beta version:
ForceQuitReport-Beta.txt

This is a SwiftUI but. The following code can reproduce it:
struct ContentView: View {
    var body: some View {
        ScrollView {
            Rectangle().aspectRatio(CGSize(width: 16, height: 9), contentMode: .fill)
            Rectangle().frame(height: 400)
        }
    }
}


more unique sqlite db names

eg /tmp/disk.db could be used by other programs.
maybe prefix with linuxfabrik-?
plus: after changing the filenames, use file-ownership to check if db-files are owned by user "icinga".

Will be named linuxfabrik-monitoring-plugins-*.db.


Autoscroll reposition bugs

https://github.com/jgwhite/ember-sortable/pull/104
@tim-evans
Issue with autoscroll merge. Create a list of 100 items or so, scroll down to near the bottom. Grab and item to sort. Scroll up a bit and try sorting another item, the scroll position automatically jumps to the position of the last object that was moved.
Also autoscroll to the top of the screen doesn't seem to work. Only to bottom.

Thanks for the repro. I think I know exactly what's going wrong

I tried to reproduce this using the dummy app, but cannot. Could you provide a working reproduction for this? This may be the code playing poorly with your configuration.

Thanks for jumping on this so quick @tim-evans

I made a fresh ember to reproduce. On a fresh install ember-sortable runs fine. Turns out there is a conflict with semantic-ui-ember. Good hint on the configuration issue. You can reproduce the error here: https://github.com/edeis53/ember-sortable-scrollbug.git

I can reproduce now. I'll try to dig into what's going on.


Add $AUTO token logos

Add AutoKujira logos

Can I recommend (not required) omitting the SVG? It's not terrible, but it has the classic converted-to-SVG look and doesn't really add value IMO

Yeah, I thought both were required.
El lun, 29 jul 2024 a la(s) 2:24 p.m., JeremyParish69 (
@.***) escribió:

Can I recommend (not required) omitting the SVG? It's not terrible, but it
has the classic converted-to-SVG look and doesn't really add value IMO
—
Reply to this email directly, view it on GitHub
https://github.com/cosmos/chain-registry/pull/5062#issuecomment-2256493536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3XMMWTTTOG4PQA7WSQ6ZBLZOZ3D3AVCNFSM6AAAAABLSHBA5OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJWGQ4TGNJTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


IDA 7.5 can see through obfstr 0.2 obfuscation

When decompiling a binary obfuscating with obfstr 0.2 with IDA/Hexrays 7.5, the obfuscation is immediately undone, and the XREF immediately give away the string location. See below for the source code, and the decompiler and asm output. This was tested with rust 1.48.0.
obfstr 0.1 does not suffer from this: The strings are properly obfuscated, and IDA fails to find any xrefs for it. I believe the difference comes from obfstr 0.1 having a random offset into the string, which confuses IDA, leaving its XREF analysis and automatic deobfuscators inoperable. Another issue is that the one time pad to deobfuscate the string is kept in .rodata (due to being passed as an array to the deobfuscate method) while obfstr 0.1 would only get passed the initial round key.
I imagine the fix would go like this: Change the deobfuscate method to take a random offset like obfstr 0.1 in order to break the xrefs, and generate the XOR round keys at runtime instead of compile time.
Source code:
use obfstr::obfstr;
fn main() {
    println!("aaaaaaaaaaaa");
    println!("{}", obfstr!("bbbbbbbbbbbb"));
    println!("{}", obfstr!("cccccccccccc"));
}

0.2 Hexrays decompiler view

0.1 Hexrays Decompiler View

0.2 Assembly view

0.2 Data X-Refs

0.1 Data X-Refs

Thanks for the analysis!
My original goal was to obstruct automated analysis, eg. running 'strings' on the binary to find strings they don't already know about. Here it seems that HexRays decompiler can see through the obfuscation if you've already found the function you're looking for.
Further the intent is to make it harder to use automated tools to detect the presence of specific black listed strings in the binary.
You can always manually analyze the specific place where the string obfuscation is employed to decode the original string, this is why it's just an obfuscation, not actually encryption.
That all said, having HexRays trivially see through the obfuscation is perhaps a bit too easy and the obfuscation should be improved to require a little more effort on the reverse engineering side. Perhaps putting the data r/w section can make IDA a bit more careful around assuming the data is constant. Another idea is to add an extra fixed XOR based data in r/w section.
About Xref breaking: for this to be fully effective the pointer should be offsetted in one function and fixed in another. If the operation is done inside the same function then any analysis should be trivially able to see through it. however making a separate function may aide in detecting and creation of tools to automate the decryption. For v0.2 I specifically removed the xref breaking relying more on the fact that the compiler can mix the deobfuscation code with the surrounding code making analysis harder.
In the end any kind of manual analysis of the obfuscation shall be able to reveal the obfuscated strings. As stated at the start the goal should be to make it harder to create tools which automatically discover all obfuscated strings in a binary. I don't expect this to be impossible but I'll try to make it harder.

Thanks for the analysis!
My original goal was to obstruct automated analysis, eg. running 'strings' on the binary to find strings they don't already know about. Here it seems that HexRays decompiler can see through the obfuscation if you've already found the function you're looking for.
Further the intent is to make it harder to use automated tools to detect the presence of specific black listed strings in the binary.
You can always manually analyze the specific place where the string obfuscation is employed to decode the original string, this is why it's just an obfuscation, not actually encryption.
That all said, having HexRays trivially see through the obfuscation is perhaps a bit too easy and the obfuscation should be improved to require a little more effort on the reverse engineering side. Perhaps putting the data r/w section can make IDA a bit more careful around assuming the data is constant. Another idea is to add an extra fixed XOR based data in r/w section.
About Xref breaking: for this to be fully effective the pointer should be offsetted in one function and fixed in another. If the operation is done inside the same function then any analysis should be trivially able to see through it. however making a separate function may aide in detecting and creation of tools to automate the decryption. For v0.2 I specifically removed the xref breaking relying more on the fact that the compiler can mix the deobfuscation code with the surrounding code making analysis harder.
In the end any kind of manual analysis of the obfuscation shall be able to reveal the obfuscated strings. As stated at the start the goal should be to make it harder to create tools which automatically discover all obfuscated strings in a binary. I don't expect this to be impossible but I'll try to make it harder.

Hey I changed the obfuscation to put part of the obfuscated string in r/w section. The latest 0.2.2 on crates.io has this change, let me know how well it works.

Hey I changed the obfuscation to put part of the obfuscated string in r/w section. The latest 0.2.2 on crates.io has this change, let me know how well it works.

much better, at least IDA doesn't directly show the strings directly anymore:

It's still a lot easier to reverse manually than the 0.1.x, mostly thanks to the x-refs, but automated tools based on IDA shouldn't be able to recover the strings anymore.

I've introduced a generic xref obfuscation and applied it to the string obfuscation.
Example:

It this what you had in mind?
Additionally a generic API (obfstr::xref) is exposed to apply this obfuscation to other content in your application.


Fixes Part 1 of Issue 75

Fixed the first part of issue 75 where the IsUserInRole() method never actually compared the specified roleName value against the roles provided by method GetCurrentUserRoles(). Also added documentation to the method.

Fixed #75


GIMP has Wayland support in its beta flatpak

Seconding this, with the caveat that it's still quite buggy, with some functionality not working at all, and others producing huge amounts of lag. So it might be worth waiting for v3 when all these get ironed out  before adding it?


Provide (and document) an easy way to run tests on Apple Silicon

[x] I have searched existing issues and this is not a duplicate

Request
Provide, and clearly document an easy way to run yoga's test suite on Apple Silicon macs.
Context

Apple Silicon macs are a popular platform. Especially for mobile developers who make up much of Yoga's audience.
It is very difficult to work with and/or contribute to Yoga without being able to run the tests.
This will likely require bypassing Buck as Buck does not currently run on Apple Silicon macs. The testing setup is based on gtest, so it should relatively straightforward to set it up so that it works in standalone manner. Unfortunately I lack the experience with the C/C++ build tool ecosystem to do this myself.

Alternatives

Fix Buck to work on Apple Silicon. There is a partial PR here: https://github.com/facebook/buck/pull/2684

Funnily the first way we got here is the development workflow for the JavaScript bindings, which run generated tests 🙂.
I’ve been doing a little bit of cleanup in preparation of changes to the CMake build. But the goal is:

The primary UT surface will be CMake + GTest (using ninja if available)
For most users with an available and non-ancient compiler toolchain, CMake will be the only dependency to install.
There will be a “build_and_test.sh” and “build_and_test.bat”  which wrap CMake generation, CMake building a test binary (handling the GTest dependency), and running it. It will allow release vs debug builds, and pausing on start to allow attaching a debugger.
My eventual goal is to make an effort to consolidate the CMake logic between clang, MSVC, emscripten builds, of the different bindings. There will probably be more self contained CMake builds until I can figure out the best way to factor.
Generated tests should run on all of the bindings with a working build, along with any binding specific tests we already have.

This sounds great. CMake still seems like arcane magic to me (so any documentation/comments in the config files explaining things would be very welcome), but I understand that it's the closest thing to a standard build system for C/C++.

Generated tests should run on all of the bindings with a working build, along with any binding specific tests we already have.

I'd request to have the option to only run tests for one language (in particular the ability to only run the C tests). This will be important for quick iteration times when changing core algorithm code.

The binding tests will be run either as PR validation, or if run explicitly. E.g. running yarn test from the JS root would run JS binding tests, or gradlew test in the Java root would run Java tests. C++ wise, there will be a script at the root of the Yoga repo to just run the C++ UTs.

It's not 100% done yet but https://github.com/facebook/yoga/pull/1206 should implement all of this. Need to update more documentation, some MSVC bits, and split it up a bit before merging.

Seems to be working for me. I can run unit tests. I also managed to add a gentest and get the unit tests to fail. Although there were rough edges with this.
I added a style value that isn't currently supported by yoga (align-content: space-evenly), and this:

Caused the gentest script to crash halfway through.
When I commented out the non-cpp test generation, caused the entire file's worth of gentests to be overwritten with a blank file rather than just silently ignoring the style.

This was fixed by adding support for the style in the (javascript) gentest script after which I was able to get the test to generate correctly and then fail as expected.

Yeah... the gentest script doesn't have great logging for when there is an exception in the browser. I've been wanting to take a sledgehammer to a lot of the script at some point. There are already too many different languages and toolchains in the repo, and the script is individually adding Ruby into the mix. So my ideal would be to covert to Node and also implement the changes for fixture  expected failures and better managing Chrome behavior changes.
Speaking of, there are two fixtures broken by Chrome that I haven't merged a fix for yet. https://github.com/facebook/yoga/pull/1194 commented them out in the meantime (I'd just do the same if you haven't already), but I will need to rebase it.
FYI there should also be a VS Code debug target there for the unit tests, if you want to debug.

Using Node is a good idea. Then we could use puppeteer and eliminate the chromedriver dependency too.

and also implement the changes for fixture expected failures and better managing Chrome behavior changes.

Yeah, seems like it might good to have a way to define a test to take it's source of truth from a file rather than chrome on a case-by-case basis. But also, it would nice if Yoga had better feature flagging so that it could actually keep up with Chrome changes. "web compatible" vs. "yoga stable" modes or something (more fine grained control would be great, but I think just those two would make a good start).

Fixed by #1217


Book a meeting with Martin, Julie and Mathieu re: GCDevEx next steps

To discuss..

co-sponsorship with CFOB
moving forward with the development (how to purchase hosting environment - projectize?
resource requirements

Will create a new issue when a meeting is going to be scheduled


Enable memcached installation from source

This pull request enables compilation of memcached from source. A prefix for the compilation path can also be set.
I accidentally specified my master branch for the previous pull request. I've created this branch now. Please pull from here.

In general we're trying to avoid source installs in the community cookbooks unless there aren't packages available for RHEL/Ubuntu.  Most users who are doing installs from source also want to customize how the source is installed and this adds a huge amount of complexity.  Since this cookbook includes the instance definition you can easily wrap it to install memcached yourself and then create the instance using this cookbook.  For source installs that's really the desired method since you can completely customize how you compile the source.


Paths convention within /opt/rocm/

Can someone fix paths within a framework.
There are a lot of mess like:
/opt/rocm/[something]/include and /opt/rocm/include/[something]/
/opt/rocm/[something]/bin and /opt/rocm/bin/[something]/
They differ per project and always are hardcoded.
It's strange to see [below] in TensorFlow code.
   # Add MIOpen headers
   inc_dirs.append("/opt/rocm/miopen/include")
    # Add rtg headers
   inc_dirs.append("/opt/rocm/include/migraph")

Same with build scripts.

We've managed to get this normalized starting in 2.7. I think the final projects finally got this aligned in 2.9. Please re-open the issue if this is not the case for any of the projects that you see.


ENH: Model->load($data, '') return if anything was loaded - now always true

What steps will reproduce the problem?
class MyForm extends \yii\base\Model {
    public $foo;
    public function rules()
    {
        return [
            ['foo', 'safe'],
        ];
    }
}

$model = new MyForm();
var_dump($model->load(['foo' => 42], ''));
var_dump($model->load(['trash' => 37], ''));

What is the expected result?
bool(true)     // yes, anything was loaded
bool(false)    // no, nothing was loaded

What do you get instead?
bool(true)
bool(true)

Additional info

Q
A

Yii version
2.0.8

PHP version
5.5.9

Operating system
Ubuntu 14.04

BC break
Behaviour change

Sounds like a bug. Need a test case for it.

$modal->load() will call  $modal->setAttributes(), It's safeOnly default.
   /**
     * Sets the attribute values in a massive way.
     * @param array $values attribute values (name => value) to be assigned to the model.
     * @param boolean $safeOnly whether the assignments should only be done to the safe attributes.
     * A safe attribute is one that is associated with a validation rule in the current [[scenario]].
     * @see safeAttributes()
     * @see attributes()
     */
    public function setAttributes($values, $safeOnly = true)
    {
        if (is_array($values)) {
            $attributes = array_flip($safeOnly ? $this->safeAttributes() : $this->attributes());
            foreach ($values as $name => $value) {
                if (isset($attributes[$name])) {
                    $this->$name = $value;
                } elseif ($safeOnly) {
                    $this->onUnsafeAttribute($name, $value);
                }
            }
        }
    }

trash is unsafe but true is returned.

From the doc block of Model::load():

@return boolean whether load() found the expected form in $data.

Method load() returns true in case some form data is present. It indicates the web form was actually submitted no matter with which data.
To be more precise:
class MyForm extends \yii\base\Model {
    public $foo;
    public function rules()
    {
        return [
            ['foo', 'safe'],
        ];
    }
}

$model = new MyForm();
var_dump($model->load(['MyForm' => ['foo' => 'anything']])); // outputs `true`
var_dump($model->load(['foo' => 'anything'])); // outputs `false`

In case formName() is empty - any non empty data will be considered as passed:
class MyForm extends \yii\base\Model {
    public $foo;

    public function formName()
    {
        return null;
    }

    public function rules()
    {
        return [
            ['foo', 'safe'],
        ];
    }
}

$model = new MyForm();
var_dump($model->load(['foo' => 'anything'])); // outputs `true`

I can see no bug here.

There is no problems when loading data from 'formName' sub-array. But empty form name is special case. In this case input data extracted from somewhere in a way which does not matter for subject. I'm sure that I did extract it correctly.
Now I want to handle input array ['field' => 'value', ...] with a form(s). In my case that array(s) goes from structured JSON input to my API:
{
    "books": [
        {                       // <-- item data
            "field": "value",
            ...
        },
        ...   // <-- more items
    ],
    ... // <-- another types of items
}

In a specific case I want to handle item data with different unrelated forms sequentally to do unrelated stuff. So, I pass same data to Model::load() for different forms:
$item_data = ['foo' => 42, 'bar' => 37]; // $input[$type][$i]
if ($foo_form->load($item_data, '')) {
    ...
}
if ($bar_form->load($item_data, '')) {
    ...
}

I extected Model::load() does what I need, but it's not. Currently there is no ability to check if a form was changed by the input or not (like dirty attributes in AR).

In a specific case I want to handle item data with different unrelated forms sequentally to do unrelated stuff. So, I pass same data to Model::load() for different forms:

if the forms are unrelated, why is their data in the same array?
What you describe is different functionality than what load() is supposed to do so you should not use load() for it.


Add or update the Azure App Service build and deployment workflow config

Instances of 'CComunicatorTerpel' needs to be changed to a variable, e.g 'appName'
'secrets.AZUREAPPSERVICE_PUBLISHPROFILE_C42443E4B8ED4B35B7B385DA68401DCB' var name needs to be changed, e.g. 'publishProfile'


Correct .nuspec file for Xamarin.Android.Support.Design library.

Support Libraries Version (eg: 23.3.0):
Version 25.0.1-rc1.
Does this change any of the generated binding API's?
No, this PR doesn't change generated binding API.
Describe your contribution
Correct .nuspec file for Xamarin.Android.Support.Design library.
Add Xamarin.Android.Support.Transition dependency because transition library is required for BottomNavigationView widget.
Without transition library while inflating layout with BottomNavigationView we get java ClassNotFoundException.
java.lang.ClassNotFoundException: android.support.transition.AutoTransition

Hi @Lonelywood, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

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

Thanks this was manually added to the 25.1.0 branch.


Add tags to capi gate/xp creation docs

🚀 Deployed on https://65e7b15bc14acb9665bc4343--cozy-fox-0defec.netlify.app


Dependencies deprecated

What are the steps to reproduce this issue?
run npm install
What happens?
There are warnings that the dependencies are deprecated.
What were you expecting to happen?
No npm WARN deprecated
Any logs, error output, etc?
npm WARN deprecated<EMAIL_ADDRESS>Please use @jridgewell/sourcemap-codec instead
npm WARN deprecated<EMAIL_ADDRESS>Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead.
npm WARN deprecated<EMAIL_ADDRESS>Please switch to @apidevtools/json-schema-ref-parser

❯ npm ls sourcemap-codec
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └─┬<EMAIL_ADDRESS>        └─┬<EMAIL_ADDRESS>          └─┬<EMAIL_ADDRESS>            └─┬<EMAIL_ADDRESS>              └──<EMAIL_ADDRESS>
❯ npm ls cuid
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └──<EMAIL_ADDRESS>
❯ npm ls json-schema-ref-parser
└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>
Any other comments?
ibm-openapi-validator has been outdated, please update.
Repo: https://github.com/IBM/openapi-validator
What versions are you using?
Operating System: Mac OS Ventura 13.5.2
Package Version<EMAIL_ADDRESS>

I opened this issue: https://github.com/IBM/openapi-validator/issues/640


Can I use this reporter in Appium using Java?

Sure you can. Have a look at https://github.com/AppiumTestDistribution/appium-reporter-plugin/blob/main/test/demo/base.js
Will improve documentation on API mappings.
For now hoping below steps would help

Install plugin appium plugin install --source=npm appium-reporter-plugin
Start appium with plugin appium --use-plugins=appium-reporter-plugin
Refer to https://github.com/AppiumTestDistribution/appium-reporter-plugin/blob/main/test/demo/base.js.  In java you need to call the api exposed by plugin (as these are custom bindings).

Maybe you have some knowledge in Java how to that? I wrote some methods
public static void setTestInfo(String sessionId, String testName, String testStatus, String error) throws IOException, InterruptedException {
`        String url = "http://localhost:4723/session/" + sessionId + "/setTestInfo";
    var jsonBody = new HashMap<String,String>();
    jsonBody.put("testName", testName);
    jsonBody.put("testStatus", testStatus);
    jsonBody.put("error", error);

    var client = HttpClient.newHttpClient();
    var request = HttpRequest.newBuilder(URI.create(url))
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(String.valueOf(jsonBody)))
            .build();

    var response = client.send(request, HttpResponse.BodyHandlers.ofString());

}

public static String getReport() throws IOException, InterruptedException {

    String url = "http://localhost:4723/getReport";

    var client = HttpClient.newHttpClient();
    var request = HttpRequest.newBuilder(URI.create(url)).build();

    var response = client.send(request, HttpResponse.BodyHandlers.ofString());

    return String.valueOf(response);

}

public static void deleteReportData() throws IOException, InterruptedException {

    String url = "http://localhost:4723/deleteReportData";
    var client = HttpClient.newHttpClient();
    var request = HttpRequest.newBuilder(URI.create(url)).DELETE().build();

    var response = client.send(request, HttpResponse.BodyHandlers.ofString());
}

public static void createReportFile(String data, String fileName) throws IOException {
    FileWriter fileWriter = new FileWriter(HTML_REPORT_DIR + "/" + fileName + ".html");
    fileWriter.write(data);
    fileWriter.close();
}`

Could you please say what maybe wrong, and how to use this methods in test flow as in your example https://github.com/AppiumTestDistribution/appium-reporter-plugin/blob/main/test/demo/demo.spec.js

@Stefankoff identified a couple of improvements while coding a sample in java. Fixed them and released a new version.
Java project is added to tests folder appium-reporter-plugin/test/AppiumReportPluginDemo/src/test/java/SampleTest.java
I hope this helps!


Manual introduction improvements

This reorganizes some of the introduction content.
This is just a first pass, but I think it's an extremely important part of the experience for newcomers to the project.
@ry @kitsonk — This is related to some of the conversations we had at TSConf. I'd love to get your thoughts on these changes.
I've put some comments inline in the PR to help explain some of the specific changes.

Whoops, I'll go do that and add the comments over there 👍.


x/vgo: network error - all or nothing

What version of Go are you using (go version)?
1.10.3
The vgo process is very susceptible to network errors. Can it incrementally create the cache and record entries in the go.mod file.
The go.mod file can have an entry recording the fact that the last command wasn't clean (complete).

Can you say a little more about the specific operation? In general vgo does cache what it downloads from the network to local disk, even before it updates go.mod, so it should mostly pick up where it left off.


Simple PR to fix the clippy warnings

As I was getting into the codebase I noticed some small clippy warnings, so I made this tiny PR to fix them.

Aha nice - thanks very much!


No support for multi-file open

You can select more than one SARIF file in the File/Open picker but VS appears to only load one of them.  @lgolding

I am able to load multiple SARIF files, tested on VS2019 and VS2022, both open all selected SARIF files in separated VS editor windows, and load results from all SARIF files into the error list,
The step I followed:

Open visual studio 2019 or 2022
Click on menu "File" --> "Open" --> "File..."
In "Open File" dialog, select multiple .sarif files
Verify all selected files are opened in separated editor windows
Verify results of all selected SARIF files are loaded into error list.

Screenshot:

CC @eddynaka @shaopeng-gh


Get mplus www running on production servers

@micahwalter we can consider this done now, right? Let me know if any step is missing.


moving stuff across

I need to add newlines to a lot of files

None of these are longer than our current longest, yeah? Tests themselves look good 👍

Mostly ToL comments, up to you whether to ignore them.
Since you 👍'd my PR I'll reciprocate...


Correct docstrings of tap and packet_info methods

This merge will correct minor errors in the docstrings to the tap() and packet_info() methods of the builder. These were likely merely overlooked during the last PR.

thanks for the contribution


Fix ThreadStackMgr singleton in GenericConfigurationManagerImpl

Codecov Report

Merging #518 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #518      +/-   ##
==========================================
+ Coverage   54.16%   54.16%   +<.01%
==========================================
  Files         329      329
  Lines       57165    57165
==========================================
+ Hits        30962    30963       +1
+ Misses      26203    26202       -1

Impacted Files
Coverage Δ

src/test-apps/TestCASE.cpp
95.89% <0%> (-0.23%)
:arrow_down:

src/lib/profiles/security/WeaveCert.cpp
88.96% <0%> (+0.45%)
:arrow_up:

Continue to review full report at Codecov.

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


add keysort/2

#144

Codecov Report

Merging #154 (d8ed15a) into main (9c4a726) will decrease coverage by 0.27%.
The diff coverage is 90.41%.

@@            Coverage Diff             @@
##             main     #154      +/-   ##
==========================================
- Coverage   93.84%   93.56%   -0.28%
==========================================
  Files          18       18
  Lines        5262     5283      +21
==========================================
+ Hits         4938     4943       +5
- Misses        274      286      +12
- Partials       50       54       +4

Impacted Files
Coverage Δ

engine/atom.go
100.00% <ø> (ø)

engine/float.go
93.75% <ø> (-0.70%)
:arrow_down:

engine/integer.go
100.00% <ø> (ø)

engine/term.go
90.90% <ø> (-4.55%)
:arrow_down:

engine/variable.go
94.11% <ø> (-0.62%)
:arrow_down:

engine/exception.go
95.32% <86.11%> (-1.93%)
:arrow_down:

engine/builtin.go
91.09% <90.26%> (-0.11%)
:arrow_down:

engine/compound.go
98.92% <100.00%> (-1.08%)
:arrow_down:

engine/stream.go
100.00% <100.00%> (ø)

engine/vm.go
80.96% <100.00%> (+0.18%)
:arrow_up:

... and 4 more

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 9c4a726...d8ed15a. Read the comment docs.


Incomprehensible documentation.

I tried, but I still did not understand how to put in order to display only critical errors.

The documentation improvement is already foreseen in the pending tasks.

☑ TODO
(...)
Improve documentation.
(...)


How to add the prisma token?

I'm getting this error:

No idea where to add the authentication token

got it in the terminal when running the command add the -t option


refactor: upgrade pgx to v5

Description

References

Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Codecov Report

Merging #225 (b958ca6) into main (60bd76d) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #225      +/-   ##
==========================================
+ Coverage   76.72%   76.75%   +0.03%
==========================================
  Files          80       80
  Lines        8790     8790
==========================================
+ Hits         6744     6747       +3
+ Misses       1693     1690       -3
  Partials      353      353

Impacted Files
Coverage Δ

pkg/cmd/migrate.go
0.00% <ø> (ø)

pkg/testfixtures/storage/postgres.go
85.34% <ø> (ø)

storage/postgres/iterators.go
72.58% <ø> (ø)

storage/postgres/utils.go
88.65% <ø> (-0.71%)
:arrow_down:

pkg/cmd/service/service.go
87.07% <100.00%> (ø)

storage/postgres/postgres.go
65.28% <100.00%> (ø)

server/commands/check.go
86.55% <0.00%> (-0.29%)
:arrow_down:

pkg/testutils/testutils.go
76.92% <0.00%> (+19.23%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


flysystem-aws-s3-v3

Describe the bug
It is necessary to use flysystem-aws-s3-v3 v2.x.
however, stancl / tenancy dependencies include flysystem-aws-s3-v3 "~ 1.0"
Expected behavior
composer.json update "league/flysystem-aws-s3-v3": "^2.0",
Your setup

Laravel version: [e.g. 8.0]
stancl/tenancy version: [e.g. 3.2]

Are you sure? It's in dev dependencies, I don't think that should interfere with your dependencies


[feature] assert_output should --separate-stderr in run

@test "ut get_port invalidmachine" {
    # badtestmachine is not in the config
    run --separate-stderr -- get_port "badtestmachine"
    assert_failure
    assert_output "ERROR: Machine 'badtestmachine' is not valid"
}

This passes without --separate-stderr
add an option or a command to test also for stderr.
This should apply also to the other assert_ functions.

maybe add a '--stderr' option to assert_output?

See #42 for a related discussion. If you want to check stderr, you can either not use --separate-stderr or use the workaround in the linked issue.

Nice! Yes that solve the issue thanks!


GCE: Update generic auth error message

Google authentication will fail if your time drift (difference between your local time and time on google servers) is bigger than 5 minutes. This often happens on the VM instances running in various cloud providers. Google itself doesn't provide any helpful indication of the issue, the response is just {u'error': u'invalid_grant'}.
There is also problem in the _get_error(self, body), line 205: the error response returned by google above will mean that err is a string, not a dictionary. err.get will then throw attribute error, which displays generic error message. I think it is better to display the generic error message than not so helpful 'invalid_grant' response from google. You might decide to fix or change that later, but for now I think it's important to hint about time drift to the user, as this happens quite often and it's hard to find, if you only check whether your credentials are correct (which they can be, but you'll still fail auth with big time drift).

It looks like it would also be good to document this in the docs.
Besides that, LGTM. Thanks.
/cc @erjohnso

Hi,
I am not sure what is the best place to put this information in the docs. Should that be a separate PR?

Ideally, it would be the same PR.
You could put it in the section where it's document how you retrieve the credentials.

Added doc update. Hopefully it's the right place.

Hi,
have you had time to look at this? It's not a big change, but it can save some people a lot of time debugging issues...

Merged, thanks!


Login Params added into login uri

Some CAS servers need to specify some extra params, like localisation
also making server hostname and uri relular expresses more restrictive

Hi
ne 1. 12. 2019 v 22:40 odesílatel Henry Pan<EMAIL_ADDRESS>napsal:

@phy25 requested changes on this pull request.
In source/CAS/Client.php
https://github.com/apereo/phpCAS/pull/322#discussion_r352374775:

@@ -972,7 +992,7 @@ public function __construct(

     // check hostname
     if ( empty($server_hostname)

       || !preg_match('/[\.\d\-a-z]*/', $server_hostname)

       || !preg_match('/^[\.\d\-a-z]+$/', $server_hostname)

I guess this can be case-insensitive?

yes it should be

In source/CAS/Client.php
https://github.com/apereo/phpCAS/pull/322#discussion_r352374811:

@@ -987,11 +1007,11 @@ public function __construct(
$this->_server['port'] = $server_port;

     // check URI

   if ( !preg_match('/[\.\d\-_a-z\/]*/', $server_uri) ) {

   if ( !preg_match('/^[\.\d\-_a-z\/]+$/', $server_uri) ) {

I guess this can be case-insensitive?

yes it has to be

In source/CAS/Client.php
https://github.com/apereo/phpCAS/pull/322#discussion_r352374912:

         phpCAS::error('bad CAS server URI (`'.$server_uri.'\')');

     }
     // add leading and trailing `/' and remove doubles

   if(strstr($server_uri, '?') === false) $server_uri .= '/';

Why does this condition check need to be removed?

well... i guess that regular expression above was mentioned to prevent
this, and furthermore in method  CAS_Client.getServerLoginURL there is
created login request adding .'login' to _getServerBaseURL which results
into for instance https://server.domain/cas?arg=vallogin
so checking '?' in server_uri doesnt make any sence as it cant be there due
to fixed regular expression above

In source/CAS.php
https://github.com/apereo/phpCAS/pull/322#discussion_r352374946:

@@ -61,7 +61,7 @@
/**

phpCAS version. accessible for the user by phpCAS::getVersion().
*/
-define('PHPCAS_VERSION', '1.3.8+');
+define('PHPCAS_VERSION', '1.3.8');

I guess we don't want to change this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apereo/phpCAS/pull/322?email_source=notifications&email_token=AN5AECKLOBZK2XRUKLNS5LDQWQVLFA5CNFSM4JS5H5CKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCNPJEOY#pullrequestreview-324964923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN5AECOFPYOE6F3UGH34GCTQWQVLFANCNFSM4JS5H5CA
.

No progress on the comments


investigate tripduration variable

Is it a row index?

I checked my raw data and the tripduration is random. I suspect that the problem might comes from PRIMARY KEY(tripduration) from the init.mysql file. I will change the primary key to something else and see if that's the problem.

Ah yes! Setting a primary key on tripduration also means that any duplicate rows will be discarded!
You could maybe set a primary key on starttime, bikeid? I would think that the same bike cannot be rented more than once at the same time. But if that doesn't work, you may not want a primary key at all.
However, you should have indexes on bikeid, start_station_id and end_station_id.
We can also explore setting up a partition scheme based on the year.


affected/package:http HTTP client vulnerable to Slow Loris with default configuration.

What version of Go are you using (go version)?

$ go version
go version go1.16.2 linux/amd64

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/treecycling/.cache/go-build"
GOENV="/home/treecycling/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/treecycling/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/treecycling/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go-1.16"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.16/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.2"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/treecycling/productionBuild/TreeSV2.0/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2594166505=/tmp/go-build -gno-record-gcc-switches"

What did you do?

I created a web application using the default HTTP client and it failed to time out dead connections and it ran out of file handles after a month of operation.
What did you expect to see?
Either the connections timing out or the application panicking and closing when it ran out of handles. Preferably the connections timing out as long-running connections are normally the exception rather than the rule.
What did you see instead?
The application stayed running but began responding to requests inconsistently as the file handles were exhausted leading to silent data loss from webhook failures.

Duplicate of #24138


Improve the GameOver Screen

tictactoe-gameover.webm
As you can see in the video, the last move made by the computer cannot be seen.
It is the same case for all the winning move made by the player i.e human or computer
Tasks:

[ ] Show the last move place by the winner
[ ] If possible try to show the diagonalor horizontal or vertical by which the player or computer has won.

hello @SusheelThapa  I understand your problem and I can solve it let me join

@tronghob2111963 Sure buddy...


Remove references to the TKGI control plane and update exporter scrap…

…ing instructions [#181577127]
Signed-off-by: Jerry Belmonte<EMAIL_ADDRESS>

Associated story: https://www.pivotaltracker.com/story/show/181577127


Home Key added and is working fine.

Issue number #154 solved.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@shash137 the home key is not necessary to be added,as the floe logo itself works as the home button on any specified page.More importantly, for a visitor of the website, it is more obvious to click on the logo of the website to go to the home page.
Hope you get it 👍

@Ayush23Dash I agree with your point but as of now logo is clickable and is linking to home page, but how will new person will understand, because it neither looks like a button on hover over a logo, neither it changes it's color like in fluid and there is a home button as well in the fluid project website. I think either of the two thing is possible or both i.e. make logo look more like clickable by changing the color or by adding the home button or do both like in fluid project.
Rest everything is on mentors of the project.
Hope you get my point.

@shash137 I totally understand what you are trying to say,and yes changing color on hover can be a good change,but I believe in today's date it is quite obvious that the logo signifies the home page.
And moreover all of the styling changes will be considered during the GSoC project,as this site requires a migration to a modern SSG.

@shash137 @Ayush23Dash  Adding a home button or making logo work as home button is actually depends upon the audience you  are dealing with. although its quite obvious nowdays that logo will work as the home button but less tech savvy group might get confused. that is the reason why facebook has home button as well as logo as home button.
but sometimes its quite misleading adding a home button as user think that its not the home page at which they are currently in. But that also considering the UX its better to  add a home page with minor tweeks like underlying the home button when you are at the home page.

more example - codelearncreate site

Fluid project website -

@Chaitanyassr Thanks you got my point that's what I was thinking and I made a PR for the Home tab, but then I realized that to make UI better by changing color on hover over logo, will do directly in GSoC because now mentors will not merge as this project will be migrated.

@Chaitanyassr Thanks you got my point that's what I was thinking and I made a PR for the Home tab, but then I realized that to make UI better by changing color on hover over logo, will do directly in GSoC because now mentors will not merge as this project will be migrated.

ahan! One can do that ..although fixes to the User Experience (UX) are not a priority, as the site may be redesign by us in the future.

@Chaitanyassr yes I think for the less tech savvy group, it might help.Actually I was somewhat confused that why these websites have the home button, however after reading your comment I think that this is necessary. Or maybe how @shash137 mentioned, it could be implemented similar to the fluid website as well.But yes at the end it depends upon the mentors' choice on this.
Thanks both of you for this healthy discussion.

@Chaitanyassr yes I think for the less tech savvy group, it might help.Actually I was somewhat confused that why these websites have the home button, however after reading your comment I think that this is necessary. Or maybe how @shash137 mentioned, it could be implemented similar to the fluid website as well.But yes at the end it depends upon the mentors' choice on this.
Thanks both of you for this healthy discussion.

No worries, and thank you to you too and @shash137 :)

Thank you guys!! it was a good discussion. @Chaitanyassr and @Ayush23Dash

Thanks, all— we will explore this option in our redesign but will address this in a separate PR.


Rewrite API and CLI

This experimental branch is a complete rewrite of careless from the ground up that achieves a number of goals.

enable crossvalidation of reflection predictions to assess overfitting
make the API rely on conventional keras and tfp idioms
use keras for training
create a path to distributed training
remove a multitude of outdated and confusing features from the CLI
refactor the CLI arguments into reasonable groups
add support for CrystFEL .stream files
improve numerical stability
refactor the top level careless.py to allow more extensive command line tests
and many, many more improvements.

Codecov Report

Merging #25 (3dc1056) into main (28fd733) will increase coverage by 17.39%.
The diff coverage is 88.98%.

@@             Coverage Diff             @@
##             main      #25       +/-   ##
===========================================
+ Coverage   69.04%   86.43%   +17.39%
===========================================
  Files          27       38       +11
  Lines        1095     1224      +129
===========================================
+ Hits          756     1058      +302
+ Misses        339      166      -173

Flag
Coverage Δ

unittests
86.43% <88.98%> (+17.39%)
:arrow_up:

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

Impacted Files
Coverage Δ

careless/models/priors/base.py
66.66% <ø> (+11.11%)
:arrow_up:

careless/models/likelihoods/mono.py
65.11% <61.53%> (-27.39%)
:arrow_down:

careless/careless.py
62.50% <62.50%> (ø)

careless/models/likelihoods/base.py
75.00% <75.00%> (+17.85%)
:arrow_up:

careless/parser.py
89.70% <85.71%> (+89.70%)
:arrow_up:

careless/models/base.py
87.71% <87.27%> (-1.17%)
:arrow_down:

careless/io/formatter.py
91.70% <91.70%> (ø)

careless/models/likelihoods/laue.py
93.61% <92.68%> (-0.83%)
:arrow_down:

careless/io/manager.py
94.44% <94.44%> (ø)

careless/io/asu.py
95.58% <95.58%> (ø)

... and 43 more

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 28fd733...3dc1056. Read the comment docs.


Version '1:5.1.6*' for 'libreoffice' was not found

Hello All,
I'm using LibreOffice in my application and I'd like to freeze its version (RUN apt-get install -y libreoffice=1:5.1.6*), however it doesn't work, whereas perfectly works for Ubuntu's 16.04 image.
I'm using phusion/baseimage 0.11.
Message in terminal: E: Version '1:5.1.6*' for 'libreoffice' was not found.
Suggestions, please?

Ok, figured out. Version 0.10.2 must be utilize as it is based on Ubuntu 16.04

For the record, the 0.11 baseimage is based on Ubuntu 18.04 (not 16.04)

How do we update: http://phusion.github.io/baseimage-docker/
It says:
FROM ubuntu:16.04

RUN apt-get install all_my_dependencies
ADD my_app_files /my_app

CMD ["/my_app/start.sh"]

While this does not explicitly describe that baseimage is based on 16.04, it is confusing and the only version number on the page.  Hypothetical new user (who hasn't found baseimage-docker yet according to the phusion promotional site) probably should fix his or her upstreams, too.
The documentation (README.md) does reflect the correct version is 18.04 upstream.

@kingdonb https://github.com/phusion/baseimage-docker/tree/gh-pages


parserOptions.project should be nullable

Trying to make ESLint lint AND ts-check itself, I encountered the error

Parsing error: ESLint was configured to run on <tsconfigRootDir>/.eslintrc.cjs using parserOptions.project: /tsconfig.json
However, that TSConfig does not include this file. Either:

Change ESLint's list of included files to not include this file
Change that TSConfig to include this file
Create a new TSConfig that includes this file and include it in your parserOptions.project
See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-fileeslint

Alternatively, you can add parserOptions: { project: null } to an override for the files you wish to exclude. Note that { project: undefined } will not work.

Which could be fixed with
  overrides: [{
    "files": [".eslintrc.cjs"],
    parserOptions: { project: null /* <- add nul*/ },
  }],

Which requires parserOptions.project to be nullable as per above link

https://github.com/Shinigami92/eslint-define-config/commit/5b73f495b30b85450f2537b8238d10e3eeb9f071


Updated my own project

Add an updated version of my project in this repository coffee shop

You can checkout our Idea-Arca, the project idea bank for any languages, for open-source contributions.
The PR from this repo is being accepted in hacktoberfest2023
Happy Contributing season!
Keep up the good work!


missing export_gt_depth_ddad.py file

In the project readme, we have instruction on how to export ddad depth maps for evaluation
cd tools
python export_gt_depth_ddad.py val

but there seems to be no export_gt_depth_ddad.py file in the tools folder.

Hi, thank you. I will update it later, before that, please refer to [this].(https://github.com/GANWANSHUI/SimpleOccupancy/blob/master/tools/export_gt_depth_ddad.py)


DuplicateClass exception when multiple maven builds

Hello,
we are trying to adopt Selma for our corporate project.
Being a big organization, we have in place a system of continuos integration and building.

Is there a way to configure it just to skip exception or to generate code just for a certain maven phase?
Thanks and best regards

Basically what we would need is a functionality of non blocking fail when the class has been generated already in a previous build

Hi @SergioArrighi
Happy new year :), did you try to use the annotation processor plugin to control when the code is generated ?
see here [http://www.selma-java.org/#using-maven].
I hope this will help. can you give me the stack trace because I Selma should overwrite the existing generated source.

Hello,
thanks for replies and sorry to come back so late.
Basically I have this error every time I issue an install without cleaning:
duplicate class: ......builder.response.selma.mapper.Di
splayTripResponseSeatSelmaMapperSelmaGeneratedClass

I'm using maven version 3.0.4 but I'm really bad with it and I wouldn't know how to configure the plugin to make so that if I issue command
mvn install
This error is not happening.
Best regards

Hello,
I'm trying to use the framework for one of my projects. I go the same issue
ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project ...: Compilation failure
[ERROR] /R:/java/dev/eclipse_workspaces/sts_neo/.../RequestMapperSelmaGeneratedClass.java:[6,14] duplicate class: ....RequestMapperSelmaGeneratedClass

Fix it, Please ignore my comment. I forced the :maven-compiler-plugin version to 3.7.0
Respect
Youssef


WIP test v1.5.0 + svc fix v2

This change is

test-me-please

test-me-please

test-me-please

test-me-please

test-me-please

No longer relevant, closing.


[Feature Request]: Synapse Workspace: Missing administrators child module implementation - not possible to add EntraID Admin

Module path
/res/synapse/workspace
Bicep version
0.1.0
Describe the bug
It's not possbile to add a EntraID admin succesfully. We are missing the Administrator section equals to the sql/server module
To reproduce
Run below code it will deploy a Synapse Workspace successfully but with a correct EntraID Admin
resource synapseanalyticsAdministrator 'Microsoft.Synapse/workspaces/administrators@2021-06-01' = {
  name: 'name/activeDirectory'
  properties: {
    login: __sqlAdministratorLoginEntraId__
    sid: __initialWorkspaceAdminObjectId__
    tenantId: subscription().tenantId
  }
}

When above code is added to the main.bicep file it works fine
Code snippet
module synapseanalytics 'br/public:avm/res/synapse/workspace:0.1.0' = {
  name: '${deployment().name}-synapselink'
  params: {
    name: ''
    defaultDataLakeStorageAccountResourceId: storageaccount.id
    defaultDataLakeStorageFilesystem: ''
    sqlAdministratorLogin: __sqlAdministratorLogin__
    azureADOnlyAuthentication: true
    initialWorkspaceAdminObjectID: __initialWorkspaceAdminObjectId__
  }
}

Relevant log output
No response

Hey @Ralph101,
thanks for raising this issue. It seems only the child-module must be added. This is less a bug, but a feature request - be it an absolutely reasonable one. Please note that the module is currently orphaned (i.e., it does not have an owner to maintain it), which means it falls to the smaller group of maintainers to triage issues and if need be update the module. It attached the 'feature request' label to the module for the time being. If one of the maintainers has capacity they will pick it up, though you're of course also invited to contribute if you want.
Once an internal owner is found, the issue would also automatically be assigned to that owner so that the person could take care of the issue right away.

Hi @Ralph101, since there's no owner for this module, but i've contributed to migrate it, i'll try to support in best-effort for this issue.


fix: invalid arch infos from native runtimes

Thank you for your contribution.
It's been a while since I've updated, so I need to update GitHub Actions to test this repository. It may take some time to merge your pull request.
I will merge as soon as the test passes.

A GitHub change seems to have prevented the secret from being passed to the pull request from the forked repository. The change is acceptable, so I'll merge it in.


Use of cache whilst streaming

Hi chaps,
I need to stream a full 2 hour emulation run, but putting a cache size to 1560 quickly gets me killed, so I've been doing:
CACHESIZE=60

stream = Stream('anglova-270:19002',
                'IPTraffic.Tables',
                cache = CACHESIZE
)

[snip]

while True:
  df,event_cur,(_,timestamp) = model.data(ts=True,
                                          index=None)

  if event_cur != event_prev:
#    print(df)
    #we're going to store the first x entries as they come, after that we'll only store when the frame fills up
    if df.shape[0] < CACHESIZE:
      df.to_csv(outfile, sep=',', encoding='utf-8', index=False)
      last_time_written = df.iloc[-1]['Time']
      print("Wrote entries for {} to {}".format(df.iloc[0]['Time'], last_time_written))
    else:
      first_time_in_frame = df.iloc[0]['Time']
      print("Checking {} against {}".format(first_time_in_frame, last_time_written))
      if first_time_in_frame > last_time_written:
        #we're about to lose the content, write it out
        df.to_csv(outfile, mode='a', sep=',', encoding='utf-8', index=False, header=False)
        last_time_written = df.iloc[-1]['Time']
        print("Appended entries for {} to {}".format(first_time_in_frame, last_time_written))

    event_prev = event_cur

  time.sleep(5)

which works in stages:

Whilst the dataframe is filling up; write out the entire content to the output file, overwriting the output file.
When the dataframe has filled up (length has reached the cachesize) then wait till all the data is new
Append the dataframe to the output file and go back to 2.

which seemed to be working for me when using smaller set of nodes, but when using a large set of nodes I get a situation when it's been working fine, waiting in stage 2 and then suddenly hops back to stage 1; i.e the dataframe has lost its data, in fact it only has a single row of data, and for every iteration it only has a single row in it.
Have you seen anything like this before?
Is there perhaps a better way to stream to a file? Arguably I have a problem where if the column number increases in stage 3 then the file will have invalid data which would be unfortunate :-/

Are you trying to store the measurements to file? I'm not sure what you mean by stream to a file. For analyzing long tests, we usually use DataFrameBuilder with otestpoint recorder files. At which point, you use normal pandas/matplotlib APIs to visualize the resulting dataframe.

Yes, but not the raw measurements (there's a model in the middle with a processing pipeline).
I haven't played with the recorder files, maybe i should dig into them a little...
So the full pipeline I have:

Each node gathers iptraffic to see which nodes have sent them traffic in the last time period (hence why I've modified my PR on the iptraffic probe, when the nodes sent the full report of all nodes they've seen traffic from I ran out of cpu on the processor as it couldn't keep up with the stream of data coming in) --> zmq opentestpoint
Central node gathers data from all the nodes from the zmq broker, from what all the nodes can see, it creates sets of "fragments", i.e. sets of nodes that can see each other on the network, for each timestep, --> written to csv file and then appended to later <-- step that's failing
Visualisation node pulls in the csv file and graphs it against data gathered elsewhere.

does that explain my problem?
My fear with the recorder files and DataFrameBuilder would be that I'd run out of memory, this central node only has 4GB.
I'm just over half-way through the emulation and the recorder .data file is about 650MB per node, so they'll probably be about 1.2GB when the emulation is done I reckon.  Shifting 160 of them across the network to a node with more memory would probably take a while, and run out of disk :-/

Have you considered doing this without labtools, your use case seems pretty custom. You can subscribe to the probe measurement and just pull the information you need at either one or more broker points and make it available to your pipeline.  It does not sound like you need dataframe processing. You can also locally subscribe on each node to the local measurements and do a reduce/summarization step and republish -- there are many options.
Have a look at the source for otestpoint-dump, it is pretty straightforward.

WHAT? But I've spent so much time learning labtools and writing my custom observers! :-p
I did write a otestpoint -> mqtt bridge so I've used the raw stuffs before; just thought I'd finally hit the right case for using the labtools!
The nice thing about using the labtools was that it helped me ensure I had as much data as possible for each timestep, e.g. if I've processed the data from 158 nodes to generate the fragment list, then I get the data from the 159th node late and have to do all the work again; labtools helped me ensure I had all the available data within the correct timestep.
I was hoping to avoid reinventing that particular wheel!

OK, I've done it with a simple python zmq script now :-)


feat(autocomplete): Add filterResults option

Add an option for the user to set so that the suggestion list will
be filtered to only show the suggestions that match the typed input.

Isn't this supposed to get filtered on the server side?
$scope.loadTags = function(query) {
return $http.get('/tags?query=' + query);
};
Would only return items matching query, no?


Where can I find "gethostname" and "gai_strerror"

Hi ESP-IDF, 🙉
I'm trying to port library open62541 from Linux/windows/QNX to ESP-IDF with no luck (Issue). My new strategy is file for file to walk through this cross-compile.
The most problematic file is ua_network_tcp.c. Durcing the compiling time for this file, There comes two errors:
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c: In function 'ServerNetworkLayerTCP_start':
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:391:8: error: implicit declaration of function 'gethostname' [-Werror=implicit-function-declaration]
     if(gethostname(hostname, 255) == 0) {
        ^
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c: In function 'UA_ClientConnectionTCP':
/home/gfast2/workspace/ioc-110-ethernet/components/open62541/open62541/plugins/ua_network_tcp.c:709:34: error: implicit declaration of function 'gai_strerror' [-Werror=implicit-function-declaration]
                        hostname, gai_strerror(error));
                                  ^

I grep all files from ESP-IDF. And found some examples (like coap/libcoap/examples/coap-server.c) implementate function gai_strerror. But nowhere defined this function (gethostname has the similar issue). What should I do? 🉑

P.s:
I know my biggest problem right now is the part between my ears. But I did investigate a lot of time for this porting job. And I believe I've learned tons from this. 😃

https://github.com/espressif/esp-idf/blob/7d436c9a44b7506c3de4d5ed6decff8f35f64b67/components/tcpip_adapter/tcpip_adapter_lwip.c#L1024

Hi @negativekelvin
Thanks. This gethostname issue is firstly through the following statement addressed:
if(tcpip_adapter_get_hostname(TCPIP_ADAPTER_IF_STA, ((const char **)(hostname)) ) == 0) {

But I'd like to know something more about gai_strerror. It seems like as macro of glibc and served as for debugging perpose. 🐤

It just return string describing error code, you can just print the code instead.

Thanks @negativekelvin , 🤘 🤝
After fixing these problems, file ua_network_tcp.c get compiled beautifully. I believe I have to investigate some time to mangling the tcp connector in order to let OPC UA start to works on ESP32!

BTW:
in ESP-IDF 's components folder. There are some examples from this components (like ~/esp/esp-idf/components/coap/libcoap/examples). What kind of examples are they? Are they ready to be used for ESP-IDF or only from this component's repo directly? 👂


Can't mount two S3 mount points in the same pod

/kind bug

NOTE:  If this is a filesystem related bug, please take a look at the Mountpoint repo to submit a bug report

What happened?
Tried to mount two different buckets in the same pod:
Pod volume mounts
            - name: front-bucket
              mountPath: /mnt/front
              readOnly: true
            - name: assets-bucket
              mountPath: /mnt/assets

Pod Volumes
  - name: assets-bucket
    persistentVolumeClaim:
      claimName: xxx-assets-claim
  - name: front-bucket
    persistentVolumeClaim:
      claimName: xxx-front-claim

If I comment one or the other VolumeMounts, it's okay, the pod start correctly
What you expected to happen?
I except the Pod run with two S3 mount points attached :)
How to reproduce it (as minimally and precisely as possible)?
Create two PV (one different bucket for each), PVC and try to mount in a pod.
Anything else we need to know?:
I also use CSI Secret Store + CSI Secret AWS Plugin
Logs of one S3 CSI Driver Controller, we only see 1/2 is detected/mounted
I1222 15:22:23.195319       1 driver.go:61] Driver version: 1.1.0, Git commit: c681ab1f19ccba5976e3263f0e3df65718750369, build date: 2023-12-05T19:47:03Z, nodeID: ip-10-1-19-61.eu-west-3.compute.internal, mount-s3 version: 1.3.1
I1222 15:22:23.199800       1 mount_linux.go:285] 'umount /tmp/kubelet-detect-safe-umount2175845353' failed with: exit status 32, output: umount: /tmp/kubelet-detect-safe-umount2175845353: must be superuser to unmount.
I1222 15:22:23.199818       1 mount_linux.go:287] Detected umount with unsafe 'not mounted' behavior
I1222 15:22:23.205186       1 driver.go:83] Found AWS_WEB_IDENTITY_TOKEN_FILE, syncing token
I1222 15:22:23.205394       1 driver.go:113] Listening for connections on address: &net.UnixAddr{Name:"/csi/csi.sock", Net:"unix"}
I1222 15:22:23.887141       1 node.go:204] NodeGetInfo: called with args
I1222 15:22:31.688535       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:22:31.689731       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:22:31.690351       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:22:31.690838       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:22:31.691495       1 node.go:49] NodePublishVolume: called with args volume_id:"s3-csi-driver-volume" target_path:"/var/lib/kubelet/pods/b5dc74ab-ac7a-4f34-8a45-14596e68137c/volumes/kubernetes.io~csi/xxx-front-pv/mount" volume_capability:<mount:<mount_flags:"region eu-west-3" > access_mode:<mode:MULTI_NODE_MULTI_WRITER > > volume_context:<key:"bucketName" value:"xxx-front-production" >
I1222 15:22:31.691547       1 node.go:81] NodePublishVolume: creating dir /var/lib/kubelet/pods/b5dc74ab-ac7a-4f34-8a45-14596e68137c/volumes/kubernetes.io~csi/xxx-front-pv/mount
I1222 15:22:31.691613       1 node.go:108] NodePublishVolume: mounting xxx-front-production at /var/lib/kubelet/pods/b5dc74ab-ac7a-4f34-8a45-14596e68137c/volumes/kubernetes.io~csi/xxx-front-pv/mount with options [--region=eu-west-3]
I1222 15:22:31.693249       1 systemd.go:99] Creating service to run cmd /opt/mountpoint-s3-csi/bin/mount-s3 with args [xxx-front-production /var/lib/kubelet/pods/b5dc74ab-ac7a-4f34-8a45-14596e68137c/volumes/kubernetes.io~csi/xxx-front-pv/mount --region=eu-west-3 --user-agent-prefix=s3-csi-driver/1.1.0]: mount-s3-1.3.1-df2c8236-7483-4356-8c7c-ebb2f88904be.service
I1222 15:22:31.813628       1 node.go:113] NodePublishVolume: /var/lib/kubelet/pods/b5dc74ab-ac7a-4f34-8a45-14596e68137c/volumes/kubernetes.io~csi/xxx-front-pv/mount was mounted
I1222 15:22:46.776028       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:24:11.527808       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:25:48.044354       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:27:03.892153       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:28:25.606031       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:29:40.029468       1 node.go:188] NodeGetCapabilities: called with args
I1222 15:31:38.040287       1 node.go:188] NodeGetCapabilities: called with args

Environment

Kubernetes version (use kubectl version): 1.28 (EKS)
Driver version: v1.1.0-eksbuild.1

Oh, just tried to rename the "undocumented" field on PV
 volumeHandle: s3-csi-driver-volume

By something different on each PV and it worked ! (s3-csi-driver-volume-front
Keeping this issue for documentation :)

Glad you figured out the fix here. The CSI persistent volume fields are documented here for reference. We'll add some better documentation/examples on our end as well. Kubernetes seemingly silently drops volumes with duplicate ids and does not pass them on to the driver, so the error reporting is not helpful.

Thanks for the examples !!! :heart:


added gif, png, and jpg capability in MessageServlet.java

Hi Dan, I made the changes, but I am not sure if that is how you imagined it to be implemented: I decided to change the message text of the Message objects in the message list passed to the json. That way the underlying text in the Datastore is preserved. Does that work?

Ok, take a look at PR #18 now.  It provides a way to hook in new MessageTransformers, so if you turn your image url rewriting into a MessageTransformers, you can inject them like you see in that PR.

From what I understand, I think I could go two ways. One way, maybe, is to add a method to the messageTransformer class called replaceImages() and implement it in the JSoupCleanMessageTransformer class.
The other way, perhaps, is to create a new class called ReplaceImagesTransformer wherein I would implement transform() there. I think the latter makes more sense because it seems that the SequentialMessageTransformer design suggests having different MessageTransformers.

I am a bit confused by this line:
messageTransformer =
new SequentialMessageTransformer(Arrays.asList(new JSoupCleanMessageTransformer()));
Does that mean that whenever doGet() is called there is only one MessageTransformer object in the SequentialMessageTransformer List?
If so, wouldn't we choose the former way I mentioned above since we aren't adding new MessageTransformers to the SequentialMessageTransformer Lists?

You're right that the correct way is to create a new MessageTransformer class for each separate behavior.  So you should create a MessageTransformer class that just handles replacing image URLs.  The advantage of doing it this way is that it will let us sort of mix-and-match behaviors, and to test them all independently.
When you create your new class, you'll add it to the list that's passed to the SequentialMessageTransformer, after the JSoupClean class (Arrays.asList takes a variable number of arguments).  That way, when doGet() is called, each of the messages will be passed through each of the transformers: first JSoupClean, then image URL rewriting.
Does that help?


AFD Configuration for custom domains doesnt work by default

When setting AFD_CUSTOM_DOMAIN setup doesnt tackle (or define steps to):

Remove the old assigned domain from the route
Add Forward Host Header
Add the domain to the AppService so it accepts the HOST header traffic matching the custom domain

hey @nsp37 I think this might be related to issue I just opened #92
Can you provide more details what configuration you've added in AFD?

In AFD under the Route - you can hardcode the forwarded HOST header - you need to set this to the custom domain. It defaults to the AFD original hostname so Wordpress will redirect you infinitely.
To get AppService to accept the host heaader you have to then add the Custom Domain there as well - but only validate it, do not bind it.

Hey,
Thanks for your help!
I tried something similar but I'm getting lost in the wordpress space and can't get any logs out of WP.
My Setup is:
AFD:

route for custom domain site1.foo.com to Azure App Service with origin group that has Origin Host Header set to site1.foo.com (instead of wordpress-foo.azurewebsites.net). Origin Path is set to /site1

App Service

added domain site1.foo.com - validated without CNAME

WP:

Config:

WORDPRESS_MULTISITE_TYPE - subdirectory
WORDPRESS_MULTISITE_CONVERT - true

Network manager - added site1
In site1 settings changed site Address (URL), home and siteurl to https://site1.foo.com

I think