Subteams data on the team member page

TODO:

[x] expandable component for teams we are in
[ ] merge with Piotr's RPC / data layer work

cc @keybase/y2ksquad

[ ] after code freeze


Failed to set source when try to play audio on IOS PHYSICAL DEVICE

Checklist

[X] I read the troubleshooting guide before raising this issue
[X] I made sure that the issue I am raising doesn't already exist

Current bug behaviour
Im getting this error when try to play audio on IOS only in a physical device. On simulator works fine.
Runner(Flutter)[4087] :     DeviceFileSource(path: /var/mobile/Containers/Data/Application/387E8E16-458F-4F36-80AB-C2152228C985/Documents/audios/audio17120075.m4a), Apr  1 20:40:44 Runner(Flutter)[4087] :     PlatformException(DarwinAudioError, Failed to set source. For troubleshooting, see https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md, AVPlayerItem.Status.failed on setSourceUrl, null)<\M-b\M^@\M-
Expected behaviour
The audio should play properly
Steps to reproduce

Execute flutter run on the code sample
...
...

Code sample

Code sample
void main() {
}

Affected platforms
iOS
Platform details
No response
AudioPlayers Version
5.2.1
Build mode
No response
Audio Files/URLs/Sources
No response
Screenshots
No response
Logs

my relevant logs

Full Logs

my full logs or a link to a gist

Flutter doctor:
Output of: flutter doctor -v

Related issues / more information
No response
Working on PR
no way

did you find solution ?

Any update on this? i am also facing the same issue

Same issue but with ByteSource:
Flutter 3.19.5
audioplayers 6.0.0
iOS: 17.4
"PlatformException (PlatformException(DarwinAudioError, Failed to set source. For troubleshooting, see https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md, AVPlayerItem.Status.failed on setSourceUrl: Unknown error, null))"

I'm encountering the same error: PlatformException(DarwinAudioError, Failed to set source. For troubleshooting, see https://TROUBLESHOOTING_GUIDE, AVPlayerItem.Status.failed on setSourceUrl: Unknown error, null) This issue occurs when I attempt to play audio using BytesSource on iOS. The audio playback functions as expected on Android, but fails on iOS.

@novas1r1 Have you found any solution?

@narendra-vaniya nope, sorry. I switched to soundpool

@narendra-vaniya nope, sorry. I switched to soundpool

Thank @novas1r1

I've found a solution, we must provide the mimeType.
Working example.
    await _audioPlayer.play(
      BytesSource(bytes, mimeType: 'audio/mp3'),
      mode: PlayerMode.lowLatency,
    );

I am having a similar issue but it seems to be kind of random.
I made this change f15b414135039b72760a908b95c01aa8c9da6422 so I can see the error.
AudioPlayers Exception: AudioPlayerException(
	AssetSource(path: sounds/pop.wav, mimeType: null),
	PlatformException(DarwinAudioError, Failed to set source. For troubleshooting, see https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md, AVPlayerItem.Status.failed on setSourceUrl: Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo={NSLocalizedDescription=Cannot Complete Action, NSLocalizedRecoverySuggestion=Try again later.}, null)<…>

The error is:
Error Domain=AVFoundationErrorDomain Code=-11819 "Cannot Complete Action" UserInfo={NSLocalizedDescription=Cannot Complete Action, NSLocalizedRecoverySuggestion=Try again later.
The code I used is loading about 30 tracks using this code, but the issue does not always occur.
_audioContext =AudioContextConfig(respectSilence: Platform.isIOS).build();

var player = AudioPlayer();
await player.setReleaseMode(ReleaseMode.stop);
await player.setAudioContext(_audioContext);
await player.setVolume(volume);
await player.setSource(AssetSource('sounds/$filePath'));

Same issue, is there a solution yet? Adding mimeType does not work.


If a image not containes all the categories, how to 'connecting the vectors of all categories into a long vector'?

As I understand, MADA need to generate a image-level featurte vector with the mean vector of all classes in a image. But if a category is missing in a picture(in fact it is a common phenomenon), how to generate the vector?

As I understand, MADA need to generate a image-level featurte vector with the mean vector of all classes in a image. But if a category is missing in a picture(in fact it is a common phenomenon), how to generate the vector?

In my opinion, you can fill with zeros for absent classes in an image.


Add description to widget tooltip on generated UIs

This should be in addition to the default of $(pv_name)\n$(pv_value), which is also very useful.

Additionally, tooltips for buttons currently just display the name field, which is WritePV.


post proccesing takes too long

model forwarding takes only ~5 ms to infer the input blob, but post processing takes about 50 ms , i wonder as pytorch implementation(python) takes only 15 ms for both infer and post processing , but here it's taking too long for post-processing, is there any way to optimize post-processing for low latency.

Hi @sudapure, thanks for the feedback!
I did some test on my end with same set of images, same model and count time for inference + nms parts.
So the yolov5 python takes ~0.015s to process an image,  and the libtorch one takes ~0.008s to process the image
I put the timer in detector.cpp (similar to what yolov5 python version):

There is the result for 5 images:

Question: are you use GPU version or CPU version?
Some quick solution I can think about now is to use the nms TorchVision, I didn't put it here because I want to minimize the amount of dependencies in this project, but I would suggest you to give a try if latency is the concern. And meanwhile I will try to optimize the current implementation as much as possible.

Hi @yasenh , I am using GPU version, on GTX 1050 nvidia card(2 GB), as per your inference readings it looks like taking average 7 ms for infer and post processing , but in my case infer takes ~5 ms but post processing is taking lot of time some times more than 50 ms, however i modified the code to take input from video stream instead of image file, but average post processing latency is too high in both the cases.

I am using GTX 1050 Ti and add timer on main.cpp:

My GPU is utilized during the inference:

And these are the result for 4 images:

@mheriyanto Looks like the inference time is reasonable, could you measure how much time taken from the "Demo" function? I suspect "cv::namedWindow" and "cv::imshow" might take little bit longer time.

Actually my "cv::namedWindow" and "cv::imshow" moved out of "Demo" function and I add timer for measuring "Demo" and "Detector" function like this:

I got these results:

@mheriyanto Thanks, very interesting and seems here consumes most of the time, could you try to measure the processing time of the code above? or you can comment out these code segment and take a look whats the processing time.

@yasenh , Okay, I measured the processing time like this:

and these results:

emmmm, thats weird... I will do some more testing tomorrow, thanks again for these measurement

Hi @mheriyanto and @sudapure,
You could pull the repo and checkout the "debug/process_time_measurement" branch:
https://github.com/yasenh/libtorch-yolov5/tree/debug/process_time_measurement
Here is what I got and the end-to-end time is around 16ms per image (It should be known that it takes longer time at first time):

@yasenh ,  i know it takes bit long for first time but only for inference, but even after several iterations getting same results, as i already mentioned infer time is not too much in my case it's around 5ms but post-process function taking too long.

Hi @sudapure, yep I understand you pain point and try to think about what might be the root-cause. Like what I showed above, the post-process time is roughly 8ms on my end.
So did you tried to run the debug branch and still get similar result(50ms)? The only thing I can think about is maybe we have different software/hardware setup maybe.

@yasenh , i reproduced the infer run from the debug branch you specified earlier,
pre-process takes : 2 ms
inference takes : 394 ms
post-process takes : 171 ms
end-to-end time : 568 ms

pre-process takes : 7 ms
inference takes : 5 ms
post-process takes : 24 ms
end-to-end time : 37 ms

pre-process takes : 2 ms
inference takes : 4 ms
post-process takes : 24 ms
end-to-end time : 31 ms

pre-process takes : 2 ms
inference takes : 5 ms
post-process takes : 24 ms
end-to-end time : 32 ms

clearly here post-processing adding lot of toll in latency, from my analysis it might be happening because of two reasons:

during torchscript export, you removed the final detect layer, using model.model[-1].export = False , due to this bbox extraction needs to be implemented after retrieval of output tensors after network forward pass(_module.forward()). this will certainly cause additional processing latency to be added on cpu, i observed during code run CPU utilization peaks above 50%, where as in ultralytics python implementation it does not exceed above 16% on an average.

second reason would be hopping of output tensor processing from host memory to GPU memory, from code output tensors are allocated on GPU, so there might be certain operations which can not be done on GPU and at the time of execution such operations might be hopping back to CPU , which will certainly add a toll in latency.

i guess in order to confront both of the above possibilities profiling of the code needs to be done.

@sudapure Thanks for the analysis.

For the suggestion #1 (model.model[-1].export = False), it actually align with the behavior in ultralytics python implementation if you run and debug "detect.py" in that repo:

You can find that if we set export = Ture, then self.training will be true and some of the post-processing will be gone:
https://github.com/ultralytics/yolov5/blob/916d4aad9a154587dc5914f9b04be575a0990529/models/yolo.py#L38
https://github.com/ultralytics/yolov5/blob/916d4aad9a154587dc5914f9b04be575a0990529/models/yolo.py#L44-L51
So I think my implementation for the first item is correct.

For the second one, yes I agree with you and will do some profiling and refinement within next few weeks.

The post-processing time is too long, mainly due to the function "auto det = torch::masked_select(detections[batch_i], conf_mask[batch_i]).view({-1, num_classes + item_attr_size});" time-consuming, do you have a ending plan? ?

@pengyang1225 Working on it, hopefully can improve it on this weekend :)

it is an really excellent project ,cool

Waiting for you to solve the problem

@pengyang1225 LOL, I was tooooo busy with my work recently, hopefully can make it done ASAP

@yasenh @sudapure  Hi, the profiling result is invalid. PyTorch leverages an asynchronous kernel execution mode.
For example:
CUDA_LAUNCH_BLOCKING=1 ./main

And you guys gonna find that post-processing is not the bottleneck, but the DNN inference.

@ganler  Thanks, that is a great document, lesson learned!

Hi @mheriyanto and @sudapure,
I did some profiling based on this post, which added synchronization points before starting and stopping the timer for the forward and backward pass like this:
at::cuda::CUDAStream stream = at::cuda::getCurrentCUDAStream();
AT_CUDA_CHECK(cudaStreamSynchronize(stream));

And here is the time check (Tested with single GTX 1070 GPU):

I also followed @ganler suggestion to test it with CUDA_LAUNCH_BLOCKING=1:

Compare with the NN inference time, post-processing is not the bottleneck here. Like @pengyang1225 mentioned, there might be some places that we can find a better approach to post-process everything, I am doing some experiments and hopefully can release it soon.

Hi @ganler, I notice that the inference time itself, even without preprocess and postprocess, normally takes around 20ms to process a 640x640 image. However, the yolov5 python version only need 8-9ms. I did some test with OpenMP config and Release build based on post1 and post2, but it does not improve a lot. Any ideas?

Hi @ganler, I notice that the inference time itself, even without preprocess and postprocess, normally takes around 20ms to process a 640x640 image. However, the yolov5 python version only need 8-9ms. I did some test with OpenMP config and Release build based on post1 and post2, but it does not improve a lot. Any ideas?

I think ideally cxx version should be of the same performance as python version. There are some issues that might help:

Original dynamic graph based execution / JIT model?
Batched input / batch size = 1 in profiling? (batched input will have better throughput)
Async / sync. Async execution is faster...

I haven't got time to profile your code. If you still got stuck, I can take a try myself.
Torch provides a profiling module, but unfortunately, it gets much slower when in profiling mode.
Hope my advices can help. :-)

BTW, I don't think it has anyyhing to do with OpenMP, it is a GPU thing...
Also you can take a look at the gpu utilization(using gpusta -i). This can tell something.

@ganler Appreciate your suggestions!

@yasenh，我复制了您之前指定的debug分支的推断运行，
pre-process takes : 2 ms
inference takes : 394 ms
post-process takes : 171 ms
end-to-end time : 568 ms

pre-process takes : 7 ms
inference takes : 5 ms
post-process takes : 24 ms
end-to-end time : 37 ms

pre-process takes : 2 ms
inference takes : 4 ms
post-process takes : 24 ms
end-to-end time : 31 ms

pre-process takes : 2 ms
inference takes : 5 ms
post-process takes : 24 ms
end-to-end time : 32 ms

很明显，这里的后处理增加了很多延迟，从我的分析来看，这可能是由于两个原因而发生的：

在torchscript导出期间，您使用删除了最后的检测层，model.model[-1].export = False因为在网络正向pass（_module.forward()）后检索输出张量后需要执行此bbox提取。这肯定会导致在cpu上增加额外的处理延迟，我在代码运行期间观察到CPU利用率峰值超过50％，而在Ultralytics python实现中，它平均不会超过16％。
第二个原因是将输出张量处理从主机内存跳转到GPU内存，代码输出张量在GPU上分配，因此某些操作可能无法在GPU上完成，因此在执行时此类操作可能会跳回到CPU，这肯定会增加延迟。

我想为了面对上述两种可能性，需要对代码进行性能分析。

@yasenh , i reproduced the infer run from the debug branch you specified earlier,
pre-process takes : 2 ms
inference takes : 394 ms
post-process takes : 171 ms
end-to-end time : 568 ms

pre-process takes : 7 ms
inference takes : 5 ms
post-process takes : 24 ms
end-to-end time : 37 ms

pre-process takes : 2 ms
inference takes : 4 ms
post-process takes : 24 ms
end-to-end time : 31 ms

pre-process takes : 2 ms
inference takes : 5 ms
post-process takes : 24 ms
end-to-end time : 32 ms

clearly here post-processing adding lot of toll in latency, from my analysis it might be happening because of two reasons:

during torchscript export, you removed the final detect layer, using model.model[-1].export = False , due to this bbox extraction needs to be implemented after retrieval of output tensors after network forward pass(_module.forward()). this will certainly cause additional processing latency to be added on cpu, i observed during code run CPU utilization peaks above 50%, where as in ultralytics python implementation it does not exceed above 16% on an average.
second reason would be hopping of output tensor processing from host memory to GPU memory, from code output tensors are allocated on GPU, so there might be certain operations which can not be done on GPU and at the time of execution such operations might be hopping back to CPU , which will certainly add a toll in latency.

i guess in order to confront both of the above possibilities profiling of the code needs to be done.
I met the second situation. Do you have a solution？

            i solve this problem

            torch::jit::IValue output = module.forward(inputs);
	auto detections = output.toTuple()->elements()[0].toTensor();
	auto conf_mask = detections.select(2, 4).ge(0.5).unsqueeze(2);
	detections = torch::masked_select(detections[0], conf_mask[0]).view({ -1, 85 });
	detections = detections.to(torch::kFloat);
	detections = detections.to(torch::kCPU);

	vector<Rect> boxes;
	vector<float> confidences;
	float* ptr = (float*)detections.data_ptr();
	for (int i = 0; i < (int)detections.size(0); ++i, ptr += 85)
	{
		    float confidence = ptr[4];
			int centerX = (int)((ptr[0] / 640) * frame.cols);
			int centerY = (int)((ptr[1] / 640) * frame.rows);
			int width = (int)((ptr[2] / 640) * frame.cols);
			int height = (int)((ptr[3] / 640) * frame.rows);
			int left = (centerX - width / 2);
			int top = (centerY - height / 2);
			confidences.push_back(confidence);
			boxes.push_back(Rect(max(left, 0), max(top, 0), min(width, 1920 - left), min(height, 1200 - top)));

	}
	vector<int> indices;
	NMSBoxes(boxes, confidences, 0.5, 0.2, indices);  (use #include<opencv2\dnn\dnn.hpp> )

@longjiu Thanks for your inputs! I did some optimization based on OpenCV nms and some tricks from the yolov5 python repo,
now the post-processing drops to 1ms:

Benchmark with following command:
$ CUDA_LAUNCH_BLOCKING=1 ./libtorch-yolov5 --source ../images/bus.jpg --weights ../weights/yolov5s.torchscript.pt --gpu --view-img


[Bug Report] Inconsistent performance between the official environment and the local the

Element UI version
2.4.9
OS/Browsers version
win10/chrome67
Vue version
2.5.17
Reproduction Link
https://github.com/Sliect/element-demo/blob/master/issue.md
Steps to reproduce
element/examples/play/index.vue
<el-row>
    <el-button>默认按钮</el-button>
    <el-button type="primary">主要按钮</el-button>
    <el-button type="success">成功按钮</el-button>
    <el-button type="info">信息按钮</el-button>
    <el-button type="warning">警告按钮</el-button>
    <el-button type="danger">危险按钮</el-button>
</el-row>

What is Expected?
There is a space between inline-block.
What is actually happening?
There are no spaces between inline-block

I think it might be the role of webpack.demo.js, because the same css and js files are imported, the effect is different.

You need use normalize.css.

The spaces that appear here are due to indentation, but there is no space in the official environment. I am sure this has nothing to do with normalize.css

I got it!
preserveWhitespace: false

I am sure that this attribute plays a role.


RestQL Server is duplicating resources requests

I'm using restQL to integrate my microservices and I've noticed in my logs that it is making two requests for each resource I invoke.
I think because of this we are having performance problems when comparing to our old solution.
Is this an actual problem or a default behavior?
Thanks.
If you need more information I can share a compose file with a sample and its logs
*I'm using the latest version

Hi @ajukas,
restQL has a built-in retry mechanism, if the request to the target endpoint fails. It'll retry once.
Can you please confirm that the endpoint is returning HTTP 200?
If it's simple for you please share the artifacts. In the mean time we'll try to reproduce it here.

Hello @ricardoekm, thanks for the reply. The endpoint is return 200.
I've created a repository with the artifacts. It's a simple docker-compose file with a node app and our restql image.
Repository: https://github.com/ajukas/restQL-sample-app
To reproduce you can execute:
git clone https://github.com/ajukas/restQL-sample-app && cd restQL-sample-app/ && docker-compose up
Running this request
curl -H "Content-Type: text/plain" localhost:9000/run-query -d "from sample with id = 123"
I get the following response:

We were able to reproduce the issue. It seems a bug in the retry code.
We'll fix it and release a new version.

We've just uploaded the release: https://github.com/B2W-BIT/restQL-server/releases/tag/v2.3.2
Can you please give it a try?

Thank you for your efficiency!!! It's working as expected! Soon we will start the performance tests again!

@ricardoekm I guess it's resolved, so I'm closing it.

@ajukas if restQL as-is performance doesn't meet your requirements there're some tunings you can work on. The most resource intensive task is the query parsing. To optimize this you can use named queries or when using ad-hoc queries use the token "$paramName" in the query body and pass the paramName as query string. This will allow restQL to cache the parsing and optimize the request.

@ricardoekm Thanks for the suggestion, we are using saved queries on our tests.


Files crashes almost immediately

Describe the bug
When I open "Files", it shows me the interface for a few seconds and then crashes. (Closes)
To reproduce
Steps to reproduce the behavior:

Launch "Files"
It crashes....
No error displayed other than "Something went wrong"... Report?
When I select "Yes", it takes me to GitHub.

Expected behavior
Files should work.
Log file
debug.txt
debug_fulltrust.txt
System Information

Thanks for this report. This issue should be fixed in version 1.4.
Could you confirm you're asking Files 1.3?

same exact issue, and i can confirm i am on v 1.3


Can this model be used for duplicate detection from both image and text?

🚀 The feature, motivation and pitch
A model for near duplicate detection from both image and text.
Given two pairs of input composed of image and text, determine whether they are semantically duplicate or not.
inputA = (imageA, textA)
inputB = (imageB, textB)

Determine whether inputA and inputB are near duplicate or not?
Alternatives
No response
Additional context
No response

Thanks for posting. I am not entirely sure what you mean by semantically duplicate. Do you mean semantic similarity, as in a high cosine similarity between the embeddings of two (image, text) pairs? If so, the CLIP model and Contrastive Loss can help you achieve something close. Do you have a reference of what you had in mind?

@RdoubleA yeah, I am referring whether two (image, text) pairs are semantically similar (near duplicate) or not.

I would suggest taking a look at CLIPArchitecture to generate embeddings for your image-text pairs and concatenate them for each input. Then you could use ContrastiveLossWithTemperature and treat the image and text embeddings arguments as inputA embeddings and inputB embeddings. For your use case you should be able to use these existing components from the library.

@RdoubleA thanks for your great insight. I have to initialize the CLIPArchitecture as follows:
        encoder_a = torch.nn.Linear(5, 3)
        encoder_b = torch.nn.Linear(4, 3)
        clip = CLIPArchitecture(encoder_a, encoder_b)

What should I use as the encoders? For text I think I could use SentenceBert, and for image may be I could get embedding from pre-trained ResNet50? For my case, (image, text) pair is very different though.

@RdoubleA also confused why you mentioned that embeddings needs to be concatenated?

@RdoubleA thanks for your great insight. I have to initialize the CLIPArchitecture as follows:
        encoder_a = torch.nn.Linear(5, 3)
        encoder_b = torch.nn.Linear(4, 3)
        clip = CLIPArchitecture(encoder_a, encoder_b)

What should I use as the encoders? For text I think I could use SentenceBert, and for image may be I could get embedding from pre-trained ResNet50? For my case, (image, text) pair is very different though.

that seems reasonable to me. I mentioned concatenate because you wanted to compare the embeddings of two pairs. so if you have your image and text encoders, you can use one CLIP to get one pair and another CLIP to get another pair. Then you concatenate image and text within each pair before you use contrastive loss since ContrastiveLossWithTemperature takes two sets of encodings and not four. Or you can compute contrastive loss separately between image embeddings and text embeddings. depending on how you wanted to measure similarity.

Thanks for your response @RdoubleA. I have not really understood how to use contrastive_loss_with_temperature.py.
Do I have to implement a siamese network with a contrastive loss function - that's what you meant?

Yeah, something similar to that, if you comparing your (image, text) pairs from the same encoders.
ContrastiveLossWithTemperature just takes two embeddings and calculates contrastive loss. It is labeled with image and text but you should be able to do image and image, or text and text, or image+text and image+text if you wanted to. In fact, it might be better on our end to name the parameters to something more general, like in CLIPArchitecture.

@smith-co if there's no other questions, I will close this issue.


GH-33856: [C#] Implement C Data Interface for C#

Rationale for this change
This continues implementing the C Data Interface for C# with integration for ArrowArray, RecordBatch and streams.
What changes are included in this PR?

Adds classes CArrowArray and CArrowStream to represent the C API structures.
Adds interface IArrowArrayStream to represent an array stream or record batch reader.
Adds classes CArrowArrayImporter, CArrowArrayExporter, CArrowArrayStreamImporter and CArrowArrayExporter to marshal between C# and C representations.
Augments the native memory representation to support (reasonably safe) ownership of memory by external code.

Are these changes tested?
Yes, though test coverage is still being improved. Testing is largely done via the Python C API interface.
Are there any user-facing changes?
Yes, this adds new user-facing APIs to import and export C# structures using the C API.

Closes: #33856
Closes: #33857

Closes: #33856

Current test failure is:
Unhandled exception: System.NotSupportedException: JsonArrowType not supported: null
   at Apache.Arrow.IntegrationTest.IntegrationCommand.ToArrowType(JsonArrowType type) in /arrow/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs:line 176
   at Apache.Arrow.IntegrationTest.IntegrationCommand.CreateField(Builder builder, JsonField jsonField) in /arrow/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs:line 152
   at Apache.Arrow.IntegrationTest.IntegrationCommand.<>c__DisplayClass17_1.<CreateSchema>b__0(Builder f) in /arrow/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs:line 145
   at Apache.Arrow.Schema.Builder.Field(Action`1 fieldBuilderAction) in /arrow/csharp/src/Apache.Arrow/Schema.Builder.cs:line 53
   at Apache.Arrow.IntegrationTest.IntegrationCommand.CreateSchema(JsonSchema jsonSchema) in /arrow/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs:line 145
   at Apache.Arrow.IntegrationTest.IntegrationCommand.Validate() in /arrow/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs:line 75
   at Apache.Arrow.IntegrationTest.IntegrationCommand.Execute() in /arrow/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs:line 58
   at Apache.Arrow.IntegrationTest.Program.<>c.<<Main>b__0_0>d.MoveNext() in /arrow/csharp/test/Apache.Arrow.IntegrationTest/Program.cs:line 49

Need to update:
https://github.com/apache/arrow/blob/3948c426927514ab6d3165255b4717af9446e949/csharp/test/Apache.Arrow.IntegrationTest/IntegrationCommand.cs#L162-L176

Yes, already fixed locally. I'm faulting in knowledge of the codebase as I encounter failing tests... .


Add touch-action to Messages, Sidebar and User list

This commit fixes #1035
On the issue, there is a reference to passive events for JS addEventListeners. I've checked all touchend-touchstart events on Master and passive events are already there. So, I only added touch-action css on some parts that have scroll.

@iamstratos Thanks for this!
Have you confirmed the impact of this change in DevTools? Do you think we need touch-action: none on body or *?

@xPaw I've tested it with DevTools on desktop & mobile (android). I've read about touch-action on body and tested again with touch-action: none on body. It had no negative effects to any of my tests. On the other hand, touch-action: none on * had every touch disabled (disabled scroll everywhere too).

@xPaw, mind taking review for this?

Thanks!

Hey @iamstratos, we have sticker packs for our contributors now!
If you're interested, go fill the form at https://goo.gl/forms/f5usqAEp5DWoeXC92 🙂


Files for legacy browsers with not es5 code in 2.7.570

Attach (recommended) or Link to PDF file here:
https://github.com/mozilla/pdfjs-dist/blob/master/legacy/build/pdf.js
Configuration:

Web browser and its version: Legacy browsers like IE11
PDF.js version: 2.7.570

Steps to reproduce the problem:

Dist files for legacy browsers has code that is not es5 (like arrow functions). This legacy files are correct in version 2.6.347

What is the expected behavior? Working correctly in legacy browsers
What went wrong?

Web browser and its version: Legacy browsers like IE11

As outlined in the FAQ, see https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-support, IE 11 is now explicitly unsupported regardless of build.

Dist files for legacy browsers has code that is not es5 (like arrow functions). This legacy files are correct in version 2.6.347

legacy simply means older browsers, rather than ES5-compatible, and any browser/environment without array function support is now too old to be supported; please see e.g. issue #12976.

In pdfjs-dist package we found this code inside es5 folder. It is for this reason that I think that it should be compatible with IE11.
If it's really not ES5- compatible, maybe the folder name should be changed

It is for this reason that I think that it should be compatible with IE11.

As already mentioned, you need to refer to the FAQ for the official support information (rather than assuming support for particular browsers).

If it's really not ES5- compatible, maybe the folder name should be changed

It's has already been renamed in later versions, which is what the previously linked issue is about (again, see issue #12976 which is fixed in PDF.js version 2.8.335 and above); please note that we won't be making changes to older releases.


chore: update package dependencies

:arrow_up: Dependencies updated:

chalk: ^1.1.1 -> ^2.4.1
copy-github-pages: ^1.3.1 -> ^2.0.0
meow: ^3.4.1 -> ^5.0.0
:arrow_up: Dev dependencies updated:
eslint: ^1.6.0 -> ^5.5.0

Note: This commit also adds the (no longer) new package-lock.json file.
BREAKING CHANGES:

The CLI now requires a minimum of NodeJS 4.9.0 for support of ES2015.

EDIT: Label description will be added in a future PR. For now, this PR only updates the outdated dependencies.

@jvandemo Ping!
Any updates? It's been 4 months.

@jvandemo +1 for merge

I'll close this PR as it has been stale for 1 1/2 years since it was opened.


Add pyenv role

pyenv is modern way to manage isolated python environments. It provides convenient way to install and switch between different interpreter versions (including implementations other than CPython).
It is better than current approach with pre-installing few interpreter versions because it allows to add new version with 1 command. Also snowplow-python-tracker role will be much shorter.

Sounds great!


usb cdc acm: can't (re-)connect after host usb reset if device sends infinite data

Description:
My device sends data out over CDC ACM. When the host PC reboots the device is not (power) reset so it stays in this state. The host is not able to reinit the device so it's missing from the device list.
I use Linux as the host platform but was able to reproduce the issue an an Windows 10 host PC, too.
The board used is a custom board with an RP2040 MCU but I was able to reproduce it on nrf52840dk eval board. I expect it to happen on others, too.
Reproduction:
In zephyr/samples/subsys/usb/cdc_acm/src/main.c:
Add uart_fifo_fill(uart_dev, "T",1);continue;
after line int rb_len, send_len;
and change
uart_irq_rx_enable(uart_dev);
at the end of main() to
uart_irq_tx_enable(uart_dev);
west build -b nrf52840dk/nrf52840 zephyr/samples/subsys/usb/cdc_acm --pristine
west flash
The device is now sending infinite 'T'
Device won't show up under lsusb.
If the code gets changed to start sending after receiving the first data it shows up but triggering the data flow and resetting it with
sudo usbreset 2fe3:0001
will remove it from the device list. The same is true for a host reboot.
Expected:
Device exists under lsusb and can be used as ACM device. Host should receive the data stream.
Environment

OS: XUbuntu Linux for dev and testing, test also in Windows 10
Toolchain: Zephyr SDK
Commit: current, tested on 50c03e9bbe68db9944704e380802be44d45cfc42

Severity

Was a showstopper for the device (sends data from a sensor subdevice) but the fix is already shipped
Tests showed the device is stuck as acm_cdc API return values don't take connection state into account
For further devices with comparable features a mainlined fix (and external code checking) is needed

So with the changes,
diff --git a/samples/subsys/usb/cdc_acm/src/main.c b/samples/subsys/usb/cdc_acm/src/main.c
index ab1cbdc6a4c..b225b75ec5d 100644
--- a/samples/subsys/usb/cdc_acm/src/main.c
+++ b/samples/subsys/usb/cdc_acm/src/main.c
@@ -146,6 +146,11 @@ static void interrupt_handler(const struct device *dev, void *user_data)
                if (uart_irq_tx_ready(dev)) {
                        uint8_t buffer[64];
                        int rb_len, send_len;
+                       static uint8_t count = '0';
+
+                       uart_fifo_fill(uart_dev, &count, 1);
+                       count = count <= '9' ? count + 1 : '0';
+                       continue;

                        rb_len = ring_buf_get(&ringbuf, buffer, sizeof(buffer));
                        if (!rb_len) {
@@ -231,7 +236,7 @@ int main(void)
        uart_irq_callback_set(uart_dev, interrupt_handler);

        /* Enable rx interrupts */
-       uart_irq_rx_enable(uart_dev);
+       uart_irq_tx_enable(uart_dev);

        return 0;
 }

when the host reads the data once, disconnect device leads to cdc_acm_fifo_fill() call in the while loop inside the interrupt handler, because dev_data->tx_ready is always true. The workqueue thread has a cooperative priority and starves everything else.
dev_data->tx_ready = false; could be moved before if (!dev_data->configured || dev_data->suspended) or if (!dev_data->configured || dev_data->suspended) remove entirely.
https://github.com/zephyrproject-rtos/zephyr/blob/ac52bd629d705811858c8bb38ca7a43e4e81182b/subsys/usb/device/class/cdc_acm.c#L529-L535

I have the same diagnosis and the addition to the fifo_fill function is needed.
The LOG should not say it drops data though (it does not, it just can't send them, which the calling function can handle).
Additionally  cdc_acm_irq_tx_ready needs to take this into account as cdc_acm_fifo_fill() can't take data (will return 0) in this state. This violates UART API description.
The same is true for cdc_acm_irq_is_pending()

Likely fixed by PR #78287


@ does not return any results

This script isn't returning any card info and the Heroku app is down.

Paging @sylturner

Looks like the Heroku app that serves up the cards being down was the problem. I just tested and the script is working again. Thanks!


Support Swift 3.0

Support Swift 3.0 in Xcode 8 beta 6.

Thanks 👍

This breaks if under Swift 3.0..

@zhouhao27 any ideas?
Should I revert this @Tokuriku?

@Tokuriku I'll check that.

@schickling I found when we use the pod install, it still get the old source code. Should we update the CocoaPods ?

LGTM. Does that work for you @Tokuriku?

@schickling No, there is no need to revert this.
For my projects, I need the changes in commit: a72f60f0ef65d11f74deb981fb683d96ef27eaff
Otherwise, the plist is copied in the app bundle and the app gets refused by Apple.
The best solution for me would be If you could do a cocoapods release at or a bit above that commit otherwise I'm stuck using your master branch.
As an aside, I would highly recommend you create a [swift 3] branch until it gets out of beta ;)


Register collector for ebpf telemetry

What does this PR do?
This PR registers a prometheus collector for ebpf telemetry.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

could be worth running this in staging to ensure the telemetry actually populates if you haven't already

could be worth running this in staging to ensure the telemetry actually populates if you haven't already

Seeing metrics on staging.


Feat: Avalanche Support

Description
Adds support for Avalanche
Related PR's: (Should all be merged first)

https://github.com/balancer/balancer-sdk/pull/461
https://github.com/balancer/tokenlists/pull/180
https://github.com/balancer/balancer-api/pull/212/
https://github.com/beethovenxfi/beethovenx-backend/pull/369

Type of change

[x] New feature (non-breaking change which adds functionality)

How should this be tested?

Select Avalanche network or go to /avalanche.
Ensure swaps / depositing / withdrawing works as expected.

Checklist:

[x] I have performed a self-review of my own code
[x] I have requested at least 1 review (If the PR is significant enough, use best judgement here)
[x] I have commented my code where relevant, particularly in hard-to-understand areas
[x] If package-lock.json has changes, it was intentional.
[x] The base of this PR is master if hotfix, develop if not

All other components are working and deployed so this is ready to go now.

After the Multichain bridge hack we've switched to a new BAL token on Avalanche using LayerZero instead. The new address is 0xE15bCB9E0EA69e6aB9FA080c4c4A5632896298C3, see: https://snowtrace.io/address/0xE15bCB9E0EA69e6aB9FA080c4c4A5632896298C3. I'm updating all repos with this new address now.
https://github.com/balancer/tokenlists/pull/273
https://github.com/beethovenxfi/beethovenx-backend/pull/402
https://github.com/balancer/balancer-sdk/pull/484


Improve rebuild

Related to #36
Here's what I think should be done:

[X] Trigger a build only after a quiet period to avoid triggering a build while lots of file are being written.
[x] Make sure that changes that happen while we build and deploy are not lost. aka always deploy the last changes.
[x] Accumulates the changes that occur during a build

@r2d4 This should be good for a review. It can be improved but it's already way better like this.

@r2d4 I've changed quite a few things. If you had time to review, that would be awesome

🕺


Fix Alert .spec.eventMetadata behavior

Hi @darkowlzz, @hiddeco and @somtochiama, this fixes the behavior we discussed and updates the documentation. Still need to write tests, but please feel free to give an initial pass :ok_hand:

make test is failing locally for me for some reason but I see:
--- PASS: TestAlertReconciler_EventHandler (10.68s)

Does the CI run all the tests?
Also, how can I change the log to warning rather than an error?

I don't think we have a warning level. The logger we use prefers verbosity levels over named levels. We do have some custom wrapper for warning level log somewhere, but that doesn't work well with the underlying zap logging levels and results in weird logs.

I see. Should I keep it as is then? (error log)

@stefanprodan @darkowlzz we should probably also merge this for rc4?


Customizing CSP frame-ancestors still includes 'none'

What is the location of your example repository?
https://github.com/nkgentile/repro-hydrogen-csp
Which package or tool is having this issue?
Hydrogen
What version of that package or tool are you using?
2024.4.1
What version of Remix are you using?
2.9.1
Steps to Reproduce
Extend the CSP to allow frame ancestors:
  // app/entry.server.tsx
  const {nonce, header, NonceProvider} = createContentSecurityPolicy({
    frameAncestors: ['self'],
  });

Expected Behavior
The CSP should include:
frame-ancestors 'self';
Actual Behavior
Instead it's:
frame-ancestors 'self' 'none';
which logs this message in the browser console

Thanks for your reply! I meant to add the browser error (really it's just a warning) that I'm seeing.
I would expect that when overriding the frameAncestors, the default none wouldn't be included in the final header since I'm opting out of the default.
For the rest of the keys it makes sense to be additive, but in this case I think it shouldn't be applied.

@nkgentile thank you for the image, with that warning message it definitely seems worth it for frameAncestors to override none.
I can wipe up a PR in a few days. In the meantime if you are interested in contributing, the changes should be in https://github.com/Shopify/hydrogen/blob/main/packages/hydrogen/src/csp/csp.ts#L132-L141


[Docs]: Want to Add Folder which will Contain Different questions related to topic And their Solution #351

Added a Practice_Question Folder Which consist of 3 category problems and their solution

Do not push node_modules folder

Okay I will delete it

hey @subhadipbhowmik  its should be good Now.

Hey @subhadipbhowmik can you review this pr..


stderr  - file(s) not on client.

Edit file in vs, cant check out it.
issue :
stderr: xxxx.cpp - file(s) not on client.

Not heard anything back, closing for now.


Really nice work!!!

Amazed to see the overcooked ai simulator.

Thanks for checking out the engine! Let us know if you run into any problems.


classifier guided diffusion

In the paper it is mentioned that "An advantage of
our approach is that diffusion can be directly guided by function classifiers that operate in sequence space. We first
sought to guide the network with the DeepGOPlus Gene Ontology (GO) classifier36 to generate proteins with specific
characteristics and functions. Although GO classification scores increased with guidance for nitrogen compound
metabolic process (GO:0006807) and membrane (GO:0016020), we found the classifier had a high false positive rate
often assigning high scores to native sequences outside the GO domain (Figure S10)."
I wonder where is this classifier guidance implemented? I can't seem to find it in the code. If I want to try other classifiers with your code, where should I add the gradients to? Thanks

in the utils folder there is a potentials.py file where all of the potentials are located, you can incorporate your own classifer into here. In the sample generation loop, after the sequence is passed through the model the potential function is queried. If you need more help implementing let me know and I am happy to help!

Hi,
Pseudo-code for this would be helpful as well, with regards to sequence-level guidance. Thank you!


Create an example using Unity

To make it extra easy for people to see how this can be included into any existing applications, try adding it to a Unity project.

To do this, the FosterScript.Core project would need to be compiled to .NET Standard 2.1 or something. Need to look further into it.
Considering remaking it all in C++ right now and use it with UE5 instead as an example of how it can be used.


[#382] Update MarionetteJS.com screenshot

We leave screenshots as-is, but do refeature sites once they've redesigned (see Atom for example)


Upgrade Go to 1.18

Why

Go 1.18 was released last month, let's upgrade to use it.
https://go.dev/blog/go1.18

Who Benefits?
Developers

@hoangmirs I assigned it to you since you are working in it


[BLE] ESP32S3 reporting ESP32C3 library malloc failure (IDFGH-9934)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
after updating v4.4 to 7eba5f80027e1648775b46f889cb4d9519afc965
it's impossible to start the BLE anymore on our devices for provisioning.
The reported error follows:
I (13:25:12.663) prov_BLE: Provisioning started
E (13:25:12.664) BLE_INIT: Malloc failed
I (13:25:12.664) processor: Button pressed for 5147 ms!
E (46592) BT_HCI: CC evt: op=0x2008, status=0x7
E (13:25:12.680) BLE_INIT: Malloc failed
E (46608) BT_HCI: CC evt: op=0x2009, status=0x7

which, from looking into components, it's part of the ESP32C3 bluetooth stack.
we use ESP32S3.

source of the change is c0efc250492ff8a00a309344e6cc128197db714a
please notice that we didn't change memory consumption and now are not able to run bluetooth anymore.


Support for publishing/importing pre-release packages of Protocol Buffer files

I'm wondering if you have any thoughts or desires to support pre-release versions in the Protocol Buffer packages?
In our code workflows, we tend to align many of our Protocol Buffer packages with the source for the server software implementing a the defined service.  As such, we routinely publish pre-release versions of the software for testing in the ecosystem before a given release of that version.
For example, when NuGet versioning a feature to release:

4.1.7-alphamatthew-pro0004
4.1.7-rc0002
4.1.7

I don't think that buffrs currently supports pre-release suffixes like this but it might be helpful.  Presumably, #205 would be a precursor to this also?  Do you see any benefit in this?
Thanks.

Hi, there are currently plans to implement proper version resolution which would likely contain the support for this! I unfortunately don't have a ETA on this as of right now!

I checked out the code this afternoon and it looks like this one has been implemented (i.e semver crate supports it and it looks integrated everywhere).  I ran a few tests and it seemed to behave as I'd expect using a build of the main branch.
Does this sound right to you?  Would it help if I looked at updating the documentation?


Use updated link in setup.cfg

[ ] Tests added / passed
[ ] Passes black dask / flake8 dask

Thanks @ZhengnanZhao !


Frontend Axios CSRF token sent for GET requests

Axios sends the CSRF token (X-XSRF-TOKEN header) for each request, even if the request is a GET. This should be avoided since idempotent requests do not require it

Spring Security already discards the sent token, so it is an excessive operation for the security requirements of this app to do this


How to change underscore naming styles?

The only instance of the word "underscore" is to mention that it's possible to set whether a name should start with an underscore, but the page doesn't explain how to change the style rule.

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

ID: 8cfcd87a-a475-5fcf-2344-2b3a706a4b6d
Version Independent ID: 95aa3bbf-7621-2064-f9d0-55105d55ee7e
Content: Code-style naming rules - .NET
Content Source: docs/fundamentals/code-analysis/style-rules/naming-rules.md
Product: dotnet-fundamentals
GitHub Login: @gewarren
Microsoft Alias: gewarren

@zivkan What is the naming style you want with respect to underscore characters? You can require it as a prefix or suffix, or as the word separator. These styles are listed here: https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/naming-rules#naming-style-properties.

After a lot of head scratching, and reading other teams editorconfig files, i think I roughly understand what needs to be done. I've had too many meetings today to try it yet.
My feedback is that this is a very complex feature, even for experienced .NET devs, for someone who has never hand edited an editorconfig file before.
I think more examples, at least one that actually uses required_prefix, that would help.

I agree that these naming rules are very confusing!

@zivkan

A .NET naming rule has three parts: symbol group, style and severity. In other words, you're saying "symbol x  must have the style y applied to it; otherwise report it as a warning/error/info message (severity)".
To define an entity -- a symbol group, style, or complete naming rule -- you set one or more properties. Property settings are grouped together into entities based on the kind of entity, and the common entity name (AKA title).
Which properties you can set depends on the entity kind -- a symbol groups has certain properties, a style has others, and the naming rule has still others.

For example, in order to define a rule that private members must begin with an _, and if they don't it should be reported as an error, you could do the following:

Define your symbol group, using private_members as the title:
dotnet_naming_symbols.private_members.applicable_kinds = *
dotnet_naming_symbols.private_members.applicable_accessibilities = private

Then, define your style, using underscore_prefix as the title:
dotnet_naming_style.underscore_prefix.capitalization = camel_case  # This is a required property value
dotnet_naming_style.underscore_prefix.required_prefix = _

Lastly, define the naming rule with the title private_underscore_prefix, and referencing the above entities:
dotnet_naming_rule.private_underscore_prefix.symbols = private_members
dotnet_naming_rule.private_underscore_prefix.style = underscore_prefix
dotnet_naming_rule.private_underscore_prefix.severity = warning

Having said all that:

Does that make things clearer?
How would you change the documentation to better express this?

@zspitz that does help, thanks!  I also owe you all an apology.
I think a big part of my confusion was that I was rushing and stressed trying to fix a CI failure blocking my entire team. After the CI agent appears to start installing the .NET 6 SDK without the .NET Core 2.1 runtime, our existing CI scripts started failing, and I was trying to unblock my team and get a green build quickly. In the end I removed dotnet format from our CI scripts for a different reason, making fixing this naming rule less time critical.
Anyway, given the complexity of this feature, I'm not sure how to improve the docs to help lazy customers such as myself who are looking for a sample to copy, paste, then only make minor edits. However, now that I'm reading the docs more slowly and carefully, plus what I read last week had time to "sink in", it no longer feels as complex as I previously thought.
For what it's worth, what's clicking with me now but not last week is exactly what you wrote in your first dot point. The rule references a symbol and style that is defined earlier. The three things (symbol, style, rule) are all required, but two are like variables referenced by the third. But I'm guessing this means the symbol and style can be used by multiple rules, which is why there's a benefit to handing the three different "kinds", rather than just one. When you re-use, the total lines in your editorconfig file is significantly reduced. The worst part is when I look at the docs again and read it more slowly, this is explained at least 3 times, but in my rush and panic to fix my team's build, I just didn't get it last week.
If I had a time machine, I'd stop myself creating this issue. I messed up. Sorry.


Add option to ignore NODE_ENV in environment files resolutions.

Description
Solves issue described here https://github.com/neverendingqs/serverless-dotenv-plugin/issues/150
Checklist

[x] CHANGELOG.md
[x] README.md
[N/A] Unit tests
[x] Consider performance implications
[x] Consider security implications

Exploratory Test Notes

Thanks. I am looking to discuss https://github.com/neverendingqs/serverless-dotenv-plugin/issues/150#issuecomment-787538015 before reviewing.


add @fss.u-sfax.tn to the list of university emails

Name:
Faculte de sciences de sfax
Website:
https://fss.rnu.tn/
Emails
@fss.u-sfax.tn
Used by:
Students
Level:
University

@Med-salem-Guenaya Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Catastrophically slow usage of OpenMP

I came across this fragment of code:
https://github.com/Cytnx-dev/Cytnx/blob/fa4596e1620cc304f698286905818a2118b2bd8e/src/backend/linalg_internal_cpu/QR_internal.cpp#L23-L28
This is a misuse of OpenMP. As discussed in #511, OpenMP with schedule(dynamic), without specifying a chunk size, does a single iteration of the loop in each thread. It is intended for cases where each iteration does a significant amount of work that may take a variable amount of time.  It is not appropriate to use schedule(dynamic) in loops where the iterations will take a fixed amount of time.  Also, if you use schedule(dynamic), unless each iteration takes a very long time, you should set the chunk size, eg
#pragma omp parallel for schedule(dynamic,100000)

The effect of using schedule(dynamic) on a tight loop is catastrophic. From the Fill example discussed in #511,

Benchmark
Time (ms)

FillCpu
1.20837

FillCpuStatic
1.6324

FillCpuDynamic
278.007

FillCpuDynamicChunk
1.8086

As this benchmark shows, there really isn't a useful benefit from using OpenMP at all in memory-bound tight loops such as the above; at best you get a few percent improvement even with lots of threads. That particular example is a reimplementation of BLAS dcopy anyway, and it is hard to imagine N ever being large enough to benefit from hand-optimization (the QR decomposition is $O(N^3)$, so speeding up an $O(N)$ loop won't do much). But using schedule(dynamic) means the loop will be running ~ 200x slower.
On further checks, the string schedule(dynamic) appears 2360 in the codebase.  I checked a random sample of 10 of these. 7 of them were definitely erroneous, with code essentially identical to the fragment above.  The remaining 3 are most likely erroneous, but might benefit from OpenMP if done carefully (they were also 3 copies of the same code fragment, that probably should be a helper function).  To confirm, I checked an additional sample of 10, with the same mix of 7 definitely erroneous, and 3 likely erroneous.
It looks like there is some attempt to have some benchmarks in the bm_tests/ directory, but it looks like it is disabled in CMakeLists.txt.  Is there a way to build the benchmarks?
I honestly don't know what to do here.  Some options:

use sed to remove all #pragma omp lines that contain schedule(dynamic)
use sed to replace schedule(dynamic) with schedule(static)
Check by hand every use of schedule(dynamic).  For 2360 occurrances, of which statistical analysis suggests approximately 100% will need modifying, this will take time time.

I think my preferred option is probably the first (remove all #pragma omp lines that contain schedule(dynamic)), and then (1) get the benchmarking infrastructure working, and (2) every useage of OpenMP is accompanied by a benchmark that demonstrates a useful speedup.

The benchmark code used above:
// compile command: g++ -std=c++17 -fopenmp -O3 -o fill fill.cpp && ./fill 1000000 4

#include <iostream>
#include <iomanip>
#include <chrono>
#include <vector>
#include <cstdlib>
#include <omp.h>

using namespace std;

// from https://github.com/google/benchmark/blob/62a321d6dc377e0ba9c712b6a8d64360616de564/include/benchmark/benchmark.h#L525
template <class Tp>
inline void DoNotOptimize(Tp& value) {
#if defined(__clang__)
  asm volatile("" : "+r,m"(value) : : "memory");
#else
  asm volatile("" : "+m,r"(value) : : "memory");
#endif
}

template <class Tp>
inline void DoNotOptimize(Tp&& value) {
#if defined(__clang__)
  asm volatile("" : "+r,m"(value) : : "memory");
#else
  asm volatile("" : "+m,r"(value) : : "memory");
#endif
}

template <typename DType>
void FillCpu(DType* first, DType value, size_t count) {
  for (int i = 0; i < count; ++i) {
    DoNotOptimize(first[i] = value);
  }
}

template <typename DType>
void FillCpuStatic(DType* first, const DType &value, size_t count) {
   #pragma omp parallel for schedule(static)
   for (int i = 0; i < count; ++i) {
      DoNotOptimize(first[i] = value);
   }
}

template <typename DType>
void FillCpuDynamic(DType* first, const DType &value, size_t count) {
#pragma omp parallel for schedule(dynamic)
  for (int i = 0; i < count; ++i) {
    DoNotOptimize(first[i] = value);
  }
}

template <typename DType>
void FillCpuDynamicChunk(DType* first, const DType &value, size_t count) {
#pragma omp parallel for schedule(dynamic,100000)
  for (int i = 0; i < count; ++i) {
    DoNotOptimize(first[i] = value);
  }
}

struct BenchmarkResult
{
  std::string Name;
  std::chrono::duration<double> Time;
};

std::ostream& operator<<(std::ostream& out, BenchmarkResult const& x)
{
  return out << "Total time for " << x.Name << ": " << (x.Time.count()*1000) << " milliseconds";
}

std::vector<BenchmarkResult> AllResults;

void ShowAllResults()
{
  cout << "\n| Benchmark            | Time (ms) |\n";
  cout <<   "|----------------------|-----------|\n";
  for (const auto& result : AllResults) {
    cout << "| " << std::setw(20) << result.Name
         << " | " << (result.Time.count() * 1000)
         << "     |\n";
  }
}

template <typename TestFunc>
void Benchmark(std::string Test, TestFunc f, int num_iterations)
{
  cout << "\nTesting " << Test << "..." << endl;
  auto start = chrono::high_resolution_clock::now();
  for (int iter = 0; iter < num_iterations; ++iter) {
    f();
  }
  auto end = chrono::high_resolution_clock::now();
  const std::chrono::duration<double> total_time = end - start;
  BenchmarkResult R{Test, total_time/num_iterations};
  AllResults.push_back(R);
  cout << R << endl;
}

#define BENCHMARK(Func, numiter, ...) \
Benchmark(#Func, [&]() { Func(__VA_ARGS__); }, numiter)

int main(int argc, char** argv) {
  if (argc < 3) {
    cout << "expected: fill <count> <threads>\n";
    return 1;
  }
  int count = atoi(argv[1]);
  int nthreads = atoi(argv[2]);
  omp_set_num_threads(nthreads);
  int num_iterations = 10'000'000'000ll / count;
  cout << "Using " << num_iterations << " iterations." << endl;
  int *ptr = reinterpret_cast<int *>(malloc(sizeof(int) * count));
  int value = 10;

  BENCHMARK(FillCpu, num_iterations, ptr, value, count);
  BENCHMARK(FillCpuStatic, num_iterations, ptr, value, count);
  BENCHMARK(FillCpuDynamic, num_iterations/100, ptr, value, count);  // reduce iterations -- it is too slow otherwise
  BENCHMARK(FillCpuDynamicChunk, num_iterations, ptr, value, count);

  ShowAllResults();
}

I'd love to see the legacy uni10 code being replace and its nice finally someone starting to working on it. Yes. This is one of the issue that rooted there for a while and we lacking of bandwidth to work on it.

Remove UNI_OMP completely?

Remove UNI_OMP completely?

Yes, at this moment.


Add On License Differences

Looks like the new add on licenses are either "Domestic" OR "International" rather than a license that does both. So you would need to assign each license if you wanted both.

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

ID: 243fa83d-b7bf-323a-a14a-026915d3d058
Version Independent ID: fd4a310b-3144-4a8b-1bde-c2efd0c87377
Content: Calling Plans for Microsoft 365 - Microsoft Teams
Content Source: Teams/calling-plans-for-office-365.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@leethomas787 thank you for pointing this out and helping improve Microsoft Docs. There was another issue mentioning that after a Common Phone license was purchased they were able to go back and purchase a Domestic license for the plans. Please let me know if this helps or if you suggest adding a note for clarity to the article.

Sorry, my suggestion is that the image shows a "Domestic and International - joint plan" this does not show when you go to licensing in 365 - Only single Domestic or International plans. Some customers may find that confusing!


The rest of the Python Beta API

This is ready for review but will have to be reformed following the integration of the other outstanding Python pull requests - applying DO NOT MERGE for now.

Is this something I should be combing through despite the 'DO NOT MERGE'-commit in there?

Yes, please.

Python is green; this now depends on #3146, #3147, and #3149 but is ready for review now.

This fixes #163, #2527, #2616, and #2636. :-)


Reconcile HttpHeaders representation in Azure Core

OperationDescription has a member variable headers that is a Map<String, String> while HttpRequest has a member variable headers that is a HttpHeaders object. Additionally, in a few location HttpHeaders are deconstructed into a Map<String, String> and later regenerated as a HttpHeaders object.

Closing this as it is okay for these representations to be different as they serve different use cases.


JSON tree shaking is not supported

Type of issue
bug
Description
Add import {version} from '../package.json' to get version from package.json and use it, but whole package.json is included in js bundle. Same code without fusion only version is imported and tree shaking works well.
Current behavior
Whole json file is included in js bundle.
Expected behavior
Only imported property should be imported.
Steps to reproduce

Add import {version} from '../package.json' to your code and use it.
yarn build-production the whole json file is included in js bundle.

Your environment

fusion-cli version: 1.9.1

Node.js version (node --version): 8.11.3

npm version (npm --version): 5.6.0

Operating System: Mac

I think this is technically a breaking change. This will be supported in the next major fusion-cli version.
See: https://github.com/fusionjs/fusion-cli/pull/509


FreeRDP Freeze

Describe the bug
The application freeze.  A reboot or shutdown of the clien OS is not possible, you have to do a hard reset.
To Reproduce
It's hard to reproduce.

Start freerdp to connect to azure virtual desktop
/opt/FreeRDP/freerdp-3.0.0-dev4-Linux-x86_64/bin/xfreerdp /home/user/wvd_files/MSP.rdpw /u:user@domain /sec:nla /cert:ignore +clipboard /gateway:type:arm /network:auto /rfx /gfx:avc444 /dynamic-resolution
After a bit of work in the AVD the sessom freeze. Mostly it freezes if I open the grafana UI with the firefox browser in the login screen.

I now, this are not many information. I tried to debug a bit more (see below).
If someone can give me some hints to create better information to debug, let me know and I will try to reproduce the problem.
Application details

FreeRDP version: 3.0.0-dev4 (a94e14fb2)
OS version connecting to (server side): Azure virtual Desktop
Compiler options: cmake -GNinja -DCHANNEL_URBDRC=ON -DWITH_DSP_FFMPEG=ON -DWITH_WEBVIEW_QT=ON

Environment (please complete the following information):

OS: Linux
Version/Distribution: Fedora 38
Architecture: amd64

Additional context
I tried to get some information.
As the problem occurs, the debug log was open:
[11:47:14:137] [7794:00001e73] [ERROR][com.freerdp.channels.cliprdr.client] - [cliprdr_packet_send]: VirtualChannelWrite failed with CHANNEL_RC_BAD_CHANNEL_HANDLE [00000007]

Process State:
[user@tpluser ~]$ grep Stat /proc/7794/status
State:	S (sleeping)

Now I tried to kill the process but before that, I started a strace on the process and read the process status:
Normal Kill
Command:
kill 7794

Strace:
restart_syscall(<... resuming interrupted read ...>) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=11622, si_uid=1000} ---
getpid()                                = 7794
gettid()                                = 7794
write(2, "[11:49:01:532] [7794:00001e72] ["..., 115) = 115
getpid()                                = 7794
gettid()                                = 7794
write(1, "[11:49:01:535] [7794:00001e72] ["..., 133) = 133
getpid()                                = 7794
gettid()                                = 7794
write(2, "[11:49:01:536] [7794:00001e72] ["..., 128) = 128
write(2, "000B]\n", 6)                  = 6
write(8, "\1\0\0\0\0\0\0\0", 8)         = 8
getpid()                                = 7794
gettid()                                = 7794
write(1, "[11:49:01:536] [7794:00001e72] ["..., 134) = 134
newfstatat(AT_FDCWD, "/tmp/com.freerdp.client.cliprdr.7794",

Process State:
[user@tpluser ~]$ grep Stat /proc/7794/status
State:	S (sleeping)

Kill -9
Command:
kill -9 7794

Strace:
No further changes
Process State:
[user@tpluser ~]$ grep Stat /proc/7794/status
State:	D (disk sleep)

indicates your os or hardware are buggy
Normally I would agree. But only freerdp freeze my client. All other programs and the os are working fine.

indicates an issue with fuse, so does this also happen with -clipboard?
Well, that's a point. I will test it and give you feedback shortly.

Is there a tool, which helps me to give you more information about this issue?

@Mordecaine you might try sdl-freerdp as an alternative frontend?
but no, no tool comes to mind except maybe a debugger (gdb --args /opt/...)

@Mordecaine you can also shorten to /opt/FreeRDP/freerdp-3.0.0-dev4-Linux-x86_64/bin/xfreerdp /home/user/wvd_files/MSP.rdpw /u:user@domain /cert:ignore /gateway:type:arm /dynamic-resolution (the rest is default)

@Mordecaine you might try sdl-freerdp as an alternative frontend? but no, no tool comes to mind except maybe a debugger (gdb --args /opt/...)

Yes. To be honest, this was my first choice. The problem here was, that the window from the AVD was too small, and I was not able to change that.
It looks like this:

A reboot or shutdown of the clien OS is not possible, you have to do a hard reset. indicates your os or hardware are buggy

newfstatat(AT_FDCWD, "/tmp/com.freerdp.client.cliprdr.7794",  indicates an issue with fuse, so does this also happen with -clipboard?

The problem no longer occurred with -clipboard
But tomorrow I will try to reproduce the problem with the debugger.

@Mordecaine hmm, the sdl-freerdp issue is interesting, have hearded rumors but nobody could provide a full set of details for the connection / system (most - all ? of these were on arch) and I could not reproduce such behaviour on debian nor fedora.
as for the -clipboard, I guess then it has to do with FUSE filesystem not being properly unmounted for some reason, but wlfreerdp is on the deprecation list, so don´t expect too many changes except minor bugfixes. better use xfreerdp instead until sdl-freerdp is major enough to replace it.

Of course. Here is the rdpw file:
gatewayusagemethod:i:1
gatewayprofileusagemethod:i:1
authentication level:i:1
gatewaybrokeringtype:i:1
wvd endpoint pool:s:5249e0f7-6c95-44bc-a45a-0d756be8ffe2
geo:s:EU
armpath:s:/subscriptions/********-****-****-****-************/resourcegroups/rg-***-************-mnl01/providers/Microsoft.DesktopVirtualization/hostpools/hsp-***-**-**-mnl01
aadtenantid:s:********-****-****-****-************
full address:s:rdgateway-r1.wvd.microsoft.com
alternate full address:s:rdgateway-r1.wvd.microsoft.com
diagnosticserviceurl:s:https://rdweb-g-eu-r1.wvd.microsoft.com/api/arm/DiagnosticEvents/v1
hubdiscoverygeourl:s:https://rdweb-g-eu-r1.wvd.microsoft.com/api/arm/hubdiscovery?resourceId=5249e0f7-6c95-44bc-a45a-0d756be8ffe2
resourceprovider:s:arm
loadbalanceinfo:s:mth://localhost/5bc287a8-3180-4319-adf1-49e0252c832f/5249e0f7-6c95-44bc-a45a-0d756be8ffe2
workspace id:s:c3478746-bdd7-4bcc-8ed9-79a2a0db0c2f
gatewayhostname:s:afdfp-rdgateway-r1.wvd.microsoft.com:443
activityhint:s:ms-wvd-ep:5249e0f7-6c95-44bc-a45a-0d756be8ffe2?ScaleUnitPath={"Geo"%3a"EU"%2c"Ring"%3a1%2c"Region"%3a"westeurope"%2c"ScaleUnit"%3a100}
promptcredentialonce:i:1
gatewaycredentialssource:i:0
remoteapplicationprogram:s:||2662e847-d15c-4c3e-88ed-08d922ffa0b2
remotedesktopname:s:MSP Desktop P1
remoteapplicationmode:i:0
drivestoredirect:s:*
audiomode:i:2
videoplaybackmode:i:1
redirectclipboard:i:1
redirectprinters:i:1
devicestoredirect:s:*
redirectcomports:i:1
redirectsmartcards:i:1
usbdevicestoredirect:s:*
enablecredsspsupport:i:1
use multimon:i:1
[...]

At the end of the file are only the options signscope and signature. If you need this information, let me know.

@Mordecaine thank you. no, you can mostly ignore signscope and signature (that is mostly just a feel good thingy)


Shows context with dir and removes prompt_context

I guess it makes sense to have user/machine on a different segment, and you can achievement that same result using the same colors on the context and dir segments.
You ok with that?

The reason I used name@host:path is because you could then copy/paste the path directly to scp. We could colorize parts of the path to make it more readable without detracting from scp-friendly paths.

Just tested your new pull request.
Thanks again for the work.
Your idea makes a lot of sense, but i really like to have a user@machine in a different segment as well.
Maybe we should try to do both cases?
Or just add your case to the segment dir and let the context segment untouched.
What you think?

@caiogondim I've updated the PR. Now prompt_context stays in place. I've added an option BULLETTRAIN_DIR_CONTEXT_SHOW that adds the context to the path.

Awesome work again! Merged.


Error messages (36)

JSON:
"ABC__SlicingIndex__DEF" : 1
Outcome:
Error: 'The JSONP content contains a reserved token '__SlicingIndex__'. It cannot contain any of reserved tokens: JPavoidDataType_, __handleColonsInLine__, __handleNestedParamInLine__, __handleDuplicatedKey__00, __handleDuplicatedKey__, __ConvertParameterToString__, __IndexOfList__, __SlicingIndex__, __StringValueMake-up__.'!
Please shorten this error message, it's too long winded.
Recommendation:
Reserved keyword '__SlicingIndex__' found in expression "ABC__SlicingIndex__DEF", but is not allowed to be used. Please remove.

Hi @HolQue ,
the use-case is very rare and consequence would be more code, because you need a specific error message per reserved keyword.
Therefore:
Message is O.K. for me.
Thank you,
Thomas

Hi Thomas,
we discussed already in last team meeting that at least the "It cannot contain any of reserved tokens: " part should be removed. For me this part completely makes no sense - even in case of the usecase is rare. And the outcome of the removal would be less code.

Hello Holger,
I updated the error message in this case:
Exception: The JSONP content contains a reserved token '__SlicingIndex__'
Thank you,
Son

Retest successful. Issue can be closed.

merged for version 0.13.1


Make external_dependency error like it is supposed to.

There are a couple of changes

There were a couple of PRs that changed this behavior. The first removed the exception that was supposed to be thrown if an external dependency could not be found, instead of throwing it silently continued. The second removed the continue which caused the dependency to get replaced with whatever dependency it had previously replaced resulting in a completely incorrect dependency tag for the dependency. With these changes, the script now throws.
When doing replacements, save up all of the errors encountered and report them at the end of the processing. This makes all of the errors easier to find. Previously an error was reported when it was encountered but considering there's a lot of output, they could get lost. Also, if an error is encountered, ensure that we're exiting with a non-zero exit code (sys.exit will exit with 1 unless otherwise specified).

/azp run java - template


mWeb - Workspaces - Search bar in invite members not focused after selecting an account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

login to staging new dot
Go to workspaces and  open members
Click on invite and search for a user
Select one user from search list
Observe that the search bar isnt focused after selecting the account

Expected Result:
Search bar should be focused
Actual Result:
Search bar is not focused
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: v1.3.61-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/5c943e6d-22c1-4e54-a56a-75b47571a62b
https://github.com/Expensify/App/assets/115492554/2c0d1f4e-30c9-48ef-81e3-a767c0087307
Expensify/Expensify Issue URL:
Issue reported by: @sofoniasN
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692765481977729
View all open jobs on GitHub

This is expected behaviour (got a buddy check from @jliexpensify who agrees). If you think this should change, please suggest this as a feature request.


TW Presidential Hackathon

A/B Street is participating in the Taiwan presidential hackathon! The new "ungap the map" bike network tool is our focus, as a way to help citizens & advocacy groups push governments for alternatives to driving in cities. The tool is related to SDG 11 and SDG 13. The demo is at: http://abstreet.s3-website.us-east-2.amazonaws.com/0.2.56/abstreet.html?--ungap&system/us/seattle/maps/aurora_central.bin
I'll use this issue to organize project management.
Work plan
Summarizing from a spreadsheet, subject to change:

19-27 Aug: Prep for the Aurora workshop at Lantern: #725.
30 Aug - 3 Sept: Address UI feedback so far, improve road editor
6 - 10 Sept: Proposal sharing
13 - 17 Sept: Flesh out the routing tool, and work on mode shift #448 to predict how many driving trips might change if infrastructure is built
20 - 24 Sept: Add basic carbon emissions modeling
27 Sept - 1 Oct: Deploy to more cities. Depending on connections we can make, Tempe, NYC, and Taipei are possibilities.
4 - 8 Oct: Improve performance of tool, especially on the large Seattle-wide map
11 - 14 Oct: Write documentation, prepare for final demo, catch up on any final polishing needed.

Feedback from judges
Two people mentioned tying the work into climate change more directly:

"The stackholders can analyze the carbon saved by this platform"
"-No use or generate of data on climate change. (traffic data is used instead) A suggested improvement would be to calculate the carbon emission reduction from the proposed change. (calculate measurable impacts)"

And in response, I think I'll prioritize "testing" somebody's proposed bike network by

Seeing how many short driving trips would make use of new infrastructure - #448
Adding a basic carbon emissions model and estimating savings from people making different travel choices

Tasks
I'm bad at keeping TODO lists in one place, but I'll try to consolidate here. These come from #725 and https://github.com/a-b-street/abstreet/projects/12...
Solidify map model

[ ] Make progress on snapping cycleways, #330
[ ] Write up an article clearly explaining the snapping problem, to communicate to the OSM community better
[ ] Consider merging divided highways like Aurora into one object with an explicit median, so proposals can consider the entire right-of-way width

Road editor UI

[ ] More lane width pre-sets, probably based on NACTO
[ ] Individual edits are slow -- adjusting lane width using the spinner really reveals this
[ ] Consult with Yuwen about ideas to simplify the controls, like making lane types a dropdown or hiding the "add new lane" while selecting a current lane

Explore mode

[ ] Improve color scheme for showing hierarchy of bike lane types
[ ] Improve highlighting of road types
[ ] Show elevation data while zoomed in?
[ ] Possibly add a layer with historic collision data
[ ] Bug: Opening previous proposal has error message sometimes

Create new bike lanes tool

[ ] Click and drag control to paint?
[ ]  Be more clear that the "create new lanes" tool will only modify existing lanes, not expand width. Need a clear error state. And make sure it doesn't expand width -- parking -> bike lane + separators currently looks too wide.
[ ] Test everything in left-handed maps

Plan a route

[ ] Just click to add waypoints
[ ] Let user set their preferences, probably based on some tuned pre-sets (avoid hills, avoid stressful roads, bravely blaze through anything to be fast)
[ ]  Automatically show alternate routes (the slow-but-safe route, vs the direct-but-scary route)
[ ] Show how the route could change with a proposal?
[ ] Watch the route: just animate somebody walking/biking/driving along the route, using the traffic sim, and follow along
[ ] Save routes that the user draws, and browse them later. The user thinks of these as "test cases"

Sharing proposals

[ ] Get the "share URL" function working end-to-end... update the URL correctly
[ ] Find a cheaper SQL host
[ ] Get a manual moderation workflow working
[ ] Add a "browse proposals" UI

Advocacy

[ ] Test the tool end-to-end by mocking up Seattle's basic bike network
[ ] Mock up my own ideas for extensions to the network
[ ] Ask SNG to use this for their "ungap the map" campaign
[ ] Establish a connection with NYC / TransAlt

Status update from week 2
The original plan was to address the most urgent UX feedback from the workshop. Some of that has happened:

#744 fixed the confusing highlighting and made road labels always legible
Adding waypoints when drawing a route is now just done by clicking

While I was fixing up the route tool, I started on some stuff from week 4:

Saving routes, so the user can define them as "test cases," then edit the bike network, and see how things work before/after
Showing elevation along the route both on the map and in the line plot

And I started digging into performance issues and trimming down the size of the region-wide maps in #746. I think there's some invasive refactoring work there that I want to work on early...
And finally, I spend lots of time writing up a project demo reel & retrospective and an article diving into one of the hardest problems A/B Street tackles, making intersection geometry. These aren't directly related to the hackathon, but are increasingly vital for the project's long-term health -- I want other people to understand how tricky parts of the code work.
The stated plan for week 3 is proposal sharing. Due to an upcoming conference deadline, I will spend more time writing docs/articles, and also keep pushing forward this performance and route tool work. I think the m.v.p. for sharing shouldn't take more than a day or two anyway.
I'll update with a link to the new web version when I release tomorrow. But some of the new features in the route tool are demoed below:

Status update from week 3
I got fairly off-track this week due to interviews and preparing for a talk at the SUMO conference tomorrow. I wound up writing 3 things this week, not directly related to the hackathon's scope, but again useful for ensuring the project could continue without my knowledge.

Slides for the SUMO conference: https://docs.google.com/presentation/d/1_xaR0LQCkZVhcxIep1YgzWm18NVxhGwZVHh-tNfDpjY/edit?usp=sharing
A deep dive into generating intersection geometry. Nearly ready to widely publish this! https://a-b-street.github.io/docs/tech/map/geometry/index.html
A deep dive into how the movement in the traffic simulation works: https://a-b-street.github.io/docs/tech/trafficsim/discrete_event/index.html

Direct work on the bike network tool from this week included a huge breakthrough for performance after editing the map (#748) and some help from Michael polishing the route tool (#751). New build at http://abstreet.s3-website.us-east-2.amazonaws.com/0.2.58/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin
The plan for this week is to continue on the routing tool and mode shift. I hope to focus on code, not writing, this week finally! I'll also pay down the debt of sharing map edits from last week.

Status update from week 4
Falling slightly behind the original schedule, but I've never been great at predicting when things will happen. A fair bit happened this week -- the routing tool got lots more detail added and better management of saved routes. There were some more performance improvements, for pathfinding and for serving the website through a CDN. The quick-sketch tool now works in the UK and other left-handed maps. And, unrelated to the bike network tool, I published the article about intersection geometry and got quite a strong response online.
Also, yesterday I attended DemocracyLab's national day of civic hacking and had the pleasure of 3 people joining for the day to work on the tool! Mara redesigned the route tool, pretty much solving the UX problems with the panels covering up the map: https://www.figma.com/file/6WMaKr49CHCHv5B98Ytmli/Map?node-id=0%3A1

And Jennifer started helping with the quick sketch tool, finding lots of problems where the automated changes would actually require repaving the road and changing its curb-to-curb width. There's a design to deal with this problem more clearly:
https://www.figma.com/file/TrOmz7fq53l80yNHUelLgt/AB-street-mockups?node-id=0%3A1

So I guess this week my priorities are:

Take the next steps on the mode shift tool and integrate it to the bike network UI. I'm now understanding this as a sort of "large-scale test case" for the user's proposed bike network. The existing route UI is the "small scale" test.
Then use the results of the mode shift to calculate carbon savings. I'm hoping this is just a matter of plugging in total mileage into a formula and making some reasonable guesses about vehicle types.
Implement Mara's designs
If there's time, catch up on the proposal sharing work.

Status update from week 5
I made lots of progress on first 3 tasks from last week -- most notably, the tool now looks at an existing travel demand model and predicts how many people will switch from driving to biking, and what that looks like in terms of CO2 emissions. There are loads of assumptions in this calculation, but the tool exposes a way to interactively tune these parameters.
Try it out: http://play.abstreet.org/0.2.60/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin
Watch a ~10 min (very unedited) demo of the tool so far: https://www.youtube.com/watch?v=o6_SGzIYwLk
I also started a very simple prototype of a related tool to help UK cities plan low-traffic neighborhoods to reduce rat running.
Try it: http://play.abstreet.org/0.2.60/abstreet.html?--ltn&system/gb/leeds/maps/north.bin
Quick video explanation: https://www.youtube.com/watch?v=l_klZxlKmXU

Status update from week 6
The FOSS4G conference and more interviews ate most of my time this week. I did implement alternate low-stress or low-hill routes, and then started down the rabbit hole of #763 to pay down technical debt for how complicated it is to manage selection and dragging for different waypoints and alternate routes.
New build: http://play.abstreet.org/0.2.61/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin
With 2 weeks left, ordered priorities become:

Get the absolute mvp for sharing proposals working (although I'd really like to properly work on #765)
Use the tool myself and record a bunch of example network extensions, and not get too distracted by all the adjustments to how the tool works that I'll inevitably imagine...
Make progress on #746. The mitigation if this falls through is just asking people to download the tool and run locally. It's only a big problem in the web version.
Start writing all the final deliverable system docs
Keep polishing UI -- Michael's alternate route feedback, the mode shift page, route details particularly


sdm845: nx606j: ACPI: Use the correct panel

Description
[Description of the changes you are submitting]
Checklist

[ ] Have you tested the change you are submitting?
[ ] Is the commits history nice and clean?

Hi,
I don't quite know what's happening here, but here are some tips :D
You can mark the PR with "!Draft:", and the PR won't be merged until the mark is removed. Then you don't have to close & reopen PRs, but just force push new commits into your branch


Browser keeps refreshing with multiple entry points/configurations

Operating System: Windows 7
Node Version: 6.10
NPM Version: 5.3.0
webpack Version: 4.6.0
webpack-serve Version: 1.0.2

This issue is for a:

[x] bug
[ ] feature request
[ ] modification request

Code
This the webpack-serve API code.
const config = require('webpack.config')
serve({
 config,
 logLevel: 'trace',
 dev: {
   publichPath: '/'
 },
 add: (app, middleware) => {
   middleware.webpack();
   middleware.content({
      index: 'index.html'
   });
 }
});

webpack.config.js
module.exports = [
  {
     entry: {
       index: [path.resolve(__dirname, 'app.js')],
     },
     mode: 'development',
     output: {
       filename: 'output.js',
     }
  }
  {
     entry: {
       index: [path.resolve(__dirname, 'iframe-app.js')],
     },
     mode: 'development',
     output: {
       filename: 'iframe-bundle.js',
     }
  }
]

<!-- index.html from where I serve my bundles -->

<html>
  <body>
      <iframe src="http://localhost:8080/iframe.html">

      </iframe>
     <script src="output.js"></script>
  </body>
</html>

<!-- iframe.html where I load the second bundle -->

  <div>
     <script src="iframe-bundle.js"></script>
  </div>

Expected Behavior
It should serve both bundles without refreshing the whole web page.
Actual Behavior
The browsers keeps refreshing every time the iframe gets rendered and loads the second output.
How Do We Reproduce?
I managed to have the same 'refreshing loop' by having two entry points that are loaded in the same page or by recreating a situation like mine (which could take longer).

Not sure how to fix this one to be honest. We'll probably need a minimum-reproducible repo to work on. This line https://github.com/webpack-contrib/webpack-hot-client/blob/master/index.js#L186 as well as this line https://github.com/webpack-contrib/webpack-hot-client/blob/276d9509577b8edd4df8e8d259a4a0ecf40efa3f/lib/client/index.js#L7-L9 should have prevented that from happening.


Global Secure Access commands #2

Additional Global Secure Access commands.

All ps1 files would do with proper indents.
The doc md files lacks Syntaxt section. Check this example for reference.

Formatting has been complete. Synopsis/syntax will be included in the next release.


Integration with MsBuild

The P# compiler doesn't know about MsBuild. Thus, it cannot do things like copy the App.config file to the binaries folder.

Resolved with 2401c4be01fc72d35d123ab90063cb3e67caa371
PSharpCompiler isn't necessary anymore to build.


Add make vet task

Description of Changes
Adds a make vet task, which runs go vet on each module, for each supported OS.
On my machine, fresh run takes about 1 minute, and a re-run takes about 25 seconds.
Please check that the PR fulfills these requirements

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] Add a changelog entry (for non-trivial bug fixes / features)
[x] CI passes

Log Files
Logs / Second
CPU Avg (%)
CPU Avg Δ (%)
Memory Avg (MB)
Memory Avg Δ (MB)

1
1000
1.7414219
-0.22411895
127.54378
-0.061828613

1
5000
5.879467
-0.18971968
135.27762
-2.540802

1
10000
12.517812
+0.27633572
142.81721
-0.89520264

1
50000
56.86264
-0.89775085
174.84254
+0.84106445

1
100000
113.094925
-0.443985
228.026
-1.3398438

10
100
2.3103821
-0.2759068
130.80118
-2.2384186

10
500
7.586339
+0.7412777
138.50229
-2.0480957

10
1000
14.086516
+0.15514469
146.02411
+0.27450562

10
5000
63.742733
+0.2797928
182.5955
+2.3826752

10
10000
129.89584
+5.52932
223.36409
+4.9633636


Create dbt-core-release-checklist

Description & motivation
Let's capture the important tasks for a release so we can provide a checklist for those who do this after us. 🎉
To-do before merge
Add all the things

We should add "updating the releases table" to the checklist! See the PR that does this for 1.3.

@runleonarun test

@matthewshaver closing this old PR as we have this request captured internally.


More than 2 emails sent in the same Incident Id

Sometimes Bosun is sending more emails than it should (ie. 1 for warning and 1 for critical) when the alert rule is flapping.
This doesn't seem to happen every time, but it is quite frequent.
I'm using Bosun 0.4.0 with opentsdb 2.2

This is one of the examples:

How many emails did you get total? I would expect 2.

A lot of them. Right now I've got 4 entries in the Ack list for this incident

I have figured out how to reproduce this behaviour. It is all my fault. I have made #1471 to clarify a lot of these rules and to fix them. Please comment there if you think those definitions are inadequate.


Rename NavigationDestination to NavigationBarDestination + some type hinting, fixes and new features (flet-dev/flet #3172)

Checklist:

[x] NavigationDestination to NavigationBarDestination
[x] open, close methods in Page
[x] Magic methods for Control
[x] control in page magic method

It should be merged with #3172

@FeodorFitsner Can you also review and merge this PR because you've merged #3172

Sure, all doc PRs will be merged when the next Flet release is out.

Sure, all doc PRs will be merged when the next Flet release is out.

Ok, thanks


ACM conference template

Description
Is it possible to add an ACM conference template?
I want to use typest instead of overleaf for ACM conference submissions.
Use Case
Add an ACM conference template.

I wish I could somehow put a bounty on this via GitHub.

Would be awesome. The existing IEEE template is quite simple and does not include the typical aspects that are needed for conferences.

I’m not the author of the ACM template below, but wanted to point it out in case it’s useful to anyone coming across this issue
https://gist.github.com/vtta/d6268ba81ebfdd1dc573db4b72df8436

@vtta might be willing to make a pull request when they are done

With the existence and success of Typst Universe, we don't have plans to create any more first-party templates at the moment.

I absolutely agree that availability of templates is a necessary (but sadly far from sufficient) step towards publisher acceptance.
The thing is that our capacity is limited and there are many important things to work on --- both for academia and beyond. We think right now it makes the most sense for us to focus on compiler improvements and leave templates to the community. Us having to create and maintain many templates would slow down compiler development.
We think that this plan has so far worked out quite well. There are many templates available by now. No one has created an ACM one yet, but if it's desired enough I think it's only a matter of time / a motivated person learning about the desire for it for it to happen.
Note that this is only the current state of things. All of this might change once we have more development capacity.

Note that this is only the current state of things. All of this might change once we have more development capacity.

So, we might still hope for a first-party integration for ACM templates?

The thing is that our capacity is limited and there are many important things to work on --- both for academia and beyond. We think right now it makes the most sense for us to focus on compiler improvements and leave templates to the community. Us having to create and maintain many templates would slow down compiler development.

All good, thanks for the reply and the logic! Makes total sense.

So, we might still hope for a first-party integration for ACM templates?

There is nothing that our templates can do that third-party templates could not. Hence, you will arguabely get a better (and better maintained) template from someone with more experience publishing in ACM venues under their belt than from us. If our company grows and there are still no ACM, or other popular publisher, templates, we will consider creating them, but do not expect that in the immediate term.
We are considering creating a venue (forum thread or similar) where people who request templates can connect with template authors to coordinate supply and demand a bit, though.

@femtomc

I wish I could somehow put a bounty on this via GitHub.

Several prolific Typst contributors and template authors have GitHub Sponsorship accounts. A non-exhaustive list would be @Dherse @PgBiel @SUPERCILEX @johannes-wolf @JamesxX, you can find more in the contributors list and on Universe. I am sure that one of them would be happy to make a deal!


Bug, prepareForNextCycle() is broken, when writing deltas

My test has two state engines, a producer and a consumer:
The producer:

writes a value and then a snapshot
writes several values and a delta after each value
after each write it calls ONCE prepareForNextCycle

After each write, the consumer is updated with the written snapshot/delta.
My test checks, if value/version are the same on producer and consumer.
Has anybody an idea, what is going on?  It actually fails on each second delta.
The workaround for me  is right now to call prepareForNextCycle twice (its commented in the test, if you uncomment it, the test will work
This is the test:
	@Test
	public void testFastBlobStateEngine() throws Exception {
		final String typeName = new LongSerializer().getName();
		final SerializerFactory producerFactory = () -> new NFTypeSerializer[] { new LongSerializer() };
		final SerializerFactory consumerFactory = () -> new NFTypeSerializer[] { new LongSerializer() };
		final FastBlobStateEngine producer = new FastBlobStateEngine(producerFactory);
		final FastBlobStateEngine consumer = new FastBlobStateEngine(consumerFactory);

		// producer: write value "-1", bump up latest engine version
		producer.prepareForNextCycle();
		Long value = -1L;
		producer.add(typeName, value);
		producer.prepareForWrite();
		producer.setLatestVersion(""+-1);

		// producer: write snapshot
		final FastBlobWriter snapshotWriter = new FastBlobWriter(producer);
		final ByteArrayOutputStream snapshotStream = new ByteArrayOutputStream();
		snapshotWriter.writeSnapshot(snapshotStream);
		snapshotStream.close();
		producer.prepareForNextCycle();
		// BUG: always need a second call to cycle
		// producer.prepareForNextCycle();

		// consumer: read snapshot
		final FastBlobReader snapshotReader = new FastBlobReader(consumer);
		snapshotReader.readSnapshot(new ByteArrayInputStream(snapshotStream.toByteArray()));

		// test, if producer/consumer have same value/version
		assertEquals(producer.getLatestVersion(), consumer.getLatestVersion());
		assertEquals(value, consumer.getTypeDeserializationState(typeName).get(0));

		// - producer: write deltas to byte array, by setting values from 0 to n
		// - consumer: read delta to keep the consumer up to date with latest value
		// test, if producer/consumer have same value
		final int n = 10;
		for(long i = 0; i < n; i++) {
			// producer: write value
			value = i;
			producer.add(typeName, value);
			producer.setLatestVersion(""+value);
			producer.prepareForWrite();

			// producer: write delta stream
			final FastBlobWriter deltaWriter = new FastBlobWriter(producer);
			final ByteArrayOutputStream deltaStream = new ByteArrayOutputStream();
			deltaWriter.writeDelta(deltaStream);
			deltaStream.close();

			producer.prepareForNextCycle();
			// BUG: always need a second call to cycle
			// producer.prepareForNextCycle();

			// consumer: read delta stream
			final FastBlobReader deltaReader = new FastBlobReader(consumer);
			deltaReader.readDelta(new ByteArrayInputStream(deltaStream.toByteArray()));

			// test, if value AND version are the same on producer/consumer
			assertEquals(producer.getLatestVersion(), consumer.getLatestVersion());
			assertEquals(value, consumer.getTypeDeserializationState(typeName).get(0));
		}
	}

(tested with v2.22.3 and v2.16)


Add More Examples

Would be cool to see more UI stuff to know what GUI components are available (and which aren't?), and also it would nice to give examples for handling mouse/touch/keyboard input.
Wishful thinking maybe: it would even be cool to have something similar to the DemoRunner from JUCE itself to give a sense of how it parallels...

@jrlanglois, Totally!, I've actually got this in progress. A ComponentShowcase app which looks very much like the JUCE Demo. Hopefully this should land fairly soon. We'll hopefully use it as the test bed to iterate on new components for blueprint.

I posted an issue today about a project I'm working on and I would gladly add an example once I have a minimal viable product of it.

I'm going to merge this with #18 and generally track the idea of more and better example projects there. @HrvojeFER if you still have an example of your current project, I'd love to see it!


first attempt at CI for shared richness

@fbkarsdorp This runs, but I'm not sure I'm using the new bootstrap function correctly yet?

There's no need for zero padding. In fact, now that I think of it, you should use the size of the separate datasets as input to the multinomial:
p1, n1 = bt_prob_shared(x1), x1.sum()
p2, n2 = bt_prob_shared(x2), x2.sum()
data_bt1 = rnd.multinomial(n1, p1, n_iter)
data_bt2 = rnd.multinomial(n2, p2, n_iter)


Add builder for ExponentialBackoff

We've recently ran into a subtle issue when using ExponentialBackoff through Backoff trait and not retry function. Namely, we've set "public" initial_interval field but not the "private" current_interval field, which then was left with the default 500ms value, which made us scratch our heads about why the first backoff interval is always that long. A call to reset solves that, but it is not obvious from the documentation that it's required in this case.
While as far as I understand the primary use case is through the retry function, it would still be nice to make it "harder" to use the crate incorrectly. The proposal is to introduce a builder which would only set the fields that are intended to be public and not part of the state, and suggest the users to create instances of ExponentialBackoff through the builder in documentation.
If the proposal makes sense, I can also later update the documentation.

@stiar And your proposal makes total sense :+1:


Passing desired valus from python to open dss

Thank you for the valuable content.
I have a question which is I need to pass python data to opendss can I do that?

Hi @ayodhyadhameesha do you have any sample of the source values you want to pass ?


Add user_custom.css for user customizations

there's no overridable css file which is included in homepage / projectdashboard.
this allows us to customize the styles a bit and hide a few annoying things ;)
also this is nice to have as allows to do minor CSS changes without recompiling the whole project!
works perfectly :sunglasses:
cc @andypetrella

egh should we add a similar empty user_custom.js for easy javascript customization too?

Wouldn't be interesting to have a configuration key that would accept a list of local path for css/js inclusions?
Because this js/css file are initially in the assets jar, right?
WDYT?

well, if you put a file into  public/stylesheets/user_custom.css (in spark-notebook dist path, where public dir empty by default), it automatically overrides the empty one which is in assets jar.

fair enough indeed

if needed, we can improve this later...