Getting error: System.IO.FileNotFoundException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource when running app in linux container

Setup an ASP.NET Core application to use Microsoft.ApplicationInsights.AspNetCore. Runs fine locally (MacOS), but when published as a linux app and deployed to a linux instance, it throws the below error when attempting to call AddApplicationInsightsTelemetry.
2021-03-17T09:59:25.953-04:00 [APP/PROC/WEB/0] [ERR] Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
2021-03-17T09:59:25.953-04:00 [APP/PROC/WEB/0] [ERR] File name: 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
2021-03-17T09:59:25.953-04:00 [APP/PROC/WEB/0] [ERR] at Microsoft.Extensions.DependencyInjection.ApplicationInsightsExtensions.AddApplicationInsightsTelemetry(IServiceCollection services)

Configuration:
.NET core 3.1
Linux
Dependencies
Microsoft.AspNetCore.Owin 3.1.1
Microsoft.AspNetCore.Server.Kestrel 2.2.0
Microsoft.ApplicationInsights.AspNetCore 2.17.0
System.Diagnostics.DiagnosticSource 5.0.1
I set the application key by environment variable (APPINSIGHTS_INSTRUMENTATIONKEY). I have verified that I am are setting it properly. I have also ran a variation where I do set the key inside of the appsettings.json, but that also returns the same error.
I have also tried downgrading Microsoft.ApplicationInsights.AspNetCore to 2.16.0, but that did not help.
Is there a known issue and/or workaround for this configuration?

I have the same issue. Version 2.15.0 is for me the latest version that works. I'm running by the way on .Net core 3.1.102 and 'linux-arm'

We have a similar problem on Windows, anything above 2.15.0 brings in System.Diagnostics.DiagnosticSource which is 5.0.x.
I really wish they hadn't taken a dependency on something from the 5.x versioning because it currently breaks within any app running pre-.NET 5.0.
Our Azure Functions are still on .NET Core 3.1, and if I upgrade AppInsights past 2.15, I start to get missing method exceptions.
Personally, I think this isn't right.  On non-.NET 5.0, it shouldn't be depending on anything from 5.x versioning.

There shouldn't be any issues with using System.Diagnostics.DiagnosticSource 5.X in, say, .NET Core 3.1 apps. The DiagnosticSource package is fully backward compatible. (we can continue to expect that application insights SDK always require the latest DS package, irrespective of the actual framework where the app is running.)
If anyone can share a minimal repro app showing issues with the latest SDK + DS 5.0, that'd be helpful.
@kirk-marple For Functions, its recommended to open an issue in the Functions repo. (Also I don't think it is ever recommended to directly install ApplicationInsights package in Functions due to versioning issues. But this is best asked/resolved in Functions repo)

I really wish they hadn't taken a dependency on something from the 5.x versioning because it currently breaks within any app running pre-.NET 5.0.

Could you elaborate on this and share a sample which repros this issues.

@kirk-marple For Functions, its recommended to open an issue in the Functions repo. (Also I don't think it is ever recommended to directly install ApplicationInsights package in Functions due to versioning issues. But this is best asked/resolved in Functions repo)

What I found was the latest Microsoft.Azure.WebJobs.Logging.ApplicationInsights pulls in Microsoft.ApplicationInsights 2.17.0, and that has the 5.x dependency on System.Diagnostics.DiagnosticSource, which starts giving the missing method exception problems.
From what I understand with the Functions hosting, this is a known limitation, and we need to be careful pulling in .NET 5.x bits into Functions.  We've had to be very careful upgrading to anything 5.x in our common assemblies, which our Functions app references, or we start to get version compatibility issues. (Functions has started to rollout 5.x support, but we use Durable Functions which aren't expected to be compatible til .NET 6 or 7.)
I'll have to spend the time creating a separate solution/project to repro this; it's difficult to carve out of our bigger application right now.
But I literally hit this problem when I upgraded Microsoft.Azure.WebJobs.Logging.ApplicationInsights to 3.0.27 from 3.0.25, and pushed our function app to Azure, and started hitting these errors:
Method not found: 'Microsoft.ApplicationInsights.Extensibility.IOperationHolder`1<!!0> Microsoft.ApplicationInsights.TelemetryClientExtensions.StartOperation(Microsoft.ApplicationInsights.TelemetryClient, System.Diagnostics.Activity)'.

@kirk-marple If webjobs 3.0.27 is bringing in a version of ApplicationInsights, which is not supported in the Functions infra, then it must be reported in Functions repo. Functions+ApplicationInsights integration is handled separately in that repo.
Outside of Functions - This SDK is always expected to require the latest DS version as it requires features from the latest version of DS, and cannot operate with lower versions.

I hear you, we have the same problem if we update Microsoft.ApplicationInsights from 2.15.0 to 2.17.0 in our common assemblies.
We need access to Microsoft.ApplicationInsights to reference TelemetryClient in our base classes, which are used in web services and console apps, not just our functions.  So we have to reference it in our common assemblies.

Outside of Functions - This SDK is always expected to require the latest DS version as it requires features from the latest version of DS, and cannot operate with lower versions.

Gotcha, it's just troublesome as a developer where, even if we keep our apps to .NET Core 3.1 and don't pull in anything intentionally from 5.x versioning, we get broken by updating to all the latest Nuget packages (which aren't using 5.x versioning).
Unless I'm missing something and we're doing something wrong here, in your opinion?

S.D.DS is an out-of-band package and is expected to work with app running in all supported .NET versions, not just the .NET5 apps.
Do you have an example where a .NETCore3.1 app is broken, when updating DiagnosticSource to 5.0? Its fully backward compatible, and should not cause any issues. if it is causing issues, we need to investigate why.

@cijothomas I'll have to create a standalone project to repro this; it would be hard right now to break this out of our multiple projects/solutions.  I'll work on this and post back a sample when ready.

I would like to add a note...
We had five applications all running fine with was working fine with a direct dependency to ApplicationInsights  v2.16.0
Without making any changes to the project dependencies, or any changes to the initialisation routines, one of the applications now refuses to launch with the same error...
The only code updates were in  updates were a few wwwroot files (css/js) and a few middleware functions (cs).
Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.

File name: 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
   at Microsoft.Extensions.DependencyInjection.ApplicationInsightsExtensions.AddApplicationInsightsTelemetry(IServiceCollection services)
   at Microsoft.Extensions.DependencyInjection.ApplicationInsightsExtensions.AddApplicationInsightsTelemetry(IServiceCollection services, Action`1 options)
   at Microsoft.Extensions.DependencyInjection.ApplicationInsightsExtensions.AddApplicationInsightsTelemetry(IServiceCollection services, String instrumentationKey)

@cijothomas I've stripped down our code into a reproducible sample.
https://github.com/kirk-marple/function-app-missingmethodexception
Simply updating from 2.15.0 to 2.16.0 or 2.17.0 causes the missing method exception.
[2021-04-05T21:01:48.941Z] System.Private.CoreLib: Exception while executing function: HttpFunction. FunctionApp: Method not found: 'Microsoft.ApplicationInsights.Extensibility.IOperationHolder`1<!!0> Microsoft.ApplicationInsights.TelemetryClientExtensions.StartOperation(Microsoft.ApplicationInsights.TelemetryClient, System.Diagnostics.Activity)'.

@kirk-marple The repro is a functions app and I recommend opening issue in Functions repo (as mentioned earlier https://github.com/microsoft/ApplicationInsights-dotnet/issues/2187#issuecomment-805969343)

Going to do that as well, thanks.  I was following up on your prior request:

Could you elaborate on this and share a sample which repros this issue

Yea, i was looking to get repro app for non-functions case. (Functions runtime use a special way of loading AI or DS packages. )

https://github.com/kirk-marple/function-app-missingmethodexception/blob/master/FunctionApp.csproj#L30 - This sounds incorrect. Per my understanding, Functions doesn't allow user to take direct dependency on ApplicationInsights.

Just simplified it further, and still get the error.  We need to take a dependency on that, so we can use TelemetryClient.StartOperation.

You dont need to add application insights direct dependency to add custom logging:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-dotnet-class-library?tabs=v2%2Ccmd#log-custom-telemetry-in-c-functions


License on CIL-Demos

Needs dual license to state GPL if cil-astra is used

Apache 2 license is sufficient as distributed separately to CIL-ASTRA/ASTRA. Install/distribution becomes GPL only if the user installs/distributes them together.


Added OpenStack Summit by @colemancda

[x] Project URL: https://github.com/OpenStack-mobile/summit-app-ios
[x] Update contents.json instead of README
[x] One project per pull request
[x] Avoid iOS or open-source in description as it is assumed
[x] Use this commit title format if applicable: Add app-name by @github-username
[x] Use approved format for your entry

@colemancda Hi! Could you please add the next line "tags": ["swift"] and change 'https://itunes.apple.com/us/app/openstack-foundation-summit/id1071261846' to 'https://itunes.apple.com/app/openstack-foundation-summit/id1071261846'?
Thank you!

Updated, to have nice commits just Merge and Squash.

@colemancda  Thank you!


[Question] How to edit/adjust config of archiver?

Quick storytime:
I used oCIS since version 3 and waited untill it really is "usable" for productive work. Anyway since I also take photos in my freetime I still use the good old "OwnCloud" for hosting pictures, as oCIS currently just isn't good enough:

no thumbnails for pics by default (I shoot in 42MP)
no thumbnails for RAWs (.ARW again in 42MP)
cant really download anything, as 14 RAWs (~80*14 = ~1120MB and cant be downloaded on oCIS)
uses a lot of CPU usage for thumbnails, if it creates them (mostly just reates them for small pics by default)
no hw acceleration for

But since oCIS v5 things started to iron-out and I thing as a file-cloud it does a pretty good job - still very bad for pictures, but I even introduced it at the company I work to replace the old Cloud.
Anyway the main topic of this "issue" is, that someone thought it is a clever idea to limit archives in general, and I fundamentaly disagree with this: https://github.com/owncloud/ocis/issues/2537
Some limit should be there, but 1.1GB and 1000files .. really?
Even my super weak Intel NUC can 100% create bigger archives! Also I would not mind to wait, but simply refuse to do the job is a big NoGo for me. I think some things went wrong here!
Anyway I understand that there needs to be some type of limitation, but 1.1GB really is absolutely normal, even for personal use and should have NEVER been a limit in the first place. I found the limitation here:

https://doc.owncloud.com/ocis/next/deployment/container/orchestration/tab-pages/values-tab-2.html#:~:text=archiver%20can%20create.-,maxSize%3A%201073741824,-%23%20%2D%2D%20Max%20number%20of
https://doc.owncloud.com/ocis/next/deployment/container/orchestration/tab-pages/val-desc-tab-1.html#:~:text=features.archiver.maxSize

But yet I do not know how to adjust this in my docker-compose.yml file and why this ever made it in any release?
I can not even thing of any machine, that would be so slow, that it could not create an archive bigger than 1.1GB...
That aside I would be happy to know, what to do, to remove or edit this (in my opinion stupid) limit so a reasonable setting.
Thanks for this great app! :)

We have the honorable duty to offer SaaS solutions for up to 3 million users.
So please do not blame us for some protective default values.
You can change them very easily to accommodate your needs.

So please do not blame us for some protective default values.

One things does not have anything to do with the other.

You can change them very easily to accommodate your needs.

Thanks for basically nothing.. this repeats my question:

But yet I do not know how to adjust this in my docker-compose.yml file

but does not answer it.

Re opening, not answered.

I am on mobile, I can look it up later.
seems that you have not found the docs yet 🤣
doc.owncloud.com is the official docs.
There is the deployment section where every possible config value is listed and documented.
I need to look it up for myself.

Ok I have found it: https://doc.owncloud.com/ocis/next/deployment/services/s-list/frontend.html#archiver

Name
IV
Type
Default Value
Description

FRONTEND_ARCHIVER_MAX_NUM_FILES
pre5.0
int64
10000
Max number of files that can be packed into an archive.

FRONTEND_ARCHIVER_MAX_SIZE
pre5.0
int64
1073741824
Max size in bytes of the zip archive the archiver can create.

These are the env-vars that are needed to adjust the archiver.
Since I now tested it, I have more questions now, than before and understand the limitation of the 1.1GB default.
The implementation is so bad, that this limit is ment to conseal the problem.
My .ARW files are about 80MB and when I downloaded three of them oCIS consumed a lot of CPU, but after the download I inspected the downloaded ZIP and saw, that no compression was applied.
Here some pics of the claims:

bdac606d7704   owncloud        22.29%    196.3MiB / 4GiB     4.79%     2.57GB / 5.03GB   0B / 2.73MB      23

Also: 10min after the download, the CPU is still "high" with about 20%, as if it still would do something:
bdac606d7704   owncloud        19.27%    172.8MiB / 4GiB     4.22%     2.55GB / 4.97GB   0B / 2.62MB      23

Notice: this is a demo installation, with NOTHING, but this demo-download folder and no other users.
The isue goes away, after a restart of the container:
bdac606d7704   owncloud        0.23%     73.23MiB / 4GiB     1.79%     30.6kB / 17.3kB   0B / 164kB       25

Ok I have found it: https://doc.owncloud.com/ocis/next/deployment/services/s-list/frontend.html#archiver
Name	IV	Type	Default Value	Description
FRONTEND_ARCHIVER_MAX_NUM_FILES	pre5.0	int64	10000	Max number of files that can be packed into an archive.
FRONTEND_ARCHIVER_MAX_SIZE	pre5.0	int64<PHONE_NUMBER>	Max size in bytes of the zip archive the archiver can create.
These are the env-vars that are needed to adjust the archiver. Since I now tested it, I have more questions now, than before and understand the limitation of the 1.1GB default. The implementation is so bad, that this limit is ment to conseal the problem.
My .ARW files are about 80MB and when I downloaded three of them oCIS consumed a lot of CPU, but after the download I inspected the downloaded ZIP and saw, that no compression was applied.
Here some pics of the claims:

bdac606d7704   owncloud        24.45%    181.8MiB / 4GiB     4.44%     334MB / 651MB     0B / 238kB       23

Also: 10min after the download, the CPU is still "high" with about 20%, as if it still would do something:
bdac606d7704   owncloud        19.27%    172.8MiB / 4GiB     4.22%     2.55GB / 4.97GB   0B / 2.62MB      23

Notice: this is a demo installation, with NOTHING, but this demo-download folder and no other users.
The isue goes away, after a restart of the container:
bdac606d7704   owncloud        0.23%     73.23MiB / 4GiB     1.79%     30.6kB / 17.3kB   0B / 164kB       25

Hi @micbar While I don't agree with the anger and entitlement expressed by @the-hotmann, I do agree that the state of Web based downloads in OCIS is lacking. As @the-hotmann points out, the expectation (that I shared) is that the limitation is a server config that can be easily adjusted to allow for larger downloads.
Let's take the example of PHP. On a fresh LAMP deployment one might adjust the php.ini configuration to allow for large downloads. UPLOAD_MAX_FILESIZE, MAX_INPUT_TIME, MEMORY_LIMIT, MAX_EXECUTION_TIME, POST_MAX_SIZE etc are all set to safe values by default, but they can be adjusted to allow an admin to permit the user to execute scripts to download large files. This is how OC10 worked.
This is not the case with OCIS. Adjusting the values above does not allow downloading large files, it simply reveals that the mechanism OCIS Web uses to create archives is resource intensive and inadequate for large files. I am hoping this can be rewritten in future versions of OCIS Web because I share the use case with @the-hotmann - we run file shares for photographers and videographers, and these files are all very large.
@the-hotmann I understand this is not ideal, but we've had luck using OCIS desktop and mobile clients to get around this issue.
As always, it is such an exciting thing to see OCIS being developed so actively, and I am extraordinarily grateful to all the individuals who have been contributing code and working towards its betterment.
Thank you!

This is not the case with OCIS. Adjusting the values above does not allow downloading large files, it simply reveals that the mechanism OCIS Web uses to create archives is resource intensive and inadequate for large files. I am hoping this can be rewritten in future versions of OCIS Web because I share the use case with @the-hotmann - we run file shares for photographers and videographers, and these files are all very large.

Thanks for the objective approach.
I must correct some statements here to give more understanding.

Compression

I think the docs are wrong, there has been no requirement to compress files so far. Archive downloads are just "convenience" to have one file instead of many. Sorry for the misleading information.

Where is the archive created

You said its the web client, that is wrong. Ocis is a microservice architecture. The archive is created on the archiver service. The archiver service has no access to the files on disk (separation of concern). So it needs to download the file from the storage-users service, hold it in a buffer and create the archive on the fly.
There are possible improvements listed in https://github.com/owncloud/web/issues/10501

Native Clients

All our native clients can download and upload very large files. We are using the very robust TUS protocol (tus.io) so that has always been the preferred way to handle large files.

This is not the case with OCIS. Adjusting the values above does not allow downloading large files, it simply reveals that the mechanism OCIS Web uses to create archives is resource intensive and inadequate for large files. I am hoping this can be rewritten in future versions of OCIS Web because I share the use case with @the-hotmann - we run file shares for photographers and videographers, and these files are all very large.

Thanks for the objective approach.
I must correct some statements here to give more understanding.

Compression

I think the docs are wrong, there has been no requirement to compress files so far. Archive downloads are just "convenience" to have one file instead of many. Sorry for the misleading information.

Where is the archive created

You said its the web client, that is wrong. Ocis is a microservice architecture. The archive is created on the archiver service. The archiver service has no access to the files on disk (separation of concern). So it needs to download the file from the storage-users service, hold it in a buffer and create the archive on the fly.
There are possible improvements listed in owncloud/web#10501

Native Clients

All our native clients can download and upload very large files. We are using the very robust TUS protocol (tus.io) so that has always been the preferred way to handle large files.

Hi @micbar thanks so much for the thoughtful reply and I am excited to see brainstorming for a possible solution. Sounds like the archiver service needs to allocate disk buffer rather than RAM.
I understand archives are not being made client-side but I'm still curious about this process-I'm doing my tests in Mac Safari and it is interesting to see a download workflow that bypasses the typical browser behavior. What happens when I download a large archive is that the AJAX loader plays while the browser keeps eating RAM. Eventually the file is just "downloaded" without the native DL UI.
In any case, here's to hoping for a good solution. Thanks everyone! Viva OCIS!


Ctrl+C causes bst shell to exit when I don't want it to

See original issue on GitLab
In GitLab by [Gitlab user @samthursfield] on Jun 21, 2017, 12:06
I find that whenever I hit Ctrl+C in a bst shell, it exits the shell. I pretty much never want Ctrl+C to exit the shell, I'm usually pressing this to cancel a running build. I will type exit or hit Ctrl+D when I want to actually exit the sandbox.

In GitLab by [Gitlab user @tristanvb] on Jun 22, 2017, 12:11
closed via commit a7aa1e24c96ce56b7b5bc9e1b80a08e55bee11b2

In GitLab by [Gitlab user @tristanvb] on Jun 22, 2017, 12:11
This is fixed with the following commit:
commit a7aa1e24c96ce56b7b5bc9e1b80a08e55bee11b2
Author: Tristan Van Berkom <tristan.vanberkom[[Gitlab user @codethink]](https://gitlab.com/codethink).co.uk>
Date:   Thu Jun 22 20:06:08 2017 +0900

    _sandboxbwrap.py: Fix job control in interactive mode

    For some reason, launching bwrap under a new session (setsid()) causes
    the shell launched in that container to lack job control.

    This patch fixes this by conditionally creating the new session, which
    we need to ensure we handle SIGTSTP and SIGTERM separately in regular
    non-interactive mode, but not creating the session when launched in
    interactive mode.

    This fixes issue #40


[Help Request] traci

High Level Description
I have noticed i have the same problem with #2127,  so i update the latest smarts version. but the problems still exist.
problem 1 :
Could not connect to TraCI server at localhost:59573 [Errno 111] Connection refused
 Retrying in 0.05 seconds
Could not connect to TraCI server at localhost:59573 [Errno 111] Connection refused
 Retrying in 0.05 seconds
Could not connect to TraCI server at localhost:59573 [Errno 111] Connection refused
 Retrying in 0.05 seconds

in the beginning, the traci will tried to connect to different ports. however, after running 10 hours, the traci only tried to connect to the same port with constant failure, so my code stucked, i have to rerun my code.
problem 2 :
this problem is like the #2127, because of
  File "./smart_master/SMARTS/smarts/core/sumo_traffic_simulation.py", line 239, in _initialize_traci_conn
    self._traci_conn.setOrder(0)
TypeError: 'NoneType' object is not callable

so my smarts can't reset successfully, i update the code, but this problem still exist occasionally.
and can i ture off this traci warning?  90% of my console output is traci warning, I can't find the info i really need. thank you very much
Version
the latest v
Operating System
ubuntu
Problems
No response

Hello @knightcalvert, we are currently using this method to acquire port numbers for SUMO.
I did a bit of digging into SUMO port creation and shutdown. I think perhaps this line killing SUMO is preventing the destructor being called and cleanup of SUMO's used port.
https://github.com/huawei-noah/SMARTS/blob/e2144e1e99cf2326e36c32388d3e0687dbfd0d4d/smarts/core/utils/sumo.py#L226
I'll try tomorrow to see if I can apply a cleaner shutdown without blocking on sumo closing.
I will also squash the messages. They are related one of sumo's methods that uses print for warnings...:
https://github.com/eclipse-sumo/sumo/blob/56aceb87d847397941936c28934f9097e0c03f98/tools/traci/main.py#L87-L106

An update. kill() was intended to prevent zombie SUMO processes, without it some sumo zombie processes can be left behind. I am trying to find a solution that closes sumo processes gracefully but does not leave behind zombie processes.

#2140 is intended to fix the issue. From current stress testing, kill() does not leave over zombie processes or lost ports. Processes exiting without closing the sumo process will cause zombie processes, mainly in the case of an exception or closing a process without calling SMARTS.destroy() inside. I have going to run a second set of stress tests to see if reusing a single process causes a problem.
@knightcalvert One thing to note, even after this, if you are using SMARTS directly make sure that each SMARTS instance calls destroy() at the end of its use to guarantee cleanup of resources. If using the the gym style environment close() is necessary.

after updating the code, it helpful, the useless output is gone.
but maybe because of my parallel run? i still got:
[] TraCI could not connect in time to 'localhost:52151' [Could not connect in 101 tries]
[] TraCI could not connect in time to 'localhost:52151' [Could not connect in 101 tries]
[] TraCI could not connect in time to 'localhost:52151' [Could not connect in 101 tries]

and my code have using close()
    def close(self):
        self.base_env.close()

i‘m not familiar with the traci or ports, and just curious that if one port could not connect in many tries, it seems useless to continue connecting this port, can i tried to connect another one?

after updating the code, it helpful, the useless output is gone.
but maybe because of my parallel run? i still got:
[] TraCI could not connect in time to 'localhost:52151' [Could not connect in 101 tries]
[] TraCI could not connect in time to 'localhost:52151' [Could not connect in 101 tries]
[] TraCI could not connect in time to 'localhost:52151' [Could not connect in 101 tries]

I think I understand the issue better now. It does not seem to have to do with number of ports but with the SUMO server and SMARTS somehow not paring.
My only thought is that somehow this is happening:

Once a connection is established, SMARTS does not check to see if its instance of the TraCI server (sumo) is still alive. So, I think this might be the result of an extremely low probability race condition where a smarts instance manages to connect to a different TraCI server by bad luck, then locking out the actual owner of the TraCI server.
We get ports by getting a random free port recommended by the OS (out of 64512 standard ports), so the chance of ports colliding is very low but possible.

and my code have using close()
    def close(self):
        self.base_env.close()

i‘m not familiar with the traci or ports, and just curious that if one port could not connect in many tries, it seems useless to continue connecting this port, can i tried to connect another one?

It was assumed that it would connect or retry with a different port. I will put in a patch that will reattempt with a different port while I think of a way to gracefully handle the root cause.

problem 2 :

Does this still happen?

i‘m not familiar with the traci or ports, and just curious that if one port could not connect in many tries, it seems useless to continue connecting this port, can i tried to connect another one?

I have attempted a patch 0930736 for that now in #2140. It retries with a different port and saves the TraCI server on a failed connection to avoid interrupting a different instance.

my last run is stucked in 401027 episodes, as far as i know, the problem 2 is not happened again. I roughly understand what you say, it seems like if i reduce the number of parallel runs, the possibility of port occupation will reduce too?
really thank you for your constant attention.

my last run is stucked in 401027 episodes, as far as i know, the problem 2 is not happened again. I roughly understand what you say, it seems like if i reduce the number of parallel runs, the possibility of port occupation will reduce too? really thank you for your constant attention.

Honestly, it would reduce the chances but not completely prevent it.
I am pursuing a different solution that uses a centralised server. As of 94da02f it looks like this:
# console 1 (or in background)
$ python -m smarts.core.utils.sumo_server

# console 2
# Set environment variable
$ export SMARTS_SUMO_SERVE_MODE=remote
## do run
$ python experiment.py

The newest change resulted in no disconnects and no port collisions against 60k instances and 32 parallel experiments.

Hi @Gamenot I am still facing the issue for TraCI server.
I ran the cmd python -m smarts.core.utils.centralized_traci_server on 1 console.
Then I ran in 2nd console
export SMARTS_SUMO_TRACI_SERVE_MODE=central
and also ran the example code of SMARTs.
I am able to see red cars only.


RFC proc-macro structure

Related to issue #81
In the course of issue #112
I had a look at the proc-macro crate, with a view to fixing #112.
The proposal is to, in the first instance restructure the code into the following pipeline:

The file layout would be:
src
|-- lib.rs
`-- trace
    |-- analyze.rs
    |-- codegen.rs
    |-- lower.rs
    `-- parse.rs

New proc-macro-attributes, proc-macro-functions would be expected to follow the same convention.
The idea would be to write tests as the code is migrated.
A WIP example is in the issue-1 branch of tracing-attributes-http:
https://github.com/taqtiqa-mark/tracing-attributes-http/tree/issue-1/src
Thoughts?

Thank you for bringing it up, the proposal looks petty neat to me. The current codebase is not intended to be this messy and mysterious... It's simply because I've put all ideas into it in one night and to prove they work, so the code structure was not seriously taken into consideration.
To leave some useful information for who is interested in refactoring the macro (I may do it months later if no one does it by that time), here is the original place where some of the code is copied from:

https://github.com/dtolnay/async-trait: for adding lifetime to arguments, when elaborating an async fn into fn -> impl Future.
https://github.com/tokio-rs/tracing/blob/master/tracing-attributes/src/expand.rs: for detecting the async fn that is already transformed to fn -> impl Future by async-trait. We've to distinguish it from that written by user because for the latter, we instrument it like normal fn instead of async fn.

The reason why we've to elaborate async fn into fn -> impl Future is that, for an async fn foo(), we have to instrument the Span::enter_with_local_parent in the first call to foo(), but not the poll() or .await, because it's only chance local parent is prenent in the context.

I think to begin with it'll be baby steps:

Restructure the code layout and introduce tests.
Error reporting / UI
Once some tests are in place would be to introduce a model, etc.

The RFC idea is a common and great idea but according to my current practice it may affect agility until we find a balance about what to be put in RFC. I'm also thinking about a lighter way for new changes which should be easier to be followed: always describe the change with more details in the issue + finalize ideas in the doc comment + verbose function comments. What do you think?

From my personal experience in open source projects, for this kind of small project, I'll directly open a pull request to bootstrap the discussion. Although there are risks of going in a completely wrong direction and wasting time, I found it rather efficient to drive me and the reviewers to a better solution even if my first try is bad.

Agreed.  The main risk here is rejecting the whole pipeline idea.  I don't propose the RFC be more detailed than what it is now, e.g. the Model is undefined/unspecified - it'll emerge, as you say small PR by small PR.
The goal is to keep the proc-macro working the whole time.  I'll try do this by changing the code once it is covered by a test case, so related to #81.
So I believe we are agreed, this will not land with  a big-bang single PR.
Rather smaller PRs will indicate how they are heading in the direction set out in this RFC.
Correct?

Voided by PR #127 rejection.


Support [line, col] in terminal links

tslint outputs errors in this format:
ERROR: src/foo.ts[61, 28]: Missing semicolon

/cc @jonaskello
Related:

https://github.com/Microsoft/vscode/issues/21182
https://github.com/palantir/tslint/issues/2722

Doesn't work for me when there's a space between line and col, it looks like tslint is outputting it that way

@roblourens do you have an example program that outputs like this?

tslint apparently does, from the example above?

I actually can't click src/foo.ts at all in this example


Support for typed_keys in GET asynchronous search API

Is your feature request related to a problem? Please describe.
The typed_keys specify whether aggregation and suggester names should be prefixed by their respective types in the response. Current this is only supported on SUBMIT API. Meaning if the request takes longer, future GET requests do not have an ability to return typed_keys any longer

I'm currently on 7.10. I have this issue.

Irrespective of SUBMIT or GET asynchronous search call, the underlying search request and its final response will honor the typed_keys value which was set in the initial call. I don't see how the GET request result is failing to see the expected result.

In the below request/response, typed_keys is not honored in GET async.
Example submit request:
POST 1_v2/_opendistro/_asynchronous_search/?wait_for_completion_timeout=15s&keep_on_completion=true&keep_alive=100s&typed_keys
{
  "query": {
    "match_all": {}
  },
  "aggregations": {
    "agg_field_1":{
            "terms":{
                "field":"$cs.agg_field_1$keyword",
                "size":10,
                "min_doc_count":1,
                "shard_min_doc_count":0,
                "show_term_doc_count_error":false,
                "order":[
                    {
                        "_count":"desc"
                    },
                    {
                        "_key":"asc"
                    }
                ]
            }
        }
  }
}

Response aggregations for submit:
"aggregations" : {
      "sterms#agg_field_1" : {
        "doc_count_error_upper_bound" : 0,
        "sum_other_doc_count" : 0,
        "buckets" : [
          {
            "key" : "3",
            "doc_count" : 11253290
          }
        ]
      }
    }

If I try to use Get async for the same id.
GET _opendistro/_asynchronous_search/FnVoVHdzWGo2UzJlduZoS2phSUxmbncINDM1Mzg5yDgUTnJST00zd0JQM8ZxUHJEZWprMEkDMjAz

Response aggregations this time
"aggregations" : {
      "agg_field_1" : {
        "doc_count_error_upper_bound" : 0,
        "sum_other_doc_count" : 0,
        "buckets" : [
          {
            "key" : "3",
            "doc_count" : 11253290
          }
        ]
      }
    }

The field "agg_field_1" is now no longer annotated with the internal type "sterm".
Get async does not accept typed_keys as a parameter.
X-pack Elasticsearch supports typed_keys in GET async api. https://elasticsearch-py.readthedocs.io/en/7.9.1/xpack.html?highlight=typed_keys

@eirsep what is the state of this issue? Feature complete was declared on https://github.com/opensearch-project/asynchronous-search/issues/42

This is being targeted for 1.3.
Removing tag on this issue.

I am using OS 2.12 and the issue is still here. Any updates since 2021?


Building android version without docker/with newer SDKs

It would be nice to be be able to easily build mozc without docker and with a system SDK. After a bit of experimenting I managed to get it to compile on my (Gentoo) system with a recent SDK with only a couple of hurdles. One must:

force system to default to python2 (related issue)
modify mozc/src/android/android_env.gypi and to fix hardcoded path /usr/share/java path
download/copy the ant build-scripts (sdk/tools/ant) (related issue)
make sure android support library is available (in sdk/android/support/), direct link can be found in the dockerfile
copy org.apache.http.legacy.jar from sdk/platforms/*/optional to mozc/src/android/libs
patch a couple of legacy Float.sqrt calls (see e.g. https://stackoverflow.com/questions/32065160/method-floatmath-sqrt-not-found)
patch a couple of depricated Canvas.save(int) calls (see e.g. https://github.com/timusus/RecyclerView-FastScroll/pull/96), just replace with Canvas.save()
ComposingTextTrackingInputConnection is lacking a couple of overrides:

commitContent (just return false?)
closeConnection (just make it nop?)
getHandler (just return null?)
deleteSurroundingTextInCodePoints (just return false?)

Since the build system for Android library has been changed to Bazel, and CIs for Android was resumed.
Please let us close this issue as obsolete.
Thanks,


Upping jtwig-core version

Coverage decreased (-2.4%) to 88.205% when pulling 4e632259aa23a2ff5f49dde43cb5f0e2ddaa6081 on lyncodev:master into 904b4fcd265ab90be23b6cf034dac3a8afb30f88 on jtwig:master.

Coverage increased (+2.0%) to 92.537% when pulling 6665a07380bb06c501b2a08b72e607399eb61758 on lyncodev:master into 904b4fcd265ab90be23b6cf034dac3a8afb30f88 on jtwig:master.


Upgrade postcss-load-config to 2.1.0

Notable Changes

Commit Message Summary (CHANGELOG)

Upgrade postcss-load-config to 2.1.0

Type

ℹ What type of changes does your code introduce?

[x] Chore

Issues
js-yaml needed to be upgraded to atleast 3.13.1 since it contains a patch for a high severity vulnerability which was flagged by dependabot/github alerts. Details are mentioned below
WS-2019-0063 More information
high severity
Vulnerable versions: < 3.13.1
Patched version: 3.13.1
Js-yaml prior to 3.13.1 are vulnerable to Code Injection. The load() function may execute arbitrary code injected through a malicious YAML file.

ℹ What issue(s) (if any) are closed by your PR?

N/A
SemVer

ℹ  What changes to the current semver range does your PR introduce?

[x] Fix (:label: Patch)

Checklist

ℹ  You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. This is a reminder of what we are going to look for before merging your code.

[ ] Lint and unit tests pass with my changes
[ ] I have added tests that prove my fix is effective/works (if needed)
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes are merged and published in downstream modules

Tests on master appear to be broken. Same build failures as the 2 most recent builds
PR408
PR415

Just update own lock file, no need do PR

Just update own lock file, no need do PR

I have already done that but its less than ideal so fixing the root of the issue. Besides this benefits everyone.

@akshayas please read how semver works, new installation always provide latest version


!ammo doesn't work or the Syntax is wrong?

howdy boss, just started using your script, and everything was working great, then i found a weapon and needed ammo.
long-story-short, the !ammo commands doesn't work for any of the ammo's. would love to see this fixed!

you're awesome

To confirm, this is for the DospenserBot?

howdy boss, just started using your script, and everything was working great, then i found a weapon and needed ammo.
long-story-short, the !ammo commands doesn't work for any of the ammo's. would love to see this fixed!

you're awesome

To confirm, this is for the DispenserBot?

That is correct

That is correct

Unfortunately, I don't update these scripts. You could look at the original thread linked in the source.


No details for ExtranetLockoutThresholdFamiliarLocation

https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-ad-fs-extranet-smart-lockout-protection#features-in-ad-fs-2019 discusses new functionality in AD FS for Windows Server 2019 and newer. But the set-adfsproperties cmdlet documentation here doesn't mention the ExtranetLockoutThresholdFamiliarLocation that can be configured. This cmdlet help needs to be updated accordingly to reflect new configurable parameters.

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

ID: 2102461d-7ca8-1814-46ce-f6f049dfad1f
Version Independent ID: 575c608a-b919-a242-a404-526c95226a39
Content: Set-AdfsProperties (ADFS)
Content Source: docset/winserver2022-ps/adfs/Set-AdfsProperties.md
Product: w10
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Definition of substantive changes in the editorial process might cause trouble

The current process says:

Proposals for substantive changes to the Solid Specification, Solid Roadmap, or Supporting Documentation go through an editorial review process.

A change is considered substantive when it alters the normative text of the Solid Specification or the Solid Roadmap.

Candidate proposals to the Solid Specification, Solid Roadmap, or Supporting Documentation submitted for review go through an editorial process before they are accepted.

Candidate proposals and the results of any vote related to the same need to be put forward to the editors for review.

I wanted to note the following issues that can arise from a strict interpretation of the above:
a. Typos in a normative section are currently considered "substantive" and need to go through an editorial process.
b. 3 seems to obsolete 2, in the sense that it does restrict itself to substantive changes.
c. (minor) It's also unclear whether the actual merging has to happen by an editor or not, and whether this depends on the change being substantive.
We might want additional clarity there. We can probably not expect 3 editors to chime in for every minor detail. Especially given the current lack of editors (none appointed yet, only 4 open applications so far), PRs such as https://github.com/solid/specification/pull/13 are currently in limbo.
A more liberal interpretation of the process could be appropriate, but it is unclear to what extent this is desired, so actual changes might be needed.
(Just tagging a problem from the field here, I unfortunately cannot contribute to a solution.)

Ultimately, the question of substantive vs. non-substantive will be a judgement call by the editors, and it may be helpful if this process document allows that level of flexibility. @RubenVerborgh is correct that there could be non-substantive changes to normative text.
In fact, here is one such example of a non-substantive change to normative text in the W3C Web Annotation repository.
I liked the way that WG handled these cases, where an issue or PR would be explicitly flagged as non-substantive" by an editor.

Thanks for flagging this and breaking down the problem cleanly @RubenVerborgh. I agree with the issues as you listed them, and with the suggestion that we need additional clarity. I'll take a crack at working up some language this weekend.

@RubenVerborgh Would these changes or something close to them address the points that you raised? Inline comments directly on that commit are more than welcome. After we've established better language that clears up any ambiguity we can figure out if the end result is substantive and requires another approval by @timbl.

(@justinwb the link to the suggested changes is broken)

(@justinwb the link to the suggested changes is broken)

The link is good - github has been having issues and you likely ran into them.

If editors explicitly make the final decision about if a change is substantive then we would need to detail what happens when two editors disagree. A possible solution is to state that there needs to be a unanimous decision from all editors. If there are any disagreements the judgement is made by the Solid Director. However...before getting into the nitty gritty of strict interpretations etc..
There's another factor here....
Fiddling around with non-substantive changes to the process and debating about if a change is substantive or not could be really unproductive.
Let's take 10 steps back and think about why we are doing this.
The purpose of this agreement on how to agree is to be able to move forward as a team for now. There's no way you can make everyone happy with a process and I'm really impressed with the collaborative effort to write this agreement together in a way that everyone compromised and we delivered a final result.
There is a point when you need to draw a line underneath it for now and agree to pick it up in some months, years, or when there is a real substantive ( :) ) gridlock block.
For this reason I prefer @acoburn suggestion of allowing for level of flexibility and working with what we have now.
The process is there to help us work together. The sprit and culture of how we use this process when we work together is also important. We need to remember we are team and we need to support each other and use it to progress our collective mission, vision, and values.

If editors explicitly make the final decision about if a change is substantive then we would need to detail what happens when two editors disagree. A possible solution is to state that there needs to be a unanimous decision from all editors. If there are any disagreements the judgement is made by the Solid Director.

If there's disagreement, then I think it is better for it to automatically default to substantive, which we've got existing process for. I reflected that in this new commit.

There is a point when you need to draw a line underneath it for now and agree to pick it up in some months, years, or when there is a real substantive ( :) ) gridlock block.

Completely agree, although I don't think that time is now. A brand new process is like a brand new piece of software that no one has used yet. We design both with the best of intentions, but once you put it out there and have others attempting to use it, they alert you to all kinds of problems, gaps, bugs, or logical issues that exist within it. If we don't take advantage of feedback as it comes in, especially in these early days, we lose valuable opportunities to improve the process and get to that mature state. We also run the risk of alienating contributors who raise valid issues with the process as it stands.

@justinwb this new commit is a good solution.
Here's another issue about the offshoot conversation.

Just a short note on

A change is considered substantive when it alters the normative text of the Solid Specification or the Solid Roadmap.

I think the intention was to capture changes that influences behaviour, and so just saying "normative text" was a bit unfortunate. We could say something like "alters the semantics of the normative text"? So, grammar changes could also be considered non-substantiative?

"alters the semantics of the normative text"

and/or something like "changes that would require revision of an existing implementation of the old text in order for that implementation to comply with the new text" are substantive.

Please see #95 for a proposed resolution to the items raised in this issue.

Absolutely, thanks again.


Option to compile to machine code

I had assumed that the executable created by dart2native was machine code.
It appears what is actually happening is that it is bytecode, and said bytecode
is concatenated with the Dart interpreter to create the final result.
This explains why the executable is destroyed when you strip it: what really
happens is the bytecode is just removed from the executable leaving only the
interpreter.
I am not sure if creating machine code is even possible with the Dart project,
so this issue can serve as a place for someone to clarify one way or the other.

https://github.com/dart-lang/sdk/issues/38731

https://github.com/dart-lang/sdk/issues/36915

Dart code is compiled to native code by the AOT compiler. This executable code is just not necessarily packaged in a platform specific executable format (e.g. ELF on Linux, Mach-O on Mac or PE on Windows). Instead we pack it into, what we call a snapshot which later can be loaded by the runtime system. Format of that snapshot is an implementation detail which should be irrelevant to the end user.

@mraleph yeah, thats bytecode, not machine code, as it requires the Dart interpreter or Dart virtual machine to accompany the snapshot.
Its not the same thing as machine code, and shouldnt be marketed as such. Calling it AOT is a misnomer I would say.

@cup the AOT snapshot contains actual machine code which is directly executed by the CPU. This code was produced ahead of time (AOT) from your Dart source. There is no translation or interpretation. There is just a loading/linking step, which is similar to a step that OS does for you when you load a native executable format.
You are confusing several different things -  executable format (ELF, etc) and format in which your Dart code is stored (eg machine code vs bytecode vs source).

Whatever you call it, its not the same thing as what you get with C, C++ or Go.
Its more like what you get with Java, some format that does nothing on its own and requires an interpreter or virtual machine to actually run.

@cup

Whatever you call it, its not the same thing as what you get with C, C++ or Go.

This is nonsense and not neccessary. Dart is not a system programming language.
Having a single executable binary is all we need so far.


iverilog.sh fails to find binary under OSX

Looks like the find command behaves differently in OSX and in Linux. If I build XLS (which uses these rules) in each, it fails to find iverilog in the former and successfully locates it in the latter.
I realize that OSX support might not be high up on your list, so I can try to figure it out, unless someone else has the bandwidth.

Actually - this might be premature, after thinking about it. I'm going to close this until I get a bit more data.


Bots are Back !!!! [ Support  ]

There is 1 way to get bots :-1:
support this man he is trying so hard to get the bots back !!!
we hope all to bring the old agario again :+1: **
Link : https://www.youtube.com/watch?v=Ro3_e3NKTeI

awesome

this is not bots

is bot, auto play...

but we can learn some thing from it

like connect server

Maybe, but he's coding in C not JS, and this is for a agario-clone, not for Agar.io (not the same) :/

lol u already know what a nubs hah :D .

stop spam like that next time and write in one comment.

lol


(Issue entered into incorrect repo)

Moved to https://github.com/input-output-hk/marlowe-cardano/issues/236.


DocSim

Hello,
Inside your method 2b, can we use BERT model for finding the similarity?

Hi there, I would think so, but haven't tried that yet. Both BERT and Glove produce word-level embeddings, so should be compatible.


chore: change IP_DETERMINED_BY_X_FORWARDED_FOR_INDEX default from -1 to -2

We just copied over the old default from the other app, but this sidecar is only used in copilot world and the default we need there is -2. We never need -1 and only change to -3 when using CDN endpoint

This is technically a breaking change, please version the release appropriately.


Prevent validation on startup. Closes #109.

Changed the way how empty items added into object editors. It caused form to fire change event.
not related to this issue — fixed rendering object editors errors, which stripped nested editors errors.

@pwalsh is that ok?

yep.


Update Unit tests

Update DynamicFieldsTypeTest ... and all tests are successful.

Thank you @On5-Repos
All tests are passing, but apparently the phpcs-fixer config defaults have changed since the last release so now that is also failing.
I'll merge this anyway. Any chance you want to take a shot at changing the phpcs-fixer config to allow current?

If you keep backwards compatibility for php 7.4 then its difficult. with php 8.0 / 8.1 handful of symfony core packages do get updated which are not compatible with 7.4. When i switch to 8.1 and check phpcs-fixer etc everything is good with 14 fixes. but Switching back to 7.4 --- errors regarding packages install are not compatible with 7.4 ... do you want to keep 7.4?

I'd like to figure out a way to keep both. I'm sure there must be a way.

hey I am sorry been so busy with work i did not had chance to work on this, I will try to do it this week

@On5-Repos I'm working on it right now actually. Stay tuned.

@On5-Repos released!

cool i will review and report back.


Topix

Add 2 companies. KK Mobalab and IzumoBASE, Inc.

@forte916 👍

Thank you for your work promptly. :-)


[web/desktop] feat: tooltip reaction senders

Details

This implements a tooltip on web / desktop when hovering a reaction.
https://user-images.githubusercontent.com/16821682/222979941-e0095744-568b-4743-923c-64e02f7616df.mov
Fixed Issues

$ https://github.com/Expensify/App/issues/15127
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

[ ] Verify that no errors appear in the JS console
[ ] Add a reaction to a message

Hover over the reaction
Verify that the tooltip with the reaction content displays correctly

Offline tests

Same as test steps
QA Steps

Same as test steps
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/16821682/223100877-31e389e7-d8d3-4230-b2c3-59ca2f3e961d.mov

Mobile Web - Chrome
N/A

Mobile Web - Safari
N/A

Desktop
https://user-images.githubusercontent.com/16821682/222979941-e0095744-568b-4743-923c-64e02f7616df.mov

iOS
N/A

Android
N/A

@bondydaa Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@hannojg is this ready for a review?

Yes, it is now!

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

From the reviewer checklist

I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)

Should we add test steps to that ensure a name is removed from the tooltip if the reaction is removed? Maybe like:

Send a message in a public room or group DM
Have 2 different users react with the same reaction to that message
Ensure both users show in the tooltip
Remove the reaction from 1 user
Ensure only 1 user shows in the tooltip when you hover again

i'm back on a stable connection again so will see about getting this tested and reviewed

got all screenshots/videos uploaded, seems to be working great 🎉

I'm getting a crash/console error when adding a reaction, when there is already a reaction present
https://user-images.githubusercontent.com/42391420/224410692-663e3141-321a-423b-8c36-53d3f55f6657.mp4

There is a bug here where the calculated tooltip size is sometimes not correct

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/luacmartins in version: 1.2.85-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.2.85-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR caused a regression here, check this Proposal for more details.

Oops. Not great that we released it with a bug, but it is a pretty hilarious bug to add haha


added periodic pipelines to projects

Signed-off-by: Tim Beermann<EMAIL_ADDRESS>

-.- awesome. But yes, this would definitely make sense.

closed as obsolete


Can procedure:GetSelectionFilter made global in codeunit46:SelectionFilterManagement

based on: NAV2018CU3
Can procedure:GetSelectionFilter made global in codeunit46:SelectionFilterManagement?
so we can use this for example for other entities like Employee or Responsibility Center.
GetSelectionFilterForResponsibilityCenter
GetSelectionFilterForEmployee
etc

Thanks for your suggestion! GetSelectionFilter has already been made external in Business Central in the January update (refer to https://github.com/Microsoft/AL/issues/947). Please note, that we cannot backport issues to already released versions (e.g. NAV2018) based on issues created in this forum (https://github.com/Microsoft/AL/wiki/Frequently-Asked-Questions#will-features-from-the-latest-dynamics-365-releases-be-back-ported-to-nav-2018). If you would like to request the fix to be backported, please create a hotfix request.

backport isn`t necessary (workaround is copy this function), but when do we get this change in the on-premise version?

The change will ship with the next on-premise release, which according to the roadmap (https://community.dynamics.com/nav/b/dynamicsnavessentials/archive/2018/03/17/dynamics-365-business-central-roadmap) will ship in the fall this year.

ok


expand region API to support reads

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#165  👈
#164
#161
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rphmeier and the rest of your teammates on  Graphite


Fixed string formatting bug in VoucherRemoveView

The pk kwarg on views is a string type. The message format string was expecting a numeric value. This updates that format string to expect a string value, which will always display correctly.

Thanks!


Dev rogue 8

Codecov Report

Merging #25 into dev will decrease coverage by 1.77%.
The diff coverage is 6.34%.

@@            Coverage Diff            @@
##              dev     #25      +/-   ##
=========================================
- Coverage   25.27%   23.5%   -1.78%
=========================================
  Files         338     355      +17
  Lines        8316    8944     +628
  Branches      716     772      +56
=========================================
  Hits         2102    2102
- Misses       6155    6783     +628
  Partials       59      59

Impacted Files
Coverage Δ

...redProcedurePrimaryDtoFilter{TDmn,TPermissions}.cs
0% <ø> (ø)

...mentPrimaryDtoFilter{TDmn,TMapper,TPermissions}.cs
0% <ø> (ø)
:arrow_up:

...ers/EntityCustomStoredProcedurePrimaryDtoFilter.cs
0% <ø> (ø)
:arrow_up:

Vstack.Services.Elastic/Domain/ElasticDomain.cs
0% <ø> (ø)
:arrow_up:

Vstack.Services/General/DomainException.cs
0% <ø> (ø)
:arrow_up:

Vstack.Services/Data/General/Extensions.cs
0% <0%> (ø)
:arrow_up:

Vstack.Common/Extensions/DataTableExtensions.cs
0% <0%> (ø)
:arrow_up:

.../Web/Controllers/ElasticEntityRestfulController.cs
0% <0%> (ø)
:arrow_up:

Vstack.Services/Services/BaseService.cs
0% <0%> (ø)
:arrow_up:

...Api/Web/Controllers/ElasticEntityDtoController2.cs
0% <0%> (ø)

... and 152 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 8f61a3d...c0a8caf. Read the comment docs.


Healthcheck endpoint flexibility

❗ please do not add sensitive information in issues, you can provide extra information via email using issue number as reference ❗
Describe the issue
The generic health check endpoint of the Frank is not flexible enough for container environments
As a developer you want to be able to have some flexibility on how and when you want a node to be restart
We need to have a refinement to determine the precise
possible settings:

manually stopping an adapter should not trigger a redeploy?
jms could be treated differently than http traffic especially FF ?

Reporter
jjansenvr

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Configuration
Please provide the configuration of the Pipe or Receiver with the problem.

Input
Please provide an example of the input message.
Alternatively, provide a Ladybug report.

Environment
Please go to the console of your Frank, click on 'Information' and copy-paste the results here.

Additional Environment

DBMS: [e.g. Oracle, MSSQL, MariaDB, MySql, PostgreSQL]
Browser: [e.g. Chrome, Safari, Edge, Firefox]

Additional Context
Add any other context about the problem here. (f.e. ladybug report / test adapter with larva test)

I was speaking to @nielsm5 today about this topic.
We would like to use FF health check instead of the one provided by WAS, although it does occur that we stop certain adapters at certain times.
With the current implementation, the health check will fail in those situations and cause the loadbalancer to re-route all other traffic to the healthy nodes (if any left if adapter needs to be stopped on all nodes).
Same idea applies when a certain adapter fails, only traffic towards that adapter should be stopped but this issue is also related to the loadbalancer implementation..
It's a difficult topic considering that on k8s you'd prefer to run to small and isolated services and when required to stop certain adapters, you should be able to manage on k8s that the related deployment will be stopped. It might occur that in certain situtations you can't have this level of isolation and it still occurs that individual adapters might need to be stopped..
In a WAS situation, usually applications are more structured towards the classic monolith application. There are multiple services hosted on the same instance of the framework, if one service is unavailable, it should not cause all other services to go down.
Ideally a service level health check is provided by the framework, depending on the loadbalancer used, it might solve the problem. Another idea is to create open source configurations for several loadbalancers to make service level health checks work..


Cannot load extension with file or directory name content. Filenames starting with "" are reserved for use by the system

when publishing using Blazor.BrowserExtension.Template, an error will occur
Cannot load extension with file or directory name content. Filenames starting with "" are reserved for use by the system

Publishing from Visual Studio is kind of broken for now, use the command dotnet publish -c Release command make sure the cwd is your project folder, it should publish in bin/Release/.net<Version>/publish folder.

when publishing using Blazor.BrowserExtension.Template, an error will occur
Cannot load extension with file or directory name content. Filenames starting with "" are reserved for use by the system

As mentioned by @IamSanjid you need to use the dotnet publish command and load the extension from the publish/browserextension directory.

Publishing from Visual Studio is kind of broken for now, use the command dotnet publish -c Release command make sure the cwd is your project folder, it should publish in bin/Release/.net<Version>/publish folder. Btw the package doesn't bundle with a CSP compliant AOT runtime script, meaning if you compile enabling AOT(which is enabled by default for publish builds) it will most likely fail to load your dotnet runtime, you should wait until .Net 8 is released or may be try to use one of the preview versions.

You are right, AOT is not supported by this package. I have not tested with .Net 8 preview yet so I can't be sure if Blazor in .Net 8 is now fully CSP compliant.


Supporting Yolov4-tiny

Thank you @hunglc007  for this helpful repo, can you share how to use yolov4-tiny, if it's not supported are you planning to support it in near time..

Hi @yadav-sumit. Tiny version is not official supported on Yolov4 yet. We'll support it when it become available.

@yadav-sumit yolov3-tiny is supported. u can pass —tiny —weight yolov3-tiny.weights to use


communicationTextColor should use global tokens

Platforms Impacted

[ ] iOS
[ ] macOS

Description of changes
ActionCell's communicationTextColor is used in partner repos but it currently has a wrong value. It shouldn't be a brand color but comm80/100 instead.
Binary change:

File
Before
After
Delta

libFluentUI.a
29,120,088 bytes
29,123,568 bytes
3,480 bytes

Verification
(how the change was tested, including both manual and automated tests)

Before
After

Screenshot or description before this change
Screenshot or description with this change

Pull request checklist
This PR has considered:

[ ] Light and Dark appearances
[ ] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] iPad Pointer interaction
[ ] SwiftUI consumption (validation or new demo scenarios needed)
[ ] Objective-C exposure (provide it only if needed)

Microsoft Reviewers: Open in CodeFlow

Is that the behavor of fluent 0.12? This change may need to be in .13 branch?

Is that the behavor of fluent 0.12? This change may need to be in .13 branch?

Yes, I'll cherry pick it to the 0.13 branch


Update tablet.css

containers popular, lodgings, activities {justify-content: center;}

alignement containers format tablette


Refactor of Primitives Classes to Return Object3d objects

This is a major refactor of the way we manage geometric primitives in the modeler. All create_xxx functions of the Primitives modules return objects rather than ids. This may break some existing applications. All examples in our suite have been adjusted.
We also introduce unit-testing from IronPython using unittest. This is a preliminary implementation and will be extended in the near future.

Please merge with main so the new CI/CD can run.

Please merge with main so the new CI/CD can run.

Still working on the pull request. I expect to merge in the next day or two

Still working on the pull request. I expect to merge in the next day or two

Please consider converting this PR to a draft so you can signal when it's ready for review.

Still working on the pull request. I expect to merge in the next day or two

Please consider converting this PR to a draft so you can signal when it's ready for review.

That feels better 👍

@akaszynski @maxcapodi78 is there any way to avoid the new test cases planned for our IronPython unit test (in _unittest_ironpython/ ) to be run in our pytest ? These are causing issues at the moment.

@maxcapodi78 I need your help regarding the 4 failing unit tests. Thx

@maxcapodi78 I need your help regarding the 4 failing unit tests. Thx

yes, we can work on that tomorrow

@akaszynski @maxcapodi78 is there any way to avoid the new test cases planned for our IronPython unit test (in _unittest_ironpython/ ) to be run in our pytest ? These are causing issues at the moment.

I think we need to slightly modify the pipeline to skip ironphyton folder

Great to get this one done !


Multiple target loci in a sequencing run

A number of experimental setups (e.g. linkage PCR, single-cell PCR) have more than one target locus.
However, the keywords pcr_target_locus, forward_pcr_primer_target_location, reverse_pcr_primer_target_location, which are currently expected to hold only a single locus or index. Can we refine these field as holding arrays of strings/integers?

Yes, OpenAPI allows for array to be specified for the type with items indicating the data type of the items within the array. Something like this:
forward_pcr_primer_target_location:
   type: array
   items:
      type: integer

reverse_pcr_primer_target_location:
   type: array
   items:
      type: integer

JSON example value looks like:
{
   forward_pcr_primer_target_location: [5, 20, 100],
   reverse_pcr_primer_target_location: [150, 200, 210]
}

Now you can also have an array of objects. For example, if values in the arrays are supposed to be paired together, then it makes more sense to have an array of objects where you can unambiguously define the paired values, instead of relying on the array index, which might get out of sync.
primer_target_location:
   type: array
   items:
      type: object
      properties:
         forward_pcr_primer_target_location:
            type: integer
         reverse_pcr_primer_target_location:
            type: integer

JSON example value looks like:
{
   primer_target_location: [
      {
         forward_pcr_primer_target_location: 5,
         reverse_pcr_primer_target_location: 150,
      },
      {
         forward_pcr_primer_target_location: 20,
         reverse_pcr_primer_target_location: 200,
      },
      {
         forward_pcr_primer_target_location: 100,
         reverse_pcr_primer_target_location: 210,
      },
   ]
}

@bussec, as the schema is currently being updated, should I change these fields to arrays? Do the examples I give cover your use case?

Yes, they cover the use case. Was there any reason not to include pcr_target_locus (type: string) into the object?

No, that's me being clueless. Now I'm a little less but to be more specific, I offered two possibilities. One is they are separate lists with no association between the values:
{
   pcr_target_locus: ['foo', 'bar'],
   forward_pcr_primer_target_location: [5, 20, 100],
   reverse_pcr_primer_target_location: [150, 210]
}

While the other is that they have some sort of association and thus combined into an object. I think pcr_target_locus should have a location with it, but is it both a forward and reverse or just one of them? Another structure is that a pcr_target_locus has multiple locations. What would you consider to be the most general case?


[Bug]: Puppeteer no longer working with strict CSP

Bug expectation
with csp enabled:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data:; connect-src *">
puppeteer will throw here: https://github.com/kylon/Sharedown/blob/22fb0e24355bf07712b7ae28eeb962d0c24a40d6/sharedown/loginModules/SimpleUniversity365.js#L28
see also https://github.com/kylon/Sharedown/issues/70
no error in puppeteer 19.8.2
how to reproduce:
sharedown-puppeteercsp.zip

download, unpack and install modules

run the app

go to settings and set these fields as shown

start the download

you will get this error

expected behaviour:
open chrome and write "aa" in email input in login page or get an invalid url error
Bug behavior

[ ] Flaky
[ ] PDF

Minimal, reproducible example
see above, cannot attach files here

Error string
function cannot be serialized
Puppeteer configuration
No response
Puppeteer version
20.5.0
Node version
20.2.0
Package manager
yarn
Package manager version
1.22.19
Operating system
Linux

Here are my attempt to reproduce this.
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta
      http-equiv="Content-Security-Policy"
      content="default-src 'self' data:; connect-src *"
    />
    <title>Document</title>
  </head>
  <body>
    <input type="email" name="email" />
    <input type="password" name="password" />
    <button type="button" onclick="click()">
    <script>
      function click() {
        const button = document.querySelector('[type=button]');
        button.innerHTML = 'Clicked'
      }
    </script>
  </body>
</html>

import puppeteer from "puppeteer"; // TS/ESM are all supported.

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
  });
  const page = await browser.newPage();

  await page.goto("http://<IP_ADDRESS>:8080/csp.html");
  await page.waitForSelector('input[type="email"]');
  await page.focus('input[type="email"]');
  await page.evaluate(
    () => (document.querySelector('input[type="email"]').value = "")
  );
  await page.keyboard.type("Email");
  await page.waitForSelector('input[type="password"]');
  await page.focus('input[type="password"]');
  await page.keyboard.type("Password");
  await page.click('[type="button"]');

  await browser.close();
})();

This seems to work just fine.
Maybe Electron builder does something to the function in .evaluate(), Puppeteer tries to stringify that function. You can read more here
You can try to pass it as as string to see if that resolves the issue.
 await puppeteerPage.evaluate(`() => document.querySelector('input[type="email"]').value = ''`);

electron-builder is used to build the package, is it even doing something when running with just yarn start? because that is what i am doing, i'm not using the appimage, i'm running from terminal with yarn start and its fine with 19.8.2
anyway, i tried your suggestion, but it still fails csp


Removed mentor section

Related Issuse or bug

I removed the mentor section from the home page

Fixes: #42
Screenshots

@Nikhita28 Great!


[BUG] STL generated for a prostate segmentation appears like a donut!

Describe the bug
An prostate segmentation application is built with App SDK 0.5 and a model trained with MONAI core v1. It takes in a MR T2 series, creates the segmentation image, which then get written as DICOM Seg as well as transformed into a STL image. The former looks good, while latter looks like a squished donut.
Steps/Code to reproduce bug
Application code is supper simple since it uses the built-in MONAI bundle inference operator as well as others, though the model itself is proprietary, not to be shared publicly.
Expected behavior
The STL generated from the seg image (numpy + metadata) should represent closely the seg image
Environment details (please complete the following information)

OS/Platform: Ubuntu 20.04 LTS
Python Version: 3.8
Method of MONAI Deploy App SDK install: [pip, and from source]
SDK Version: 0.5

Additional context
The STL operator has been tested with the liver and spleen application and generated the correctly mesh image. Noted that those seg images have hundreds of slices, while the prostate MR has only around 20 slices, though, it is expected the 3D spacings should be correct irrespective of number of slices.

The issue has been reproduced on other segmentation applications too, eg. a Lung Seg with STL as one of the outputs. It is further confirmed that:

For the same app, if the input DICOM series has PatientPosition of HFS, both segmentation and STL output are fine, but with FFS, the STL image would appear squished.
It is further noted that, but yet to be investigated in detail, MONAI based algorithms tend to load image as canonical in the segmentation pre-processing, when input is NIfTI or other format. With MONAI Deploy App SDK, the in memory image that converted from DICOM series is directly used without "as canonical".


Investigate HiTE

Description of feature
GitHub: https://github.com/CSU-KangHu/HiTE

Visibility, @yykaya

From Yasin,

Asked Katrina about masking and she strongly suggested soft masking the genome.
Is HiTE enough for TE masking?
Can we directly use the EDTA masked genome instead of running RepeatMasker after EDTA?
Can we process input genomes with EDTA to curate a panTE library and report the stats?
Different modes of the pipeline and use Helixer for fast mode? Then, why not BRAKER ab initio?
Use python scripts to do pangene analysis.

As far as I remember, EDTA hard masked the genome, while AUGUSTUS/Braker developers recommended soft-masking


Modifying Makefile to add support for s390x System

This change is

The concept looks good.  Does the race detector not work on s390x?

Currently we faced some issue while building heapster for s390x. So after some investigation came across this bug which says -race detector flag is only supported for amd64
here is the link related to that bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831724

Hi,
wanted to know whether there is a concept of corporate CLA for cla/linuxfoundation. Any pointers to signing this cla will be very helpful.
Thanks,
Ryan D'Mello

@Ryan-Dmello see https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md#contributor-license-agreements

closing in favor of #1387


How about an option for simply setting up a blank site?

As in no wordpress at all, it just sets up a new "virtualhost" for a new site. Your tool is pretty nice and I think would be beneficial for not WP sites as well that still could benefit from the account creation aspects.

Are you referring to these existing commands
ee site create example.com --html     # create example.com for static/html sites
ee site create example.com --php      # create example.com with php support
ee site create example.com --mysql    # create example.com with php & mysql support

LOL. Thanks! I havent used it yet and I looked over the docs and didnt see that. This is great!

That's OK, you can go ahead and close this issue.
Also please checkout http://docs.rtcamp.com/easyengine/commands/ for more info


feat: parameter defaults, make structs const-constructible

Changes
Part of #960.

#[frb(default = ..)] to denote parameter defaults

[x] Functions
[x] Struct constructors
[x] Enum constructors

Classes with all final fields are now const-constructible

Checklist

[x] An issue to be fixed by this PR is listed above.
[x] New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.
[x] The code generator is run and the code is formatted (via just precommit).
[x] If this PR adds/changes features, documentations (in the ./book folder) are updated.
[x] CI is passing.

Remark for PR creator

Justfile is a task runner for the command line interface that allows you to run shell commands from a file named justfile in your project directory. You can use Justfile after installing it. Note that commands written in justfile of this repository are expected to be run in bash, not cmd or powershell. Running just ... commands in cmd or powershell will produce errors as the syntax is not compatible. On Windows, you can use git bash if you have Git installed.
If fzyzcjy does not reply for a few days, maybe he just did not see it, so please ping him.

I was debating whether to support mutable enums using Freezed's @unfreezed, but it might be more appropriate to implement that in a separate PR.

Good job :) I will review probably today (btw one CI is failing)

@fzyzcjy Good to merge now

Great!

https://github.com/fzyzcjy/flutter_rust_bridge/actions/runs/4309797891/jobs/7517592544
hmm CI in master fails

https://github.com/fzyzcjy/flutter_rust_bridge/actions/runs/4309797891/jobs/7517592544
hmm CI in master fails

That doesn't sound right... Let me reopen another PR.


Arisilon/issue 19 - [merged]

In GitLab by @arisilon on Oct 24, 2019, 16:58
Merges arisilon/issue-19 -> master

In GitLab by @arisilon on Oct 24, 2019, 16:58
enabled an automatic merge when the pipeline for 9f4f5fd4dd824d9b99d994630e8c403ecf55aaa2 succeeds

In GitLab by @arisilon on Oct 24, 2019, 17:00
aborted the automatic merge because source branch was updated

In GitLab by @arisilon on Oct 24, 2019, 20:16
added 1 commit
d4e15322 - Don't use pipenv to run python commands. (GitLab #19)
Compare with previous version

In GitLab by @arisilon on Oct 24, 2019, 17:00
added 1 commit
08ea3b6b - Freeze the packages. (GitLab #19)
Compare with previous version

In GitLab by @arisilon on Oct 24, 2019, 20:22
merged


Added common utility for socks5 proxy and use it for logs

What does this PR do?
Added a common utility for socks5 proxy and use it for logs
Motivation
Make sure the logs-agent won't break for customers that use a socks5 proxy when they switch to using HTTP.
Additional Notes

Thanks @ofek for the tips, I'll try, if this works, we won't need any of this work.


Bug: Unable to transition from new post to Tags screen

Steps to Reproduce

Click the New Post link in the sidebar
Click the Tags link in the sidebar
Nothing happens, this error is shown in the console: Uncaught Error: Assertion Failed: When ember-selectize is in multiple mode, the provided selection must be an array.

This is a bug because you should be able to transition to the Tags screen from the editor screen. It also puts you in a state where it's not possible to add new tags via the PSM's tags input.
Technical details

Ghost Version: master - latest commit:  c9e0a70
Client OS: OS X
Browser: Chrome 48.0.2564.103 (64-bit)

FYI: (not sure if this is helpful or if you already know) this only occurs if you have tags.
If you delete all content, it's fine. Once you add a single tag, not fine :)

I've added the fix-wanted label here. I'm kinda guessing the thought is that as the underlying dependencies are being replaced this bug will get auto-squashed, but I think it may need a quick fix short term?
I can't judge ember issues, but if it's simple, adding the beginner tag is always good for encouraging fixes :grin:

Figured out a fix :tada:


maintaining order of keys during iteration

keys in JSON are not sorted, but ordered based on definition. This becomes apparent when iterating keys of an object.  For example, in JavaScript, with an object literal:
x = { a: 0, b: 1 }
y = { b: 0, a: 1 }
for (var key in x) console.log(key)
for (var key in y) console.log(key)
for (var key in JSON.parse(JSON.stringify(x))) console.log(key)
for (var key in JSON.parse(JSON.stringify(y))) console.log(key)

prints
a
b
b
a
a
b
b
a

For example, I believe most JS JITs keep separate shapes for object with the same properties but defined in different orders.

When I understand you correctly, JavaScript remembers the order in which values are defined and preserves it during iteration and serialization.
However, RFC 7159 states:

An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array.

(emphasis added) and

JSON parsing libraries have been observed to differ as to whether or not they make the ordering of object members visible to calling software. Implementations whose behavior does not depend on member ordering will be interoperable in the sense that they will not be affected by these differences.

The status quo
As the basic_jsonclass by default relies on std::map, we do not preserve the order of definition, but internally order values with respect to `std::map::Compare``.
Where to go from here
As the basic_json class is templated, other types can be used instead of std::map. However, a quick research showed that it is hard not to sort. The question is whether it would make sense to invest in an associative container that keeps track of the insertion order. After all, an order of object values is not specified.

Hi there, great work!
I'm currently using jsoncpp and looking for an alternative which should keep track of the insertion order. Otherwise I would need to somehow somewhere keep track of the order myself. I'll check out your json lib anyway (like the intuitive syntax). Your link suggests to use a map and a vector but to integrate that sounds like a lot of work ... Any better ideas?

You can check out https://github.com/nlohmann/fifo_map - it should work as a replacement of std::map and maintains the key's order.

Hi -- Are there any known gotchas to using nlohmann's fifo map as a replacement for the default std::map?  I was thinking of making the switch...

@habemus-papadum I implemented that container a while ago just for the purpose of having something to refer to, because a lot of people asked for order-preserving objects. I haven't heard of any bugs, but also not of a lot users. So just give it a try and file issues if you encounter an error.

@nlohmann : sounds like a plan! thanks

sadly using json = nlohmann::basic_json<nlohmann::fifo_map> does not work out of the box.  (I'm not entirely sure if this the intended invocation)
I believe the problematic places are (in nlohmann_json.hpp):
   using object_t = ObjectType<StringType,
                                basic_json,
                                std::less<StringType>,   // <-------------- This is hardcoded
                                AllocatorType<std::pair<const StringType,
                                                        basic_json>>>;

after trying to replace the comparator with the one in fifo_map, the following portion of the code complains
because it is attempts to construct the comparator with no arguments (instead of the required 1)

    /// helper for exception-safe object creation
    template<typename T, typename... Args>
    static T* create(Args&& ... args)
    {
        AllocatorType<T> alloc;
        auto deleter = [&](T * object)
        {
            alloc.deallocate(object, 1);
        };
        std::unique_ptr<T, decltype(deleter)> object(alloc.allocate(1), deleter);
        alloc.construct(object.get(), std::forward<Args>(args)...);
        assert(object.get() != nullptr);
        return object.release();
    }

This is as far as I got.  I'll keep trying, but it started to look like there may not be a simple drop in solution.
Thanks for any comments!

I was able to make (two) small changes to json.hpp (removing the hard coded comparator & and just replacing the default template parameter in basic_json from std::map to fifo map).  While ugly, this get things compiling for now.  However, things still do not work because I believe the default copy/move constructors/assignment operators  in fifo_map are not correct (because of the pointer living inside the comparator).  That's what I am playing around with now but I might be stuck.  Worse case I will create a github repo that shows the current progress.

To be fixed with #2258.


Zero projects are downloaded into a csv when zero projects are displayed to the user. [New UI]

Wait. Priority: L. Size: L/M
Describe the bug/ Actual behaviour
When a user searches a term and nothing matches we are displayed zero projects, and when pressing the download button we get a download for a csv that has zero projects
To Reproduce
Steps to reproduce the behaviour:

Go to private cloud projects tab
Enter a search term that returns zero projects
Click the download button
Observe that download has taken place, and that the file contains zero projects and only the category labels

Expected behaviour
A download should not occur when there are no projects displayed to the user, and instead to show an error.
Definition of done:

[x] Create a check for when no projects are being displayed and prevent download

[x] Show the user an error as to why the download was prevented

Now if no products are visible for the user the Click of Download button shows the special error: