High response latency for bi-directional streaming when multiple responses are sent from host

What version of gRPC and what language are you using?
C# .Net 4.6.2 - Grpc Nuget Version 2.29.0
What operating system (Linux, Windows,...) and version?
Windows
What runtime / compiler are you using (e.g. python version or version of gcc)
What did you do?
We have a bi-directional grpc streaming application. The client sends a request to host. Host can either process the request and send one and final response back to the client and shutdown the stream or sends for additional request and waits for reply from client.
We notice that in cases where server completes with only response, the latency is very minimal. But, when host sends request and does not close the stream immediately, we notice high latency time for that response.
The code below is a repro for this issue - SingleExecute call writes a single response and completes immediately. DoubleExecute call writes two responses. DoubleExecute also has a delay of 5 ms to simulate some server work.
SingleExecute times are almost always 0ms when both server and client are on the same machine. DoubleExecute times always have a delay of 12-18 ms instead of having a latency around 5 ms.
If we remove delay in DoubleExecute, then response times for DoubleExecute is back to 0ms. Actual application has meaningful work to be done before it can send a response back requesting for more information so this delay cannot be avoided.
Proto file
syntax = "proto3";

service TestService {
	rpc SingleResponseExecute(stream Request) returns (stream Response) {}
	rpc DoubleResponseExecute(stream Request) returns (stream Response) {}
}

message Request {
}

message Response {
}

Server code
 public class TestServer : TestService.TestServiceBase
    {
        public override async Task SingleResponseExecute(IAsyncStreamReader<Request> requestStream, IServerStreamWriter<Response> responseStream, ServerCallContext context)
        {
            await responseStream.WriteAsync(new Response()).ConfigureAwait(false);
        }

        public override async Task DoubleResponseExecute(IAsyncStreamReader<Request> requestStream, IServerStreamWriter<Response> responseStream, ServerCallContext context)
        {
            try
            {
                await Task.Delay(5).ConfigureAwait(false); // Simulate some server work
                await responseStream.WriteAsync(new Response()).ConfigureAwait(false);
                await responseStream.WriteAsync(new Response()).ConfigureAwait(false);
            }
            catch(Exception ex)
            {
                Console.WriteLine(ex.ToString());
                throw;
            }
        }
    }

Client Code
for (int i = 0; i < 100; i++)
            {
                stopwatch.Restart();
                long firstResponseTime = 0;
                using (var doubleExecute = client.DoubleResponseExecute(deadline: DateTime.UtcNow.AddSeconds(3600)))
                {
                    await doubleExecute.RequestStream.WriteAsync(new Request()).ConfigureAwait(false);
                    while (await doubleExecute.ResponseStream.MoveNext().ConfigureAwait(false))
                    {
                        firstResponseTime = stopwatch.ElapsedMilliseconds;
                        var response = doubleExecute.ResponseStream.Current;
                        //await doubleExecute.RequestStream.WriteAsync(new Request()).ConfigureAwait(false);
                    }
                    await doubleExecute.RequestStream.CompleteAsync();
                }
                stopwatch.Stop();
                Console.WriteLine($"Double execute Attempt {i}: First Reponse: {firstResponseTime} Total Time: {stopwatch.ElapsedMilliseconds}");
            }

What did you expect to see?
When running SingleExecute that sends only one response and shuts the stream, the time taken is always close to 0, When running DoubleExecute method that writes two response streams - average time should be around the 5ms delay (which was added to simulate server work), but instead, latency times are around 12-18 ms.
What did you see instead?
When server does some work and then attempts send response, we are noticing high latency - around 12-18 ms even though both server and client are on the same machine. The latency is higher when server and client are on different machines on the same azure regions and thus impacting even more.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?
WriteAsync do not have any buffer hint set.

I enabled Grpc "Info" log on both the server and client, and we see the following on the server side -
I can see there is a 5ms delay in the second log line which is expected (as there is a Task.Delay in the server code)
However, the subsequent grpc_call_start_batch log starts only after about 10-11 ms - which is correlating and contributing to the delay we are seeing.
I0617 09:42:27.785838 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\surface\call_details.cc:37: grpc_call_details_destroy(cd=00B3BF78)
I0617 09:42:27.790823 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\iomgr\tcp_windows.cc:187: TCP:00B13DF8 on_read
I0617 09:42:27.790823 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\iomgr\tcp_windows.cc:216: READ 00B13DF8 (peer=ipv4:<IP_ADDRESS>:5518): 00 00 05 00 00 00 00 00 01 00 00 00 00 00 '..............'
I0617 09:42:27.790823 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\iomgr\timer_generic.cc:468: TIMER 00B179D0: CANCEL pending=true
I0617 09:42:27.791821 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\iomgr\tcp_windows.cc:253: TCP:00B13DF8 win_read
I0617 09:42:27.791821 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\iomgr\timer_generic.cc:365: TIMER 00B179D0: SET 7270475 now 70475 call 00B17990[799E6EE0]
I0617 09:42:27.791821 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\iomgr\timer_generic.cc:402:   .. add to shard 4 with queue_deadline_cap=71078 => is_first_timer=false
I0617 09:42:27.802792 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\surface\call.cc:1967: grpc_call_start_batch(call=0504E190, ops=00EAEBCC, nops=2, tag=00B47070, reserved=00000000)
I0617 09:42:27.802792 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\surface\call.cc:1565: ops[0]: SEND_MESSAGE ptr=05E3E8C0
I0617 09:42:27.802792 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\surface\call.cc:1565: ops[1]: SEND_INITIAL_METADATA(nil)
I0617 09:42:27.803789 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\surface\call.cc:626: OP[server:0504E6B0]:  SEND_INITIAL_METADATA{} SEND_MESSAGE:flags=0x00000000:len=0
I0617 09:42:27.803789 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\channel\channel_stack.cc:226: OP[message_size:0504E6BC]:  SEND_INITIAL_METADATA{} SEND_MESSAGE:flags=0x00000000:len=0
I0617 09:42:27.803789 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\channel\channel_stack.cc:226: OP[deadline:0504E6C8]:  SEND_INITIAL_METADATA{} SEND_MESSAGE:flags=0x00000000:len=0
I0617 09:42:27.803789 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\channel\channel_stack.cc:226: OP[http-server:0504E6D4]:  SEND_INITIAL_METADATA{} SEND_MESSAGE:flags=0x00000000:len=0
I0617 09:42:27.803789 0 T:\src\github\grpc\workspace_csharp_ext_windows_x86\src\core\lib\channel\channel_stack.cc:226: OP[message_decompress:0504E6E0]:  SEND_INITIAL_METADATA{key=3a 73 74 61 74 75 73 ':status' value=32 30 30 '200', key=63 6f 6e 74 65 6e 74 2d 74 79 70 65 'content-type' value=61 70 70 6c 69 63 61 74 69 6f 6e 2f 67 72 70 63 'application/grpc'} SEND_MESSAGE:flags=0x00000000:len=0
This delay should be as minimal as possible.

@jtattermusch - Is there any configuration that we need set up to prevent this delay?

Hi @jtattermusch - We perform multiple streaming responses and we are seeing these latencies add up significantly impacting overall performance.
Any guidance here will help us. Let me know if you need any further information

@sreejit-a  can you provide a reproduction in form of a ready-to-run solution (e.g. in a github repository) - that would make it easier to reproduce.
Also, what windows version are you using?

Ran into the similar issue with c++ async bi-directional streaming as well. In our case the delay can be as high as 2 mins. The problem only happens on system that is relatively busy with other socket IOs in the same process. ss is reporting the packet in the RecvQ, however it seems grpc just not reading the packet from socket.
I workaround the issue by calling AsyncNext() with deadline of 1 msec instead of 0.

any fix found for the issue sreejit-a

@sreejit-a I've tried to reproduce what you are seeing using the example code you have provided.
Some observations:

the server example code does not consume the client requests (does not read the requestStream). I've fixed this in my test.
you only have a task.Delay(5) in DoubleResponseExecute. If I add the same delay to SingleResponseExecute or remove it from DoubleResponseExecute then results I get are identical

The documentation for Task.Delay states:

This method depends on the system clock. This means that the time delay will approximately equal the resolution of the system clock if the millisecondsDelay argument is less than the resolution of the system clock, which is approximately 15 milliseconds on Windows systems.

See https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task.delay?view=netstandard-1.4
So the larger than expected latency times are due to resolution of the system clock on Windows.

Thanks @tonydnewell for investigating. I'm going to close since this does not look like a problem with grpc.


Adding identitytoolkit v1 and v2 APIs

Resolves #543

Please rebase on HEAD!

@kevmoo rebased on HEAD.


removing all occurrences of: "# -- coding:utf-8 --"

This header string was introduced in PEP 263 for python version 2.3 in 2001, in order to be able to put non-ascii character is a python source file. Since UTF-8 is the default source encoding
in Python 3 (PEP 3120), this string is redundant

Coverage decreased (-0.01%) to 79.502% when pulling 2265bea6be16f429c45c4d8090d9373d185f517e on iddoberger:master into ea794abbf941638fbe957d511614f3d66a7c2ef1 on CityOfZion:master.

Thanks 👍

All PRs need to go to the development branch.
I've set the target of this PR to the development branch, but now it has conflicts. Please take a look, would like to merge this :)

Thanks Chris,
I've resolved the conflict
Next time I will be sure to PR to the development branch

@metachris I think you guys should rebase the development branch since
I can see that change in master branch (e.g neo.Core.AssetType.py does not has the uff-8 header - the desired result), but in the development branch neo.Core.AssetType.py still has the  uff-8 header. Sorry for the inconvenience

nevermind, my mistake


PV on AWS with Default install

Hi,
I have created a basic tectonic cluster using the AWS autocreate method. This work successfully. After which I have deployed Helm using the default configs and attempted to deploy a Jenkins helm config.
This failed due to lack of a PV, but I see no documentation on how to define or enable these within Tectonic?
Thanks
Mark

Hi @pixie79 ,
Thanks for opening the issue.
Tectonic uses the Kubernetes Storage primitives and the Kubernetes documentation should directly translate to Tectonic; https://kubernetes.io/docs/concepts/storage/persistent-volumes/ .

For reference, I installed concourse via Helm on a reasonably stock tectonic install and it auto-povisioned the PVs for the worker stateful set.

I too have had this issue with both installing stable/jenkins and also giving fabric8 a try via helm(https://fabric8.io/guide/getStarted/helm.html).
With jenkins it looks like it fired up the elastic block volume and attached it to a worker node followed by my pod landing on a different worker node which the volume wasn't attached to and the pod log showing the error that the volume was already attached to another instance. Had random chance worked out my pod and volume would have have on the same node and this error would not of occurred.
I went into AWS console and detached said volume from the node and at that point K8s attached it to the worker node that my jenkins pod was on and everything was happy.
This needs to be fixed.
Thanks

Hi @bobhenkel ,
Thank you for reporting in. Do you mind letting us know the Tectonic version you are on? Would also be helpful to know if you have steps to reproduce the issue consistently.

@alekssaul Of course, my pleasure and thanks.
I will note that I tried this again by installing a new jenkins instance via helm and didn't run into the problem so this one might be fun to track down.
I'm running this on 1.6.2-tectonic.1
When I did run into the error all I did was the follow steps:

helm init
helm install stable/jenkins
kubectl get pods -w

Watch for your new jenkins pods from step 3.
Pod will fail to start and you will see a error similar to the one below.
Failed to attach volume "pvc-b41804d6-3f38-11e7-be8c-12f8bdce972c" on node "ip-172-8-1-30.ec2.internal" with: Error attaching EBS volume "vol-0d5a80086c992ddb9" to instance "i-0addf043d1ae70468": VolumeInUse: vol-0d5a80086c992ddb9 is already attached to an instance status code: 400, request id: 9ccde515-740e-4641-a9d4-b7289dd0bad0

Thanks again!
Bob


Cleanup more uses of Array::data (#3880)

Which issue does this PR close?

Part of #3880
Rationale for this change

Continues the process of removing uses of Array::data in anticipation of deprecating it
What changes are included in this PR?

Are there any user-facing changes?

what's the difference of to_data() and into_data()?

to_data takes &self, whereas into_data takes self

In case anybody else runs into this question:


Fixes an issue where wallet would disconnect when navigating to a DAO

hey there! when reloading the application keeps persisting too?

@CastilloLuis It does not save the state of the application, we probably need to find a way to persist data maybe leverage cookies/local storage?


use a exported union type from some other file, get a warning

TypeScript Version:  2.3.2
time-type.ts
export type Time = Date | string ;

export class TimeTest {
//this class defination here is the key to reproduce this issue
}

time.ts
import {Time} from "time.type";
import {Input} from "@angular/core";

export class MyTime {
    @Input('theTime') //this is another key to reproduce this issue
    public _theTime:Time;
}

Expected behavior:
compile success, without warnings, page shows normally
Actual behavior:
the compiler give me a warning:
WARNING in ./src/time.ts
226:50-54 "export 'Time' was not found in './src/time-type'

the angular page won't show

updated 20170606, add more info
@ice0526

Sounds like a loader issue.

Is that really the full example, or are you actually using Time in some way in the file as well?

Because decorator metadata is emitted, Time  will sometimes be emitted as a value even though it doesn't exist at runtime.

@DanielRosenwasser I've updated the issue, add more info enough to reproduce the issue

Is the difference between the module name and file name intentional?

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


api: initial circulation api

@zzacharo for your information, next time we should try to refactor the fixtures and use https://github.com/inveniosoftware/pytest-invenio

@ntarocco I didn't know about that! Yes I can try that tomorrow if you want ;)


Test PR that bad fmt fails in CI

This run did not fail: https://github.com/projectcontour/contour-operator/pull/275/checks?check_run_id=2176583612 which is problematic

Should be eventually fixed by https://github.com/projectcontour/contour-operator/pull/276, closing this


Fix pg_wire->execute message outbound handling, commandComplete must not flush

A CommandComplete outbound message should not flush, a ReadyForQuery is
expected at the end of the message flow which will flush.
Flushing in-between can cause problems with some clients as they will treat
a flush as the end of the message flow response and thus will treat such a
flow as invalid.
The proprietary Progress PgSQL ODBC DataDirect driver for example won't work
otherwise.
Fixes #11357.
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Btw. I've run most of the crate/crate-qa client tests against this branch to validate that this change won't break anything.

retest this please
looks like unrelated? failure:
REPRODUCE WITH: ./gradlew :server:test -Dtests.seed=E93656FD24942B59 -Dtests.class=io.crate.integrationtests.StaticInformationSchemaQueryTest -Dtests.method="testGtNumber" -Dtests.locale=lg-UG -Dtests.timezone=Asia/Kamchatka

java.lang.AssertionError: expected:<1> but was:<0>
at __randomizedtesting.SeedInfo.seed([E93656FD24942B59:2CC3DEED136E0E3C]:0)
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at io.crate.integrationtests.StaticInformationSchemaQueryTest.testGtNumber(StaticInformationSchemaQueryTest.java:178)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1758)
at com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:946)
at com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:982)
at com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:996)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:298)
at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:292)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:831)

Do you think this change might make it possible to remove the DelayableWriteChannel altogether? Maybe worth following up on and try it out.

I'll try this out.
On the other hand it seems my patch breaks the npsql driver (didn't catch this before due to my fault), so this needs some more iteration anyway unfortunately :(


Oracle source documentation bug

Describe the bug
The Oracle documentation page at:
https://datahubproject.io/docs/generated/ingestion/sources/oracle
does not list the grants needed for the database user.
Searching in the pull requests we found out that access to the DBA_* tables is needed.
This is an obstacle in our organization, as access to those tables is restricted.
The Snowflake page can be used as an example:
https://datahubproject.io/docs/generated/ingestion/sources/snowflake#prerequisites
Additional context
See also: https://github.com/datahub-project/datahub/issues/5905#issuecomment-1246638659, #6530

Still there, bad bot,

Fixed by #10712


Markdown is not interpreted for Bot response in User input (Confirmation/Multi-Choice) actions

Describe the bug
e.g.,
Have you reviewed [this](https://github.com/microsoft/BotFramework-Composer) ?

Rendered properly for the "Send a response" action, however, those User input actions would render response with plain text.

Version
2.1.1
OS

[ ] macOS
[X] Windows
[ ] Ubuntu

To Reproduce

Additional context

Hi @tracyboehrer, we reviewed this issue and were able to reproduce it only in MS Teams. Other channels (WebChat, Emulator) rendered the links correctly.
We also tested this using an SDK sample and observed the same error.
We believe this is an issue on the MS Teams' side, and they should be informed.
Here we can see the markdown correctly rendered in Emulator and the reproduced issue in MS Teams.


[Refactor][Backend] Uplift Go to 1.18 (or 1.19)

What and why to refactor
1.19 was released a few days ago, and 1.18 now has been around for several revisions, so it should be stable. It brings many new
features, in particular generics which is something we can definitely use in our codebase. We should evaluate both, and at the very least uplift to the latest 1.18 revision.
Describe the solution you'd like
How to refactor?
The Dockerfiles need to be modified + the go.mod version. The gitextractor libgit2 needs to be manually built in the Dockerfile because it has to be pinned to v1.3.0. The newer alpine base images will be packaged with higher versions if we try to use the defaults, so we can't rely them as we have been.
Related issues
n/a
Additional context
Current Go version of Devlake is 1.17.

PR: https://github.com/apache/incubator-devlake/pull/2694


[Task]: Fix tx pane doesnt cant be shrinked & last tx cut

Task description
If I have a lot of txs so I need to scroll in the tx history, the last tx is cut for me and I cannot make the pane smaller, like the original size

smaller (I have to go to tokens, reduce it, and then back to activity)

Requirements
TVD
Creation checklist

[ ] I have assigned this task to the correct people
[X] I have added the most appropriate labels
[X] I have linked the correct milestone and/or project

I created a separate task for the shrinking issue: https://github.com/iotaledger/firefly/issues/4483


Add support for Zilsd and Zcmlsd extension

Description
Adding Support for Zilsd and Zcmlsd Extensions presented here:
Related Issues
The related PRs

riscv-config support for the extension merged in dev PR
riscv-isa-sim support for the extension available in master : commit id
SAIL PR
riscv-ctg PR
riscv-isac PR
Sample test env

Update to/for Ratified/Unratified Extensions or to framework

[ ] Ratified
[x] Unratified
[ ] Framework

List Extensions
The unratified spec document:
https://github.com/riscv/riscv-zilsd/blob/main/zilsd.adoc
Reference Model Used

[x] SAIL
[x] Spike
[ ] Other - < SPECIFY HERE >

Mandatory Checklist:

[ ] Make sure to have created a suitable entry in the CHANGELOG.md under [WIP-DEV] section.

@lavanyajagan have you generated the ACTs based on these macros? If yes, then can you please provide those ACTs for review. Since this is unratified, and alot of work is pending for approval, it will be difficult to recreate the whole environment at my side and review this work.
ACTs will be easier to review.

ARCH test PR:
I will check with James to remove the "Draft". Could we provide a docker environment of the whole setup for you to re-run at your end?

@lavanyajagan I have found the tests in riscv-arch-tests (PR#467), for some reason, you have declared the tests in a draft PR. When will you release it for official review? It seems like the draft email will keep your other ones in the queue.

The arch-test PR is updated. Also merge conflicts are resolved in this PR. Kindly review

Dear @lavanyajagan
The CTG and ISAC Repo had been moved to riscv-arch-test via PR
https://github.com/riscv-non-isa/riscv-arch-test/pull/495
If you think this PR is important, and need to me merged on to risc-v CTG or ISAC, please re-submit your PR against   riscv-arch-test
This repository shall be archived in about one week time .

We will update the arch test PR with these changes and update you. Thanks

Hi @jamesbeyond
We have updated the riscv-arch-tests PR (https://github.com/riscv-non-isa/riscv-arch-test/pull/467) with the isac and ctg changes. If this gets approved, the other 2 PRs at the isac and ctg repos can be dropped
Best,
Lavanya


Apple Music is not available in your country or region (fresh 2.5.0 install) [BUG]

Describe the bug
After authenticating with my Apple account, I receive the message that Apple Music is not available in my country or region.
To Reproduce
Steps to reproduce the behavior:

Launch application, version 2.5.0
Attempt to login and authenticate
See error message and be forcibly logged out of application

Expected behavior
Continue any login flow and utilize application
Screenshots
N/A
Desktop (please complete the following information):

OS: Linux - up-to-date 64 bit Arch
Application Version - 2.5.0 (apple-music-electron 2.5.0-1)

Log File
Log file mentions issues with launching additional Discord instance, which is curious since I do have Discord open but this application (while still being electron) is a different application.
Additional context
None
Have you followed the troubleshooting guide found here and checked for any outstanding/pinned issues that can help?
Yes

How are you launching the application? Are you using a compiled state and what format did you use to install? Also, try following the clean installation guide, this might fix your issue.

Yep, tried the clean install guide. I can turn on authMode but then the GUI doesn't appear when I try to re-launch the application. I've launched from the .desktop file as well as directly from a CLI (using apple-music-electron).

If you can turn on authMode, you are not on 2.5.0

I used the following as a replacement PKGBUILD on arch to build it: https://pastebin.com/M7yXkPyA - however I just followed the install guide again and am doing another clean build.
The resultant apple-music-electron binary in the dist/linux-unpacked won't display any sort of gui. I'm now trying to redo it all using npm. It's throwing an error about missing an app-update.yml, but I'll let you know when it gets rebuilt via npm and if I have the same issues.

Same problem. Ugh. Seems to be some weird electron stuff happening.
If I build with the pastebin pkgbuild, it "works" but I can't login, and I can still use authMode.
If I build it manually, I get no electron window and the following error messages:

Error: Error: ENOENT: no such file or directory, open '/home/ryan/Development/apple-music-electron/Apple-Music-Electron/dist/linux-unpacked/resources/app-update.yml'
[61960:0822/150116.801588:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

Interestingly hitting https://music.apple.com/beta in Chrome directly seems to work without issues.

The app-update.yml file error is common and should not affect application performance. What I don't understand is how you can still use authMode. What I suggest you do is create a fresh clone of AME and compile it into a pacman file and upgrade the existing pacman package.

I downloaded for windows, launched the EXE and was presented with this same error upon trying to login.

I downloaded for windows, launched the EXE and was presented with this same error upon trying to login.
EDIT:
https://github.com/Apple-Music-Electron/Apple-Music-Electron/releases/tag/v2.5.0
...fixes the issue.
However, the UI is missing a lot of graphics.

Delete the cache folder for the application and that should fix it. Find more at https://github.com/Apple-Music-Electron/Apple-Music-Electron/wiki/Troubleshooting#clean-installation

I downloaded for windows, launched the EXE and was presented with this same error upon trying to login.
EDIT:
https://github.com/Apple-Music-Electron/Apple-Music-Electron/releases/tag/v2.5.0
...fixes the issue.
However, the UI is missing a lot of graphics.

Delete the cache folder for the application and that should fix it. Find more at https://github.com/Apple-Music-Electron/Apple-Music-Electron/wiki/Troubleshooting#clean-installation

Fantastic! Sorry, I did see that but I figured it was just the fact it was beta. Super fast and helpful reply. Thanks!
Is it recommended that I follow this with a local copy of the repository or reinstall EXEs from time to time?

I downloaded for windows, launched the EXE and was presented with this same error upon trying to login.
EDIT:
https://github.com/Apple-Music-Electron/Apple-Music-Electron/releases/tag/v2.5.0
...fixes the issue.
However, the UI is missing a lot of graphics.

Delete the cache folder for the application and that should fix it. Find more at https://github.com/Apple-Music-Electron/Apple-Music-Electron/wiki/Troubleshooting#clean-installation

Fantastic! Sorry, I did see that but I figured it was just the fact it was beta. Super fast and helpful reply. Thanks!
Is it recommended that I follow this with a local copy of the repository or reinstall EXEs from time to time?

Just do a fresh install from the repo and then all updates should be handled by the application's auto updater.

Hey, I was able to get things to build in linux. I installed 2.5.0 from the releases beta, and then re-built everything off the latest cut of master and overwrote what's in /opt/apple-music-electron/ with the contents of my dist/linux-unpacked directory. Everything seems to work now. Perhaps the arch aur would just benefit from an apple-music-electron-git package :) I'll see what it takes to do that, why not.


[GSoC] Color UI Improvements

As per my proposal and my discussions with @jisqyv , I'll be making a few changes/additions to improve the color user interface. These improvements are as follows :

Changing the default input block in the make color block from math_number to math_number_radix.
Adding a new block that will take color input as a string. (I've added the essential functionality which allows it to function, but I will add the few more modification required like the tooltip and documentation while writing the tests for this.)
Adding the functionality where the color of the do it comment box's border becomes the same as the color on which the do it is called.
To come up with a consistent UI for the color drawer which does not render the simple color blocks redundant.

So far, I've completed the first two points, I'll keep updating this text to reflect the latest developments in the progress.

Can one of the admins verify this patch?

@AppInventorWorkerBee ok to test

Note: This PR needs to be rebased onto ucr (because of changes to runtime.scm). I can take care of this as part of the review.

This issue tracking the companion changes in iOS needs to be resolved with the release of this PR: https://github.com/mit-cml/appinventor-sources-ios/issues/722


Feature: Custom Font

Type of Feature

[X] API Extension
[X] UI Feature
[ ] other:

How would it look like
A flag exists that makes it possible to pass a custom font. For example monospace.
import React, { useState } from "react";
import { InOutTextarea, InOptions, OutOptions } from "react-in-out-textarea";
import { ThemeProvider } from "styled-components";

const theme = {
  font: "monospace"
};

export const ExampleComponent = () => {
  const [inValue, setInValue] = useState<string>("");
  const [outValue, setOutValue] = useState<string>("");
  const [inOptions, setInOptions] = useState<InOptions>([
    {
      name: "English",
      active: true
    },
    {
      name: "German",
      active: false
    }
  ]);
  const [outOptions, setOutOptions] = useState<OutOptions>([
    {
      name: "Chinese",
      active: true,
      activeClicked: false
    }
  ]);

  return (
    <ThemeProvider theme={theme}>
      <InOutTextarea
        inValue={inValue}
        outValue={outValue}
        onInInput={(newValue) => {
          setInValue(newValue);
          setOutValue(newValue);
        }}
        inOptions={inOptions}
        onInOptionsUpdate={(newInOptions) => {
          setInOptions(newInOptions);
        }}
        outOptions={outOptions}
        onOutOptionsUpdate={(newOutOptions) => {
          setOutOptions(newOutOptions);
        }}
      />
    </ThemeProvider>
  );
};

Check the font={"monospace"} in the props of the component above.
A storybook component is created for this case
Another example in codesandbox will be created

Resources
-/-
Files involved

./src/index.ts
This can be implemented with the Theme functionality. Documentation can be found here.

Haven't had a chance to work with Themes, would gladly help with this issue 👍

@merelj assigned this issue to you now. Feel free to create a Pull Request. If you have any questions, feel free to reach out to me by commenting and tagging me. Cheers, Kev

Created one follow up ticket: https://github.com/igeligel/react-in-out-textarea/issues/39


[kueuectl] Support filter by custom job type on the list pods command.

What would you like to be added:
Why is this needed:
We need to allow to support filtering pods by custom job type on the list pods command as discussed on https://github.com/kubernetes-sigs/kueue/pull/2280#discussion_r1654280733.
Completion requirements:
This enhancement requires the following artifacts:

[ ] Design doc
[ ] API change
[x] Docs update

The artifacts should be linked in subsequent comments.

/assign

@rainfd Do you want to take it?

@mbobrovskyi The user case is that user have crd job type and use kueue to summit it, and you want to support to list their pod?
I'm a little confused. Because the code metioned in the discussed  https://github.com/kubernetes-sigs/kueue/pull/2280#discussion_r1654280733 don't block the case.

There is already support for arbitrary label selectors, but you can do the same using kubectl get. So, we wouldn't be adding much value.
Maybe something we can do is to do a client-side filtering using the owner references? But not all custom jobs own the pods directly, so it's not generally useful.
Thoughts?

There is already support for arbitrary label selectors, but you can do the same using kubectl get. So, we wouldn't be adding much value.
Maybe something we can do is to do a client-side filtering using the owner references? But not all custom jobs own the pods directly, so it's not generally useful.
Thoughts?

User's CRD -> Operator ->  Workload supported by kueue.
To support kueue, the custom operator should create a workload which is supported in kueue, like pod/job/jobset/...
If the workload is pod, we can filter using the owner references, but the user should provide the full crd name like batch.kubernetes.io/job-name=xx because we don't the relationship between job/xx and batch.kubernetes.io/job-name=xx.
Another simpler way to find the pod is using the label selectors directly, because the pod must have a queue name in order to be managed by kueue.
If the workload is not a pod, we should look through all the workload supported by kueue to find the original reference workload , and then find the pods through that workload. But is there such a user case?

For built-in integration, users can build the kueuectl binary and use it. It should work if JobWithPodLabelSelector interface is implemented. However, for external integration, I’m honestly not sure.

I can see only one way to add some flag like --custom-pod-label-selector and use it instead of JobWithPodLabelSelector  interface.

Looks like, we already have --selector flag for kueuectl list pod command.
https://github.com/kubernetes-sigs/kueue/blob/425ece197331d6b0c9b6d2bf4cc82326420c9f0a/cmd/kueuectl/app/list/list_localqueue.go#L58
Currently, the --for flag is required, and we can’t use the command without it. It might make sense to relax the validation and allow filtering Pods with the --selector flag, enabling users to filter custom jobs.
@alculquicondor WDYT?

but then it's just the same as kubectl get pods. Not very useful IMO.


Can't run application with grunt after generating application from yo

I installed global nodejs, npm , mongodb ,bower , grunt. I create an application from yo but I can't run application with grunt. I followed these step from offical meanjs website :
ntlzz@DESKTOP-3D7GVU0 MINGW32 ~/Desktop
$ yo meanjs
You're using the official MEAN.JS generator.
? What mean.js version would you like to generate? (Use arrow keys)
? What mean.js version would you like to generate? 0.4.2
0.4.2
? In which folder would you like the project to be generated? This can be chang
? In which folder would you like the project to be generated? This can be chang
Cloning the MEAN repo.......
? What would you like to call your application? (MEAN)
? What would you like to call your application? MEAN
? How would you describe your application? Full-Stack JavaScript with MongoDB,
? How would you describe your application in comma seperated key words? MongoDB
? What is your company/author name? loint
? What is your company/author name? loint
? Would you like to generate the article example CRUD module? (Y/n) y
? Would you like to generate the article example CRUD module? Yes
? Would you like to generate the chat example module? (Y/n) n
? Would you like to generate the chat example module? No
Running npm install for you....
This may take a couple minutes.

------------------------------------------
Your MEAN.js application is ready!

To Get Started, run the following command:

cd mean && grunt

Happy Hacking!
------------------------------------------

ntlzz@DESKTOP-3D7GVU0 MINGW32 ~/Desktop
$ cd mean

ntlzz@DESKTOP-3D7GVU0 MINGW32 ~/Desktop/mean ((0.4.2))
$ grunt
Running "env:dev" (env) task

Running "sass:dist" (sass) task

Warning:
You need to have Ruby and Sass installed and in your PATH for this task to work.
More info: https://github.com/gruntjs/grunt-contrib-sass
Use --force to continue.
Aborted due to warnings.

grunt --force can work !! but how to fix warning?

@ntlzz93 Looks like you need Ruby installed!

Hi @ntlzz93 , as @codydaig pointed out you simply needed a few tools on your system as requirement to use mean.js.
We've actually removed this dependency just recently so you might not need this anymore if you will be using the latest master branch version of MEAN.JS. Otherwise, you can still use the 0.4.2 version with the generator but remember to install ruby and the required gem as follows:

Download and install Ruby: https://www.ruby-lang.org/en/documentation/installation/
Install the sass gem:

$ gem install sass


Reconnecting upon disconnection

There is no example nor can I work out how to reconnect to a socket server upon disconnection.
I assume the loop doesn't need to be restarted, but rather the connection needs to be re-established. When the loop starts it only yields the handshake and connection once.
Can someone please provide an example of how I could leverage the $connection->isClosed() method to force another connection to be established?

Sorry about the lack of documentation on the websocket related libraries, it's on my to-do list.
Here is a simple example that continues to loop as long as $stayConnected is true.
<?php

require \dirname(__DIR__) . '/vendor/autoload.php';

use Amp\Websocket\Client\Connection;
use Amp\Websocket\Client\ConnectionException;
use Amp\Websocket\Client\Handshake;
use Amp\Websocket\Message;
use function Amp\Websocket\Client\connect;

Amp\Loop::run(function () {
    $handshake = new Handshake('ws://example.com/ws');

    $stayConnected = true;

    while ($stayConnected) {
        /** @var Connection $connection */
        $connection = yield connect($handshake);

        try {
            /** @var Message $message */
            while ($message = yield $connection->receive()) {
                // Use $message
            }

            // Connection closed normally.
        } catch (ConnectionException $connectionException) {
            // Connection closed due to an error.
        }
    }
});

I would recommend using v1.0.0-rc1 that was recently tagged. The API is much better and includes a Connection::onClose() method if you'd prefer to use an event-style method for handling connection closures.
Feel free to ask any other questions here or in IRC (I do see the messages, but you've always left before I could reply).

@trowski Thanks very much for your response, however I'm still a little bit unclear how to perform the reconnection? I've tested your code above and changing the $stayConnected variable doesn't work as expected as it definitely doesn't stop the the connection. I have also used the RC1 version and I can confirm that I have managed to get the onClosed event working. Unfortunately as it's a production application and I don't feel comfortable running from dev-master and tying things to particular commits in composer.
A better approach might be for me to explain the particular issue I'm having which has led to me attempting to implement some reconnection logic ...
There is an issue where the client loop still remains connected (in theory as it hasn't thrown an exception and the application reports as RUNNING in supervisor), however it stops receiving messages from the socket server (Also an Amphp implementation). If I restart the socket client application (handled by supervisor) it starts to receive messages again.
While I concede that this potentially is not an issue related to the client socket, I am attempting to establish logic that ensures that if a connection is closed regardless of whether it from a thrown exception or the server or client closing the connection expectedly it will reconnect.
The hacky solution was for us to restart the loop every hour from a cron to ensure that if it was connection issues caused by the client the connection would be re-established.
In your above example if I was to receive a onClosed or ConnectionException how would I actually go about re-establishing that connection?
Thanks for your help, I really appreciate it. On another note I am also happy to contribute to writing some documentation and further improving any examples once I've completed my use case!

@trowski I managed to get it working. It was necessarily your code example that was the issue but rather how I was testing it. What I needed up needing to do was place a delay method in the while loop instead of outside as it wasn't getting the correct context for the $connection object and therefore the object was only ever the first object.
Let me know if I should do anything else to tidy it up. :)
while (true) {
    print 'Connected ...' . PHP_EOL;
    $connection = yield $this->connect();

    // This is just testing code and needed to be in the while loop to be able to get the correct $connection
    Amp\Loop::delay($msInterval = 5000, function () use ($connection) {
        print 'Current connection ID: ' . ($connection->getHeaders()['sec-websocket-accept'][0]) . PHP_EOL;
        print 'Closing connection ...' . PHP_EOL;
        $connection->close();
    });

    try {
        while ($message = yield $connection->receive()) {
            print 'Received message' . PHP_EOL;
            $payload = yield $message->buffer();
            print $payload . PHP_EOL;
        }
    } catch (ClosedException $e) {
        print 'Re-establish connection' . PHP_EOL;
        $connection = yield $this->connect();
    }
}


feat: support meta and key combination to trigger zoom for scroll-canvas behavior

…vas behavior

Checklist

[x] npm test passes
[ ] tests and/or benchmarks are included
[x] commit message follows commit guidelines

Description of change

support meta and key combination to trigger zoom for scroll-canvas behavior

Thanks for your Pull Request!


ZeroDivisionError: integer division or modulo by zero

With threaded set to yes I get the following error:
plugins: chroma discogs lastgenre mbsync fetchart embedart replaygain duplicates missing info scrub zero fromfilename amazon
C:\>beet -v import \\?\F:\Music
user configuration: C:\Users\Andrew\AppData\Roaming\beets\config.yaml
data directory: C:\Users\Andrew\AppData\Roaming\beets
Sending event: pluginload
in init Searching amazon
library database: C:\Users\Andrew\AppData\Roaming\beets\library.db
library directory: F:\Music\
Sending event: library_opened
Sending event: import_begin
Import of the directory:
F:\Music
was interrupted. Resume (Y/n)?
Skipping previously-imported path:

Above about 4000 dirs
Traceback (most recent call last):
  File "D:\Python27\Scripts\beet-script.py", line 9, in <module>
    load_entry_point('beets==1.3.10', 'console_scripts', 'beet')()
  File "D:\python27\lib\site-packages\beets\ui\__init__.py", line 945, in main
    _raw_main(args)
  File "D:\python27\lib\site-packages\beets\ui\__init__.py", line 935, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "D:\python27\lib\site-packages\beets\ui\commands.py", line 873, in import_func
    import_files(lib, paths, query)
  File "D:\python27\lib\site-packages\beets\ui\commands.py", line 845, in import_files
    session.run()
  File "D:\python27\lib\site-packages\beets\importer.py", line 305, in run
    pl.run_parallel(QUEUE_SIZE)
  File "D:\python27\lib\site-packages\beets\util\pipeline.py", line 299, in run
    out = self.coro.send(msg)
  File "D:\python27\lib\site-packages\beets\util\pipeline.py", line 158, in coro
    task = func(*(args + (task,)))
  File "D:\python27\lib\site-packages\beets\importer.py", line 1212, in user_query
    resolve_duplicates(session, task)
  File "D:\python27\lib\site-packages\beets\importer.py", line 1224, in resolve_duplicates
    session.resolve_duplicate(task, found_duplicates)
  File "D:\python27\lib\site-packages\beets\ui\commands.py", line 781, in resolve_duplicate
    not task.is_album,
  File "D:\python27\lib\site-packages\beets\ui\commands.py", line 439, in summarize_items
    average_bitrate = sum([item.bitrate for item in items]) / len(items)
ZeroDivisionError: integer division or modulo by zero

Whn I clean up the log it is difficult to determine which album is causing the error.
Setting threaded to no, I do not get the error.
I can post/email cleaned up logs if required.

Yes, could you please paste a full log from the import (in a gist, perhaps) if you have it? When you narrow down which album is causing it, can you provide it so we can reproduce the problem?

Gist for failing run:
https://gist.github.com/arogl/e73041f17302bb28eb2e
Gist for successful single threaded run:
https://gist.github.com/arogl/f636d9570ecd3c7c0c2f
I think the album is Lily & Madeline.

I think the album is Lily & Madeline.

Can you please test that hypothesis? If it is that album, can you provide a copy so we can reproduce?

I only say I think is that that is next album that comes up under single threaded mode.
I'll try copying it into my new music and try a threaded import.

I appear to be hitting the same issue and it's happening pretty consistently in various albums. Here's the exception:
/mnt/nas/music/Aerosmith/O, Yeah! Ultimate Aerosmith Hits [2002]/FLAC (30 items)
Tagging:
    Aerosmith - O, Yeah! Ultimate Aerosmith Hits
URL:
    http://musicbrainz.org/release/7fb9d2db-bf96-45bf-b089-496fe2758c20
(Similarity: 100.0%) (2xSACD, 2002, US, Columbia)
SACD 1
SACD 2
This album is already in the library!
Traceback (most recent call last):
  File "/home/richard/.local/bin/beet", line 9, in <module>
    load_entry_point('beets==1.3.10', 'console_scripts', 'beet')()
  File "/home/richard/.local/lib/python2.7/site-packages/beets/ui/__init__.py", line 945, in main
    _raw_main(args)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/ui/__init__.py", line 935, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/ui/commands.py", line 873, in import_func
    import_files(lib, paths, query)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/ui/commands.py", line 845, in import_files
    session.run()
  File "/home/richard/.local/lib/python2.7/site-packages/beets/importer.py", line 305, in run
    pl.run_parallel(QUEUE_SIZE)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/util/pipeline.py", line 299, in run
    out = self.coro.send(msg)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/util/pipeline.py", line 158, in coro
    task = func(*(args + (task,)))
  File "/home/richard/.local/lib/python2.7/site-packages/beets/importer.py", line 1212, in user_query
    resolve_duplicates(session, task)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/importer.py", line 1224, in resolve_duplicates
    session.resolve_duplicate(task, found_duplicates)
  File "/home/richard/.local/lib/python2.7/site-packages/beets/ui/commands.py", line 781, in resolve_duplicate
    not task.is_album,
  File "/home/richard/.local/lib/python2.7/site-packages/beets/ui/commands.py", line 439, in summarize_items
    average_bitrate = sum([item.bitrate for item in items]) / len(items)
ZeroDivisionError: integer division or modulo by zero

Here's my config:
library: /mnt/nas/music/.beets/library.db
directory: /mnt/nas/music
plugins: fetchart embedart convert info scrub lastgenre
import:
    move: yes
paths:
    default: $albumartist/$album [$year]/$format/$artist - $track - $title
    singleton: Non-Album/$artist/$format/$artist - $title
    comp: Compilations/$album [$year]/$format/$artist - $track - $title
convert:
#    auto: yes
    dest: /mnt/nas/music
    paths:
        default: $albumartist/$album [$year]/AAC/$artist - $track - $title
        singleton: Non-Album/$artist/AAC/$artist - $title
        comp: Compilations/$album [$year]/AAC/$artist - $track - $title
    never_convert_lossy_files: true
    format: aac
    formats:
        aac:
            command: ffmpeg -i $source -y -codec:a libfdk_aac -vbr 5 $dest
            extension: m4a
        mp3:
            command: ffmpeg -i $source -codec:a libmp3lame -q:a 2 $dest
            extension: mp3
#chroma:
#    auto: no
scrub:
    auto: no

I can also confirm that setting "threading: no" in my config file seems to have resolved this issue.

Well, it's still a mystery where those empty albums came from, but #1358 should at least avoid the crash here.
Interesting about threading. Are you importing multiple versions of the same album in quick succession?

I do have two copies of the same album in my import (one is FLAC and the other AAC). I need two copies of every album because my car won't play FLAC files (unfortunately) but I definitely don't want to throw away my FLAC files :)

Thanks. I'll see about reproducing.

The assert atop summarize_items() definition should be triggered. Therefore the items are removed in another thread, between the start and the end on summarize_items() execution. #1358 should indeed prevent it from crashing unless you're really unlucky. The problem is still here though.

This should be fixed by some recent changes surrounding the handling of empty duplicate albums.


added mocha tests

I think its worth adding a coverage tool as well - https://istanbul.js.org/

it seems to do coverage at the minute


The seg fault with point2grid

Describe the Problem
Hank found there was a segmentation fault on running point2grid on eyewall. The input file contains
385734 observations, 116127 headers, and additional 116127 headers (instrument types and report types). The segmentation fault happens between following two lines:
int obs_qty_ids[nobs];
IntArray var_index_array;
Expected Behavior
No segmentation fault
Environment
It happens at dakota
To Reproduce
./point2grid prepbufr.gdas.2017060300.nc G212 out.nc -field 'name="TMP"; level="Z2";'
Relevant Deadlines
4/22 for met 9.1 beta1
Funding Source
164951  NOAA JTTI FV3 SAR
Define the Metadata
Assignee

[x] Select engineer(s) or no engineer required
[ ] Select scientist(s) or no scientist required

Labels

[x] Select component(s)
[x] Select priority
[x] Select requestor(s)

Projects and Milestone

[x] Review projects and select relevant Repository and Organization ones
[x] Select milestone

Define Related Issue(s)
Consider the impact to the other METplus components.

[ ] METplus, MET, METdb, METviewer, METexpress, METcalcpy, METplotpy

Bugfix Checklist
See the METplus Workflow for details.

[ ] Complete the issue definition above.
[ ] Fork this repository or create a branch of master_<Version>.
Branch name: bugfix_<Issue Number>_master_<Version>_<Description>
[ ] Fix the bug and test your changes.
[ ] Add/update unit tests.
[ ] Add/update documentation.
[ ] Push local changes to GitHub.
[ ] Submit a pull request to merge into master_<Version>, listing the <Issue Number> in the title.
[ ] Iterate until the reviewer(s) accept and merge your changes.
[ ] Delete your fork or branch.
[ ] Complete the steps above to fix the bug on the develop branch.
Branch name: bugfix_<Issue Number>_develop_<Description>
[ ] Close this issue.

Still need to delete the development branches for this issue:
bug_1298_point2grid_segfault
bugfix_1298_master_v9.0_point2grid


Some drop-down popup not fixed (Window specific)

Describe the bug
While we opening the dropdown, the Opened popup is not fixed with the dropdown.
To Reproduce
The user goes to Chart Store
User selects the chart & selects to deploy
then select any dropdown like Chart Version
Expected behaviour
Popup should be fixed with dropdown
Current behaviour
Popup moving with the scroller
Screenshots
While open dropdown

While Moving our scroller

AB#322

Hey!
I was looking to contribute to this issue but can you let me know any pre-requisites that I would require before trying to take upon this issue?

@nitish6660 hey i would like to pick this issue. can you assign it to me?

The bug does not exist anymore. This has been resolved with the fix.
Whenever the chart version dropdown opens user cannot scroll the rest page.


chunk-manifest not generating

i got an error: Error: ENOENT: no such file or directory, open '/home/user/reactql/dist/chunk-manifest.json'
when i run: npm run build-run
But when i run: npm start, everything is working,
I have rolled back on previous git commit when everything worked perfectly but it still shows the same error, both on localhost and herokuapp.
package.json: "chunk-manifest-webpack-plugin": "git+https://github.com/reactql/chunk-manifest-webpack-plugin.git",

@sntshane I had similar issue. You have to add at least one chunk in the code using something like that:
return import(/* webpackChunkName: "./test" */ './test').then(() => {
    return 1;
  }).catch(() => 'An error occurred while loading the component');

or change this line:
const [manifest, chunkManifest] = ['manifest', 'chunk-manifest']
  .map(name => JSON.parse(readFileSync(path.resolve(PATHS.dist, `${name}.json`), 'utf8')));

to
const [manifest] = ['manifest']
  .map(name => JSON.parse(readFileSync(path.resolve(PATHS.dist, `${name}.json`), 'utf8')));
const chunkManifest = {};

I'm just on-boarded and I'm not sure how it was working before. I just can guess it probably was another version of webpack or chunk-manifest-webpack-plugin.

That makes sense, thank you again! :+1:

dmitry's fix also worked for me. Here's what I replaced
const [manifest, chunkManifest] = ['manifest', 'chunk-manifest']
  .map(name => JSON.parse(readFileSync(path.resolve(PATHS.dist, `${name}.json`), 'utf8')));

with in case I want to do some chunking in the future:
  const [manifest, chunkManifest] = ['manifest', 'chunk-manifest'].map(
    name => {
      const file = path.resolve(PATHS.dist, `${name}.json`);
      try {
        return JSON.parse(readFileSync(file, 'utf8'),)
      } catch (err) {
        if (err.code === 'ENOENT') {
          console.log(`Error reading ${file}:\n`, err.message);
          console.log('If this is for chunk-manifest.json, it probably means no chunking was used to split app into several bundles.')
          console.log('Defaulting to empty {} for manifest.')
          return {}
        } else {
          throw err;
        }
      }
    },
  );

@ronachong nice, this should be committed directly to the kit.

Apologies for the generic response, but I've released a new v3.0 kit, which has been re-written from the ground up.
It bumps the ReactQL stack to Webpack 4, React 16.4, Apollo Client 2.0, and adds Styled Components, full SSR (even in development), and has been re-written in Typescript. It's leaner, faster and has been brought completely up-to-date.
If you're still using ReactQL (and I appreciate you may not be, given the time lag in my response), I'd recommend checking out the new kit to see if your issue has been answered. If not, please feel free to post a new issue at https://github.com/leebenson/reactql


Can't create index.

I have following version of python installed
Python 3.5.2 |Anaconda custom (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
and elastalert is present in C:\elastalert
At first I ran C:\elastalert>python setup.py install
and got following error
byte-compiling build\bdist.win-amd64\egg\elastalert\alerts.py to alerts.cpython-35.pyc
File "build\bdist.win-amd64\egg\elastalert\alerts.py", line 582
raise EAException("Error connecting to JIRA: %s" % (str(e)[:1024])), None, sys.exc_info()[2]
^
SyntaxError: invalid syntax
byte-compiling build\bdist.win-amd64\egg\elastalert\auth.py to auth.cpython-35.pyc
byte-compiling build\bdist.win-amd64\egg\elastalert\config.py to config.cpython-35.pyc
File "build\bdist.win-amd64\egg\elastalert\config.py", line 103
raise EAException("Could not import module %s: %s" % (module_name, e)), None, sys.exc_info()[2]
^
SyntaxError: invalid syntax
byte-compiling build\bdist.win-amd64\egg\elastalert\create_index.py to create_index.cpython-35.pyc
byte-compiling build\bdist.win-amd64\egg\elastalert\elastalert.py to elastalert.cpython-35.pyc
File "build\bdist.win-amd64\egg\elastalert\elastalert.py", line 1246
raise EAException("Error querying for dashboard: %s" % (e)), None, sys.exc_info()[2]
^
SyntaxError: invalid syntax
byte-compiling build\bdist.win-amd64\egg\elastalert\enhancements.py to enhancements.cpython-35.pyc
byte-compiling build\bdist.win-amd64\egg\elastalert\kibana.py to kibana.cpython-35.pyc
byte-compiling build\bdist.win-amd64\egg\elastalert\opsgenie.py to opsgenie.cpython-35.pyc
byte-compiling build\bdist.win-amd64\egg\elastalert\ruletypes.py to ruletypes.cpython-35.pyc
File "build\bdist.win-amd64\egg\elastalert\ruletypes.py", line 593
raise EAException('Error searching for existing terms: %s' % (repr(e))), None, sys.exc_info()[2]
^
SyntaxError: invalid syntax
Aftere running C:\elastalert>elastalert-create-index, I got
Traceback (most recent call last):
File "C:\Anaconda3\Scripts\elastalert-create-index-script.py", line 11, in
load_entry_point('elastalert==0.1.29', 'console_scripts', 'elastalert-create-index')()
File "C:\Anaconda3\lib\site-packages\pkg_resources_init_.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Anaconda3\lib\site-packages\pkg_resources_init_.py", line 2693, in load_entry_point
return ep.load()
File "C:\Anaconda3\lib\site-packages\pkg_resources_init_.py", line 2324, in load
return self.resolve()
File "C:\Anaconda3\lib\site-packages\pkg_resources_init_.py", line 2330, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "c:\anaconda3\lib\site-packages\elastalert-0.1.29-py3.5.egg\elastalert\create_index.py", line 12, in
ImportError: No module named 'auth'

i also got ImportError: No module named 'auth' :(

You need aws-requests-auth as shown in setup.py AND requirements.txt. Did you follow the installation instructions?

yes, but I was using python 3. I found out that python 2 is required, switched to that, and now it's working. I was really surprised that elastalert still uses python 2 - it's going to be deprecated next year.

I'll update it before https://pythonclock.org 🐌

Thanks! That's great news.


fix(artifacts): Allow adding s3 bucket as reference artifact

Fixes

Fixes WB-2758
Fixes #NNNN

Description
Allows
artifact.add_reference("s3://<bucket_name>")

If the bucket is empty then an empty artifact sequence (i.e., no versions) is created.

🤖 Generated by Copilot at 2ba269f
This pull request enhances the S3Handler class to support empty keys as bucket artifacts and optimize the bucket operations. It modifies the load_path and store_path functions in s3_handler.py to implement these changes.
Testing
Upload
ENTITY = "ibindlish"
PROJECT = "test-s3"
ARTIFACT = "ref-artifact"

with wandb.init(entity=ENTITY, project=PROJECT) as run:
    artifact = wandb.Artifact(ARTIFACT, type="data")
    artifact.add_reference("s3://dev-test-ibindlish")
    run.log_artifact(artifact)

https://wandb.ai/ibindlish/test-s3/artifacts/data/ref-artifact/v2/overview
Download
with wandb.init() as run:
    artifact = run.use_artifact(f"{ENTITY}/{PROJECT}/{ARTIFACT}:v2", type="data")
    artifact_dir = artifact.download()
    print(artifact_dir)

Checklist

[ ] Include reference to internal ticket "Fixes WB-NNNNN" and/or GitHub issue "Fixes #NNNN" (if applicable)
[ ] Ensure PR title compliance with the conventional commits standards

🤖 Generated by Copilot at 2ba269f

The S3Handler class had a flaw
When dealing with buckets so raw
It could not handle keys
That were empty with ease
But this pull request fixes that draw

If we're in a hurry this can merge as-is, but if we have some more hours I'd like to take this opportunity to clean up the function (which was a little ugly before you got to it)

Let's make this a follow up, I think we are under time pressure here.


Channel switching issue in MAC layer occurs when there is no NW formation

Description of the bug
We encountered an issue while performing a scan energy without NW formation. The openthread stack follows two different flows for scan energy, with and without providing a time duration.
1. scan energy without time duration

In this case, the MAC layer forces the firmware to change the channel by sending a spinel command (“cmd:PROP_VALUE_SET, key:PHY_CHAN,”).

if (mChannel != aChannel)
{
error = Set(SPINEL_PROP_PHY_CHAN, SPINEL_DATATYPE_UINT8_S, aChannel);
SuccessOrExit(error);
mChannel = aChannel;
}

Spinel property set handler updates the same channel to mReceiveChannel in link_raw.cpp

2. scan energy with time duration

In this case, MAC layer calls energy scan to set 3 spinel property

SuccessOrExit(error = Set(SPINEL_PROP_MAC_SCAN_MASK, SPINEL_DATATYPE_DATA_S, &aScanChannel, sizeof(uint8_t)));
SuccessOrExit(error = Set(SPINEL_PROP_MAC_SCAN_PERIOD, SPINEL_DATATYPE_UINT16_S, aScanDuration));
SuccessOrExit(error = Set(SPINEL_PROP_MAC_SCAN_STATE, SPINEL_DATATYPE_UINT8_S, SPINEL_SCAN_STATE_ENERGY));

Spinel property set handler register one callback LinkRawEnergyScanDone to otLinkRawEnergyScan API

LinkRawEnergyScanDone callback trigger otPlatRadioReceive with mReceiveChannel which updates the same channel in firmware.

So when scan energy performs with time duration, it doesn't update mReceiveChannel for the callback.

Attached flow diagram for scan energy with zero/non-zero duration for reference.

To Reproduce
After execution of the below commands,

scan energy -> mChannel:25, aChannel:26, mReceiveChannel:26, fw Channel:26
scan energy 11 -> mChannel:26 and aChannel:11, mReceiveChannel: 26, fw Channel: 26
scan energy -> mChannel:11, aChannel:11, mReceiveChannel:26
In this scenario, mChannel and aChannel will be the same while scanning for channel 11, which means the MAC doesn't send a spinel command to update the channel. However, the firmware channel is still set to 26. As s result, the scan will be conducted for channel 26 instead of channel 11.

Expected behavior
The channel should be updated with the given channel in the MAC layer
Fix
To set the channel while scan energy with time duration, need to add the below lines in PerformEnergyScan (mac.cpp).
Attached snap for reference.

if(!GetRxOnWhenIdle())
{
SuccessOrAssert(Get().Receive(mScanChannel));
}

Thanks @hastigondaliya for reporting this and the nice and detailed analysis.
I agree that there may be an issue here. The root cause seems to be ambiguity in how otLinkRawEnergyScan() (and in turn otPlatRadioEnergyScan()) are expected to work after the scan is done: Should the radio go back to its previous channel, or
should it stay on the channel where the scan was performed?

The radio_spinel layer seems to assume that radio will stay on the new scan channel as we see that it sets its local copy of mChannel from RadioSpinel::EnergyScan() to the given scan channel.
While ncp_base and LinkRaw assume that channel should switch back after the scan is done:
https://github.com/openthread/openthread/blob/c6bece0729f0c962766ccbf01d2178e984c9f8d4/src/ncp/ncp_base_radio.cpp#L198-L207
And LinkRaw does not change its copy of mReceiveChannel when EnergyScan() is requested. So it goes back to previous channel
This can then leads to inconsistency between what RadioSpinel is tracking vs channel RCP and radio are on.

I can see two ways of fixing this:

We clarify and document one behavior as expected and update RadioSpinel and/or LinkRaw.
Or the fix you proposed which always issue Radio::Receive() on scan channel before actually calling the radio energy scan API (remove any ambiguity by forcing channel change)

While I feel option 1 may be more correct, I think it can be tricky as it may create incompatibility between RCP and host (specially if there are running different versions of software). So I think option 2 may be overall better.
Thoughts?
BTW, can you submit a PR with your proposed fix? (if not let me know, I can do so on your behalf).

Hi @abtink,
Thank you for your input.
I'll submit PR with our proposed fix.


Dumb component widget DESKTOP-842

Expand on the dumb components for the menubar (AKA widget) to include both the public and private modes, as well as the open popup menu state. This will improve the ability for Viss Diff to track changes in the menu bar.

:mag_right: These commits introduced some visual changes:

Added: Menubar-Public_Truncated

Added: Menubar-Public_Normal

Added: Menubar-Public_Menu_Showing

Added: Menubar-Private_Truncated

Added: Menubar-Private_Normal

Added: Menubar-Private_Menu_Showing

Removed: Menubar-Truncated (view original)
Removed: Menubar-Normal (view original)

In general props that set initial state params tend to be an anti-pattern -- they often indicate state that should be moved up to the parent component and controlled via props. In this case, I think it's probably fine to do the simple thing here and refactor when we need more control
:+1: % param name nit

:mag_right: These commits introduced some visual changes:

Added: Menubar-Public_Truncated

Added: Menubar-Public_Normal

Added: Menubar-Public_Menu_Showing

Added: Menubar-Private_Truncated

Added: Menubar-Private_Normal

Added: Menubar-Private_Menu_Showing

Added: Folders_TLF-Normal_Public

Added: Folders_TLF-Normal_Private (view)
Removed: Menubar-Truncated (view original)
Removed: Menubar-Normal (view original)
Removed: Folders_TLF-Normal (view original)

:+1:


Fix #438 (Structure suggestions for link resolution warnings as fixits)

Bug/issue #, if applicable: #438
Summary
This PR adds fixits to the warnings generated by reference resolution for near-miss and collision scenarios.
The fixits are always generated so that they replace the whole reference, i.e. the replacement area includes the whole reference link, plus the surrounding backticks.
Fixits only fix the first faulty segment in a reference. They do not alter the valid prefix and keep the unchecked suffix in place.
For example:

/MyKit/MyClas -> /MyKit/MyClass
MyClas -> MyClass
MyClas/validMember -> MyClass/validMember
MyClas/invalidMember -> MyClass/invalidMember -> MyClass/validMember (the second fixit only becomes available after running docc again)

The implementation is structured as follows:

the actual replacement strings are generated in PathHierarchy/Error/replacements(for:)
PathHierarchyBasedLinkResolver/resolve(_:in:fromSymbolLink:context:) calls PathHierarchy/Error/replacements(for:) and attaches them as candidates to the UnresolvedTopicReference returned in the TopicReferenceResolutionResult/failure(_:errorMessage:)
(Adding the candidates field to UnresolvedTopicReference avoids a breaking change in TopicReferenceResolutionResult/failure(_:errorMessage:)).
MarkupReferenceResolver and ReferenceResolver pass the candidates to unresolvedReferenceProblem(reference:source:range:severity:uncuratedArticleMatch:underlyingErrorMessage:candidates:), which then generates Solutions if there are candidates available and attaches them to the Problem

Beyond that I had to make minor adaptions to make sure range offsets are applied not only to a Problem's diagnostic, but also to possibleSolutions.
Dependencies
None.
Testing
Updated SymbolTests/testUnresolvedReferenceWarningsInDocumentationExtension() to also test fixits and added a couple of test-cases relevant for fixits.
Make sure to set DOCC_USE_HIERARCHY_BASED_LINK_RESOLVER=YES when running the tests.
For manual testing also make sure to enable fixits with --emit-fixits, e.g.: DOCC_USE_HIERARCHY_BASED_LINK_RESOLVER=YES .build/debug/docc convert Sources/SwiftDocC/SwiftDocC.docc --emit-fixits --additional-symbol-graph-dir .build/arm64-apple-macosx/symbolgraph
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran the ./bin/test script and it succeeded
[x] Updated documentation if necessary

Thanks for this PR. I will review it early next week.

@d-ronnqvist thanks for taking the time to review this. Your reviews are always well thought-out and provide so much detail, they really are the best!
I agree with all your comments. I just wanted to offer this minimally intrusive solution (also as a basis for discussion) before investing too much time into a solution that could be fundamentally different from what you imagined.
Please note that I'd like to add a couple more tests, but the implementation is ready for another review. I'd be particularly interested on what public interface you'd like to see on TopicReferenceResolutionError. The way it's designed right now is that everything but the conformance to Error is internal or private, and even the public localizedDescription, which is synthesized for all errors won't be particularly useful, as it won't show the same text as the internal custom property. I could fix that by conforming the type to DescribedError, but that would already inflate the public API quite a bit.

Apologies, I won’t have time to look at this until sometime next week.

If you update this PR (either merge or rebase) I can merge it for you. I can also do it for you if you prefer.

Thanks David for reminding me, I was a little occupied with other things last week. I updated the PR and ran bin/test again. It's ready for merge now. Feel free to update it yourself in case it's become outdated again by the time you get to merging it 👍

@swift-ci please test

@swift-ci please test

I've been holding off on merging this for a few days while I've been investigating how these diagnostics present in IDEs and on the command line.
Because of limitations with how diagnostics are output, the information about which disambiguation refers to which symbol never gets presented. I opened https://github.com/apple/swift-docc/issues/478 about this.
I think that my plan is to merge this PR sometime in the next few days and immediately follow it up with another PR that restores the presentation of this information by including the suggested solution messages in the general diagnostic message. That way we get all the infrastructure benefits of have structured diagnostics values in the code while maintaining an equivalent presentation to what we have today.
Further follow up PRs at a later time can work to introduce new output formats for tools and for people that better utilize these structured diagnostics values.


[Feature] Support for operations where output shape depends on input shape

Hi.
I think many of recent issues are related to this issue that MLX currently can not handle operations in which, output shape depends on the input shape. I know this may require a lot of additions and is a big task, but I think this should be resolved in order to be able to resolve a lot of issues (like boolean masking or etc.).
Any ideas?

No we aren't planning to add it. If there are use cases that don't work please share and we can investigate on a case-by-case basis.
Relevant open issues:
Boolean mask #246
Nonzero #568
If you like, you can open a discussion on this subject for people to post other examples.


Hi

@navylinux Hi. Why have you invited me? You can give me more information by email to decide whether to join the project or not. Thank you<EMAIL_ADDRESS>

Hi,
Thanks for your reply, we have seen your experience and invited you.
Navy Linux is a recompilation of the Red Hat Linux project just as the CentOS Linux project has been for all these years.
Read here [ https://github.com/navy-linux/navy | https://github.com/navy-linux/navy ]
From: "Domingo Ruiz Arroyo"<EMAIL_ADDRESS>To: "navy-linux/navylinux.org"<EMAIL_ADDRESS>Cc: "Navy Linux"<EMAIL_ADDRESS>"Mention"<EMAIL_ADDRESS>Sent: Sunday, 3 January, 2021 18:44:02
Subject: [navy-linux/navylinux.org] Hi (#1)
[ https://github.com/navylinux | @navylinux ] Hi. Why have you invited me? You can give me more information by email to decide whether to join the project or not. Thank you. [<EMAIL_ADDRESS>|<EMAIL_ADDRESS>]
—
You are receiving this because you were mentioned.
Reply to this email directly, [ https://github.com/navy-linux/navylinux.org/issues/1 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/ASKV326BFSR7TZNR7RHWHYTSYBYCFANCNFSM4VR4GAEQ | unsubscribe ] .

Hi,
Thanks for your reply, we have seen your experience and invited you.
Navy Linux is a recompilation of the Red Hat Linux project just as the CentOS Linux project has been for all these years.
Read here [ https://github.com/navy-linux/navy | https://github.com/navy-linux/navy ]
From: "Domingo Ruiz Arroyo"<EMAIL_ADDRESS>To: "navy-linux/navylinux.org"<EMAIL_ADDRESS>Cc: "Navy Linux"<EMAIL_ADDRESS>"Mention"<EMAIL_ADDRESS>Sent: Sunday, 3 January, 2021 18:44:02
Subject: [navy-linux/navylinux.org] Hi (#1)
[ https://github.com/navylinux | @navylinux ] Hi. Why have you invited me? You can give me more information by email to decide whether to join the project or not. Thank you. [<EMAIL_ADDRESS>|<EMAIL_ADDRESS>]
—
You are receiving this because you were mentioned.
Reply to this email directly, [ https://github.com/navy-linux/navylinux.org/issues/1 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/ASKV326BFSR7TZNR7RHWHYTSYBYCFANCNFSM4VR4GAEQ | unsubscribe ] .


iOS buttons not visible

In the iOS app the lower buttons (map, assigned, and checklist) are in light gray which is hard to read against green.

Fixed in https://github.com/wasabee-project/Wasabee-Mobile-Xamarin/issues/37


Support for assumed role ARNs

Hello,
Are there any plans to support assumed-role ARNs for authentication?
Right now, both IAM role and IAM user ARNs are supported, but not STS assumed role ARNs.
This would be helpful, as it would allow maintainers to provision access not just by role (which may map to many users), but by role and username (as the name of the role session).
For example, instead of:
arn:aws:iam::account-id:role/role-name
Support:
arn:aws:sts::account-id:assumed-role/role-name/role-session-name
Thanks

This is our auth model (brand new to AWS/EKS)... yeah, not having assumed role support is going to be a deal breaker.

You can currently only map each role to a username and set of groups, but you can pass the session name into Kubernetes as the username and create an RBAC role binding there per session name, if you need different permissions per session name.
  - roleARN: arn:aws:iam::123456789012:role/Admin
    username: admin:{{SessionName}}
    groups:
    - system:masters

If the session name is bar, then:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: admin
  namespace: foo
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: admin-role
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: admin:bar

Does that work for you?

The caveat is that session names are chosen the the assumer, so this only works if you have a system where the user asking for credentials is not able to set this value.

I think the request is just to support STS ARNs in addition to IAM ARNs since
arn:aws:iam::111122223333:role/some-path/role-name
# or
arn:aws:iam::111122223333:role/role-name

both get the sts:GetCallerIdentity output of:
arn:aws:sts::111122223333:assumed-role/role-name/role-session-name

I think that the tricky part about adding support for STS ARNs is answering the question, "What if the IAM ARN and the STS ARN are defined for the same role, but to different usernames and groups?" Does the last one win? How do I debug that?

From https://aws.amazon.com/blogs/opensource/integrating-ldap-ad-users-kubernetes-rbac-aws-iam-authenticator-project/

For the rolearn be sure to remove the /aws-reserved/sso.amazonaws.com/ from the rolearn url, otherwise the arn will not be able to authorize as a valid user
Configure full ARN in kubeconfig.

This works for me.

Currently, if you provision an EKS cluster while using an assumed role, you will not be able to access the Kubernetes cluster. Nor will you be able to edit the aws-auth ConfigMap to workaround this issue. This should be documented to warn users not to try this approach.

yuft is spot on.  In my case I was using an assumed role into the account that had the k8s cluster, which was not the same account that built the cluster (we used a separate terraform user to create the cluster).  I had to take out the /aws-reserved/sso.amazonaws.com/ from the Role ARN and add that to the aws-auth configmap as a Role Mapping.


ENABLE_SWAGGER_ENDPOINT = false does not disable API docs page

Gitea version (or commit ref):
Git version: 1.3.2 (binary as your repo does not work on Ubunut w/Digital Ocean)
Operating system: Ubuntu 16.04
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
I am running the binary version with the provided systemd service. It seems to run fine.
However, it ignores the setting ENABLE_SWAGGER_ENDPOINT in the /custom/conf/app.ini file.
Setting this to true or false changes nothing; the API URL still works, even after stopping/restarting the service.
For security I'd prefer to have this disabled. I will force a redirect using Nginx eventually but the config should work as per the documentation.
Screenshots

API can not be disabled as it is used also from web interface. This option just disables API documentation

No, it doesn't.  It's still at /api/swagger. That's the purpose of this issue.

Updated title appropriately.

@methodbox I cannot reproduce that with the current master version.

This feature is only implemented since #3502 which will be available in the coming 1.5.0 release or in the current master version.

@methodbox Yes, v1.3.2 is not implemented yet.

Can you clarify what you mean by “master version”?
Does this require compiling from the master branch?
I’m using the binary linked from your site which is currently 1.3.2.

@methodbox The "master" version is the current development version which could be found at https://dl.gitea.io/gitea/master/ . For more information about our version system please have a look at https://github.com/go-gitea/gitea/blob/master/CONTRIBUTING.md#versions .

Kind of odd that the master branch isn’t the current release branch, isn’t it?


(build) Adds Missing Dependency to Kotlin Build Definition

Also removes unrequired imports that aren't being used here.
Description Of Changes
Adds missing dependency to the build, and cleans up a few extra things that didn't need to be imported.
Motivation and Context
The build was failing to import.
Testing

Imported successfully on the internal dev server

Change Types Made

[x] Bug fix (non-breaking change)
[ ] Feature / Enhancement (non-breaking change)
[ ] Breaking change (fix or feature that could cause existing functionality to change)
[ ] PowerShell code changes.

Related Issue
ENGTASKS-331
Change Checklist

[ ] Requires a change to the documentation
[ ] Documentation has been updated
[ ] Tests to cover my changes, have been added
[ ] All new and existing tests passed.
[ ] PowerShell v2 compatibility checked.

@JPRuskin thanks for getting this updated!  Now to hit refresh in TeamCity....


consider renaming empty type to never for ts compatibility

It seems that typescript has a never type in place of recently introduced and undocumented empty type in flow. Given there has being an effort to keep syntax more or less compatible it would be nice to also rename empty to never or at least have it as an available alias.

I don't think this will do much in terms of compatibility, this train is long gone. Also empty type is a pretty common term: https://en.wikipedia.org/wiki/Bottom_type


[Feature]: APIs aggregators's observability

Contact Details(optional)
No response
What feature are you requesting?
https://github.com/blueswen/fastapi-observability

We don't do the observation separately. We will leave it to Kubernetes cluster level monitoring


Arabic Language issue

Describe the bug
Arabic language is being sent like its English from left to right but Arabic is typed from right to left
Screenshots
https://i.imgur.com/wx9a7kF.png this is it is the app
https://i.imgur.com/yJ0Tmnp.png this is how it should be
Chatterino version
Chatterino 2.2.2-fix (commit a82f57f94)
Operating system
Windows 10

#720

#720


[wip]feat(bundler): avoid confliction of BUNDLED WITH section

fixed #185

This requires restore_bundled_with gem in each app level Gemfile OR restore_bundled_with gem in global.


Intergrate Kociemba

intergrate the kociemba algorithm downloaded from https://github.com/cs0x7f/min2phase
this should work on it's own. you just give an input and it gives an output.

#14


Workspace Mechanic

We use Workspace Mechanic to setup our formatting rules in Eclipse. It would be very valuable to be able to use the same configuration files for both Eclipse and IntelliJ.
The only difference is that the Mechanic file include preference scope and node:
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert

While this seems to be implied for the IntelliJ EclipseCodeFormatter:
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert

Would it be possible to add support for both formats?

Sure, pull request welcomed.

The relevant part in my plugin is https://github.com/markiewb/eclipsecodeformatter_for_netbeans/commit/3f9ee43e217a3115e310145263126b2af738555e#diff-db36cb29520e5f1c682bc21a711dbf90R146

@krasa: Please review and merge the pull request https://github.com/krasa/EclipseCodeFormatter/pull/121

Already merged via https://github.com/krasa/EclipseCodeFormatter/pull/121
@krasa: Please close this issue.


Improve docs

Added show_nav_level configuration to control the navigation level displayed in the documentation.
Removed repetitive module name from docs using add_module_names = False.

The API reference will by default show more details as a result, as shown below.

Docs won't repeat the module/submodules on the page:

Currently its too crowded:

Related to #4379

I like it! Still would be good to have a flattened list of all classes ordered by full module path.

Yeah, I am not sure how to fully do that in Sphinx yet. But this makes it a little more manageable.

I like it! Still would be good to have a flattened list of all classes ordered by full module path.

Let's do that in a future PR? I am not fully sure how to do that yet, and this already improves the layout.


gh-1053 - updated default value of maxBufferSizeForBatchWriterInBytes

Codecov Report

Merging #1064 into develop will decrease coverage by 0.52%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #1064      +/-   ##
=============================================
- Coverage      62.87%   62.35%   -0.53%
+ Complexity      1247     1204      -43
=============================================
  Files            545      545
  Lines          16340    16340
  Branches        1896     1896
=============================================
- Hits           10274    10189      -85
- Misses          5256     5348      +92
+ Partials         810      803       -7

Impacted Files
Coverage Δ
Complexity Δ

.../gchq/gaffer/accumulostore/AccumuloProperties.java
45.45% <ø> (ø)
0 <0> (ø)
:arrow_down:

...java/uk/gov/gchq/gaffer/proxystore/ProxyStore.java
0% <0%> (-53.72%)
0% <0%> (-29%)

...uk/gov/gchq/gaffer/proxystore/ProxyProperties.java
0% <0%> (-32.76%)
0% <0%> (-14%)

...gaffer/rest/service/GraphConfigurationService.java
91.54% <0%> (-1.41%)
0% <0%> (ø)

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 c9be3d8...f5425d8. Read the comment docs.


⚠ Bofrost.at has degraded performance

In 6bb0423, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1147 ms

Resolved: Bofrost.at performance has improved in 388e0bd after 38 minutes.


Race condition in STM32 implementation of rtic-monotonics

There seems to be a race condition in this piece of code:
            fn now() -> Self::Instant {
                let cnt = $timer.cnt().read().cnt();

                // If the overflow bit is set, we add this to the timer value. It means the `on_interrupt`
                // has not yet happened, and we need to compensate here.
                let ovf: u64 = if Self::is_overflow() {
                    $bits::MAX as u64 + 1
                } else {
                    0
                };

                Self::Instant::from_ticks(cnt as u64 + ovf + $overflow.load(Ordering::SeqCst))
            }

If cnt is large, and then before is_overflow is read, the rollover happens, now() will return a completely incorrect time.
Potential Solution
Port embassy's implementation: https://github.com/embassy-rs/embassy/blob/main/embassy-stm32/src/time_driver.rs#L100
They essentially count half-periods to mitigate this problem.

#828 Could serve as a base for a fix.


Add project aliases for weird unity packages - Fix Unity.UI reference for TextMeshPro

I have been using Unity 2019.2.17f1 and hit an issue with how TextMeshPro 2.0.0 references Unity.ugui.
Unity.ugui is available in the editor but is not located when generated MSBuildForUnity projects. It seems the Unity.ugui may long term be replaced by UnityEngine.UI, or at least they contain the same class content and references to UnityEngine.UI fix in editor references to Unity.ugui.
When setting up the TextMeshPro reference project (as well as other projects referencing Unity.ugui), redirecting the reference from Unity.ugui to UnityEngine.UI unblocked MSB4U builds outside of the editor. It seems like there may be more cases like this/having the ability to specify a ProjectAliases dictionary may be needed for other UPM packages that are labeled as other items/are available in the editor.

Thanks for the change, however, I think we should find a more robust way of making this work. I will look into it, but will leave this open until I find something else.

This was essentially brought forward as part of #102, with slight modifications.


Cursors still opened in DB session after shutdown scheduler

hi,
When stoping our server, we stop quartz scheduler using  .scheduler.shutdown(true); as described in quartz documentation :
http://www.quartz-scheduler.org/documentation/quartz-2.x/cookbook/ShutdownScheduler.html
but we observe that cursors opened  in Oracle DB session are not stoped for those queries even after 2 hours :
UPDATE QRTZ_SCHEDULER_STATE SET LAST_CHECKIN_TIME = :1  WHER
SELECT * FROM QRTZ_SCHEDULER_STATE WHERE SCHED_NAME =
SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE SCHED_NA
SELECT TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY
SELECT COUNT(TRIGGER_NAME) FROM NCLS_TRIGGERS WHERE SCHED_NA
Do you have idea about this problem?
thanks.

Closing outdated, unresolved issues. Please, reopen if still relevant.


Release workflow for major versions

Describe the bug
Gonna keep this in an issue so it's documented for the next major release.
Workflow for version 1 and version 2
This is the workflow I used for version 1 release and setup of version 2:

Create a PR from next targeting master to ensure the bot keeps next up to date with master up until the release.
Merge the PR as a squash commit, with the title feat!: release version 1.
Tried to set up the next branch for the v2 release, by merging master into it with a PR. The problem is because next was merged with squash, it was 200 commits ahead, which would show up on the next release as well. So I ended up recreating the next branch from master for version 2 release.

Better workflow?
I have a feeling the following workflow is better to follow, but it's untested :

Create a PR from next targeting master to ensure the bot keeps next up to date with master up until the release.
Merge the PR as a merge commit.
Create a PR from next targeting master for next major version.

This workflow does two things, 1) it keeps the commit history of the major version pre-release, 2) the conventional commits workflow should automatically generate release documentation because each release on the next branch will be bundled into a single one on master as it has not been released before. This also means we don't have to re-create the next branch at all because we use merge commit.
Thoughts? Is there a better way to make the release 🤔?

No other way then to merge squash commit


Update function.ts

fix: Delete redundant code

Description
fix(function.ts) Delete-redundant-cod

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Enhancement (changes that improvement of current feature or performance)
[ ] Refactoring (changes that neither fixes a bug nor adds a feature)
[ ] Test Case (changes that add missing tests or correct existing tests)
[ ] Code style optimization (changes that do not affect the meaning of the code)
[ ] Docs (changes that only update documentation)
[ ] Chore (changes that don't modify src or test files)

Self Check before Merge

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

编译之后的代码使用了 apply，所以这里还不能这么改

编译之后的代码使用了 apply，所以这里还不能这么改

实在不好意思  下次提交代码我会关注一下成果物   那我用switch 来替换if吧

@zdc1111 switch 替换 if 是处于什么考虑

@zdc1111 switch 替换 if 是出于什么考虑

如果 入参长度为6的话 if需要判断多次if  else 直到匹配到 6 为止

@bubkoo 你觉得这样改可以吗

@bubkoo 你觉得这样改可以吗

@zdc1111 可以啊


Currículo-Fabio

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


test.pypi.org returns 500 internal server error if user tries to upload malformed package (tar.gz)

Hi, thanks for your work. I found a bug when creating package. Here is how:
I was creating (actually generating) a python package. It got malformed (I need to learn to close files properly, always, :facepalm:). I tried to upload it to test pypi via legacy api. Server responded with 500 internal server error.
response body:

    <title>Internal Server Error</title>

Internal Server Error

Expected behavior
400 with some helpful error message would be nice :slightly_smiling_face:
To Reproduce
To reproduce this, one needs to call the API directly. Twine will fail before sending the request to server. I'm attaching the malformed package. btw, it really looks like ok archive:
$ file foo47-0.0.0.tar.gz
foo47-0.0.0.tar.gz: gzip compressed data

Additional context
malformed package: foo47-0.0.0.tar.gz

Good First Issue: This issue is good for first time contributors. If you've already contributed to Warehouse, work on another issue without this label instead. If there is not a corresponding pull request for this issue, it is up for grabs. For directions for getting set up, see our Getting Started Guide.

Indeed! Here's the exception it generated on our backend for completeness: https://sentry.io/share/issue/5c077b6c90b74b88b420028dc0493088/
(Marking this as "good first issue")

Is this still valid? The sentry link seems to be expired.

It's still valid, the sentry exceptions for TestPyPI seem to expire after 3 months.
I tried to upload the provided distribution but twine couldn't even handle the file (see https://github.com/pypa/twine/issues/712). @matusf, what version of Python / Twine did you use originally?

I think I found the error, anyone recall if it was an EOFError? I was able to trigger it via unit tests. I have a patch ready if so.
via Hiptop

On Nov 11, 2020, at 1:21 PM, Dustin Ingram<EMAIL_ADDRESS>wrote:

It's still valid, the sentry exceptions for TestPyPI seem to expire after 3 months.
I tried to upload the provided distribution but twine couldn't even handle the file (see pypa/twine#712). @matusf, what version of Python / Twine did you use originally?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

I haven't used twine. I've made the request directly to the legacy endpoint in Go. I may try to crash it one more time to show the exception in sentry :smiley:

@matusf Please do!

crashed :slightly_smiling_face:
got this response (status code 500):

    <title>Internal Server Error</title>

Internal Server Error

And here's the exception for completeness: https://sentry.io/share/issue/b5f67cc5bdfd4ff58ad55fd7136e28fa/
HTTPNotFound: The resource could not be found.
  File "pyramid/tweens.py", line 13, in _error_handler
    response = request.invoke_exception_view(exc_info)
  File "pyramid/view.py", line 779, in invoke_exception_view
    raise HTTPNotFound
EOFError: Compressed file ended before the end-of-stream marker was reached
  File "pyramid/router.py", line 270, in __call__
    response = self.execution_policy(environ, self)
  File "__init__.py", line 127, in retry_policy
    response = router.invoke_request(request)
  File "pyramid/router.py", line 249, in invoke_request
    response = handle_request(request)
  File "warehouse/sanity.py", line 69, in sanity_tween_ingress
    return handler(request)
  File "warehouse/referrer_policy.py", line 16, in referrer_policy_tween
    response = handler(request)
  File "warehouse/csp.py", line 31, in content_security_policy_tween
    resp = handler(request)
  File "warehouse/config.py", line 82, in require_https_tween
    return handler(request)
  File "__init__.py", line 178, in tm_tween
    reraise(*exc_info)
  File "pyramid_tm/compat.py", line 36, in reraise
    raise value
  File "__init__.py", line 143, in tm_tween
    response = handler(request)
  File "warehouse/utils/compression.py", line 92, in compression_tween
    response = handler(request)
  File "pyramid/tweens.py", line 43, in excview_tween
    response = _error_handler(request, exc)
  File "pyramid/tweens.py", line 17, in _error_handler
    reraise(*exc_info)
  File "pyramid/compat.py", line 179, in reraise
    raise value
  File "pyramid/tweens.py", line 41, in excview_tween
    response = handler(request)
  File "warehouse/cache/http.py", line 74, in conditional_http_tween
    response = handler(request)
  File "warehouse/sanity.py", line 76, in sanity_tween_egress
    return unicode_redirects(handler(request))
  File "pyramid/router.py", line 147, in handle_request
    response = _call_view(
  File "pyramid/view.py", line 667, in _call_view
    response = view_callable(context, request)
  File "warehouse/cache/http.py", line 33, in wrapped
    return view(context, request)
  File "warehouse/cache/http.py", line 33, in wrapped
    return view(context, request)
  File "warehouse/csrf.py", line 38, in wrapped
    return view(context, request)
  File "warehouse/metrics/views.py", line 34, in wrapper_view
    return view(context, request)
  File "pyramid/viewderivers.py", line 401, in viewresult_to_response
    result = view(context, request)
  File "pyramid/viewderivers.py", line 144, in _requestonly_view
    response = view(request)
  File "warehouse/forklift/legacy.py", line 1304, in file_upload
    if not _is_valid_dist_file(temporary_filename, form.filetype.data):
  File "warehouse/forklift/legacy.py", line 638, in _is_valid_dist_file
    with tarfile.open(filename, f"r:{z_type}") as tar:
  File "tarfile.py", line 1617, in open
    return func(name, filemode, fileobj, **kwargs)
  File "tarfile.py", line 1670, in gzopen
    t = cls.taropen(name, mode, fileobj, **kwargs)
  File "tarfile.py", line 1647, in taropen
    return cls(name, mode, fileobj, **kwargs)
  File "tarfile.py", line 1510, in __init__
    self.firstmember = self.next()
  File "tarfile.py", line 2311, in next
    tarinfo = self.tarinfo.fromtarfile(self)
  File "tarfile.py", line 1102, in fromtarfile
    buf = tarfile.fileobj.read(BLOCKSIZE)
  File "gzip.py", line 292, in read
    return self._buffer.read(size)
  File "_compression.py", line 68, in readinto
    data = self.read(len(byte_view))
  File "gzip.py", line 498, in read
    raise EOFError("Compressed file ended before the "


I face this issue while deploying the function app. Can anyone explain why?

Does this occur consistently?
Repro steps:

Action: azureFunctions.deploy
Error type: 404
Error Message: Deployment '6c5190b3d1664e21add69a524a4fec6e' not found.
Version: 1.0.0
OS: win32
OS Release: 10.0.18362
Product: Visual Studio Code
Product Version: 1.50.1
Language: en

Call Stack
new RestError extension.bundle.js:46:110341
extension.bundle.js:48:167633extension.bundle.js:48:167633
processTicksAndRejections task_queues.js:94:5

Please provide detailed repro steps.