Missing LICENSE file

Hi, would you mind adding the MIT license file to the repo & the npm package? MIT license actually requires full license text to be distributed along the source code. You can find license text here https://opensource.org/licenses/MIT.
Many thanks.

Would be great to see a license file added :)

Will do

Thanks, man! :)

Hoping to see a LICENSE file added. We'd like to refer to this file as part of our auto-license retrieval.

Hi @alexreardon, sorry to nag, but has there been any update on this? It looks like there are a lot of packages using this package :)

I'll do this soon :)

Cool, thanks :)


🐛 Lint with Ruff

Description
Linting Compliance Changes\

:tada: This PR is included in version 0.9.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


"Risiko-Ermittlung dauerhaft aktiv" despite BlueTooth being disabled

Avoid duplicates

[x] Bug is not mentioned in the FAQ
[ ] Bug is specific for Android only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[ ] Bug is not already reported in another issue

Describe the bug

This issue report is the same as #920. You closed it, pretending the issue was fixed. It isn't, I am using 1.6.1 and the broken behavior is the same as before. I would reopen #920 if I could, but cannot.
Expected behaviour

Steps to reproduce the issue

Technical details

Mobile device:
Android version:

Possible Fix

Additional context

Hey @icrf2000
Thanks for the follow-up. We have reopened https://github.com/corona-warn-app/cwa-app-android/issues/920 and forwarded the feedback to the developers.
I'll close this issue, so that the discussion can continue in https://github.com/corona-warn-app/cwa-app-android/issues/920.
Regards,
CH

Corona-Warn-App Open Source Team

I have 1.7.1 in the meantime. The issue still exists. Here how it looks after having Bluetooth disabled for a bit more than 24 hours. It says "BLUETOOTH DEAKTIVIERT", shows the red alert in the notification bar, but nevertheless, pretends "Risiko-Ermittlung dauerhaft aktiv":

commented wrong issue, should go to 920. Done there and deleted comment here.

Dear @icrf2000,
Thanks for reporting, see my answer here https://github.com/corona-warn-app/cwa-app-android/issues/920#issuecomment-735655990, please.
Best wishes,
DS

Corona-Warn-App Open Source Team


tests: add new semaphore tests

Add new semaphore tests, to test important features like:
-count limit
-semaphore define at compile time
-mutual exclusion
I decided to add new test cases that can improve Zephyr
semaphore testing infrastructure.
For each new test added informative Doxygen description.
New test cases test next important requirements:

test_k_sem_correct_count_limit()
That test verifies that semaphore can be taken correctly by a thread,
and taking of semaphore decrements its count as expected.
test_k_sem_define()
Explicit ans standalone test to test semaphore can be defined
compile time.
test_sem_queue_mutual_exclusion
Test that our system can provide a traditional counting
semaphore abstraction for mutual exclusion.

Signed-off-by: Maksim Masalski<EMAIL_ADDRESS>

@andyross @andrewboie @nashif Seems that PR received a new approval from Daniel. Please review it too.


fix issue 193

Describe the issue (if no issue has been made)
As stated in Issue #193 there is a need for the implementation of file loggers.
PR impact (Make sure to add closing keywords)
List of related issues/PRs this will solve:

Impact
Issue/PR

Issues this solves
Closes #193

Other PRs this solves
None or #number(s)

Proposed fix (Make sure you've read on how to contribute to Hazel)
I implemented a file logger for both Hazel Core and Hazel Client.
The Hazel Core file logger will create a file named "hazel-log.txt".
The Client file logger will create a file named "client-log.txt".
The console loggers will only be available in Debug builds while the file loggers will be available in Debug and Release builds.
NOTE:
I changed an if-statement in Instrumentor.h --- It now checks if the file logger is initialized.
Additional context
I tested and ran both Debug and Release build at it seems to work like a charm

Thanks for your review again, LovelySanta...
I made some changes to the code.
Now we are using just one sink and only one log file (for both - client and engine log messages).
The log file will simply just be named "Hazel.log" (for now).
I changed the names of the loggers to "ENGINE" and "CLIENT" and added "%L" to the log patterns. I did that to to make it look more straight inside the log file...
ENGINE I: This is an info.
CLIENT C: This is critical!
is more readable than:
HAZEL: This is an info.
APP: This is critical!
or:
HAZEL info: This is an info.
APP critical: This is critical!
The output to the console stays the same as before.

trying to optimize it as much as i can .. this is my last commit to this PR.
if you're not happy with it then just close it

I think it should be formatted [Severity] Level: Text so it could be [Critical] Hazel: Some critical text here.

Done.

I added "*.log" to the ".gitignore" file to make sure the log file doesn't get pushed to the repository.

well then i guess we are ready to merge :wink:

Thank you to everyone for their contributions to this, I'd love to merge this in, however, I have a few issues:

Logged file doesn't seem to contain any timestamps, like the output log does. This would be useful to have
Flushing the file seems to be tied to the engine shutting down cleanly, which isn't always the case - I would love to have a log file of what happened if the engine crashed, but currently I would just have a blank Hazel.log file

Could we get these issues resolved? I'm open to discussion.

Adding the timestamps back in can be done by just adding them back to the pattern of the file sink. We stripped them out because the log file gets created per session anyway so the timestamps might not be really that necessary in the log file.
For the log file not being filled if the engine crashes that is really an issue. In my first version i did the flushing myself inside the macros everytime a message got put to the file.

Timestamps are added back to the log file.
Flush level for the loggers is set to "trace" - so now spdlog will flush the contents at every message and we will have data inside the log file even if Hazel crashes.


scrollToPosition can not handle 0ms

The method as it's written can not handle 0 as the number of milliseconds:
https://github.com/rintoj/ngx-virtual-scroller/blob/d4732774283a9f736fbdef13e5cb46adf1050208/src/virtual-scroller.ts#L537
https://github.com/rintoj/ngx-virtual-scroller/blob/d4732774283a9f736fbdef13e5cb46adf1050208/src/virtual-scroller.ts#L548
When using the method scrollToPosition(1000, 0) the method uses the default animation length rather than 0ms because the check is:
  if (!animationMilliseconds) {

I'm happy to create a PR 😎

🤔 I'm unsure what's happening any more 😕
Yesterday I was getting the behavior that if I set the second argument to 0 the scroller would animate the scrolling, but today I can't seem to replicate the problem.
So it seems that the if(!animationMilliseconds) is defined specifically to catch the scenario if(animationMilliseconds === 0) 🤷♂
I'll look some more 😅

Sounds like it's working as intended, since you're no longer able to reproduce. Also, looking at the code it seems correct to me. Please re-open if you're able to reproduce the issue again.


Microk8s security patches - Kubernetes updated, but calico images are really old

Summary
It seems that microk8s images are not being updated with the latest security patches. For example, here is my local kubernetes 1.21 cluster :
$ kubectl get nodes
NAME             STATUS   ROLES    AGE    VERSION
ip-xxx-xx-x-xx   Ready    <none>   120d   v1.21.12-3+6937f71915b56b

It shows, as expected, the latest kubernetes release. But when I take a look, for example, at the calico controller :
$ kubectl describe -n kube-system deploy/calico-kube-controllers
Name:               calico-kube-controllers
Namespace:          kube-system
CreationTimestamp:  Wed, 26 Jan 2022 15:16:45 +0000
Labels:             k8s-app=calico-kube-controllers
Annotations:        deployment.kubernetes.io/revision: 1
Selector:           k8s-app=calico-kube-controllers
Replicas:           1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType:       Recreate
MinReadySeconds:    0
Pod Template:
  Labels:           k8s-app=calico-kube-controllers
  Annotations:      scheduler.alpha.kubernetes.io/critical-pod:
  Service Account:  calico-kube-controllers
  Containers:
   calico-kube-controllers:
    Image:      calico/kube-controllers:v3.13.2
    Port:       <none>
    Host Port:  <none>
    Readiness:  exec [/usr/bin/check-status -r] delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:
      ENABLED_CONTROLLERS:  node
      DATASTORE_TYPE:       kubernetes
    Mounts:                 <none>
  Volumes:                  <none>
  Priority Class Name:      system-cluster-critical
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Progressing    True    NewReplicaSetAvailable
  Available      True    MinimumReplicasAvailable
OldReplicaSets:  <none>
NewReplicaSet:   calico-kube-controllers-f7868dd95 (1/1 replicas created)
Events:          <none>

I'm surprised to see a 2 years old calico image.
What Should Happen Instead?
Calico v3.13 seems to be affected to only a short list of CVEs. But that seems odd not to rebuild the images with latest system patches.
Can you suggest a fix?
I'd like to understand the reasoning behind microk8s security updates. Should we expect to see old images on the microk8s system ?

Hi @gaelgatelement, this is an topic we would like to improve and is partially is in the hands of the cluster administration.
The upstream kubernetes project releases patches very frequently (every few weeks). The K8s patch releases are delivered in a timely manner and the cluster updates without the admin needing to do anything. Kubernetes releases go out of maintenance after about a year. Admins need to decide when to upgrade their clusters and trigger such upgrades. So for example admins of 1.21 clusters should update their clusters as soon as possible.
We do not update the workloads running in K8s. This is something the admins should take care. The reasoning behind this is that this may be a disruptive operation and we (MicroK8s) should not assume anything on the expected availability of the running applications.
There is a special subset of workloads that are considered "core" for the cluster and are deployed by default. The CNI is one of them. Currently, the CNI does not change on a running cluster. Probably the easiest way to update the CNI is to edit the cni.yaml manifest under /var/snap/microk8s/current/args/cni-network/cni.yaml and kubectl apply it. We have in our plans to, a) monitor upstream releases of "core" workloads, b) update the default manifests with the latest upstream releases and c) see if we can update core workloads in a running cluster without service disruptions.


specs are possibly broken

I've opened a PR and described the problem there: #18
I have also verified my conclusion on another, more powerful docker machine.
This blocks me at the moment with my work on hyper-mesh.

This is ruby specifically, see:
https://bugs.ruby-lang.org/issues/691
https://codedump.io/share/jcuvHuHfBsbF/1/forcing-quot0000quot-timezone-for-rfc2822-times-in-ruby
Setting the Timezone will eliminate the problem of +0000 -0000
for tests on in PR#40


whitesur-icon-theme: 2023-01-08 -> 2024-04-08

Description of changes
Updating to latest version.
Changelogs

https://github.com/vinceliuice/WhiteSur-icon-theme/releases/tag/2024.04.08

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 302421 run on x86_64-linux 1

1 package built:

whitesur-icon-theme


Debugging tests in VS Code no longer works in preview SDKs

Description
Up until an SDK update a few days ago, everything worked fine. Now, every time I try to debug a test in VS Code I get the error "Error processing launch options at field: program". I looked through the Omnisharp logs and it looks like they're passing the appropriate path to the target binary through the VS Test manager, and it looks like the arguments are bad when coming into the debugger (path is null). VSTest probably broke something in between and the correct arguments are no longer being passed through.
Steps to reproduce
I created a simple netcore project with a single XUnit test and the appropriate references
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.6.1" />
    <PackageReference Include="xunit" Version="2.4.1" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.4.2">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>

Then, click on "Debug test" in the CodeLens window in Omnisharp on any test. A dialog with the error message "Error processing launch options at field: program" will appear.
Diagnostic logs
Can provide more if necessary, but this should be easy to reproduce locally.
Environment
$ dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.400-preview-015178
 Commit:    60cb58d3b1

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18363
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.400-preview-015178\

Host (useful for support):
  Version: 3.1.2
  Commit:  916b5cba26

.NET Core SDKs installed:
  3.1.100 [C:\Program Files\dotnet\sdk]
  3.1.102 [C:\Program Files\dotnet\sdk]
  3.1.400-preview-015177 [C:\Program Files\dotnet\sdk]
  3.1.400-preview-015178 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

@cvpoienaru could this be caused by the recent child process debugging changes? Only other thing I can think of is that the xunit packages got an update.

@nohwnd This is dogfood blocking -- could we prioritize looking into it?

@nohwnd, from the looks of it, this issue doesn't seem to be related to the changes you mentioned because those changes were merged in 16.7.0-preview-20200519-01 whereas the Microsoft.NET.Test.Sdk package version being used is 16.6.1.
@agocke I'll further investigate this and I'll keep you posted.

@nohwnd @cvpoienaru I believe this issue is that OmniSharp-Roslyn expects the TestProcessStartInfo as a response to the "TestExecution.GetTestRunnerProcessStartInfoForRunSelected" message (See my comment https://github.com/OmniSharp/omnisharp-vscode/issues/3459#issuecomment-659757939). When we do not receive that message we pass an empty program argument as the debugger launch info.
These are the message we are getting in response to "TestExecution.GetTestRunnerProcessStartInfoForRunSelected"
[dbug]: OmniSharp.DotNetTest.VSTestManager
        send: {"MessageType":"TestExecution.GetTestRunnerProcessStartInfoForRunSelected","Payload":{"TestCases":[{"Properties":[{"Key":{"Id":"TestCase.FullyQualifiedName","Label":"FullyQualifiedName","Category":"","Description":"","Attributes":1,"ValueType":"System.String"},"Value":"omnisharp_vscode_repro.UnitTest1.Test1"},{"Key":{"Id":"TestCase.ExecutorUri","Label":"Executor Uri","Category":"","Description":"","Attributes":1,"ValueType":"System.Uri"},"Value":"executor://xunit/VsTestRunner2/netcoreapp"},{"Key":{"Id":"TestCase.Source","Label":"Source","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"/Users/joeyrobichaud/Source/omnisharp_vscode_repro/artifacts/omnisharp-vscode-repro.dll"},{"Key":{"Id":"TestCase.CodeFilePath","Label":"File Path","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"/Users/joeyrobichaud/Source/omnisharp_vscode_repro/UnitTest1.cs"},{"Key":{"Id":"TestCase.DisplayName","Label":"Name","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"omnisharp_vscode_repro.UnitTest1.Test1"},{"Key":{"Id":"TestCase.Id","Label":"Id","Category":"","Description":"","Attributes":1,"ValueType":"System.Guid"},"Value":"59b97bed-adc2-eb3a-02dc-4b5f9bb224c5"},{"Key":{"Id":"TestCase.LineNumber","Label":"Line Number","Category":"","Description":"","Attributes":1,"ValueType":"System.Int32"},"Value":10},{"Key":{"Id":"XunitTestCase","Label":"xUnit.net Test Case","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":":F:omnisharp_vscode_repro.UnitTest1:Test1:1:0:796d4d40879548908c4ff0d4aacd1072"}]}],"DebuggingEnabled":true,"RunSettings":"\n<RunSettings>\n    <RunConfiguration>\n        <TargetFrameworkVersion>.NETCoreApp,Version=v3.1</TargetFrameworkVersion>\n    </RunConfiguration>\n</RunSettings>"}}
[dbug]: OmniSharp.DotNetTest.VSTestManager
        read: {"MessageType":"TestSession.Message","Payload":{"MessageLevel":0,"Message":"[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.4.1 (64-bit .NET Core 3.1.4)"}}
[dbug]: OmniSharp.DotNetTest.VSTestManager
        read: {"MessageType":"TestSession.Message","Payload":{"MessageLevel":0,"Message":"[xUnit.net 00:00:00.52]   Starting:    omnisharp-vscode-repro"}}
[dbug]: OmniSharp.DotNetTest.VSTestManager
        read: {"MessageType":"TestSession.Message","Payload":{"MessageLevel":0,"Message":"[xUnit.net 00:00:00.63]   Finished:    omnisharp-vscode-repro"}}
[dbug]: OmniSharp.DotNetTest.VSTestManager
        read: {"MessageType":"TestExecution.StatsChange","Payload":{"NewTestResults":[{"TestCase":{"Properties":[{"Key":{"Id":"TestCase.FullyQualifiedName","Label":"FullyQualifiedName","Category":"","Description":"","Attributes":1,"ValueType":"System.String"},"Value":"omnisharp_vscode_repro.UnitTest1.Test1"},{"Key":{"Id":"TestCase.ExecutorUri","Label":"Executor Uri","Category":"","Description":"","Attributes":1,"ValueType":"System.Uri"},"Value":"executor://xunit/VsTestRunner2/netcoreapp"},{"Key":{"Id":"TestCase.Source","Label":"Source","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"/Users/joeyrobichaud/Source/omnisharp_vscode_repro/artifacts/omnisharp-vscode-repro.dll"},{"Key":{"Id":"TestCase.CodeFilePath","Label":"File Path","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"/Users/joeyrobichaud/Source/omnisharp_vscode_repro/UnitTest1.cs"},{"Key":{"Id":"TestCase.DisplayName","Label":"Name","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"omnisharp_vscode_repro.UnitTest1.Test1"},{"Key":{"Id":"TestCase.Id","Label":"Id","Category":"","Description":"","Attributes":1,"ValueType":"System.Guid"},"Value":"59b97bed-adc2-eb3a-02dc-4b5f9bb224c5"},{"Key":{"Id":"TestCase.LineNumber","Label":"Line Number","Category":"","Description":"","Attributes":1,"ValueType":"System.Int32"},"Value":10},{"Key":{"Id":"XunitTestCase","Label":"xUnit.net Test Case","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":":F:omnisharp_vscode_repro.UnitTest1:Test1:1:0:796d4d40879548908c4ff0d4aacd1072"}]},"Attachments":[],"Messages":[],"Properties":[{"Key":{"Id":"TestResult.Outcome","Label":"Outcome","Category":"","Description":"","Attributes":0,"ValueType":"Microsoft.VisualStudio.TestPlatform.ObjectModel.TestOutcome, Microsoft.VisualStudio.TestPlatform.ObjectModel, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"},"Value":1},{"Key":{"Id":"TestResult.ErrorMessage","Label":"Error Message","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":null},{"Key":{"Id":"TestResult.ErrorStackTrace","Label":"Error Stack Trace","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":null},{"Key":{"Id":"TestResult.DisplayName","Label":"TestResult Display Name","Category":"","Description":"","Attributes":1,"ValueType":"System.String"},"Value":"omnisharp_vscode_repro.UnitTest1.Test1"},{"Key":{"Id":"TestResult.ComputerName","Label":"Computer Name","Category":"","Description":"","Attributes":0,"ValueType":"System.String"},"Value":"WU2TEHPV05CX-14"},{"Key":{"Id":"TestResult.Duration","Label":"Duration","Category":"","Description":"","Attributes":0,"ValueType":"System.TimeSpan"},"Value":"00:00:00.0044550"},{"Key":{"Id":"TestResult.StartTime","Label":"Start Time","Category":"","Description":"","Attributes":0,"ValueType":"System.DateTimeOffset"},"Value":"2020-07-20T09:38:40.597015-07:00"},{"Key":{"Id":"TestResult.EndTime","Label":"End Time","Category":"","Description":"","Attributes":0,"ValueType":"System.DateTimeOffset"},"Value":"2020-07-20T09:38:40.597124-07:00"}]}],"TestRunStatistics":{"ExecutedTests":1,"Stats":{"Passed":1}},"ActiveTests":[]}}
[dbug]: OmniSharp.DotNetTest.VSTestManager
        read: {"MessageType":"TestExecution.Completed","Payload":{"TestRunCompleteArgs":{"TestRunStatistics":{"ExecutedTests":1,"Stats":{"Passed":1}},"IsCanceled":false,"IsAborted":false,"Error":null,"AttachmentSets":[],"ElapsedTimeInRunningTests":"00:00:00.6419394","Metrics":{}},"LastRunTests":null,"RunAttachments":[],"ExecutorUris":["executor://xunit/VsTestRunner2/netcoreapp"]}}

@nohwnd @cvpoienaru Is it a valid expectation that when we send the "TestExecution.GetTestRunnerProcessStartInfoForRunSelected" message we will receive a serialized TestProcessStartInfo message in response?

I would say so, but would wait for @cvpoienaru to confirm.

@JoeRobich TL;DR: yes, this is a valid expectation indeed.
I tested this in VS 2019 and when we receive a TestExecution.GetTestRunnerProcessStartInfoForRunSelected message we create an ITestHostLauncher instance that's used as a callback to eventually ask the IDE to launch the testhost on behalf of the TP. When the callback is invoked we pass the following message to the caller (in this case VS Code) TestExecution.CustomTestHostLaunch that should also contain a serialized TestProcessStartInfo instance.
I was also able to replicate the issue on VS Code and I'm continuing the investigation.

@cvpoienaru OmniSharp-Roslyn has always passed DebuggingEnabled when it requested TestProcessStartInfo - https://github.com/OmniSharp/omnisharp-roslyn/blob/master/src/OmniSharp.DotNetTest/VSTestManager.cs#L152-L158
I think the issue is that now causes us to branch around where the CustomTestHostLaunch message would be returned -  https://github.com/microsoft/vstest/commit/3f18c870db1776dab9c94e7b819c0dad90ff9686#diff-92e085e9ec715b8834b83666cd69c365R421-R422

@cvpoienaru Verified not setting DebuggingEnabled to true resolves this issue for us.

@JoeRobich @agocke I think I may have found the root cause for this issue. Long story short, what I previously said about the expectation being valid may no longer hold. Does VS Code use the VsTestConsoleRequestSender to send requests to vstest.console or does it maintain JSON level compatibility and implements its own handling of the test discovery/execution protocol messages ? Should it be the second option, can you please confirm that you at least get a TestExecution.EditorAttachDebugger message ? If so, as explained below, there were some changes in the way the debugging workflow works on the TestPlatform side. Would it be acceptable for you to replace your current logic relying on getting a TestProcessStartInfo and launching & attaching to the testhost process with one in which you get a PID (the testhost process has already been launched by the time you get back a reply) and you only have to attach the debugger to an already running process identified by the said PID ?
@nohwnd @AbhitejJohn @shyamnamboodiripad this issue is related to our TAEF changes (the PR can be found here). I was mistaken at first to think it's not related, but I can now see that dotnet sdk >= 3.1.400 deploys the latest changes in vstest that include the above mentioned PR.
We use the new workflow (AttachDebuggerToProcess) to attach to a process specified by PID instead of the old LaunchAndAttach workflow as seen here.
This happens primarily because, as expected, the customTestHostLauncher is not null, and again, as expected, it is a debugging launcher. The unexpected thing that happens is that it's an instance of ITestHostLauncher2 as well which causes us to use the new workflow instead of the old one. The reason for this can be found here. Observe how this is implementing ITestHostLauncher2. According to our earlier discussion, our assumption was that we won't get an ITestHostLauncher2 and this assumption holds as long as the IDE uses VsTestConsoleRequestSender and implements an ITestHostLauncher that's passed to either of the variants of StartTestRunWithCustomHost as seen here, the way TestWindow does. However, this assumption doesn't hold when JSON level compatibility is maintained instead of using VsTestConsoleRequestSender.

@cvpoienaru We implement the second option. For the time being not setting DebuggingEnabled resolves this issue for us. I will open an issue to investigate moving to the new attach debugger workflow, but, with limited resources and debugging working again, it isn't a priority for us.
Thanks for your help investigating this issue our users will be very happy to have this resolved. =)


Add devOptions.cert & devOptions.key for custom TLS key file support

Changes
Adds custom TLS certificate and key file support by extending the supported configuration fields to include:
devOptions.cert
devOptions.key

This allows you to specify certificate and key files at a custom location when creating a secure Snowpack server. Previously, you had to have your certificate and key file in files named snowpack.crt and snowpack.key in your project folder. This is still supported (this is not a breaking change) but if the devOptions.cert and devOptions.key properties are set, these take precedence and the certificate and private key are loaded from the absolute locations specified there.
Testing
Tests added to test-dev/dev.tests.ts for:

Starting a secure dev server using default TLS certificate and private key file.
Starting a secure dev server specifying custom paths for TLS certificate and private key file.

Docs
Documentation updated in examples/https-ssl-certificates/README.md and www/_template/reference/configuration.md

Looks pretty good.
What are your thoughts about using
secure?: boolean | {key: string, cert: string}

for the property instead of a top level key and cert on devOptions. This just groups the properties that are specific to SSL under a common property.
Normalization can be done within config.ts to keep the usage simplified within the codebase.

Looks pretty good.
What are your thoughts about using
secure?: boolean | {key: string, cert: string}

for the property instead of a top level key and cert on devOptions. This just groups the properties that are specific to SSL under a common property.
Normalization can be done within config.ts to keep the usage simplified within the codebase.

@Xiot I don’t have a problem with that – makes sense; was just mirroring how the internal https.createServer method has its options and trying to implement with minimum of impact on the codebase. Happy either way. @FredKSchott, any thoughts?

@Xiot I don’t have a problem with that – makes sense; was just mirroring how the internal https.createServer method has its options and trying to implement with minimum of impact on the codebase. Happy either way. @FredKSchott, any thoughts?

@Xiot I'd like to be able to toggle https on and off without having to delete the config for the certs and keys.
Also there's a bunch of other flags that we might want to add in the future (the path to the ca certificates, whether to verify the client, etc; see here and here).
How about doing the following?
module.exports = {
  mount: {
    /* ... */
  },
  plugins: [
    /* ... */
  ],
  packageOptions: {
    /* ... */
  },
  devOptions: {
    secure: true,
    secureOptions: {
      cert: "myhost.crt",
      key: "myhost.key",
      // possible future options ...
      ca: "/etc/ssl/certs/ca-certificates.crt",
      verifyHosts: false,
      hostname: "myhost.example.com"
    }
  },
  buildOptions: {
    /* ... */
  },
};

This would allow future additions without adding more tags to devOptions.

@rob-blackbourn how often are you toggling ssl?
Since this is just a normal js file, you could also toggle ssl by some other means (ie environment variable), or by simply commenting out the ssl options.

@Xiot Maybe I'm overthinking that bit!
I typically develop a basic app with http. When I add authentication i use secure cookies, so I switch to https. But that's usually at the end of the development cycle. And even if I want to comment out the auth to ease debugging of the app I could still comment out the ssl options.

Thanks for contributing and sorry for the delay on this, folks!
I think @rob-blackbourn's suggestion of keeping devOptions.secure as is and move cert and key under devOptions.secureOptions seems like the best option. Would anyone be open to making those changes?

@natemoo-re I'm happy to have a go, but I think @aral has done the hard work already?
I have another thought. If we passed in the actual cert and key rather than the path, it might make testing easier, as we could auto generate certificates which we could ensure were always valid. So for a typical user build:
const fs = require('fs')

const cert = fs.readFIleSync('/path/to/server.crt');
const key = fs.readFileSync('/path/to/server.key');

module.exports = {
  mount: {
    /* ... */
  },
  plugins: [
    /* ... */
  ],
  packageOptions: {
    /* ... */
  },
  devOptions: {
    secure: true,
    secureOptions: { cert, key }
  },
  buildOptions: {
    /* ... */
  },
};

For test (using selfsigned):
const selfsigned = require('selfsigned');
const attrs = [{ name: 'commonName', value: 'contoso.com' }];
const { private as key, cert } = selfsigned.generate(attrs, { days: 365 });

module.exports = {
  mount: {
    /* ... */
  },
  plugins: [
    /* ... */
  ],
  packageOptions: {
    /* ... */
  },
  devOptions: {
    secure: true,
    secureOptions: { cert, key }
  },
  buildOptions: {
    /* ... */
  },
};

But I may be over-thinking things.

I love the idea! But we also support using a json config in a package.json file or a snowpack.config.json file. To avoid having too many ways to do things passing the path seems like the best option.

Understood

@natemoo-re I'd actually opt for passing the actual cert & key as well. We already have a couple of config values that don't work in a package.json file, and I'd be fine with this being one of those.

Also this is a nit, but secureOptions feels a bit odd since every other *Options is top level. I could see that getting confusing to document.
What about supporting this as devOptions.secure: {key, cert} | boolean? And then if true, we do the automatic lookup in your project.

Works for me! I'll update this PR to reflect that.


Update instrumenting_http_server_in_go.md

This fixes a Markdown rendering issue. Hope I am tagging the right person.
@juliusv

:+1: Thanks! There's a couple more things in this doc that would need fixing (e.g. "Default Register" should be "default registry"), but that's a separate issue :)


Kafka Streams DLQ - more fine grained partitions controll

Right now in Kafka Streams binder, it expects that the DLQ has the same number of partitions as the input topic. That is true if the provisioner creates the topic, but if it doesn't, then the app needs to ensure that the DLQ is created with the right number of partitions. In order to address this, we should make the creation of DLQ topic more flexible. Maybe something like dlqPartitionExpression evaluated against the CR, with the default being cr.partition(); if it evaluates to null, Kafka will choose the partition, or the expression could simply evaluate to 0, 1, 2, etc.

Yeah, having control on DLQ partition count will be helpful. Thank you.
For now, is there some work around way for this as of now(version : 2.1.x).

There is no work around; sorry.


Apple Smart Battery Case will not charge phone when jailbroken

Describe the bug
I thought something was off when I went to take my phone with it’s smart battery case off the charger. My phone was at 4% battery and the charging case was at 100% battery after 12 hours of charging.  I unplugged it and removed the battery case and both charge independently just fine. When inserting the phone back into the case it notifies that it’s charging and then immediately stops charging the phone. I have RootfS restored and have no tweaks installed. I experienced this same problem on 12.4 with unc0ver and was told by someone to enable “USB accessories” under “allow while phone is locked” in passcode settings but this “fix” has no affect this time.
To Reproduce
Steps to reproduce the behavior:

Jailbreak w/ unc0ver and plug in the smart battery case with phone inside of it (will not charge)
Plug each device in independently to verify charging is working at all (works)
Take device out of case and re Insert to see charging notification which goes away immediately
Charging while phone is in its case not jailbroken it charges normally.

Screenshots
If applicable, add screenshots to help explain your problem.
NA
Device (please complete the following information):

iOS Version: 13.3
iOS Device: iPhone XS Max
unc0ver Version: 4.0.1

Place an "x" between the brackets if true:

[x] this is a bug others will be able to reproduce
[x] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[x] this issue is present after a rootfs restore
[x] this issue is present on the latest version of unc0ver

Logs
If applicable, add logs or error messages here.

same here please fix

Same issue!!

Possibly related: accessories like HDMI and VGA adapters also do not work when jailbroken; ldrestart does not fix this. Charging normally does work.

Found a fix for this.. after you jailbreak your phone. Remove case from phone and then put the case back on. This has worked for me.

Found a fix for this.. after you jailbreak your phone. Remove case from phone and then put the case back on.
Hope this helps

This way is just working. Thanks.

This is still not fixed and for me the workaround doesn’t work as my smart battery case doesn’t charge my phone

This is still not fixed and for me the workaround doesn’t work as my smart battery case doesn’t charge my phone

I believe you should pull out your iphone from the case before rejailbreaking and after finishing the jailbreak, you can insert and use your case as normal.


Add postcss-fluid & postcss-media-functions

https://github.com/notiv-nt/postcss-fluid
https://github.com/notiv-nt/postcss-media-functions

1 Inspired on  https://css-tricks.com/snippets/css/fluid-typography/
and
@mixin responsive($property, $min, $max) {
  // Set property to the parent selector
  #{$property}: var(--res-#{$property});

  $mobile: map-get(map-get($media, xs), to);
  $desktop: map-get(map-get($media, hg), from);
  $screen-diff: getUnitLess($desktop - $mobile);
  $diff: getUnitLess($max - $min);

  // Limit the minimum value
  @include media(to sm) {
    --res-#{$property}: #{$min};
  }

  // Value between min and max
  @include media(from sm to hg) {
    --res-#{$property}: calc(#{$min} + (100vw - #{$mobile}) / (#{$screen-diff}) * (#{$diff}));
  }

  // Limit the maximum value
  @include media(from hg) {
    --res-#{$property}: #{$max};
  }
}

Closed by a6c37ab53e5a5d03bdb89fb579a938e0400c77bb


Allow integer/decimal values in $project_config

Changes

Allow for $project_config to reference integer or decimal values in the cumulusci.yml file.

Example:
variables:
    seconds: 32.88

tasks:
    util_sleep:
        options:
            seconds: $project_config.variables__seconds

@Br4nd0R what's the use case that's motivating this?

@davisagli - While working on a doc section regarding the $project_config var, I just happened to notice this behavior and submit a fix. If you don't think it fits, or will have unintended consequences I'm not set on this needing to be merged.
I'm thinking that allowing users to be able to provide string, decimal, and integer values through the $project_config var in their cumulusci.yml files is more flexible.

@Br4nd0R It does mean that the non-string value is getting converted to a string and then the task using the option is responsible for converting it back into the format it needs, so there's potential for weird edge cases. But generally tasks need to handle string input already (from options passed as CLI parameters) so I think it'll be okay.


add: samah554

Description

Related Issues

Changes Proposed

Checklist

[x] I have read and followed the Contribution Guidelines.
[x] All new and existing tests passed.
[x] I have updated the documentation to reflect the changes I've made.
[x] My code follows the code style of this project.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
Note to reviewers

@samah554 Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!


gcc12 support request / array bound warning

Can you please add support for gcc12?  I'm seeing some errors in my build w/gcc12.
../src/immer/detail/hamts/node.hpp:216:38: error: array subscript ‘immer::detail::hamts::node<std::pair<long unsigned int, long unsigned int>, immer::map<long unsigned int, long unsigned int>::hash_key, immer::map<long unsigned int, long unsigned int>::equal_key, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Werror=array-bounds]
  216 |         p->impl.d.data.inner.nodemap = 0;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

I have not yet figured out how to build your tests otherwise I'd provide a more detailed repro.  Apologies.

Immer already works properly with GCC 12. It would require further investigation, but I do not think that the warning is pointing to any bug in the immer code, but instead, GCC is simply getting confused about immer's low level tricks. I would recommend to add third party libraries to the search path of GCC with -isystem instead of -I, in order to avoid warnings from third party code.

Thanks for the quick reply. I am a little concerned by your response. Are you suggesting GCC12 displays evidence of a GCC12  bug when compiling immer?

No. The error that you are seeing is not actually an error, but a warning. (It is causing the build to fail because you are also using the -Werror flag to treat all warnings as errors). What I am suggesting is that this warning, in this case, is not showing a bug in the Immer code, and therefore can be ignored.

I understand. You are suggesting GCC12's warning is erroneous, which in my mind is a kind of bug.

I'm not sure. The warning can be useful in some other context. A warning is telling you: your code could be wrong because it's doing something dangerous! In this case the code is correct in spite of doing dangerous stuff. I am not sure the warning is wrong.


change Polygon to solidPolygon in CallStack

Is this a good place to start? This is from Driver.hs Line 569.
Should I start changing this to solidPolygon? Just checking before I get started. Thank you!
https://github.com/google/codeworld/blob/master/codeworld-api/src/CodeWorld/Driver.hs

(also have to remember to turn on non-exhaustive pattern warning)

Yeah, that's a good place to start.  The goal of this exercise is mainly to get the hang of making a disruptive change and fixing all the compile errors that arise

so I set -Wall in ghc options, and changed the line to solidPolygon but all it does is say Parse error in pattern:solidPolygon and then leave the directory. I made a separate branch called testbranch to commit my code for this. How do I best troubleshoot how to go from there to implement it throughout the code base?

I'm glad to hear that -Wall doesn't add warnings!
The idea behind making the type change was to first add a new constructor to the type, and then update the code to follow.  In codeworld-api/src/CodeWorld/Picture.hs, you'll find the definition of Picture.  What we talked about doing was adding a SolidPolygon constructor there.  (Note the capitalization: constructors have to be capitalized.)  If things are set up right, you'll get a bunch of warnings about incomplete pattern matches, mostly in Driver.hs, and you'll want to find and update them all.  To test, you can change the existing solidPolygon function (in Picture.hs) to use your new constructor, and check that you can still draw a solid polygon.
In the end state, here, the constructors for Picture will resemble the functions that build pictures.  So there will be constructors called Circle, SolidCircle, ThickCircle, etc., which match up with the (already existing) functions called circle, solidCircle, thickCircle, etc.  Only functions are exported, which keeps the Picture type suitably abstract and hides stuff like the CallStack fields; but the constructors mirror the functions.

Oh. A new one. Okey doke. Thanks. This is helpful.

I modified Picture.hs,
adding the Data constructor SolidPolygon

and changing the function to include SolidPolygon

However, when I used ./build.sh I get no errors in Driver.hs

Okay, that's a start!  The hope was that you'd now see warnings about incomplete patterns, when you build with this change.  If there are already lots of warnings, they may be getting lost in the noise.
By the way, if you JUST want to rebuild codeworld-api, you can run:
(. base.sh && cabal_install --ghcjs ./codeworld-api)

That should be faster and less noisy than running the entire build script.

Actually, you want something more like this:
bash
. base.sh
cd codeworld-api
cabal clean
cabal build --ghcjs

I ran the above command and after cd-ing into codeworld-api and running cabal clean and cabal build --ghcjs, cabal tells me that the command is ambiguous.

I also added -fwarn-incomplete-patterns and -Werror and expected a list of errors related
to Driver.hs.

Instead, I got a list of warnings relating to Event.hs and a lack of documentation
for certain modules, and codeworld-api was aborted.

@kammitama5: There are some warnings that are on by default even if you don't explicitly enable them, so -Werror is failing on those warnings
Probably the most straightforward way to go about this is to first turn on -Werror and fix all the warnings that you see (creating a pull request for each logical set of fixes) and then once the project is "-Werror-clean" then you can turn on -fwarn-incomplete-patterns and start fixing those warnings

thanks! Okey doke. Will do.

I disabled the f-warn... and just ran -Werror and got this, so will poke around and see if I can solve this over the next couple days.

I added SolidPolygon and just have some non-exhaustive pattern matching errors. I'll work on these and make a pull request.

I got it to type-check but I could be wrong ¯_(ツ)_/¯

Yeah, this is exactly what should be happening!
If everything type checks and doesn't emit warnings then you should open a pull request :)
The goal is to keep making larger and larger changes, confident in the knowledge that if the compiler doesn't find any issues that your code works

okey doke. I submitted the pull request :D

I deleted Polygon and made sure SolidPolygon type-checked. I also changed the init solidpolygon to camelcase. I've submitted a pull request.

Nice!  Merged.  Do you have a direction to go next?  I left a comment on the last pull request with a suggested goal that's a little further out.  Let me know if you need to chat in more detail, and I'll make time for it.
Closing this issue, since it's done.

Thank you! :D I don't really, and am open to suggestions!

Currently, this SolidPolygon constructor is used for two different shapes: solidPolygon and solidClosedCurve, depending on the boolean parameter.  How about splitting out a new SolidClosedCurve as a separate constructor?

sounds good. I'll work on that! Thank you.


Fix default value setting of hpr

What changes do you make in this PR?

Fix the wrong assignment of default value for hpr to location when manually calling BaseCamera.perceive

Checklist

[ x ] I have merged the latest main branch into current branch.
[ x ] I have run bash scripts/format.sh before merging.
Please use "squash and merge" mode.

Good catch!


update lodash to v3.6.0

What it says on the tin.
It was increasingly frustrating working with a 2.x version of lodash because they don't allow you to view the documentation for older versions and some method names have changed.

sat through the demo LGTM


better image config parse error.

compatible oci runtime version printed along with parse error.
Should fix #925
Signed-off-by: Kunal Kushwaha<EMAIL_ADDRESS>

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@e6a3dd3). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2184   +/-   ##
=========================================
  Coverage          ?   41.11%
=========================================
  Files             ?       66
  Lines             ?     7544
  Branches          ?        0
=========================================
  Hits              ?     3102
  Misses            ?     3961
  Partials          ?      481

Flag
Coverage Δ

#windows
41.11% <ø> (?)

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 e6a3dd3...6ed4e9e. Read the comment docs.

LGTM


Some Possible Improvements?

How do we get each issue out to the people who are most interested in seeing it?
I guess I can setup an RSS feed (do people use those anymore?)
I could do something like a mailing list - people submit their email and we send an email when a new issue goes out (but we have to be careful about spam and let them remove themselves from the list.. maybe use 3rd party service)
I think we could do something where people can subscribe to push-alert notifications, too?
What do people think?

I receive lots of weekly/biweekly tech newsletters via mailing lists. I think that's a fantastic way to handle this. If you would like me to look into seeing what services they run them on, I'm happy to.

I receive lots of weekly/biweekly tech newsletters via mailing lists. I think that's a fantastic way to handle this. If you would like me to look into seeing what services they run them on, I'm happy to.

I made this to intentionally avoid any kind of emails. I've messed with stuff like MailChimp etc in the past and they end up being a pain. ...and most of the emails end up in spam and/or never opened.
I also wanted this to be sort of 'decentralized' allowing anyone to contribute - and having a list of peoples' emails sitting around that is public doesn't feel right.
I feel like the current state of the internet is no longer set up for people to 'passively' get alerted to when something they care about gets an update.
RSS feeds used to be a big thing - now the only way I know when a site I care about has an update is if I happen to catch it on Twitter 🤮
Anyway, I think the ideal solution here is for people to be able to opt-in to different ways to get notified that a new roundup is out - without having to submit their personal information to 'us' to have to keep track of and 'protect' that information.
I don't know what that is other than 'follow on twitter'...

I feel like the current state of the internet is no longer set up for people to 'passively' get alerted to when something they care about gets an update.

This is what happened as we migrated into consolidated social media hubs as a society - both for better and worse. Maintaining our own personal list of things we want to keep track of is more daunting than merely clicking "Subscribe" on 10-100 subreddits, liking/following FB pages and groups, or following people on Twitter. Consolidation is helpful, but it also trained us to let random companies curate the content we like to see. IMO it'd be great if there were more self-sustaining feeds out there, but getting the general public to adopt that seems like its own nightmare. IDK what the solution is, but I agree it's a challenge we're faced with.
No matter what is chosen, it can be good and/or bad. A simple Twitter account sounds good, but there's also the general instability of that service post-Elon. Personally I think this sort of thing just belongs on the co-op website, but that takes time/resources and I'm not sure what Rob's current plans are. But even if it was added to the website, how many people will visit?
In the end your best bet may be to just bring print-outs of the Round-Ups to events. Any of the play-and-shares, include Round-Up flyers. Holiday party? Round-Up flyers. Quick, no need to sign up on the internet, recyclable. Or instead of printing many copies, bring one single flyer that's a bit larger / more snazzy / eye-catching. Have it set like a stand-up poster or sitting on a table, people come by and read it. Change it out once a month?
These thoughts are mostly geared toward fellow gamedevs, though. As for the general gaming public in STL, that's a whole other discussion we can and should be having.

I'm going to close this in favor of a different discussion.


gnomeExtensions.tophat: fix importing clutter

Closes #325497
Closes #348142
Closes #350023
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

It seems that clutter is not shipped with CoglPango. https://github.com/NixOS/nixpkgs/issues/325497#issuecomment-2276042094
I'm not sure if I did correctly

cc @SamLukeYes for testing


Fix and refactor VBBA setup flow

Details
Refactoring and fixing different issues in the vbba setup flow:

Extract isPlaidDisabled from plaidData Onyx key, as it's not set in the same flow as the rest, and causing issues when we expect plaidData to be rest to empty.
Pass plaidData, reimbursementAccount and reimbursementAccountDraft via required props instead of withOnyx, and call them explicitly instead of via lodashGet:

to avoid eslint-disable-next-line react/no-unused-prop-types and other engineers thinking they can remove them because unused.
to avoid having declare default props for those in each view. Instead, it will be centralized in the parent view

Prevent infinite loader in AddPlaidBankAccount view
Add back button on offline blocking view. Handle backPress on parent view so the logic can be shared.
Remove some unused methods
Make sure we reset PlaidData when needed
Add missing reimbursementAccountDraft propTypes
Refactor getDefaultStateForField so engineers don't think reimbursementAccountDraft or reimbursementAccount are not used
Refactor WorkspaceResetBankAccountModal and fix cases were it was stuck displaying
Prevent editing LOCKED bank account
Fix bug that returns to bank login view after logging in successfully

Fixed Issues
$ https://github.com/Expensify/App/issues/13166
$ https://github.com/Expensify/App/issues/12708
$ https://github.com/Expensify/Expensify/issues/245747
$ https://github.com/Expensify/App/issues/11777
$ https://github.com/Expensify/App/issues/12123
$ https://github.com/Expensify/App/issues/13598
$ https://github.com/Expensify/App/issues/13911
$ https://github.com/Expensify/Expensify/issues/231253
$ https://github.com/Expensify/Expensify/issues/236672
$ https://github.com/Expensify/Expensify/issues/217507
$ https://github.com/Expensify/App/issues/14157
Tests
To be tested with Web PR: https://github.com/Expensify/Web-Expensify/pull/35797
Same as in QA Steps
Offline steps
Included in QA Steps
QA Steps
Just complete the VBBA setup flow with random data and doing this:

[ ] at the beginning of the flow (when seeing the 2 options: plaid/manual), go offline. Click on Plaid. You should see the offline view. Make sure you can go back to the 2 options. Go back online. Make sure the view remains the same.

[ ] Connect via Plaid Chase and select a plaid account without submitting. Go back (clicking on the left arrow from the right panel from the bankAccountStep), click back to a plaid bank and log in again, but picking up other bank accounts than the one you selected before plaid auth side. Make sure the selector shows the new accounts

[ ] click on the left arrow from the right panel for each step (to test the "back" behavior)

[ ] BankAccount

[ ] Company

[ ] Requestor

[ ] Onfido

Note: after resubmitting the requestor step, you shouldn't see Onfido again unless you modify your name

[ ] Beneficial Owners

[ ] exit in the middle of the flow (when seeing the beneficial owners step for example), and make sure you can Continue with Setup and finish the flow

[ ] Click on Let's start over and test adding an OPEN VBBA. Make sure you end up with this view:

[ ] Make sure you can also add a personal bank account

[ ] No console error should appear

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] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[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 was added in all src/languages/* files
[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 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] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
See screenshots from QA Steps

Mobile Web
https://user-images.githubusercontent.com/2463975/211527122-d8e2c4f9-6b11-4549-9130-68249d957ba4.mp4

Desktop
Test start back & back from each step
https://user-images.githubusercontent.com/2463975/212878871-fea222d9-6681-4d29-8c4a-cab078b95fcf.mp4
Test start over
https://user-images.githubusercontent.com/2463975/212881706-d36ad1b8-3660-464f-8000-8483ceacbbb9.mp4
Test changing Plaid bank account
https://user-images.githubusercontent.com/2463975/212882244-5876cf3d-66ac-418c-8104-0cd51159f04d.mp4
Test adding a personal bank account
https://user-images.githubusercontent.com/2463975/212882727-747e4a47-f992-4cd8-999d-20bceba6d884.mp4

iOS
Test back from each step
https://user-images.githubusercontent.com/2463975/212344207-0819fe9e-94b0-404b-8b3c-e7b4efd79b92.mp4
https://user-images.githubusercontent.com/2463975/212345703-d97712a9-ceb3-4172-9098-9fc211dd46eb.mp4

Android
Offline Plaid: https://recordit.co/TR5KrMlOto
Backwards works for BankAccountStep: https://recordit.co/0Shseu59kF
Backwards from Requestor Step and Onfido: https://recordit.co/ldlH7Wugkp
Beneficial Owners: https://recordit.co/VnmIixo3QR

@nkuoch Did you happen to see this bug in your testing? @grgia

I didn't, but I haven't performed any testing on android yet.

Removing hold of https://github.com/Expensify/App/pull/13501, as it's itself on hold for discussion. I wanted to hold on it first to avoid merge conflicts to be handled by Nikki, but nevermind :).

I see this hasn't been tested on all platforms as part of the PR author checklist, @nkuoch. Do you need some help with that?

I see this hasn't been tested on all platforms as part of the PR author checklist, @nkuoch. Do you need some help with that?

Yes, please!!!  ❤

Will continue reviewing this tomorrow!

QA
Okay just tested android. Got through it just fine

**Android**
Offline Plaid: https://recordit.co/TR5KrMlOto
Backwards works for BankAccountStep: https://recordit.co/0Shseu59kF
Backwards from Requestor Step and Onfido: https://recordit.co/ldlH7Wugkp
Beneficial Owners: https://recordit.co/VnmIixo3QR

I'll be reviewing this one tomorrow. Also willing to help test, just let me know which platforms to do.

@Luke9389 Thanks, can you test on desktop and IOS?

@nkuoch
Sorry for any inconvenience due to limited availability, I will not able to continue the review. Even though I had did some review, I don't want to rush and complete this as it is a huge PR. Looking at Tests it seems only an internal reviewer might be able to test this one but not sure. If C+ Review & Tests are required please have another C+ here to continue the review, thanks!

@Luke9389 Thanks, can you test on desktop and IOS?

Testing on desktop and iOS now.

When testing on Desktop, I think I've either followed the steps incorrectly, don't understand the steps, or found a problem 😄
Offline testing went well

before offline
went offline
back online

Selecting different bank accounts with Chase worked well:

account 1
result
account 2
result

But when testing back button behavior, I run into an issue. Here are my steps

Complete Step 2
View animation to connect account and see Step 3 screen (with blank fields)
Press back
Step 2 screen still has the data from before
Click the Submit button again
Observe the following error.

You have already set up this bank account on Expensify

I couldn't reproduce, but I have a feeling it may be because of the newly created bankAccountID being sent via pusher instead of http. So, created this PR. Let me know if it fixes it for you @Luke9389

Use the links below to test this build in android and iOS. Happy testing!

:test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:

android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/13236/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/13236/index.html

desktop :computer:
web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/13236/NewExpensify.dmg
https://13236.pr-testing.expensify.com

:test_tube::test_tube: Use the links below to test this build in android and iOS. Happy testing! :test_tube::test_tube:

android :robot:
iOS :apple:

https://ad-hoc-expensify-cash.s3.amazonaws.com/android/13236/index.html
https://ad-hoc-expensify-cash.s3.amazonaws.com/ios/13236/index.html

desktop :computer:
web :spider_web:

https://ad-hoc-expensify-cash.s3.amazonaws.com/desktop/13236/NewExpensify.dmg
https://13236.pr-testing.expensify.com

Ready to be reviewed and tested again!
BTW, no need to hold on https://github.com/Expensify/Web-Expensify/pull/36050, it's the other way around, but you can still make your tests with it, as it's the end goal.

Just tested the OPEN flow as well, and it seems to incorrectly lead to the ValidationStep:
New Expensify.webm

When going offline and then back online, clicking on the Connect online with Plaid button needs to be clicked twice in order for the Plaid flow to start:

I can't reproduce ...

Just tested the OPEN flow as well, and it seems to incorrectly lead to the ValidationStep:

You chose Plaid Checkins instead of Plaid Savings

When creating a VERIFYING bank account, the test transactions form on the validation step is not showing:

Looking now...

guess you mean PENDING instead of VERIFYING? Looking now...

Can't reproduce either ...
https://user-images.githubusercontent.com/2463975/213462224-b6f11676-8a53-4e77-bd54-75d820c8205f.mp4
If you can still reproduce, can you check for any JS error?

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.
[ ] 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

Tested again, looks good to me!

: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/ctkochan22 in version: 1.2.58-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@nkuoch seems this PR causing the deploy blocker issue as in the BankAccounts.js we are using setBankAccountSubStep but we aren't importing that.
diff --git a/src/libs/actions/BankAccounts.js b/src/libs/actions/BankAccounts.js
index b6aea981e..11fe41607 100644
--- a/src/libs/actions/BankAccounts.js
+++ b/src/libs/actions/BankAccounts.js
@@ -7,6 +7,7 @@ import DateUtils from '../DateUtils';
 import * as PlaidDataProps from '../../pages/ReimbursementAccount/plaidDataPropTypes';
 import Navigation from '../Navigation/Navigation';
 import ROUTES from '../../ROUTES';
+import setBankAccountSubStep from './ReimbursementAccount';

 export {
     goToWithdrawalAccountSetupStep,
@@ -38,7 +39,7 @@ function clearPlaid() {
 }

 function openPlaidView() {
-    clearPlaid().then(() => this.setBankAccountSubStep(CONST.BANK_ACCOUNT.SETUP_TYPE.PLAID));
+    clearPlaid().then(() => setBankAccountSubStep(CONST.BANK_ACCOUNT.SETUP_TYPE.PLAID));
 }

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.2.58-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@nkuoch Are we supposed to be able to edit the company name and tax ID once we've saved them once and advanced to the Personal information step? They don't seem to be disabled anymore although these variables would suggest they should. I just want to confirm the expected behavior before I add a fix to this PR

I confirm we're not supposed to be able to edit them once we've reached the requestor step.
How did you reproduce the bug? I personally can't reproduce what you're saying.

Oh weird. I can't reproduce it anymore either 🤔 Anyways, thanks for confirming!

Nvm, I can still reproduce on main/staging/prod on native devices

👋 Hi, we've identified this PR as 1/2 of the cause of https://github.com/Expensify/App/issues/14972. The logic in getDefaultStateForField() does not work correctly  in the event that lodashGet(reimbursementAccountDraft, fieldName) returns false.
 function getDefaultStateForField(reimbursementAccountDraft, reimbursementAccount, fieldName, defaultValue = '') {
    return lodashGet(reimbursementAccountDraft, fieldName)
        || lodashGet(reimbursementAccount, ['achData', fieldName], defaultValue);
 }

In this case, this could've been avoided by doing some more robust testing to ensure that the default state value matched what we were expecting in a variety of scenarios. We've got a proposed regression test here that should cover this scenario 🙌

I am tagging this PR to highlight an issue fixed here. All conditions in ternary expressions or left-hand operands on conditional renders, should be boolean. This PR is one of the PRs that uses conditional render with string operands, hence I am tagging it here for the contributors to check.
We've also updated the item in the checklist with this PR to avoid this issue in the future.


FN - Hexacoin attack

Here the address of the attacker
There is a malicious smart contract and a TC funding but not an AD alert.

Please investigate nature of this issue

The issue was the expiration of the funding stage alert. I have increased that time from 1 day to 10 days, but here the interval is 21 days.
Please let me know if I should further increase it.

@salort-forta lowered this to 1 day in the lean AD.
I would leave it at 10 days and see which direction we go in with the changes coming to AD.
Thanks for this, closing.


chore: improve identity_encryption test stability

Description
#2072 introduced flaky tests. This tries to remedy that
How Has This Been Tested?
Issues are in CI, not reproducible locally (at least for me). CI will show how well it works.
Checklist:

[x] The title of this PR complies with Conventional Commits.
[x] I have edited the CHANGELOG accordingly. No changes needed
[x] I have made corresponding changes to the documentation. No changes needed

e2e/identity_encryption tests worked 5/5 times now on CI. They should not be the cause of constant CI failure anymore


Clarifying Documentation and Properties

There are multiple instances in the readme file where the explanations aren't as helpful as they could be, especially in the descriptions for the properties.
For example:
persistState and resendHexAfterReload are confusing.
    When persistState is true (it is by default) this will resend the hex code for the last known state if homebridge is restarted.
Does that mean the Broadlink will send the code to the accessory again after homebridge starts up? Or does that mean it will send a code to HomeKit?
disableAutomaticOff is confusing as well. If the value is set to false, then it is a very confusing double negative because "disableAutomaticOff: false" makes it seem as though I am not changing anything. "enableAutomaticOff: false" would make more sense as a default because the user is not changing any behavior. Is there a reason why this property needs a verb at the beginning? Could it be changed to "automaticOff" to avoid the confusion? "automaticOff: false" would be the default and if the user wanted the switch to turn off automatically, he or she would set "automaticOff: true"
I'd be glad to give the readme an edit to reduce wordiness and clarify things once I understand how it works.

Documentation cleared up a bit - I'll be going through and updating properties during a more significant refactor


price_amount_micros and price_currency_code added to SkuDetails

These fields are very useful for subscriptions.
For example, I show per month price for one year subscription in my app. It is too complicated parse Price field for this operation.

Approved!


linter-gcc doesn't recognize c++14

I am trying to use default_random_engine but the "linting on-the-fly" feature gives me this error:
default_random_engine’ was not declared in this scope

To recognize c++14 you can always add the -std=gnu++14 into the C++ flags option.


[Event Hubs] add try/catch around user error handlers

I updated the rush config to only include the packages relevant to event-hubs since this is an event-hubs specific branch. Many of the packages fail to build on this branch (we've released newer versions) and we've already released versions of amqp-common since what's in this branch.

/azp run js - eventhubs-client - tests


Binding WSL2 ports to a different IP address in <IP_ADDRESS>/8 range

Is your feature request related to a problem? Please describe.
If I have webserver or a database running on specific port in Windows, I cannot start server in WSL that listens that same port because it is already in use. For example, if I have IIS running on port 80, I cannot start php server inside WSL with php -S <IP_ADDRESS>:80.
There are 16777216 addresses in the loopback range and apps always wants to use <IP_ADDRESS> and then listen on a random, hopefully unused port. Why not use a different IP?
Can we have an option to specify a custom IP in the loopback range?
Describe the solution you'd like
A configuration option to specify a custom IP address in the <IP_ADDRESS>/8 range for mapping WSL ports
Describe alternatives you've considered
Using a different ports between host and guest or binding host's processes to something other than <IP_ADDRESS> so that WSL can use <IP_ADDRESS>

Why not use a different IP?

WSL2 has its own IP segment. Assigning the address is #4210.

@therealkenc It is not the same. In my case, I cannot even start the server inside WSL2 if the port is in use on the host unless I turn of localhostForwarding.
When a server inside WSL2 is started, wslhost.exe automatically opens the port on <IP_ADDRESS> or fails if the port is in use. Not related to WSL network segment but to localhost forwarding. There is only one mention of a different IP in https://github.com/microsoft/WSL/issues/4210#issuecomment-626669198, <IP_ADDRESS> but that is not working.

I cannot even start the server inside WSL2 if the port is in use on the host unless I turn off localhostForwarding

LocalhostForwarding is in the Windows->WSL direction. You are in the WSL->Windows direction.
Cannot repro your scenario. You've got other variables. Using sshd port 22 as an example:

My appologies @therealkenc, it took me some time to reproduce everything.
1) PHP running on both Windows and WSL, using same port

No processes listening on port 80
Start php.exe on Windows listening on <IP_ADDRESS>:80
netstat.exe shows php.exe listening on <IP_ADDRESS> port 80
Open http://<IP_ADDRESS>/hello.txt in browser - 200 from php.exe
Start php inside WSL, listening on <IP_ADDRESS>:80
netstat.exe shows two processes (php.exe and wslhost.exe) listening on <IP_ADDRESS> port 80
Open http://<IP_ADDRESS>/hello.txt in browser - 200 from php.exe
Terminate php.exe
Open URL in browser - 404 from wsl php

2) IIS listening on <IP_ADDRESS> IP (single IP set with netsh http add iplisten <IP_ADDRESS>)

No processes is listening on port 80
Start IIS service
netstat.exe shows IIS (no ownership information) listening on <IP_ADDRESS> port 80
Open http://<IP_ADDRESS>/ in browser - Site serverd by IIS
Start php inside WSL, listening on <IP_ADDRESS>:80
netstat.exe still shows only IIS (no ownership information) listening on <IP_ADDRESS> port 80. WSL php is inaccessible from Windows.

3) IIS listening on <IP_ADDRESS> (Standard configuration)

No processes is listening on port 80
Start IIS service
netstat.exe shows IIS (no ownership information) listening on <IP_ADDRESS> port 80 and [::] port 80
Open http://<IP_ADDRESS>/ in browser - Site serverd by IIS
Start php inside WSL, listening on <IP_ADDRESS>:80
netstat.exe still shows only IIS (no ownership information) listening on <IP_ADDRESS>:80 and [::]:80. WSL php is inaccessible from Windows.
Stop IIS service
netstat.exe shows no processes listening on port 80
Start php inside WSL, listening on <IP_ADDRESS>:80
netstat.exe shows wslhost.exe listening on <IP_ADDRESS> port 80
Open URL in browser - 404 from wsl php (not visible in the screenshot, sorry)

4) WSL php listening on <IP_ADDRESS>:80

No processes is listening on port 80
Start php inside WSL, listening on <IP_ADDRESS>:80
netstat.exe shows wslhost.exe listening on <IP_ADDRESS> port 80
Start IIS service
netstat.exe still shows wslhost.exe listening on <IP_ADDRESS> port 80. IIS server is inaccessible.
Open URL in browser - 404 from wsl php
Looking at the IIS Manager I can see that website is stopped. Trying to start it shows an error
Stop WSL php
No processes is listening on port 80
Start IIS Site from the UI
netstat.exe still shows only IIS (no ownership information) listening on <IP_ADDRESS> port 80
Open http://<IP_ADDRESS>/ in browser - Site serverd by IIS

So if I could set WSL (wslhost.exe) to use specific loopback IP address for localhost forwarding (let's say <IP_ADDRESS>) I would avoid clashing with the existing services running in Windows.
I hope this makes it a bit more understandable.

Okay but that's just square by-design territory. You've bound to the same port on <IP_ADDRESS>. Even in the (academic hypothetical) that you got your ask for WSL to fire up on <IP_ADDRESS>, you'd have to bind to that and address and connect to that address. You'd have to type <IP_ADDRESS> into your window browser (you sure as heck wouldn't type localhost).
Which is #4210: a static configurable IP address. [With a really bizarre choice of the remote IP address.]

linux distro and as they all share the same VM, that was the source of the error I was getting.

That was my guess.

Yes, I'd have to type that IP address or have it set in hosts, but it wouldn't interfere with other services running on <IP_ADDRESS>. And with the source of an error being cleared out, it might fall under the #4210, with, as you say, a really bizarrely chosen static configurable IP 😁

Let's call it #4210, on the basis your ask isn't actually happening whether this issue is closed, or left open 'feature request' loophole.
Pro-tip for the price you paid for it, try out avahi-daemon(8). TL;DR, sudo service dbus start and sudo service avahi-daemon start, after editing /etc/avahi/avahi-daemon.conf. That will get you wsl.local to type into your browser. Which is probably what you actually want, contrast typing <IP_ADDRESS>, or mucking hosts.

Thanks, but what I actually do want WSL on a different loopback IP. Then I can add just another entry to the dnsmasq configuration similar to address=/iis.local/<IP_ADDRESS> for *.iis.local or address=/php.local/<IP_ADDRESS> for *.php.local, etc. While <IP_ADDRESS> is for stuff related to "localhost". Just a way of organizing services.
Still hoping that someone would find this reasonable and implement configuration for binding a different loopback IP.

Thanks, but what I actually do want WSL on a different loopback IP

You can only lead a horse to water...

Currently only localhost traffic (<IP_ADDRESS>/32) is forwarded from Windows to WSL. I would like to see all loopback traffic for <IP_ADDRESS>/8 forwarded from Windows to the same IP within WSL. I use the requested feature mainly for tunneling to remote environments. This works using SSH outside WSL but not with SSH from within WSL. For instance if I tunnel to remote site 1 the local IP would be <IP_ADDRESS> and to remote site 2 the IP is <IP_ADDRESS>, both port 443. With a hosts file entry I can then access those site as if they were local. Since WSL2 the workaround is to run a full GUI within WSL so I can do the tunneling from within WSL.

@richardzuidhof I use SSH tunnels in a similar way. My main difference is that I replace the first octet of the destination IP address by 127 to get the local IP address of the SSH tunnel. So tunnel to <IP_ADDRESS>:443 would be: <IP_ADDRESS>:443. (I did not need to solve an address conflict yet.)
It would be great to have a possibility to automatically map the whole <IP_ADDRESS>/8 range. Currently I create the tunnels twice: inside WSL2 and inside Windows.


[Scale set] Disable password auth should be an option on create

this setting can't be changed after the fact, so it needs to be an option on create

On further research, this is almost never desirable.  Most documentation surrounds disabling password auth in favor of SSH (which is also the recommended configuration).  The portal also does not support this configuration, so I am closing this as won't fix.


⚠ Samsung has degraded performance

In add5b3c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2087 ms

Resolved: Samsung performance has improved in 75c5f62.


Creating more than one aircraft sets the speeds of all other aircraft to 0

Steps to reproduce:

Create an aircraft (Any, but for best results, one that can hover, an M600)
Create a second aircraft

The speed of the first aircraft should be set to zero as soon as the second aircraft is created. If a third aircraft is added, the speed of the second one is set to 0, and so on. Only the latest added aircraft has a non-zero speed.
Example scenario:
0:00:00.00>CRE MS841, M600,  51.42972,   4.15673, 118.4 30, 30
0:00:10.00>CRE LY620, M600,  49.97940,   5.68314, 335.4 30, 30

Fixed in 95f45ee (hopefully this time without creating a new bug 😉).


Maven package version number is truncated

I want to implement publishing beta packages for our apikana generated NuGets, Mavens and Npms when building feature branches.
For NuGet and NPM we use the schema {semantic_version_number}-{branch-name}-{buildNr}
Example: 3.2.1-feature-new-field-2
When I tried to to this for Maven packages I noticed that part of the version name is cut and replaced.
The above example yields 3.2.1-feature-SNAPSHOT. This can result in non-unique maven packages and result in package conflicts.
The problem is the following line: https://github.com/swisspush/apikana/blob/592f18b98eb68a10078ea478ea40607aedcd316e/src/plopfile_start.js#L11
Two questions:

what was the original idea behind the code referenced above?
can we remove it?

cc @msallin

The goal was to detect release candidates ".rc" and replace them with SNAPSHOT as it is the convention with maven.
Seems that the regexp is a bit too wide and captures non-rc stuff. We could refine it to capture only release candidates.


Detect nitroshare and send a file to it

When running ndrop without --listen or --send argument, it is possible to wait for any server to appear, send the file to it and quit. Nitroshare server is sending UDP packets to port 40816 every 5 seconds or so.
$ tshark -f "udp port 40816" -T fields -e data.text -o data.show_as_text:TRUE
{"name":"SONiC","operating_system":"linux","port":"40818","uses_tls":false,"uuid":"{338229ac-fb13-46e3-a0cf-093867c1f161}"}
...

A listener can catch the first packet, extract IP and send a file to it.
P.S. It may worth to add nitroshare tag to the repository.

do not send file before server appear. It do not know the destination.
A listener is the server peer that only receive files.

A listener is the server peer that only receive files.

Does it mean that for send file from same where ndrop --listen run as server I should create one more instance as client (ndrop --send) in separate terminal window?


4.3.0 broken in IE10 because of "const" statement

A stray const statement killed our build in IE10. This seems to have happened because the wrong version got into the dist of the version 4.3.0.
See the top comment in the distributed file<EMAIL_ADDRESS>/**
 * Failed to minify the file using UglifyJS v3.0.24. Serving the original version.

Thanks for looking into it.

FYI, the comment is added by jsDelivr - the package only contains unminified file, so jsDelivr attempts to minify it but fails because of the const statement.

In that case I'm guessing backwards compatibility is not a priority? @yyx990803

Wow, that was a fast fix 👍  @marcoeh check<EMAIL_ADDRESS>

🎉 Yeah! Thank's 👍 🏅


Add project structure

Name of chapters are included.
Table of content is clickable.
Chapter pdfs are combined to one pdf.

Nice!


Docs Installation error

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps

[x] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[ ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[ ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

I was working on modifying the docs:
Steps:

pip3 install mkdocs
run pip3 install -e. in the root directory
cd docs/
KERAS_BACKEND=tensorflow python autogen.py

Which results in the following error:
"
Traceback (most recent call last):
File "autogen.py", line 14, in
import pathlib2 as pathlib
ImportError: No module named pathlib2
"
The package was installed on my system . I also checked by running pip3 Install pathlib2 which returned "package already installed"

@Tejaswgupta
Moving this issue to closed status as there has been no activity, in case you still face the error please create a new issue.


Add cypress javascript runner

Make sure these boxes are checked before submitting your pull request:

[x] Add fixtures and spec when implementing or updating a test runner
[x] Update the README accordingly
[x] Update the Vim documentation in doc/test.txt

@codeinabox let me know if there's anything i need to update/change/add/etc. thanks!

@codeinabox let me know if there's anything i need to update/change/add/etc. thanks!

Thanks, if you could apply the changes to the README without unnecessary reformatting I am happy to approve and merge this

@codeinabox done! thank you!

@codeinabox thanks to you and @janko both for making it easy to contribute and for such an incredibly valuable project! Cheers!


Documentation & Tutorials

CRITCIAL

Getting started guide
Runtime configs (+ setting up a private chain and/or a cluster)

DESIRED

Contracts and transactions
Compiling contracts (?)
Programmatic interaction with the client (RPC?)

Mostly done, todo:
"The complete guide to setting up a private chain "

that would be ideal :)

Maybe https://gist.github.com/konradkonrad/54e623673741b3704726 is helpful?


Closable/Deletable Accordions

Summary
I want the ability to dynamically/programmatically remove Accordion Items
Basic example
I thought I would be able to manually create the UI for such a feature and I was able to construct something like:

Unfortunately, the Trash Badge components are not clickable (capturing the click would allow me to remove that AccordionItem) since the Accordion Header captures all the clicks in the header and just opens/closes the Accordion. :(
Is there a way such a feature could be added?  Or maybe a way to capture that click so I can remove the AccordionItem myself?
Thanks!

Why that would not work for you?
<AccordionItem>
    My Header 2 <button on:click|stopPropagation={()=>alert('click')}>Trash icon</button>

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo ab necessitatibus sint explicabo ...

....

Well, surprisingly it works!  Had to actually use a plain DOM element (not a custom component) but I reworked the theme/styling and it worked!
No idea how I missed the stopPropagation option.
Still, I believe that this is not the cleanest or most straightforward implementation, so I am not sure if it is worth closing the issue, in case someone wants to natively offer something like this builtin to the Accordion component. Otherwise, I am "fine" for now!
Thanks!

I close the issue for now.
Thank you for your contribution.