Image for Rock 4  SE RK 3399

Hi ,could you please also help me. with releasing the same model for Rock pi 4SE ,RK  3399 architecture.this would be really helpful since there are  supply chain issues  with Raspberry pi
https://forum.radxa.com/c/rockpi4

Dear @ajay01994,
If you look at Radxa's website, you are facing the same journey as I did.
Install a Debian operating system. I used the native Radxa Debian, as being as close to the hardware as possible.
Install OpenCV as described in our guide, just like the ncnn framework.
Not much can go wrong.

Hi ,
Thanks for the reply , do you have a model zoo for YOLO V5,V7,V8 for RK 3399 , Also could you help with TNN how to install that ?

The RK3399 has no NPU on board. You can use the ncnn models made for the Raspberry Pi. Or any other framework, like MNN, TNN, TensorFlow-Lite.
Please see the updated guide on how to install TNN on a ARM board like your Rock Pi 4 SE.

Hi yes it worked for Rk 3399 thanks a lot !
I also bought a rk3588 with NPU , and was able to run yolov5 , do you have inference code for yolo v7,v8 for NPU ,and  help with steps to install and inference on NPU for these models

First of all great work @Qengineering . I appreciate your efforts.
Hi Ajay! can you tell me how can I run yolov5 as a demo on rk3588 with NPU.  Thank you in advance.
And yes @Qengineering , I'm also interested in yolov8-seg inference with NPU. Thank you in advance you too!!

I will port the NPU examples for the RK3566 to the RK3588 and upload them to GitHub next week.

I have already ran build-linux_RK3588.sh file on rknpu2 examples but later I do not know what to do to make running yolov5 demo . If you guide me then it would be great. Thank you in advance

@Qengineering Finally, I ran successfully yolov5 demo on the image you provided. Now, I would like to test yolov8_seg based on RK3588 whenever you put it. I'm really looking forward to testing it. Thank you once again!

Please find: https://github.com/Qengineering/YoloV8-seg-NPU

Hi @Qengineering , thank you so much for it. But I'm not able to download Rock 5 image from your sync site. This new image contains yolov8 examples right?  And One more thing, if I would like to run my custom trained model inference on Rock 5b with NPU then should I change in .cpp right? and the model itself. Is there anything should I need to tale care of or?

Sorry for the inconvenience. The nightly upload failed. Just restart it again.

I let you know when the link is active.

To get your custom model up and running, you need to convert it to onnx. Next, with the RKNPU2 toolkit, installed on a Linux PC, you can port the model to an INT8 or FP16 rknn model. Please use the example

The link is up and running.

Thank you!! Sure! I will try it and will update you or ask you if I need any assistance. One more thing about the image. I'm using the rock5b image already from this repo. is it sufficient to test new examples or should I use this Rock5_ubuntu22.img for yolov8 seg?

The latter. The Rock5B image doesn't have all the new examples. However, you could download the examples separately from the GitHub repo, as they were published this weekend. See the overview.

So, basically, I can download the examples repo and acan use in the existing Rock5 image and no need to use newer one. Right?

OpenCV and the latest RKNPU2 library must be installed on your system.
OpenCV is available. Most likely, the RKNPU2 library needs to be upgraded.
Follow the instructions in the repo. It is only replacing one librknnrt.so and three *.h files.

Thanks again. I will check.

Hey @Qengineering, I'm trying to run the demo first and  getting some error. could  you please look into it please?
`rock@rock-5b:~/examples/YoloV8-seg-NPU$ ./YoloV8_seg busstop.jpg  rk3588/yolov8n-seg.rknn
model input num: 1, output num: 13
input tensors:
index=0, name=images,
n_dims=4, dims=[1, 640, 640, 3],
n_elems=1228800, size=1228800, fmt=NHWC,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
output tensors:
index=0, name=375,
n_dims=4, dims=[1, 64, 80, 80],
n_elems=409600, size=409600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-55, scale=0.138304
index=1, name=onnx::ReduceSum_383,
n_dims=4, dims=[1, 80, 80, 80],
n_elems=512000, size=512000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.002873
index=2, name=388,
n_dims=4, dims=[1, 1, 80, 80],
n_elems=6400, size=6400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003169
index=3, name=354,
n_dims=4, dims=[1, 32, 80, 80],
n_elems=204800, size=204800, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=26, scale=0.023277
index=4, name=395,
n_dims=4, dims=[1, 64, 40, 40],
n_elems=102400, size=102400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-40, scale=0.095424
index=5, name=onnx::ReduceSum_403,
n_dims=4, dims=[1, 80, 40, 40],
n_elems=128000, size=128000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003418
index=6, name=407,
n_dims=4, dims=[1, 1, 40, 40],
n_elems=1600, size=1600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
index=7, name=361,
n_dims=4, dims=[1, 32, 40, 40],
n_elems=51200, size=51200, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=32, scale=0.020263
index=8, name=414,
n_dims=4, dims=[1, 64, 20, 20],
n_elems=25600, size=25600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-43, scale=0.075364
index=9, name=onnx::ReduceSum_422,
n_dims=4, dims=[1, 80, 20, 20],
n_elems=32000, size=32000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003874
index=10, name=426,
n_dims=4, dims=[1, 1, 20, 20],
n_elems=400, size=400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
index=11, name=368,
n_dims=4, dims=[1, 32, 20, 20],
n_elems=12800, size=12800, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=26, scale=0.022538
index=12, name=347,
n_dims=4, dims=[1, 32, 160, 160],
n_elems=819200, size=819200, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-119, scale=0.029378
model is NHWC input fmt
model input height=640, width=640, channel=3
Unable to init server: Could not connect: Connection refused
terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.6.0) /home/rock/opencv/modules/highgui/src/window_gtk.cpp:635: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'
Aborted`

Now, I'm not getting this error but it got stuck after this
...
...
model is NHWC input fmt
model input height=640, width=640, channel=3 and not proceeding further.

Sorry to hear.
It seems all related to OpenCV. Your first issue was throwing an exception on the GUI module.
The second complains about the size of the input image not fitting the expected format.
The input image is also resized by OpenCV before hand over to the NPU.
I've tested all supplied examples twice. One for the RK3566 on a Radxa Zero 3w, and once for the RK3588 on a Rock 5 board.
All worked well.
You have two options.

Use the newly provided Rock 5 Ubuntu 22 image.
Debug OpenCV. Probably not in a healthy stage. A completely new installation may resolve the issue.
I would opt for 1.
If you are in desperate need of the original Armbian Rock 5 OS, perhaps I can install the examples and generate a new one this weekend. Not promising anything.

My bad representation. In the second issue, it does not throw any error regarding image size. It just got stuck after this. and later not proceeding at all. Not throwing any error. I will try with the new image but I really want to run it on the Armbian Rock5 OS. But if it gets solved here then it would be great as it's not throwing any error. Just stucking on something.
model input num: 1, output num: 13
input tensors:
index=0, name=images,
n_dims=4, dims=[1, 640, 640, 3],
n_elems=1228800, size=1228800, fmt=NHWC,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
output tensors:
index=0, name=375,
n_dims=4, dims=[1, 64, 80, 80],
n_elems=409600, size=409600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-61, scale=0.115401
index=1, name=onnx::ReduceSum_383,
n_dims=4, dims=[1, 80, 80, 80],
n_elems=512000, size=512000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003514
index=2, name=388,
n_dims=4, dims=[1, 1, 80, 80],
n_elems=6400, size=6400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003540
index=3, name=354,
n_dims=4, dims=[1, 32, 80, 80],
n_elems=204800, size=204800, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=27, scale=0.019863
index=4, name=395,
n_dims=4, dims=[1, 64, 40, 40],
n_elems=102400, size=102400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-15, scale=0.099555
index=5, name=onnx::ReduceSum_403,
n_dims=4, dims=[1, 80, 40, 40],
n_elems=128000, size=128000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003555
index=6, name=407,
n_dims=4, dims=[1, 1, 40, 40],
n_elems=1600, size=1600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003680
index=7, name=361,
n_dims=4, dims=[1, 32, 40, 40],
n_elems=51200, size=51200, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=30, scale=0.022367
index=8, name=414,
n_dims=4, dims=[1, 64, 20, 20],
n_elems=25600, size=25600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-55, scale=0.074253
index=9, name=onnx::ReduceSum_422,
n_dims=4, dims=[1, 80, 20, 20],
n_elems=32000, size=32000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003813
index=10, name=426,
n_dims=4, dims=[1, 1, 20, 20],
n_elems=400, size=400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
index=11, name=368,
n_dims=4, dims=[1, 32, 20, 20],
n_elems=12800, size=12800, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=43, scale=0.019919
index=12, name=347,
n_dims=4, dims=[1, 32, 160, 160],
n_elems=819200, size=819200, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-119, scale=0.032336
model is NHWC input fmt
model input height=640, width=640, channel=3

Hi @Qengineering , I tried the new image Rock5 ubuntu one and still getting the same error as mentioned below.
root@5:/home/rock/examples/YoloV8-seg-NPU# ./YoloV8_seg busstop.jpg rk3588/yolov8n-seg.rknn
model input num: 1, output num: 13
input tensors:
index=0, name=images,
n_dims=4, dims=[1, 640, 640, 3],
n_elems=1228800, size=1228800, fmt=NHWC,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
output tensors:
index=0, name=375,
n_dims=4, dims=[1, 64, 80, 80],
n_elems=409600, size=409600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-55, scale=0.138304
index=1, name=onnx::ReduceSum_383,
n_dims=4, dims=[1, 80, 80, 80],
n_elems=512000, size=512000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.002873
index=2, name=388,
n_dims=4, dims=[1, 1, 80, 80],
n_elems=6400, size=6400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003169
index=3, name=354,
n_dims=4, dims=[1, 32, 80, 80],
n_elems=204800, size=204800, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=26, scale=0.023277
index=4, name=395,
n_dims=4, dims=[1, 64, 40, 40],
n_elems=102400, size=102400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-40, scale=0.095424
index=5, name=onnx::ReduceSum_403,
n_dims=4, dims=[1, 80, 40, 40],
n_elems=128000, size=128000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003418
index=6, name=407,
n_dims=4, dims=[1, 1, 40, 40],
n_elems=1600, size=1600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
index=7, name=361,
n_dims=4, dims=[1, 32, 40, 40],
n_elems=51200, size=51200, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=32, scale=0.020263
index=8, name=414,
n_dims=4, dims=[1, 64, 20, 20],
n_elems=25600, size=25600, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-43, scale=0.075364
index=9, name=onnx::ReduceSum_422,
n_dims=4, dims=[1, 80, 20, 20],
n_elems=32000, size=32000, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003874
index=10, name=426,
n_dims=4, dims=[1, 1, 20, 20],
n_elems=400, size=400, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922
index=11, name=368,
n_dims=4, dims=[1, 32, 20, 20],
n_elems=12800, size=12800, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=26, scale=0.022538
index=12, name=347,
n_dims=4, dims=[1, 32, 160, 160],
n_elems=819200, size=819200, fmt=NCHW,
type=INT8, qnt_type=AFFINE, zp=-119, scale=0.029378
model is NHWC input fmt
model input height=640, width=640, channel=3
terminate called after throwing an instance of 'cv::Exception'
what():  OpenCV(4.9.0-dev) /home/rock/opencv/modules/highgui/src/window_gtk.cpp:638: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'
Aborted (core dumped)

@Qengineering  I was able to run it. Instead of using imshow. I just saved image to see if it works or not. Atleast demo is working. Next thing is, to make it run for custom model. I will update you for it. Thank you once again.

@apanand14,

Which monitor are you using? Or are you working with SSH?
When you see these two lines (model is NHWC input fmt,  model input height=640, width=640, channel=3) your NPU is propper configured and an OpenCV cv::imshow() window must show your output.
Given the first error (Can't initialize GTK backend), OpenCV is the issue. It is not able to show something on the desktop.

Right now, I'm making a Rock-5 Armbian SD image with all the NPU examples.
I've tested the YoloV8-seg-NPU, and it is working fine. Creating an image, zipping and uploading will take several hours. I will let you know when we have a live link.

Hi @Qengineering , I'm working with SSH only. And yes. GTK backend is the Opencv issue. But it's fine as long as I'm able to run and save the image with prediction and verify it. I'm trying to run my custom model. I will ask you if I need some assistance. Thank you for the help

FYI. I've just published a new SD image with the RKNPU model zoo examples.

Thank you! I will check it. One question to you. I have customized yolov8n-seg model. Customized I mean just different classes. Just 2 instead of 80. I think I do not have to change alot in cpp side right? I tried to run after converting my model but it didn't draw any mask but just showed FPS. Do you have any idea what could be wrong? Model conversion? or something needs to be changed in drawing mask? Thank you in advance.

Now you're on your own. I have no idea. Both can be the case.
My problem is time. I'm very busy with other projects and, unfortunately, I can't dive into the code or the model to address the issue. How much I wanted to.

@Qengineering Hey! I was able to run everything properly regarding the issue mentioned above. I have another question that can I use this rock 5 image for my rock 5c and run models on RK3588S for inference? or do I have to make changes? Thank you in advance!

You can not use this image for the Rock5C.
Please install the proper image.
Next, check our repo for RK3588 NPU. Install the ones needed. They will work out of the box.
Or, copy your models from your Rock5.

Thank you @Qengineering ! I will try this way. But I have a question that when I convert my model from onnx to rknn, I have to specity target platform. Should I provide RK3588 or RK3588s?

RK3588 and RK3588s are identical from the RKNPU2 toolkit point of view. (Both have the same 3 NPU cores).
In your Python convert script you define RK3588 as your target.

Indeed. You're right.
There is not that much difference between the Rock5B and Radxa Rock5C.
Please note the heat. Without proper cooling, it hits the 85°C in no time.

Thank you so much for your inputs! @Qengineering . it worked well with RockPi 5C. But I have observed that when I try to run fp16 rknn converted model then I'm facing segmentation fault issue. What could be wrong when I use fp16 model? I use same versions and dependencies what I used for int 8 conversion. Thank you in advance for you answer.

You can find a fp16 example of YoloV5 here.


Added Useful Xcode Plugin

Added link of curated list of useful xcode plugin in awesome list, under alphabetical order 😊 .

Thanks Aashish.


Anaconda Python

Currently the python tool plugin is using the pre-compiled binaries for installation.
There is another method which is widespread in the python community, Anaconda and all it’s derivates.
I wanted to start to implement this into the tool plugin environment.
@milesj  What would fit best to your strategy.

Implement as own tool, with configuration for selecting Anaconda,Mamba,Micromamba, etc…
Implement this as part of the existing python tool, including config for cpython or the mentioned settings from above

No problem,
with python you are going very fast in the so called dependency hell. (workspace  dependencies includes dependencies which breaks your workspace dependencies ).
Additional there is very often the task for switching the python version itself.
So Anaconda (and derivatives) is a package manager which will also bootstrap the correct python version for the developer and creates a named virtual environments which than can be used within a project.
So I would likely to implement, from my point of view

[x] Create a proto tool wasm plugin for installing microconda (it's a derivative, smaller and faster compared to Anaconda)
[ ] Create a microconda_toolchain which can be load from moon

Only on the seconds topic I can really getting the moon toolchain_plugin to load the plugins configured in the toolchain.yml
Maybe you can send me some hints here...
And according to the second point I wanted to contribute also to the moon project itself ...

As you can see, first point is already done and can be contributed or referenced ... if wanted.

If you want to share the plugin with others, you can do it here: https://github.com/moonrepo/proto/tree/master/registry

Only on the seconds topic I can really getting the moon toolchain_plugin to load the plugins configured in the toolchain.yml
Maybe you can send me some hints here...

moon doesn't support third-party plugins yet, it's all hard-coded. It will in the future though.

Side question: Do you have also Slack Channels, because Discord is forbidden by company profile ...

Sorry only Discord.


[Question]: Can this library enable WiFi access to Eufy Starlight camera?

Ask your question
Can I use this library to access Eufy Starlight via WiFi or another protocol if there's no 4G network?

Should be possible.


Why not build Entity features after Direct features？

I find that direct features are now built at last step in the realization of DFS algorithm, which causes the problem in #81 .
However, I've also read the paper ‘Deep Feature Synthesis: Towards Automating DataScience Endeavors’. In this paper, you said in Section Ⅱ.C  that "We must first synthesize rfeat and dfeat features so we can apply efeat feature to the results." Actually I think the idea in your paper is much more reasonable.  So why don't you use this idea? Is there any inexplicit trouble?

Hi @zhxt95,
Thanks for the interesting question! The reason for the ordering in Featuretools is to avoid creating duplicate features. If we were to create the direct features before creating the transform features, a primitive could be applied to make same feature in two different ways.
As an example, suppose we have two entities transactions and customers and a feature date of birth in customers. When we use ft.dfs with target entity transactions we would create both customers.TimeSince(date of birth) and TimeSince(customers.date of birth). By doing direct features after transforms, we only create the latter.
This is something that could be enhanced in a future release of dfs in Featuretools.

Well, as you said, duplicate features are indeed annoying problem. Yet I still think it isnecessary to build direct features first.
For example, suppose there are two entities. Entity customer contains features job and outgoing  each week  while entity payroll tells us the salary of each job.  If we want to know whether a customer's incoming can cover his outgoing, a feature like Subtract(payroll.salary - outgoing) is very useful.
With ft.dfs, now I can not  automatically generate a feature like this no matter what depth I set.  But with the idea in your paper, I can get what I want.

I've noticed that the situation I mentioned above is using a trans_primitives with two input features  of which one is a direct feature and another is not.
For this kind of situation, duplicating will not be a problem any more.
So I think build efeat after dfeat and use trans only for this situation may possible be a better way.

@zhxt95 That example makes sense. We'd be happy to extend ft.dfs to handle that case. Are you interested in attempting to make a PR with the change you're suggesting?
Basically, the PR would swap the order of building transform and direct features, but then add in additional logic to avoid features that would calculate the same thing. The primary challenge here is to make that logic as straightforward and general possible.
If you take a stab at this, we'd be happy to discuss and help!

I've made #123 as a solution, however it seems like something goes wrong and a check is failed. What should I do now to handle it?


Improve wasm contract queries

🚧 DRAFT
Resolves #12

Targeted PR against correct branch (see CONTRIBUTING.md)

[ ] Linked to github-issue with discussion and accepted design OR link to spec that describes this work.

[ ] Wrote tests

[ ] Updated relevant documentation (docs/)

[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md

[ ] Reviewed Files changed in the github PR explorer

For Admin Use:

Added appropriate labels to PR (ex. wip, ready-for-review, docs)
Reviewers Assigned
Squashed all commits, uses message "Merge PR #XYZ: [title]" (coding standards)

Codecov Report

Merging #22 into master will decrease coverage by 0.36%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #22      +/-   ##
==========================================
- Coverage   56.35%   55.98%   -0.37%
==========================================
  Files          11       11
  Lines         976      986      +10
==========================================
+ Hits          550      552       +2
- Misses        376      384       +8
  Partials       50       50

Impacted Files
Coverage Δ

x/wasm/internal/keeper/querier.go
0% <0%> (ø)
:arrow_up:

lcd_test/helpers.go
76.25% <0%> (+0.71%)
:arrow_up:

Continue to review full report at Codecov.

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


installation failing

composer require drewjbartlett/wordpress-eloquent
Using version ^0.2.1 for drewjbartlett/wordpress-eloquent
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for drewjbartlett/wordpress-eloquent ^0.2.1 -> satisfiable by drewjbartlett/wordpress-eloquent[v0
.2.1].
- Conclusion: remove laravel/framework v5.5.20
- Conclusion: don't install laravel/framework v5.5.20
- drewjbartlett/wordpress-eloquent v0.2.1 requires illuminate/database 5.4.* -> satisfiable by illuminate/database[v5.4.

0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.36, v5.4.9].
- don't install illuminate/database v5.4.0|don't install laravel/framework v5.5.20
- don't install illuminate/database v5.4.13|don't install laravel/framework v5.5.20
- don't install illuminate/database v5.4.17|don't install laravel/framework v5.5.20
- don't install illuminate/database v5.4.19|don't install laravel/framework v5.5.20
- don't install illuminate/database v5.4.27|don't install laravel/framework v5.5.20
- don't install illuminate/database v5.4.36|don't install laravel/framework v5.5.20
- don't install illuminate/database v5.4.9|don't install laravel/framework v5.5.20
- Installation request for laravel/framework (locked at v5.5.20, required as 5.5.*) -> satisfiable by laravel/framework[
v5.5.20].

@iteearmah , You need install Laravel framework in your environment.
Try: Installing Laravel
or you need require laravel/framework
run the follow command in your composer directory
composer require laravel/framework

Just had the same issue at another point. In your case laravel and wordpress-eloquent have conflicting dependencies regarding illuminate/database. Laravel wants it to be ^5.5 and wordpress-eloquent wants it to be 5.4 at most. You either downgrade laravel to (probably) 5.4 or this package needs to upgrade its requirements to 5.5 for illuminate/database. I just tried doing that in a fork but I didnt test it so far. See https://github.com/hottehead/wordpress-eloquent


Python bindings install error

Hi there,
I tried to install eos binding to my ubuntu16.04: pip install eos-py
But got the error:
  [ 50%] Building CXX object python/CMakeFiles/python-bindings.dir/generate-python-bindings.cpp.o
  In file included from /tmp/pip-build-l1ihvlsb/eos-py/python/generate-python-bindings.cpp:21:0:
  /tmp/pip-build-l1ihvlsb/eos-py/include/eos/core/LandmarkMapper.hpp:27:20: fatal error: optional: No such file or directory
   #include <optional>
                      ^
  compilation terminated.

Any help is greatly appreciated.

Hi Junjie Jin,
Have a look at the readme:

Make sure that you've got >=gcc-7 or >=clang-5 as the default compiler on Linux (for example from the ubuntu-toolchain-r/test repository) or do CC=`which gcc-7` CXX=`which g++-7` pip install eos-py.

It'll then work.
Thanks!

Hi @patrikhuber ,
It turns out that I donot have gcc-7 and g++-7. It is successfully installed. Thanks.


CI18-56 & CI18-77 - Searching Loan and Savings transactions

Description
This PR covers two tickets (CI18-56 and CI18-77). The objective is to allow user to search loan and savings transaction by utilizing different criterias
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@hero78 , the karate tests have been added. Please approve the PR


File type annotation results in wrong file filter

Repro

Mark an attribute as a file name.
Example:

@File
attr test0300File = "myfile.obj"

The Serlio inspector will present a file chooser.

Try to select another file
BUG: File Type Restriction Set to Attribute Name

Internal ticket CE-7383

Fixed in v2.0


feat: support fallback RPC providers

CLI now supports comma separated RPC URLs to fall back on (--eth-rpc-url, --eth-mainnet-rpc-url, --l2-rpc-url)
Motivation
"This ensures that if a backend has become out-of-sync, or if it has been compromised that its responses are dropped in favor of responses that match the majority." #742.
Change Summary
Implements backwards-compatible fallback URLs using viem's fallback transport, as suggested by #742.
Makes use of existing --eth-rpc-url, --eth-mainnet-rpc-url, --l2-rpc-url arguments, but splits by ',' to support multiple URLs to fall back on if others are not responding.
Merge Checklist

[x] PR title adheres to the conventional commits standard
[x] PR has a changeset
[x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[x] PR does not require changes to the protocol
[x] All commits have been signed

Additional Context
Ranking can also be enabled. This would periodically make additional calls to each RPC URL every 10 seconds to determine its ranking based on latency and stability. Perhaps this configuration could be exposed to the user via CLI?

PR-Codex overview
This PR focuses on adding support for fallback RPC providers in the Hubble application.
Detailed summary

Added fallback function to the viem library to handle fallback RPC providers.
Modified L2EventsProvider and EthEventsProvider classes to support multiple RPC URLs.
Updated the Hub class to use the rankRpcs option and fallback transports for RPC providers.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Thanks @stephancill!

Ranking can also be enabled. This would periodically make additional calls to each RPC URL every 10 seconds to determine its ranking based on latency and stability. Perhaps this configuration could be exposed to the user via CLI?

I'm supportive

@deodad do you think there should be a single --rank-rpc option that applies to all RPCs or should there be one for each kind of RPC?

@deodad do you think there should be a single --rank-rpc option that applies to all RPCs or should there be one for each kind of RPC?

Starting with a single option at the CLI level to turn on automatic ranking globally is good. A more sophisticated approach would allow a config file where users could do fine grained configuration of urls, ranking parameters per chains, but let's take the simple win first. Thank you!

This is awesome thank you!


Update walkthrough to match product features

Update in-editor onboarding walkthrough. Adds "Ask Cody to Fix" and "Natural Language Search" to the walkthrough and updates gifs to reflect new UI.

[ ] Confirm new docs URL are live

Test plan

I've added a whole bunch of pro-tips for each section, with keyboard shortcuts, ways to customise it, get the most out of it, etc. I also added some buttons to the items.
I had to use a weird unordered list format to work around VS Code’s awkward CSS styles.


[FEATURE] Documentation For Frozen Indices

Is your feature request related to a problem?
When clicking the frozen indices link (see below) in the Advanced Settings (under Stack Management), I see a generic page about index data. On this page, there is no reference to frozen indices.

What solution would you like?
If I click frozen indices, I should be able to find some relevant information. This would/might include information on freezing and unfreezing an index.
What alternatives have you considered?
None.
Do you have any additional context?
None.

This is not part of OpenSearch, this needs to be removed from OpenSearch Dashboards. @ahopp should we transfer this to the Dashboards repo or open a different issue there?

If that's the case, we should move this to the Dashboards repo and kill the reference in the CX. My assumption is that we'd need to validate the setting/capability is deprecated properly.
@kavilla can you move this to Dashboards?

Seems like the docs do have mention of support for frozen indices https://opensearch.org/docs/latest/opensearch/rest-api/search/.
I think the ask here is instead of the link clicked on frozen indices opening to the generic definition of index data it leads directly to frozen index. On the OpenSearch Dashboards reference, if we dont have a replacement link, we try our best to send folks to a slightly relevant location. If we have no relevant location we send them to the default OpenSearch docs home. If we have a better location for this link to send users too we can move this issue to our repo and update the link if someone can provide it. If we don't then we should leave this issue in this repo and a frozen index doc added before we create a corresponding OpenSearch Dashboards issue.
However, seems like @elfisher point is that forzen indices are no longer supported in OpenSearch? If that's the case, we can migrate this but I actually haven't seen any post about this in OpenSearch.

I didn't realize you created the first issue sorry @ahopp, let me update the previous statement.

@opensearch-project/opensearch-core

OpenSearch has no feature to freeze or unfreeze an index. I believe the description for the "ignore_throttled" parameter on the search documentation should not include the word "frozen".

Closing this issue.


[bookshelf] Return 204 on cookbook upload

Despite the old code that was attempting to set the response code to
202, we have tests that depend on these endpoints returning 204.

:+1:

:+1:


Use toCBORABlockOrBoundaryHdr from cardano-ledger

The encoding of byron blocks should be defined in cardano-ledger.  I introduced toCBORABlockOrBoundaryHdr` in this PR: https://github.com/input-output-hk/cardano-ledger/pull/729/files#diff-94f1509fae28f932d972168733b3bf95R542 (about to be merged).
cardano-ledger contains size estimations of encoded messages including toCBORABlockOrBoundaryHdr - that was the original reason to move the function there.

We can use toCBORABlockOrBoundaryHdr in encodeUnsizedHeader.


Build Table of Contents for this README

This is issue opened for me.
This module is awesome and this document is clear to me.
I want to add Table of Contents for this README. It's convenience for interested developer to read.

Would be great!

Close. #41 got marged.


adding theTVDBBridge

A new bridge to be able to get the latest episodes of a serie with theTVDB.com API.
Please tell me if there is modifications to do

Just wondering about the API key, I am not sure this is even allowed.
Can you confirm that it is ?

I corrected the indentation problem.
Concerning the API key it seems to be ok with there conditions http://thetvdb.com/?tab=apiregister . However like I made the key public someone could use it for something else and not respect the terms of use. It seems very unlikely to me because it take one minute for a new user to create an API Key.

Perfect, I was just checking

Merged, thanks !


Add dataloader for wikilingua

Closes #182
Checkbox

[ ] Confirm that this PR is linked to the dataset issue.
[ ] Create the dataloader script nusantara/nusa_datasets/my_dataset/my_dataset.py (please use only lowercase and underscore for dataset naming).
[ ] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _NUSANTARA_VERSION variables.
[ ] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[ ] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one NusantaraConfig for the source schema and one for a nusantara schema.
[ ] Confirm dataloader script works with datasets.load_dataset function.
[ ] Confirm that your dataloader script passes the test suite run with python -m tests.test_nusantara --path=nusantara/nusa_datasets/my_dataset/my_dataset.py.
[ ] If my dataset is local, I have provided an output of the unit-tests in the PR (please copy paste). This is OPTIONAL for public datasets, as we can test these without access to the data files.

/test dataset=wikilingua

/test dataset=wikilingua

/test dataset=wikilingua

hi @SamuelCahyawijaya , i already swapped value for text_1 and text_2. please kindly review my changes. thank you.

/test dataset=wikilingua

Hi @budikurniawan-github, sorry I am tagging the wrong person on the previous comment. I run the test script and check the dataset manually, and it works as expected.
There is two minor change request tho, could you please:

Add __init__.py under the wikilingua folder
Add the following metadata in the wikilingua.py file

_LANGUAGES = ["ind"]
_LOCAL = False

Thank you for contributing!

hi @SamuelCahyawijaya , i already push the new changes. thank you.

LGTM from me, will merge this, thank you @budikurniawan-github!


use symfony/options-resolver ~2.1 instead

symfony/options-resolver 3.x has been released and incompatible with the current released

Thanks for this PR!
Added a new major version for symfony 3.x compat too if you ever need.

Thank you.


Need to restart VS after setting environment variable for Could Not Create Java Virtual Machine Error

I ran into this Android Java issue. It is missing the info that Visual Studio needs to be restarted after the environment variable has been set.
It might also be a good idea to reproduce a version of the instructions there and give credit to the source site, just in case that link breaks.

Thanks for the suggestion. Updated with those details.


⚠ Bofrost.lu has degraded performance

In 6b086e4, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 884 ms

Resolved: Bofrost.lu performance has improved in 7b81c9b after 9 minutes.


KeyError: 'lang_emb' and TypeError: catching classes that do not inherit from BaseException is not allowed

Hi there, sorry to raise some of my confusion with you.
I am using the branch robocasa and want to give script run_trained_agents.py a try.
Could you please help me handle this error below?
My command line is
python run_trained_agents.py --agent /home/ypz/expdata/robocasa/im/bc_xfmr/08-11-None/seed_123_ds_human-50/20240811204559/models/model_epoch_20.pth --n_rollouts 5 --horizon 400 --seed 0 --render --camera_names robot0_frontview

With config and NN architecture successfully printed on the terminal,  the Error message is
Traceback (most recent call last):
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/scripts/run_trained_agents_multitask.py", line 117, in rollout
    act = policy(ob=obs)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/algo/algo.py", line 684, in __call__
    ac = self.policy.get_action(obs_dict=ob, goal_dict=goal)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/algo/bc.py", line 785, in get_action
    output = self.nets["policy"](obs_dict, actions=None, goal_dict=goal_dict)
  File "/home/ypz/anaconda3/envs/robocasa/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/models/policy_nets.py", line 1326, in forward
    out = self.forward_train(obs_dict=obs_dict, actions=actions, goal_dict=goal_dict)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/models/policy_nets.py", line 1278, in forward_train
    outputs = MIMO_Transformer.forward(self, **forward_kwargs)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/models/obs_nets.py", line 1093, in forward
    transformer_inputs = TensorUtils.time_distributed(
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/utils/tensor_utils.py", line 951, in time_distributed
    outputs = op(**inputs, **kwargs)
  File "/home/ypz/anaconda3/envs/robocasa/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/models/obs_nets.py", line 475, in forward
    self.nets[obs_group].forward(inputs[obs_group])
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/models/obs_nets.py", line 256, in forward
    x = self.obs_nets[k](x, lang_emb=obs_dict[LANG_EMB_KEY])
KeyError: 'lang_emb'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/scripts/run_trained_agents_multitask.py", line 374, in <module>
    run_trained_agent(args)
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/scripts/run_trained_agents_multitask.py", line 234, in run_trained_agent
    stats, traj = rollout(
  File "/home/ypz/msclab/robocasa_space/robomimic/robomimic/scripts/run_trained_agents_multitask.py", line 158, in rollout
    except env.rollout_exceptions as e:
TypeError: catching classes that do not inherit from BaseException is not allowed

Same issue.
Seems like the robocasa updates were applied to the training scripts, but not the evaluation script.

Hi, I've also been facing a problem with run_trained_agent.py that may be related. When running:
python run_trained_agent.py --agent /home/fabian/expdata/robocasa/im/diffusion_policy/08-06-10-bis-30/seed_123_ds_30-demos-normal/20240806014556/models/model_epoch_60.pth

I get this error:
Traceback (most recent call last):
  File "/home/fabian/research/robomimic/robomimic/scripts/run_trained_agent.py", line 374, in <module>
    run_trained_agent(args)
  File "/home/fabian/research/robomimic/robomimic/scripts/run_trained_agent.py", line 207, in run_trained_agent
    env, _ = FileUtils.env_from_checkpoint(
  File "/home/fabian/research/robomimic/robomimic/utils/file_utils.py", line 499, in env_from_checkpoint
    env = EnvUtils.create_env_from_metadata(
  File "/home/fabian/research/robomimic/robomimic/utils/env_utils.py", line 228, in create_env_from_metadata
    env = create_env(
  File "/home/fabian/research/robomimic/robomimic/utils/env_utils.py", line 172, in create_env
    env = env_class(
  File "/home/fabian/research/robomimic/robomimic/envs/env_robosuite.py", line 94, in __init__
    self.env = robosuite.make(self._env_name, **kwargs)
  File "/home/fabian/research/robosuite/robosuite/environments/base.py", line 41, in make
    return REGISTERED_ENVS[env_name](*args, **kwargs)
  File "/home/fabian/research/robocasa/robocasa/environments/kitchen/single_stage/kitchen_microwave.py", line 63, in __init__
    super().__init__(*args, **kwargs)
  File "/home/fabian/research/robocasa/robocasa/environments/kitchen/kitchen.py", line 137, in __init__
    super().__init__(
  File "/home/fabian/research/robosuite/robosuite/environments/manipulation/manipulation_env.py", line 182, in __init__
    super().__init__(
  File "/home/fabian/research/robosuite/robosuite/environments/robot_env.py", line 227, in __init__
    super().__init__(
  File "/home/fabian/research/robosuite/robosuite/environments/base.py", line 158, in __init__
    self._reset_internal()
  File "/home/fabian/research/robocasa/robocasa/environments/kitchen/single_stage/kitchen_microwave.py", line 78, in _reset_internal
    super()._reset_internal()
  File "/home/fabian/research/robocasa/robocasa/environments/kitchen/kitchen.py", line 606, in _reset_internal
    self._pre_action(action, policy_step)
  File "/home/fabian/research/robosuite/robosuite/environments/robot_env.py", line 598, in _pre_action
    robot.control(robot_action, policy_step=policy_step)
  File "/home/fabian/research/robosuite/robosuite/robots/wheeled_robot.py", line 121, in control
    self.composite_controller.set_goal(action)
  File "/home/fabian/research/robosuite/robosuite/controllers/composite/composite_controller.py", line 139, in set_goal
    controller.set_goal(action, update_wrt_origin=update_wrt_origin)
  File "/home/fabian/research/robosuite/robosuite/controllers/arm/osc.py", line 274, in set_goal
    self.goal_origin_to_eef_ori = self.compute_goal_orientation(  # set_goal_orientation
  File "/home/fabian/research/robosuite/robosuite/controllers/arm/osc.py", line 338, in compute_goal_orientation
    raise NotImplementedError
NotImplementedError

@snasiriany Could you please provide demos for evaluating a trained agent from ckpt in robocasa branch?
BTW, in my experiments, I have some confusion about loading the model.
In train.py file, after I added 2 lines to check the FileUtils.policy_from_checkpoint() function, I found that the model reloaded from the ckpt is different from rollout_model or model, and is not compatible with TrainUtils.rollout_with_stats() function.
        if should_save_ckpt:
            TrainUtils.save_model(
                model=model,
                config=config,
                env_meta=env_meta,
                shape_meta=shape_meta,
                ckpt_path=os.path.join(ckpt_dir, epoch_ckpt_name + ".pth"),
                obs_normalization_stats=obs_normalization_stats,
                action_normalization_stats=action_normalization_stats,
            )
            file_model, ckpt_dict = FileUtils.policy_from_checkpoint(ckpt_path=os.path.join(ckpt_dir, epoch_ckpt_name + ".pth"), device=device)
            assert file_model == rollout_model # will raise assertion error

Did I make any mistakes in the experiments? Can you assist me in loading the exactly same rollout model from ckpt to facilitate validation？

Hi all, we need to tie some loose ends, but at the moment the best way to run evaluation is to uncomment this section of the code: https://github.com/ARISE-Initiative/robomimic/blob/9a4b448cd4eb1d1a4a8f97e2c1c51717782b397f/robomimic/scripts/config_gen/bc_xfmr_gen.py#L54-L89
And fill in your provided checkpoint and paths.
@hahn5 regarding the error you are facing, there should be a fix for this if you pull the latest code in the robosuite repo (using the existing branch robocasa_v0.1)

There is now a dedicated script for evaluation: https://github.com/ARISE-Initiative/robomimic/blob/robocasa/robomimic/scripts/config_gen/eval_ckpt.py
This is the recommended way to run evaluations on checkpoints.


swap --check error/no error overwrite swap --process error state

We probably need to maintain 2 last error stated. The mwc-wallet will combine the error states.
User need to see the error  like too small tx fee for BTC  transaction.

Testing:
Specify a very low fee for BTC. As a result  such transaction will be rejected by the network. Error will be generated on 'process', but 'check' will pass without error. Then just check if error is consistent.
When fee updated, the tx should go through and error should gone.


how do I know what is the latest driver?  different distros do ity different?

i use ubuntu btw

Hi. You can use Software and Updates app in Ubuntu to update your NVIDIA driver. It's working with older drivers too, but latest driver will give you better experience.


Best way to support docs from tags/releases/branches

Tried searching hugo docs and most of the themes available at https://themes.gohugo.io/ but I couldn't find an example on how we can support docs being generated for multiple branches/releases/tags for same repo, similar to other static site generators support.  Appreciate any feedback or pointers. Thank you.
Any future or ongoing efforts to support this as base feature?
Example: https://sphinx-rtd-theme.readthedocs.io/en/stable/

Please use https://discourse.gohugo.io/ for questions/troubleshooting. Also see  Hugo Documentation.

Thank you @bep


Temporary fix for CI build

On Ubuntu we need a newer version of python-protobuf than what comes with the system

Closing in favor of https://github.com/mavlink/MAVSDK-Proto/pull/208


Ensure content-length is set to 0 for empty bodies

Codecov Report

Merging #1531 into develop will increase coverage by 0.02%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop    #1531      +/-   ##
===========================================
+ Coverage    66.64%   66.67%   +0.02%
===========================================
  Files          129      129
  Lines        14461    14463       +2
===========================================
+ Hits          9638     9643       +5
+ Misses        4823     4820       -3

Impacted Files
Coverage Δ

botocore/awsrequest.py
99.28% <100%> (ø)
:arrow_up:

botocore/credentials.py
98.8% <0%> (+0.39%)
:arrow_up:

Continue to review full report at Codecov.

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


how to change the color or something to make it more obvious?

.cm-heading-marker[data-level="2"] {
--background-color: "red";
}
this doesn't work, removing the -- doesn't work either

You can try adding !important
.cm-heading-marker {
	color: red !important;
}

This works for me


Learning Lab Update

Please update this learning lab/code to meet requires and work on new devnet sandbox

SDWAN RES
or
SDWAN AO

https://developer.cisco.com/learning/tracks/sd-wan_programmability/cisco_sd-wan_with_ansible/sdwan_automation_with_ansible/step/1
Completion should be no later than 19th June. Thanks!

I am planning to address the change of the SDWAN Sandbox updating the code and the LL itself swapping from the current approach (using the native uri module) to the new ansible-viptela role.


Container behind reverse proxy with SSL termination breaks links

Hi David,
I'm testing one of my sites behind an AWS network load balancer, the load balancer does the SSL termination and forwards traffic to the instances on port 80, were a traefik service then forwards it to the container. http works, but when on https has most of the links are being referred with http instead of https so the page breaks.
In the past I had fixed this by addinth $_SERVER['HTTPS']='on'; to wp-config.php or by modifying the .htaccess files. I have not that much experience with nginx so I'm clueless on how to fix it here.
Any ideas ?

Also tested setting ENABLE_HTTPS_REVERSE_PROXY=TRUE with no success, I'm really pulling my beard here.

Hmm good one here.
In my cases I've added this to my wp-config.php but you have tried that it seems.
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
       $_SERVER['HTTPS']='on';

The other way I have solved it with putting fastcgi_param  HTTPS 'on'; somewhere in the nginx configuration, typically in the PHP block. I believe I handle this by stuffing it into /etc/nginx/fastcgi_params. Maybe give that a try (reload nginx in the container nginx -s reload) and let me know?

Figured it out, indeed the solution was to add $_SERVER['HTTPS']='on'; but for some reason it did not work on wp-config.php but it did on wp-includes/functions.php, could not figure out why.
It would be nice to have a switch for that on the image.

Are you able to test the NGINX_ENABLE_FASTCGI_HTTPS=TRUE environment variable to see if it does the same thing?
If not, I will add it into the Wordpress image.

I will test it as soon as I can, everything is working now and I have a dealine this week before I go on vacations.

No problem, take your time.

Does this option add X-Forwarded-Proto:https header ? now that is my problem, that the wp-config.php option you mentioned or a redirect rule on nginx or an .htaccess file that check for that header will fail because it seems traefik (official image) is setting X-Forwarded-Proto:http always, so If I enable https redirection I get a redirect loop.
Any ideas on how to workaround that ?

fixed it. It short words you cannot do an SSL termination on an external balancer and then send it to traefik to port 80. In the moment X-Forwarded-Proto:https is set, it doesn't matter if the url is http otr https, $_SERVER['HTTPS']='on'; will always be on, and on nginx or apache the redirect rule will never execute because of that.
I found a workaound to the issue with traefik and fixed the X-Forwarded-Proto:https issue, I will leave it here as a mental note althought rather off topic here:

"traefik.frontend.headers.customRequestHeaders: X-Forwarded-Proto:https"

The solution was to enable https on traefik with self signed certificates and enabling the redirect to port 443.
This ended up being OT so my apologies for that.

Ahh! Makes a tonne of sense! Useful for my team as well if we ever get into the situation.

After update to 5.4.2 from 5.3.8, I needed to add the HTTP_X_FORWARDED_PROTO to the wp-config.php without understanding which change made that necessary. Anyway, thanks for that hint.


Demo/api/map

Simple update of map api, the new api file called map_acmp.js. [no optimisation setup yet]
Switch component in App.js compare with two version.

[ ]  Does the code work?
[ ]  Are functions, methods, and variables adequately named?
[ ]  Any test on the new component?
[ ]  Is it well tested? All components could be rendered and pass the test.
[ ]  Is the code clear and easy to understand?
[ ]  Does it meet the team guidelines and style guides?
[ ]  Is there any duplicated code?
[ ]  Is documentation on functions, methods, classes, contexts, and behaviours adequate?
[ ]  Is the code as modular as possible?
[ ]  Are there better or simpler solutions?
[ ]  Is there any performance issue?

This is a sample map code for map components


localCI: improve message errors when the git command fails

this patch includes git's stderr in the error returned by
downloadPullRequest
fixes #184
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

lgtm

lgtm

@jodh-intel needs your review signoff

Looks like pullapprove is confused. Let me try a quick label toggle...

Yep - that did it :)


Memory leak with callback registered to IoTHubClient

OS and version used:
Raspberry Pi 3 Model B+
Raspbian GNU/Linux 9 (stretch)
Linux raspberrypi 4.14.34-v7+ #1110 SMP Mon Apr 16 15:18:51 BST 2018 armv7l GNU/Linux

Python runtime used:
Python 2.7.13

SDK version used:
azure-iothub-device-client==1.4.2
libboost1.62-all

Description of the issue:
Instanciating a IoTHubClient and then registering any callback (receive_message, device_twin, connection_status, device_method) will result in a memory leak. Those callback stay in memory even if you "close" the IoTHubClient (there is no close method, but removing references to the client will clear it from memory). So if the function you passed is in fact a method of a class instance, that class instance will stay in memory until the python process ends. The reference seems to be coming from the C as the garbage collector cannot find the referrers.
To prove my point, I create a IoTHubClient and register a callback on it. I then create a weakref to the callback and the client to then delete the references I have to them. The client is then cleaned from memory, but the callback isn't. The garbage collector cannot find the referrer, but there is 1 ref left to the callback.
Code sample exhibiting the issue:
from iothub_client import IoTHubClient, IoTHubTransportProvider

connection_string = "connection string"
protocol = IoTHubTransportProvider.MQTT
client = IoTHubClient(connection_string, protocol)

def receive_message_callback(message, user_context): pass

client.set_message_callback(receive_message_callback, 0)

import weakref
client_ref = weakref.ref(client)
function_ref = weakref.ref(receive_message_callback)

del client
del receive_message_callback

print(client_ref)
>>> <weakref at 0x76865630; dead>

print(function_ref)
>>> <weakref at 0x7687c720; to 'function' at 0x76871930 (receive_message_callback)>
# The function is still refered somewhere in code, else it would look like the client_ref

import gc
print(gc.get_referrers(function_ref()))
>>> []
# The garbage collector does not know any referrer to the function

import sys
print(sys.getrefcount(function_ref()))
>>> 2
# There are 2 ref to the function where 1 is sys.getrefcount
# In other words, there is 1 ref to our functions that the gc cannot find
# It is most likely in the C sdk through boost

I also saw some crashing errors that might be linked to this callback cleaning problem
Fatal Python error: GC object already tracked
Aborted

This error stops the whole process and cannot be catched in python, so it is most likely a problem in a C lib and searching around the internet points to this specific error being because of boost not cleaning callbacks (seems familiar)

@alex007sirois thanks for reporting this - pinging @jspaith from the C SDK to see what he thinks about this.

Biggest problem to me is if the callback is an instance's method, the instance will stay in memory. We don't really have a problem with this, but this could hurt in a project where this instance really needs to get out of memory.
Since we know of this problem, we can work around it so it does not cause much problem on our part. But maybe there should be a warning somewhere in doc or something?

@alex007sirois Hi Alex, I am facing the same issue of python crashing in Production evironment, we are sending commands on an interval of every 15mins, after sometime python crashes. May I know the workaround you followed?
Thanks in advance.
@pierreca If you can also let us know a best possible workaround, it would be great. Thanks in advance

With the Python v2 reaching General Availability we are recommending users move away from the v1 SDK.  We will be closing the v1 SDK issues whose features are covered by the v2 release.  Feel free to open an new issue if you find an issue with the v2 SDK.
Thank you for your patronage

@alex007sirois, @Ram9293, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey


When is libtensorrt_llm.so loaded?

After building TensorRT-LLM inside an Nvidia Docker container, I obtained libtensorrt_llm.so and libtensorrt_llm.a files. When importing tensorrt_llm in Python, I expected the interpreter to load libtensorrt_llm.so. Surprisingly, this shared library wasn't loaded according to my observations. Instead, I noticed the loading of libnvinfer_plugin_tensorrt_llm.so.
root@2ff5b13e2c00:/code/tensorrt_llm# LD_DEBUG=libs python3 -c 'import tensorrt_llm; tensorrt_llm.mpi_rank()' 2>&1 | grep tensorrt_llm
       448:	calling init: /code/tensorrt_llm/tensorrt_llm/libs/libnvinfer_plugin_tensorrt_llm.so
       448:	calling init: /code/tensorrt_llm/tensorrt_llm/libs/libth_common.so
       448:	calling fini: /code/tensorrt_llm/tensorrt_llm/libs/libnvinfer_plugin_tensorrt_llm.so [0]
       448:	calling fini: /code/tensorrt_llm/tensorrt_llm/libs/libth_common.so [0]

I'm curious about the mechanism and timing of the libtensorrt_llm.so library loading.

Hi @wangkuiyi , libtensorrt_llm is currently a required dependency of nvidia-triton-inference.

Thanks @Shixiaowei02 !
I see. libtensorrt_llm.so is what the runtime, say, Triton backend, needs to run the TensorRT-LLM engine built from its Python source code. So, it is not a dependency of the Python package tensorrt_llm.
On the contrary, libnvinfer_plugin_tensorrt_llm.so defines the plugins, which will be used by the Python package tensorrt_llm to define models.


Removed iframe-height.js and its implementations

Fixes

Fixes #1059 by @zackkrida
Description

I deleted iframe-height.js inside src/mixins/ and removed all imports of that file inside src/layouts/blank.vue, src/layouts/default.vue, and src/pages/audio/_id.vue. I also removed a comment explaining the use of a resize event but undid it in a second commit.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

I can't figure out how to add labels. Can anyone tell me?

This is great @BarokDG thanks for the contribution and welcome to Openverse! :tada:
I think we can keep the change you made originally to remove the resize, what was the reason for reverting that?

This is great @BarokDG thanks for the contribution and welcome to Openverse! 🎉
I think we can keep the change you made originally to remove the resize, what was the reason for reverting that?

I couldn't see where the 'resize' value was used and there is another reference to 'resize' at the top of the comment. I wanted confirmation before I changed it.

Should I remove both references?

Please do, thanks!

Done! I also removed a switch case for the 'resize' event in iframe-test.html.
Anything I can do about the "CI/Check translation files" check?

@BarokDG You only need to run pnpm i18n:generate-pot and commit the updated .pot file to pass that check.

I followed the instructions but the "CI=1 pnpm i18n:generate-pot" command is returning a success message. I decided to try and just commit an updated openverse.pot file but the check is still failing.

Oh dear! It seems our POT file generation is clashing with Windows path delimiters! I created this issue to address that: https://github.com/WordPress/openverse-frontend/issues/1066
For now I'll push the updated file so the check passes for you. Sorry about that!

Oh dear! It seems our POT file generation is clashing with Windows path delimiters! I created this issue to address that: #1066
For now I'll push the updated file so the check passes for you. Sorry about that!

It's alright. This was my first ever contribution. Thanks a lot for being so helpful and kind!


ngtools/webpack not work

Please provide us with the following information:

OS?

Windows10

Versions.

node 6.9.2

    "@angular/compiler-cli": "2.4.4",
    "@angular/platform-server": "2.4.4",
    "@ngtools/webpack": "1.2.4",
    "webpack": "^2.2.0",
    "webpack-dev-server": "^2.2.0",

Repro steps.

tsconfig.aot.json
{
  "compilerOptions": {
    "target": "es5",
    "module": "es2015",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [
      "es2015",
      "dom"
    ],
    "noEmit": true,
    "strictNullChecks": false,
    "skipDefaultLibCheck": true,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "node_modules/@types/",
      "typings/"
    ]
  },
  "angularCompilerOptions": {
    "skipMetadataEmit": true
  },
  "compileOnSave": false,
  "exclude": [
    "node_modules",
    "output"
  ]
}

webpack.aot.js
new AotPlugin({
                tsConfigPath: helpers.root('tsconfig.aot.json'),
                entryModule: helpers.rootAngular('app/app.module#AppModule'),
                skipCodeGeneration:true
            }),

The log given by the failure.

no error,but generate file size(app.js 6067kb) is same for aot and jit,so i think @ngtools/webpack not work?

Mention any other details that might be useful.

Thanks! We'll be in touch soon.

skipCodeGeneration:true means you will not generate AoT code. Are you setting this to false for AoT runs?

@filipesilva if set skipCodeGeneration:false get below error
ERROR in ./src/angular/app/main.ts
Module not found: Error: Can't resolve './../../../$$_gendir/src/angular/app/app.module.ngfactory' in 'D:\work\nodejs\keypos\aot\src\angular\app'
 @ ./src/angular/app/main.ts 2:0-95

ERROR in<EMAIL_ADDRESS>Module not found: Error: Can't resolve 'D:\work\nodejs\keypos\aot\$$_gendir' in 'D:\work\nodejs\keypos\aot\node_modules\@angular\core\src\linker'
<EMAIL_ADDRESS>71:15-36 87:15-102
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS> @ ./src/angular/app/main.ts

That's a different problem though, and the real reason why you can't get size reductions. @hansl do you know the cause of that error?

@filipesilva the error means i need set "genDir":"some path" in "angularCompilerOptions"?

@filipesilva @hansl  after i change all template:require('...') to templateUrl:'....',the error disappears,but generate file size(4126KB after minify) big than use jit.

@filipesilva @hansl can give me some pointers?

@filipesilva @hansl still get big size bund file

@keyiis you have to wait for a release to get the latest version. The PR fixing this has been merged but not released to npm yet.

@filipesilva  i already update @ngtools/webpack & @angular/cli to last version,but aot still not work!


println cause panic with wasm32-unknown-unknown target

Description
I'm submitting a bug report

stdout can't be accessed  when use wasm32-unknown-unknown
Expected Results
the println should print to back-end when use cargo web start
Actual Results
panic at front-end as follow
Context (Environment)

Rust: rustc 1.27.0-nightly (e82261dfb 2018-05-03)

yew: master branch, no specified

target: wasm32-unknown-unknown,

cargo-web: 0.6.10

browser if relevant

remove println make it works. I may push the fixed version of this example latter.

You are right, wasm32-unknown-unknown doesn't have stdout and we have to avoid using prints.
If you will have time, I will be glad to your PR/fixes :+1:

logger replaced and work fine in wasm32-unknown-unknown target. the issue is to be closed


[WIP] Support multiple secure HBase clusters

What changes were proposed in this pull request?
Support multiple secure HBase clusters:

[x] add SHCCredentialProvider

Obtain token
Reissue token
Work with cache

[ ] others:

Get token from custom delegation manager for SHC
In the driver, serialize token for SHC tasks; In the executor, deserialize token and add to the current UGI

How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)

Hi, @jerryshao The PR for first part has been done. Could you please review it? Thanks.

Thanks for the review, @jerryshao. I have updated the PR.


Inconsistent focus when scrolling in master layout

Hyprland Version
v0.33.1
Bug or Regression?
Bug
Description
If in master layout and you switch focus using the swapnext and swapprev bindings to a different window, the scrolling affects the original focused window and not the current active window. This is the case when the mouse doesn't move and only the scroll is utilised.
The bug does not occur if the layout is set to the default, dwindle layout.
How to reproduce

Open two windows that are scrollable
Move the focus to the other window
Use the scroll wheel or scroll functionality of the trackpad to scroll
Observe the scroll to affect the 1st window

monitor=,preferred,auto,1.3

input {
    mouse_refocus = false
}

$mainMod = SUPER

general {
    border_size = 2
    col.active_border = 0xffff0000
    layout = master
}

bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2

bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

bind = $mainMod, J, layoutmsg, cyclenext
bind = $mainMod, K, layoutmsg, cycleprev

bind = $mainMod, Return, exec, alacritty

Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/20244592/fce277fc-388f-455e-9c0d-4c3bf754e998

Might be related to: !3227

can you test #5074

can you test #5074

I tried to build it but failed to do so. Manual building is currently a bit flaky on Arch linux with the added dependency of hyprcursor and not yet up to date dependencies.
Will test once the repositories are up to date.


Calling JsRuntime.Current.InvokeAsync from C# in HTML part of a component results in Uncaught (in promise)

Title
Calling JsRuntime.Current.InvokeAsync from C# in HTML part of a component results in Uncaught (in promise)
Functional impact
JSInterop does not work in Async mode. I did manage to get the code to work by down-casting to IJSInProcessRuntime and then calling Invoke instead of InvokeAsync, but this still felt like a bug so I thought I should report it.
I have the following code in a Component which is supposed to show one section of code if a token is present in local storage, and another if not.
@inject AuthService AuthService

    @if (IsLoggedIn())
    {

                Welcome User

                 Edit Profile

                 Log out

    }
    else
    {
        <form class="form-inline my-2 my-lg-0" onsubmit="@LogIn"> @*Change to bind-to-oninput when it is fixed*@
            <input class="form-control mr-sm-2" name="username" placeholder="Username" type="text" required bind="@Username" />
            <input class="form-control mr-sm-2" name="password" placeholder="Password" type="text" required bind="@Password" />
            <button class="btn btn-success my-2 my-sm-0" type="submit" disabled="@_loginDisabled">Login</button>
        </form>
    }

@functions {
    // Other methods and properties left out for brevity.

    bool IsLoggedIn()
    {
        // Using .Result as await cannot be used in the Razor HTML
        return AuthService.IsLoggedIn().Result;
    }
}

And then inside AuthService.cs
public async Task<bool> IsLoggedIn()
{
    try
    {
        var token = await JSRuntime.Current.InvokeAsync<string>("jsinterop.getLocalStorageItem", TOKEN_KEY);

        return !string.IsNullOrWhiteSpace(token);
    }
    catch (Exception e)
    {
        Console.WriteLine($"public async Task<bool> IsLoggedIn()': {e.Message}");

        return false;
    }
}

Minimal repro steps
Load the component and look in the console.
Actual result
The following console output:

blazor.webassembly.js:1 WASM: 13
d.printErr @ blazor.webassembly.js:1
blazor.webassembly.js:1 Uncaught (in promise) abort(13). Build with -s ASSERTIONS=1 for more info.

Further technical details
Using Visual Studio 2017 15.8.6 and Blazor 0.6

I think the problem that we can not use Task.Result is the limitation of Blazor by design.
I think, your sample code cause "deadlock" like this figure. (from this post)

I'll rewrite your sample code as follow.
Initialize the status of logged in or not, only once at the component initialization.
@functions {

    bool IsLoggedIn;

    protected override async Task OnInitAsync()
    {
        this.IsLoggedIn = await AuthService.IsLoggedIn();
    }
}

And reference it.
@inject AuthService AuthService

    @if (IsLoggedIn)
    {
        ...

If you have to call JavaScript synchronously, I can provide the information to you about workaround / hack to do it.
See also: https://dev.to/j_sakamoto/workaround-how-to-resolve-local-time-zone-on-blazor-spa-v05x-foi

Thanks for the answer, @jsakamoto.
Yes, the basic fact is that the component's rendering logic must be synchronous. This is the desired design, because unlike a server-side HTML rendering process, the user is already looking at your UI and is waiting for it to update. If the rendering could take an arbitrary amount of time, the user would have no idea what was going on. So if you need to perform an async task, you need to model that in your UI. That is, start the async task in one of the lifecycle methods (e.g., OnInitAsync) and use your synchronous rendering to display some kind of "loading" indicator until that task is completed.
So if you want to use synchronous JS interop during rendering that is technically OK, but it might be better still to move it to async JS interop outside the render logic.


[$250] LHN - Video name is shown in LHN briefly instead of attachment text

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

Version Number: V9. 0.77-2
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Device used: Redmi note 10s android 13
App Component: Left Hand Navigation (LHN)
Action Performed:

Go to https://staging.new.expensify.com
Open a chat
Upload a video and immediately navigate to LHN and note the report preview

Expected Result:
Video name must not be shown in LHN briefly and only attachment text must be shown.
Actual Result:
Video name is shown in LHN briefly instead attachment text.
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[x] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/e7014af7-d4f7-4d3d-8943-b74f71538f9e
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021869790347889402203
Upwork Job ID:<PHONE_NUMBER>889402203
Last Price Increase: 2024-12-19

Issue OwnerCurrent Issue Owner: @akinwale

Proposal
Please re-state the problem that we are trying to solve in this issue.
Video name is shown when uploading a video to a chat. This happen to other attachments too except image.
What is the root cause of that problem?
When we send a new attachment, we get the optimistic HTML representation of the attachment.
https://github.com/Expensify/App/blob/e42622c7936353724b99c546d9e272f25a177ee3/src/libs/ReportUtils.ts#L4432-L4435
Then, we convert it to text using htmlToText, which will later be used as the optimistic last message text.
https://github.com/Expensify/App/blob/e42622c7936353724b99c546d9e272f25a177ee3/src/libs/ReportUtils.ts#L4464
https://github.com/Expensify/App/blob/e42622c7936353724b99c546d9e272f25a177ee3/src/libs/actions/Report.ts#L533-L541
However, htmlToText doesn't handle the video case yet. It only handles image.
https://github.com/Expensify/expensify-common/blob/706481004516cddf08b7652afdf5db951443fbea/lib/ExpensiMark.ts#L799-L803
Then, the BE return the correct last message text which contains the [Attachment] text.
What changes do you think we should make in order to solve the problem?

We should add the case for video and other attachment to ExpensiMark parser too.
{
    name: 'video',
    regex: /<video[^><]*data-expensify-source\s*=\s*(['"])(\S*?)\1(.*?)>([^><]*)<\/video>*(?![^<][\s\S]*?(<\/pre>|<\/code>))/gi,
    replacement: '[Attachment]',
},
{
    name: 'otherAttachment',
    regex: /<a[^><]*data-expensify-source\s*=\s*(['"])(\S*?)\1(.*?)>([^><]*)<\/a>*(?![^<][\s\S]*?(<\/pre>|<\/code>))/gi,
    replacement: '[Attachment]',
},

What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

We need to add the test to expensify-common repo ExpensiMark.

Please re-state the problem that we are trying to solve in this issue.
LHN - Video name is shown in LHN briefly instead of attachment text
What is the root cause of that problem?
The issue occurs because in buildOptimisticAddCommentReportAction determines the text displayed in the LHN by combining the comment's text and attachmentHtml.
getUploadingAttachmentHtml(file):
This function generates HTML for the attachment, including the file name. For a video file, this HTML includes the video name (e.g., "video.mp4").
When there’s no accompanying text, the optimistic action uses this HTML for both html and text, causing the file name to appear in the LHN.
Root Cause Summary:
The textForNewComment variable is derived from htmlForNewComment, which includes the file name for attachment-only messages. Since this variable is used to populate the LHN in the optimistic update, it briefly shows the file name instead of the intended "Attachment" placeholder.
What changes do you think we should make in order to solve the problem?
For attachment-only comments, explicitly set the text to a placeholder (CONST.ATTACHMENT_MESSAGE_TEXT) instead of deriving it from the attachment's HTML.
https://github.com/Expensify/App/blob/e42622c7936353724b99c546d9e272f25a177ee3/src/libs/ReportUtils.ts#L4435
Replace it with
 const textForNewComment = isAttachmentOnly  ? CONST. ATTACHMENT_MESSAGE_TEXT:Parser.htmlToText(htmlForNewComment);
video:-
screen-capture.webm

I initially thought there was some pending action based on this comment.
In any case, @bernhardoj's proposal works here.
🎀👀🎀 C+ reviewed.

expensify-common PR is ready
cc: @akinwale

App PR is ready, but I think we need to hold until the app is updated to include the changes from the previous expensify-common version: https://github.com/Expensify/expensify-common/pull/827
cc: @akinwale


fix: add missing brace to yapf nonconformant test

This commit adds a missing brace to the yapf nonconformant style test
so that a CMake variable is interpolated correctly. The current
version lacks this brace, which is a syntax error.

@white238 @kennyweiss A heads up: caught this syntax error while updating #415.


Is this a fork of NayamAmarshe/please ?

Hi ! I was trying to reinstall your tool but was having a hard time finding it back. Is https://github.com/NayamAmarshe/please the originally project that you forked?

Hi!
PLS-CLI is not a fork, but it served as an inspiration. PLS-CLI is fully customizable and with some code improvements. (And many more things to come)
Were you able to re-install? If you find any problem to re-install PLS-CLI post it here and we'll help you!

Yes I managed to reinstall, I was just confused by the name. I don't remember where I came across PLS-CLI, I recently reinstalled Windows and was searching back for it, please was practically the only thing I could find. I had to perform an Google advanced search with the environment variables name you've setup (I had them saved). Maybe you should consider changing the name?

The name will remain the same. By the way, I will improve the SEO for the website.


Fix race during concurrent cache entry creation

Previously concurrent calls to GetSet on the same cache entry would fail all except one ("the first", for some ordering of the calls).  But given that a value returned from GetSet moments after the creation would be good, and that a call moments before creation would shift creation and also work, the lifetime of a value is anyway not determined by the cache.  So best to return the newly computed value.

Codecov Report

Merging #1053 (45accfc) into master (4895fae) will increase coverage by 0.27%.
The diff coverage is 89.47%.

@@            Coverage Diff             @@
##           master    #1053      +/-   ##
==========================================
+ Coverage   46.22%   46.50%   +0.27%
==========================================
  Files         152      156       +4
  Lines       12315    12658     +343
==========================================
+ Hits         5693     5886     +193
- Misses       5896     6018     +122
- Partials      726      754      +28

Impacted Files
Coverage Δ

cache/cache.go
88.23% <71.42%> (+88.23%)
:arrow_up:

cache/only_one.go
100.00% <100.00%> (ø)

catalog/mvcc/cataloger_cache.go
100.00% <100.00%> (+15.38%)
:arrow_up:

graveler/graveler.go
33.17% <0.00%> (-6.30%)
:arrow_down:

catalog/mvcc/cataloger_commit.go
77.14% <0.00%> (-2.86%)
:arrow_down:

gateway/operations/listobjects.go
0.00% <0.00%> (ø)

graveler/listing_iterator.go
92.15% <0.00%> (ø)

graveler/uncommitted_diff_iterator.go
61.36% <0.00%> (ø)

graveler/combined_iterator.go
56.14% <0.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


feat: read_calldata

Add a read_calldata method to clarify and robustify the interface to calldata. Update the expository DataBus test accordingly.
Closes https://github.com/AztecProtocol/barretenberg/issues/821 (I was proposing something weird in that issue but all I really wanted was for the updating of read counts to be automated. That's achieved through simply placing it in read_calldata).

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 060fa1e1 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
676
676
676

l1_rollup_calldata_gas
6,412
6,424
6,412

l1_rollup_execution_gas
585,745
585,757
585,745

l2_block_processing_time_in_ms
1,293 (-1%)
4,787 (+2%)
9,113 (+1%)

note_successful_decrypting_time_in_ms
183 (+2%)
532 (-3%)
976 (-3%)

note_trial_decrypting_time_in_ms
64.4 (-21%)
49.1 (-24%)
106 (-21%)

l2_block_building_time_in_ms
17,261 (+1%)
65,438 (+2%)
129,458 (+2%)

l2_block_rollup_simulation_time_in_ms
7,969
28,600 (+1%)
55,669 (+1%)

l2_block_public_tx_process_time_in_ms
9,273 (+2%)
36,782 (+3%)
73,690 (+3%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,108 (+5%)
27,188 (+4%)

note_history_successful_decrypting_time_in_ms
1,234 (-2%)
2,349 (-5%)

note_history_trial_decrypting_time_in_ms
92.6 (-5%)
117

node_database_size_in_bytes
18,669,648
35,045,456

pxe_database_size_in_bytes
29,859
59,414

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
235 (-2%)
44,377
28,214

private-kernel-ordering
209 (-1%)
52,880
14,296

base-parity
4,448
128
311

root-parity
1,588 (-3%)
1,244
311

base-rollup
17,915
165,760
861

root-rollup
49.4
4,359
725

private-kernel-inner
592 (-2%)
73,794
28,214

public-kernel-app-logic
387 (-1%)
35,251
28,217

public-kernel-tail
170 (-1%)
40,928
28,217

merge-rollup
8.75
2,568
861

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
9.87 (-1%)
15.7 (-1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.575 (-1%)
0.485 (-2%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
46.3 (-2%)
71.6
231
431 (-3%)
877
1,720
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.475 (-2%)
0.442
0.420
0.404 (-3%)
0.416
0.411
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
53.4 (-1%)
107
336
642 (-4%)
1,316
2,622
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
104
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.474 (-1%)
0.480 (-1%)
0.457
0.442 (-5%)
0.456 (-1%)
0.455
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
61.1

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.535

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes

tx_size_in_bytes
22,024

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
3,012 (+1%)
1,611 (-2%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
15.4 (+7%)
1,113 (-1%)


Enhanced ability to subset dataSet in the preprocessing routines

While building the sst_climo comparison script a need arose to subselect from 3-D fields (e.g. temperature).  A PR was put in to change this (#11), but it seems further functionality may be useful, e.g. selecting a set of times or cells.

See discussion in https://github.com/pwolfram/mpas_xarray/pull/11


Fix broken URL in CONTRIBUTING.md

Description
Updated the broken link to lead to the correct page for Contributing to an Open Source Project on GitHub via EggHead.io

Does this PR introduce a breaking change?

[ ] Yes
[X] No

Does this PR fix an open issue?

[ ] Yes
[X] No

Will submit a new PR using commitizen


Docker Compose Functionality for Multicontainer Use

Allow users to define compose files that describe their container setup, which will be launched on boot.

I believe currently we don't plan to add the docker-compose binary to resinOS, so will close for now


libs.rs >> awesome-rust

libs.rs is DEPRECATED in favour of https://github.com/rust-unofficial/awesome-rust

Thanks!


The great ispyb interaction refactor

The way we store data in ispyb is currently very messy and not very extensible. After a discussion between @dperl-dls, @rtuck99 and @DominicOram we decided on a new design with the following principles:

The StoreInIspyb classes should hold no state, it should just put relevant data into the database and forget about it
Callbacks and Store classes should be as agnostic as possible to changes in when data is read from devices and what devices are called. If there is an open run then the latest data read from the device should just overwrite the correct field in ispyb
More data should be moved to being read from ophyd devices and less to the metadata supplied in the start document

The first steps in doing this are to:

Move all state out of StoreInIspyb
Split the parameters of what the callbacks take and what StoreInIspyb requires

For testing this, given it's a big change we should, before merging in general:

Test against the dev database - there should already be system tests that do this
Get all the branches merged into 1
Put that branch on the beamline and try it

With all associated PRs merged I'm closing this :tada:


Extract assets and configuration on startup

Assets and configuration will copied from the classpath to the home
directory, when starting OSIAM.
The contents of the home directory have been put on the classpath,
because it's the only place that is working under the different runtime
environments, e.g. Maven (with Spring Boot plugin), Tomcat (or other
Servlet containers) and standalone usage with java -jar osiam.war.
Initialization will not be done, if the home directory already contains
files or folders, to prevent accidentally overwriting a customized
setup.
Also load the default configuration that's contained in the classpath,
to work around a chicken-and-egg problem:
If OSIAM starts without a configuration in place, it will not reach the
point, where it initializes the home directory, because property
replacements will fail beforehand.
Always loading the default config, which is the same config that will be
copied to the home directory anyway, makes sure all properties are set
to working defaults.
On the next start the values from the config file in the home directory
will override the ones defined in the default config.
Remove the distribution creation and make the .war file the single
artifact to distribute.
The .war. file contains all needed assets now, so a separate
distribution artifact is not needed anymore.
Also add the changelog and readme to the .war. file from now on, as
they have been in included in the distribution artifact before.
Assets and default configuration can still be extracted from the .war.
file, as it's just a ZIP file, but from a different path.

Works like a charm! Thank you very much! This is a huge step to OSIAM 3.0!!! :dancers:


Bug when allocating memory aligned with 4KB

The code that does the alignment is wrong:
if (align == 1 && (free_mem_addr & 0xFFFFF000)) {
        free_mem_addr &= 0xFFFFF000;
        free_mem_addr += 0x1000;
 }

It should be (masking with 0x00000FFF instead of 0xFFFFF000) :
if (align == 1 && (free_mem_addr & 0x00000FFF)) {
        free_mem_addr &= 0xFFFFF000;
        free_mem_addr += 0x1000;
}

Or you can just
total_usable = (total_usable + 0x1000) & ~((uint32_t)0xFFF);

Something like that


RNA-seq tutorial on "Discovering and quantifying new transcripts": Inconsistent results

Hi, all
I was running the RNA-seq tutorial "Discovering and quantifying new transcripts" for my final project of Anton's class. I'm pretty sure that I followed every step in the tutorial. I still got inconsistent results for filtering DESeq2 output, which gave me 149 differentially expressed transcripts rather than 128. The first two transcripts are MSTRG.33.1 and MSTRG.1010.1 rather than MSTRG.977.1 and MSTRG.78.1, neither of which was found in my analysis.
GeneID	    Base mean	log2(FC)	StdErr	Wald-Stats	P-value	P-adj
MSTRG.33.1	4222.698	8.336	0.606	13.755	    4.749e-43	2.787e-40
MSTRG.1010.1	 686.616	-9.962	1.061	-9.386	    6.177e-21	1.812e-18
MSTRG.82.1	 710.930	10.850	1.188	9.130	    6.795e-20	1.329e-17
Then, I directed IGV to the region where the MSTRG.78.1 in the tutorial is located. It turns out that MSTRG.78.1 is named as MSTRG.82.1 in my result. So I guess the transcripts are still detected but with names different from the tutorial?
Fan

Thanks for your feedback, we will work on this during the upcoming contribution fest!

The tutorial is on the Hub (https://galaxyproject.org/tutorials/nt_rnaseq/) not on the Training Material
@nekrut should we move it here?


Support for adjusting the alarm using geofence triggers and receive push notifications for alarm state changes?

Is it possible to use the Envisacor Ademco Plugin to adjust the alarm state and receive a push notifications for the state change from the Apple Home app?
What I tried:
I set up dummy switches in the “first arrive/last leave” automations to trigger changes to the security modes managed by the Envisacor Ademco Plugin through additional automations that adjust the alarm state when the dummy switch is activated. While this setup successfully changes the alarm states, I was unable to receive push notifications for alarm state changes in the Apple Home app.
Note: I managed to use the homebridge-pushover plugin to send push notifications via Pushover, but I was hoping to rely solely on Apple Home for my notifications.
Request
Would it be possible for the plugin to:
• Provide mode switches that can bypass HomeKit confirmations and trigger notifications?
• Allow these mode switches to update the Security System Target State characteristic, resulting in a notification within the HomeKit protocol? From my understanding, triggering a notification should be feasible when done via a switch.

The plug-in already support the native Homekit notifications for an system alarm.  So changing the arming states does come up as a notification. I personally see this each time my panel change arm state from Home, away...etc... via the app or on the alarm panel itself. I also have an automation to change state at specific times, which also show the notification.

The issue I am experiencing is specific to adjusting the alarm based off geofence triggers.
I can confirm that push notifications (including critical alerts) work when I manually trip or adjust the alarm. In fact, my alarm company just called. 🤣 Additionally, automating an alarm mode schedule also triggers a push notification.
What I haven’t confirmed is whether the “first person arrives/last person leaves” automations will send push notifications when triggered via geofence. Previously, when I tried using this plugin’s alarm mode to arm on “last person leaves” or disarm on “first person arrives,” I recall being prompted with a push notification to confirm the state change when people triggered those automations based off geofence. However, when I replaced those automations with two dummy switches (one for “first person arrives” and another for “last person leaves”) and then created separate automations to listen to these switches and adjust the alarm arm/disarm mode accordingly, the alarm state was successfully adjusted by geofence—but no push notification was sent!
To my understanding, geofence-based triggers for sensitive devices like alarms, locks, and garages require user authentication to allow changes in the Home app. This restriction does not apply to other automations, such as scheduled triggers or dummy switches, adjusting these devices.
What’s unclear is why a scheduled trigger for the alarm sends a push notification, but adjusting the alarm state via dummy switch automations does not. I do know that other plugins have implemented mode switches that work with geofence triggers to adjust alarm states and send Apple Home push notifications.
In the example of this plugin, the approach appears to work as follows:
1.	Mode Switches Creation:
The plugin adds mode switches in SecuritySystem.prototype.services, such as:
•	modeHomeSwitchService (Stay Arm)
•	modeAwaySwitchService (Away Arm)
•	modeNightSwitchService (Night Arm)
•	modeOffSwitchService (Disarm)
Example:
this.modeHomeSwitchService = new Service.Switch(options.modeHomeSwitchName, "mode-home");
2.	One-Way Switches:

Each mode switch is implemented as a standard HomeKit Switch service that can only be turned ON:
setModeHomeSwitch(value, callback) {
if (value === false) {
callback(HK_NOT_ALLOWED_IN_CURRENT_STATE, false);
return;
}
this.updateTargetState(
Characteristic.SecuritySystemTargetState.STAY_ARM,
originTypes.INTERNAL,
true,
null
);
callback(null);
}
3.	Behavior When Activated:

Turning a mode switch ON does the following:
•	Updates the security system’s target state using updateTargetState().
•	Updates the HomeKit SecuritySystemTargetState characteristic.
•	Resets all other mode switches to OFF.
Using these mode switches in the first person/last person automations, I can use geofence triggers to adjust alarm modes and still receive push notifications, which is something I cannot currently achieve using dummy switch automations or this plugins modes.

Hi,
The sample plug-in provided is a basic implementation, as it does not connect to an actual alarm system. This plug-in reads the alarm stream (e.g., EnvisaLink TPI) to gather information about various states and updates the SecuritySystem state accordingly. For details on how the alarm is processed when different modes are activated, refer to the setTargetState function in partitionAccessory.js. Additionally, the systemUpdate function in index.js handles alarm responses from the Envisalink TPI interface.
If the goal is to create a button for each alarm state (e.g., disarm, away, etc.), you can achieve this by creating "speedkeys" (custom switches) for each operation. These speedkeys use raw command strings in the format <PIN><Ademco Alarm Command>. Each speedkey sends a direct command to the EnvisaLink TPI. Just like other operations performed on the panel, the plug-in reads the Envisalink TPI stream and updates the state accordingly.  You can get various alarm command from the tpi.js under 'exports.alarmcommand'
For example:
"speedkeys": [
    {
        "name": "Disarm",
        "speedcommand": "@pin1"
    },
    {
        "name": "Away",
        "speedcommand": "@pin2"
    }
]

In my opinion, Apple has good reasoning behind its prompting mechanism, so I personally wouldn’t recommend the approach you’re trying to implement. However, the plug-in as it stands gives you the flexibility to do so if needed.

Amazing. That was exactly what I was looking for. I can confirm that works perfectly. What a great plugin. And, what fantastic and patient developer support you've provided to me. 🙇
I wrote up a blog post explaining how I got this working. No pressure to read it but if you do and have any feedback please lmk.
https://danielraffel.me/2024/12/06/how-to-set-up-your-honeywell-alarm-with-apple-home-for-push-notifications-and-geofence-based-arming-disarming/

Interesting ---  "Each switch has a descriptive name and not show it"  It should show the description provided by the "name" field you.  Have you tried to ungroup?  Either-way, I will look into why the correct name is not appearing.

Yeah, I did ungroup and they still had the same names. It wasn’t hard to toggle each to determine what they did and rename them in the home app, so that’s what I did. But, figured I’d report if useful feedback.

But, then after renaming them I decided to re-group them since I kinda preferred them collapsed.

Awesome...glad you got it working for you. I will look at the speed keys initial setup code and make a few adjustment in next version to hopefully avoid that initial configuration oddness.

If you’re open to it, it might be useful to others to document the speed keys code example you shared with me in the readme. Explaining how to use it in first/last automations, even if it includes a disclaimer, might be helpful for folks interested in trying out presence based automation. Obviously understand if you don't want to but it's a nice tip!


No new package released

Under packages I only see 3.12.0, while the code suggests there should also be 3.13.1.

I think this is because I try to generate a new semantic release instead of re-using the alpine version number.
And since those commits are prefixed with chore, it does not up the version. Fixing in https://github.com/ironpeakservices/iron-alpine/commit/35701f14fd7e60316eccb37e537fc904c3f68295
I might go back at re-using the alpine versioning tough.

Wonderful, thanks, I am closing this one then

FYI @frederikbosch I don't think it's quite fixed yet.

Could you maybe have another look at this maybe @hazcod?

It is not only the Docker version that is not published. Also, the git tag 3.13.2 still references alpine 3.12.2 in its Dockerfile.

 Hopefully we have a sustainable pipeline that can last for sometime!

Thank you for the help @frederikbosch , really appreciate it.


fixed #1879: Add support for range filter

Currently it supports the following schema:
{
  "type": "between",
  "numerically": false,
  "upper": "abd",
  "lower": "abc"
}

The numerically field can be omitted and defaults to be false if both upper and lower are not numbers. It means the omitted field will be true if given:
{
  "type": "between",
  "upper": 1,
  "lower": 0.1
}

and will be false if given:
{
  "type": "between",
  "upper": "1",
  "lower": "0.1"
}

Also worth note:

the bounds to defaults to value <= upper && value >= lower and  does NOT support configuration
string comparison are implemented use String#compareTo which is case sensitive.

Finally, I just finished coding and have NOT tested the code. Hopefully somebody could help to review this code and feed me back some suggestions.

Most boundaries in druid are "greater than or equal" on the lower and "less than" on the upper. Can you give some examples of if that would or would not work for this?

@zhxiaogg Have you seen https://github.com/druid-io/druid/pull/1936 ?

@drcrallen  yes, i just noticed that... oops!

@drcrallen  can you still review this code?  I'll pick a new issue later.