C#: How to save depth frames to 16bit grayscale images

Required Info

Camera Model
{ D400 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
{ Win (10) }

Platform
{ PC }

SDK Version
{ 2.42.0 }

Language
{C# .NET Core 3.1}

Issue Description
Hi there!
I am trying to save depth images (grayscale, not colorized) from a D435 to 16bit png-files in C# (.NET Core 3.1).
However I wasn't successful using .NET's Image.Bitmap build-in class for that.
Saving a RGB-image works fine but when I execute the following lines:
var streamConfig = new Config();
int width = 848;
int height = 480;
streamConfig.EnableStream(Stream.Depth, width, height, Format.Z16);
streamConfig.EnableStream(Stream.Color, Format.Rgb8);

var pipeline = new Pipeline();
var pipeProfile = pipeline.Start(streamConfig);

using (var frames = pipeline.WaitForFrames())
{
    var depthFrame = frames.DepthFrame.DisposeWith(frames);
    var colorFrame = frames.ColorFrame.DisposeWith(frames);

    var depthImage = DepthFrametoBitmap(depthFrame);
    depthImage.Save(@"C:\src\testImg_depth.png");
}

private Bitmap DepthFrametoBitmap(VideoFrame frame)
{
    Bitmap bitmap = new Bitmap(frame.Width, frame.Height, frame.Stride, PixelFormat.Format16bppGrayScale, frame.Data);
    return bitmap;
}

Unfortunately I couldn't find any other thread regarding this topic.
Is there different approach to export 16bit depth images?
Kind regards
Markus

Hi @jwolli  I could only find one script, in the link below, for saving a grayscale depth image as a PNG in C#.
https://github.com/IntelRealSense/librealsense/issues/3796

Hi @MartyG-RealSense !
Thanks for the quick reply!
Unfortunately the thread you mentioned does not really help me with this issue.
Although it appears to be grayscale, a colorizer is used and the created image contains three channels. The output format is PixelFormat.Format24bppRgb .
What I would like to export is a grayscale image (preferably 16bit) with only one channel.
I tried to use the format PixelFormat.Format16bppGrayScale but execution will lead to an error:

System.Runtime.InteropServices.ExternalException (0x80004005): A generic error occurred in GDI+.
at System.Drawing.SafeNativeMethods.Gdip.CheckStatus(Int32 status)
at System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(String filename, ImageFormat format)
at System.Drawing.Image.Save(String filename)
....

Kind regards
Markus

I recall another case where someone wanted a grayscale image without using the colorizer.  Though the script in the link below is Python, it might provide some ideas.  In that script, the RealSense user converted the depth frame to a grayscale map using depth_image = cv.convertScaleAbs(depth_image, alpha=0.03)

Thanks for sharing the link!
I managed to export grayscale depth frames in python using numpy and openCV with the following lines of code:
import pyrealsense2 as rs
import cv2
import numpy as np

pipeline = rs.pipeline()

cfg = rs.config()
cfg.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
cfg.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

profile = pipeline.start(cfg)

frames = pipeline.wait_for_frames()
depth_frame = frames.get_depth_frame()

depth_image = np.asanyarray(depth_frame.get_data())

# save image using openCV
cv2.imwrite("C:\\src\\testImg_depth.png", depth_image)

Is there a way to achieve a similar result in C#?

I researched your question carefully but was unable to find an example of C# code for exporting a gray-scale depth image file unfortunately.

Hi @jwolli  Bearing in mind the above comment, do you require further assistance with this case please?  Thanks!

Hi @MartyG-RealSense
thanks for your time and effort!
Unfortunately I wasn't able to solve this issue. It seems to me that the pixel format PixelFormat.Format16bppGrayScale exists, but somehow cannot be used to export images...
You may close this issue.

Thanks very much @jwolli for the update.  I'm sorry that you didn't achieve the desired outcome.  As suggested, I will close the case.  Good luck with your work!

Hi,
If anyone still trying to get it done in c#
var streamConfig = new Config();
int width = 848;
int height = 480;
streamConfig.EnableStream(Stream.Depth, width, height, Format.Z16);
streamConfig.EnableStream(Stream.Color, Format.Rgb8);

var pipeline = new Pipeline();
var pipeProfile = pipeline.Start(streamConfig);
using (var frames = pipeline.WaitForFrames())
{
  using (var colorframe = frames.ColorFrame.DisposeWith(frames))
  {
    using (Bitmap bitmap = new Bitmap(colorframe.Width, colorframe.Height, colorframe.Stride, System.Drawing.Imaging.PixelFormat.Format24bppRgb, colorframe.Data))
      {
      using (var memoryStream = new MemoryStream())
        {
        bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
        }
      }
  }
  using (var depthframe = frames.DepthFrame.DisposeWith(frames))
  {
    byte[] managedArray = new byte[depthframe.DataSize];
    depthframe.CopyTo(managedArray);
    using (var image = SixLabors.ImageSharp.Image.LoadPixelData<SixLabors.ImageSharp.PixelFormats.L16>(managedArray, depthframe.Width, depthframe.Height))
      {
      using (var memoryStream = new MemoryStream())
        {
        image.Save(memoryStream, new PngEncoder());
        }
      }
  }
}

Thanks so much @asheesh1996 for sharing your C# script solution with the RealSense community  :)


Rework/simplify GH Actions jobs

Use pull_request instead of pull_request_target
Move Develocity build scan publishing for untrusted code to a separate workflow
Split caches between trusted and untrusted code
Update secrets to use "Develocity" name instead of "Gradle Enterprise"

Opening as draft as I need to check that this actually works, and will be checking on the ORM side: https://github.com/hibernate/hibernate-orm/pull/9163

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license
and can be relicensed under the terms of the LGPL v2.1 license in the future at the maintainers' discretion.
For more information on licensing, please check here.

Thanks!


Question about data overlap

Hello, thanks for the great work.
I noticed that the RefCOCO val/test sets use images from the COCO training set. When doing joint training, I think this could cause a data leak, that the testing images and masks for RefCOCO are seen when training on COCO-Panoptic. Is this true, or have you handled this somewhere?

Hello, I noticed that LISA mentioned in the paper 'we exclude the COCO samples whose images are present in the refCOCO(+/g) validation sets during training.' However, it seems that I didn't find this implemented in the code. Did you notice anything regarding this?"

Hi, all
I did not notice this problem. We built our dataset based on LISA and UNINEXT. RefCOCO/+/g and COCO train2017 are built from LISA, so I do not know such data leak has been dealed well. So can you provide me some codes in LISA or UNINEXT about this processing? So that I can check wheter I follow it correctly.


ModuleNotFoundError: No module named 'anytree'

Hi,
I was trying to obtain the DH table of MARA robot from its URDF description at https://github.com/AcutronicRobotics/MARA.
I've cloned this repo and compiled with "colcon". I'm sourcing my ROS 2 distribution (Dashing), this converter workspace and the robot workspace (both workspaces are in /home). Then, I'm trying to run the command to actually make the conversion, based on the README file. I'm typing in the terminal:
source /opt/ros/dashing/setup.bash
source urdf_to_dh/install/setup.bash
source ros2_abb_ws/install/setup.bash
ros2 run urdf_to_dh generate_dh --ros-args -p urdf_file="~/ros2_mara_ws/src/mara/mara_description/urdf/mara_robot.urdf"

The error I'm obtaining is the following
ModuleNotFoundError: No module named 'anytree'
I've installed anytree with "pip", but the same error is appearing.
pip install anytree
Does anyone know how to solve this issue?
Thanks,
Jon

Do you have multiple python versions installed? maybe you need pip3 install?
Here's what I get running the node... although I have to caution you, this repos is still in very much a development stage and has only been tested with a few robots that are striclty serial (i.e. no branching in the kinematic chain).
I'd be curious to know if the DH matches with what you'd expect. I'll (hopefully) be making some updates in the near future as I'll be using this tool again myself shortly.
Cheers
DH Parameters: (markdown)
|    | joint                         | parent      | child        |        d |    theta |    r |       alpha |
|---:|:------------------------------|:------------|:-------------|---------:|---------:|-----:|------------:|
|  0 | world_to_base_joint           | world       | base_link    |  0       |  90.0002 | 0    |  90.0002    |
|  1 | joint_bases                   | base_link   | base_robot   |  0       |  90.0002 | 0.04 |   0         |
|  2 | motor1                        | base_robot  | motor1_link  | -0       |  90.0002 | 0    |  90.0002    |
|  3 | motor1_cover_joint            | motor1_link | motor1_cover |  0.05122 |  -0      | 0    | -90.0002    |
|  4 | motor2                        | motor1_link | motor2_link  |  0.21492 |  -0      | 0    | -90.0002    |
|  5 | motor3                        | motor2_link | motor3_link  |  0.109   | -90.0002 | 0.2  |   0         |
|  6 | motor3_cover_joint            | motor3_link | motor3_cover |  0       |   0      | 0    |   0         |
|  7 | motor4                        | motor3_link | motor4_link  | -0.10926 |  90.0002 | 0    |  90.0002    |
|  8 | motor5                        | motor4_link | motor5_link  |  0.30999 |   0      | 0    |  90.0002    |
|  9 | motor5_cover_joint            | motor5_link | motor5_cover | -0.10546 |   0      | 0    |   0         |
| 10 | motor6                        | motor5_link | motor6_link  |  0.0008  |  -0      | 0    | -90.0002    |
| 11 | ee_link                       | motor6_link | ee_link      |  0.14676 |  -0      | 0    |  -0.0458366 |
| 12 | motor6_link-tool0_fixed_joint | motor6_link | tool0        |  0.14676 |  -0      | 0    |  -0.0458366 |

Yes, I have Python 2 for ROS Melodic and Python 3 for ROS 2 Dashing. So I imagine the error is in there, as you said. I'll try with pip3 install.
I'll test the provided DH table in the following weeks and I'll let you know.
Thank you very much for your support.

Assuming the issue is resolved with pip3 install


Preserve original parquet file structure after merging.

This PR updates the merging of parquet files after chunked processing.
Our processing happens in three steps.

Chunks of events are loaded and processed by task array functions.
The resulting new columns are saved in parquet files via ak.to_parquet. Here, we rely on awkward to pass specific settings to the underlying parquet writer.
After all chunks are processed, we merge these parquet files. This merging is happening without awkward, using a bare pyarrow.parquet.ParquetWriter instance. However, for full consistency with the format expected by awkward and dask_awkward when reading these files again in a downstream task, a setting use_compliant_nested_type was missing. This setting makes sure that the internal node / tree structure is consistent w.r.t. the input files.

Memory is stable now over multiple processes. I removed previous workarounds.
@mafrahm Would you mind running your previous tests to confirm this fix?
Fixes #583.

Hi @riga, I had to merge this PR into the status from #566 for testing. However, there should be no technical differences regarding column processing.
First of all, I got errors when using my already existing outputs both in SelectEvents and in CreateHistograms. Therefore, I suppose I'd need to reprocess everything from scratch with this PR.
During SelectEvents, I don't see significant memory differences, however these differences are quite difficult to track.
During CreateHistograms, however, the previous implementation still performs better compared to this one

Solved after private communication. Resource consumption is now down to a reasonable level when using multithreaded reading.

Thanks for checking :+1:
I added a last commit that removes manual garbage collection calls, plus a critical law update, i.e., nothing that changes the overall idea of this PR.
Merging now.


Make explicit require statements

According to browser build problem https://github.com/metarhia/globalstorage/issues/106#issuecomment-391463844 requires should be defined explicitly because webpack can't figure out dependecies and doesn't include these modules

@tshemsedinov I believe so, yes. Given that the list of modules is actually static and, roughly speaking, we just need to help webpack understand that the path name may only be bound to one of those values, it should be feasible to do with webpack's require.context and/or (maybe) webpack.ContextReplacementPlugin. Also, constructing the path and requiring the module would probably need to be done in one step, like this:
-].map(path => './lib/' + path).map(require);
+].map(path => require('./lib/' + path));

Alternatively, specifying all the modules in the webpack config as a multi-main entry might also work somehow, but I'm not sure about that.

Nice to know that webpack supports altering require context 👍 But I think that simplicity of explicit requirements is better than beaty of code + more complex logic of require context in this case.

Closed in favor of https://github.com/metarhia/common/pull/178


SkyLUT skybox mapping issue

Hey.
Great job.
There is a few issues a mentioned in your implementation.
I guess there is an error with calculations while mapping to skybox. pic related

Hello, this is a bug in the uvs for sampling the far sky LUT from skyview parameters. I did fix this in another one of my projects, but I can't remember what the fix was :( I think it was unclamped cosine or something along those lines...
I'll try to look for it in the githistory but it shouldn't be too hard to debug - I suspect if instead of the sky you draw the uv parameters you should fairly easily be able to track it down!


Add more metadata and try to guess if relationship is iterable

Add stuff to metadata: table name, columns, foreign keys
Try to guess is a relationship is iterable

Is this ready for review, or it is still a WIP?

I wanted to know first If the logic implemented is something you would consider putting into the plugin, before going any further.

@ilevkivskyi This can be reviewed

@ilevkivskyi Any news on this ?

I just returned from vacation, will take a look at this later this week. Sorry for a delay!

@ilevkivskyi Is this project still maintained ? Would you merge this if i make the requested changes and rebase this ?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Mehdi:x: mehdigmiraMehdi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Reference temperature in resistors

Reported by m.ceraolo on 2 Feb 2012 08:04 UTC
In Modelica.Electrical.Analog.Basic.Resistor the resitor temperature T_ref is set as default to 300.15 kelvin.
However in the ConditionalHeatPort it uses, the HeatPort temperature in case HeatPort=false, is set to 293.15 kelvin.
According to my tests, this never causes troubles; but it is still a minor glitch.
Is it possibile to choose one value (I suggest 293.15) for both variables?

Migrated-From: https://trac.modelica.org/Modelica/ticket/694

Comment by dietmarw on 2 Feb 2012 09:17 UTC
Christoph Clauss:
Thank you for reporting that. We will check it, that means find out the reasons for these different values.

Comment by clauss on 6 Jun 2012 07:01 UTC
T_ref is generally set to 300.15 kelvin in Modelica.Electrical.Analog.
The reason is that SPICE uses 27 Celsius (300 kelvin) as default reference temperature.
To be precise, we use 300.15 kelvin.
From my point of view the ticket could be closed.

Modified by clauss on 6 Jun 2012 07:03 UTC

Comment by dietmarw on 6 Jun 2012 09:01 UTC
Fixed in aabf47fa9be790ac66e2cd5ce81b136c3d5b26a5.

Comment by ahaumer on 8 Jun 2012 07:16 UTC
Please, for now leave it at 300.15 K for backwards compatibility not to break existing user models. As soon as a conversion script is used for a new version of MSL, please change the default to 293.15 K. Reference values are normally given at 20 degC, 27 degC is a source of errors! If Spice3 needs 27 degC as default, please use appropriate extends statements with (Tref=300.15).

Comment by dietmarw on 8 Jun 2012 07:43 UTC
Toni, well spotted. I reverted the change in 8d9f01b8b5d8c9a576475ad5123a61287547c74a and will reschedule the ticket to the next Milestone with conversion script (most likely [milestone:MSL4.0])

Comment by otter on 18 Jul 2013 12:11 UTC
This is not a defect, there are just different opinions about a default reference value in different communities. Therefore changed to "discussion". Furthermore, the model is correct therefore changed Severity to "minor"

Changelog removed by otter on 18 Jul 2013 12:11 UTC

Comment by dietmarw on 1 Aug 2015 21:36 UTC
Milestone renamed

Comment by dietmarw on 1 Aug 2015 21:39 UTC
Milestone renamed

Point to @ceraolo.

I'd like solve this issue in connection with #694, therefore postpone it beyond MSL4.0.0.


Select App error

iOS 10.2,Get the app list an error as follows
Error downloading file.
/usr/local/lib/ruby/gems/2.3.0/gems/plist4r-1.2.2/lib/plist4r/plist.rb:294:in `open': No filename specified (RuntimeError)

Yeah... I figured out why it is doing that... but it will be some work to fix it...
Modified the code a bit to insert some additional logging during the ssh_operations.rb.
under this section:
    def download(remote_path, local_path = nil)       begin         if local_path.nil?           **$log.info "Starting download #{@sftp} #{remote_path}"**           @sftp.download! remote_path         else           **$log.info "Starting download #{@sftp} #{remote_path} to #{local_path}"**           @sftp.download! remote_path, local_path         end       rescue         $log.error "Error downloading file."         return false       end       true     end
It will give you output like this in the log...
[INFO] 2017-06-22 15:42:09 :: idb ::  Starting download #Net::SFTP::Session:0x00000001dccd90 /private/var/installd/Library/MobileInstallation/LastLaunchServicesMap.plist to /home/santoku/.idb/tmp//0B9AD0EC-2FBD-406D-8C5E-03F72173091F//private/var/installd/Library/MobileInstallation/LastLaunchServicesMap.plist
[ERROR] 2017-06-22 15:42:09 :: idb ::  Error downloading file.
the app.rb file defines this path inside this block of code:
`      if $device.ios_version >= 8
if $device.ios_version == 8
mapping_file = "/var/mobile/Library/MobileInstallation/LastLaunchServicesMap.plist"
else
mapping_file = "/private/var/installd/Library/MobileInstallation/LastLaunchServicesMap.plist"
end
local_mapping_file = cache_file mapping_file
@services_map = IOS8LastLaunchServicesMapWrapper.new local_mapping_file
@data_dir = @services_map.data_path_by_bundle_id @info_plist.bundle_identifier
@keychain_access_groups = @services_map.keychain_access_groups_by_bundle_id @info_plist.bundle_identifier
  else
    @data_dir = @app_dir
  end`

The issue is iOS 10.x does not use the file LastLaunchServicesMap.plist anymore.  They are using a database for the list of installed applications. /User/Library/FrontBoard/applicationState.db
So basically a sql query will need to take place to grab the appropriate information idb is requesting...  Wonder if anyone has time to work through this...
Anyways... hope this points someone in the correct direction...

thanks for getting this far. Will look into this.

this should be fixed in the latest version. Are you still having issues?

App listing works now, but idb crashes when I select an App.
iOS 10.2
my os:  4.4.0-93-generic #116-Ubuntu
       from /var/lib/gems/2.3.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:inmethod_missing'
from /var/lib/gems/2.3.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in exec'         from /var/lib/gems/2.3.0/gems/idb-2.10.1/lib/idb.rb:278:in run'
from /var/lib/gems/2.3.0/gems/idb-2.10.1/bin/idb:4:in <top (required)>'         from /usr/local/bin/idb:22:in load'
from /usr/local/bin/idb:22:in <main>' recv failed: Resource temporarily unavailable

Are you able to share which app causes this? If its a free one I would install and test it.
Which ruby version are you using?
Also, is there more output you could paste? That does not seem to be the entire error.

Thanks a lot @dmayer

DB Navigator, but it crashes on any App I tried.
ruby version is: ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux-gnu]
But the bin points to an  older version (2.1.0). I might try to rebuild the gem first.

I have same problem:
/Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/app_details_group_box.rb:69:in `app_changed': undefined method `sub' for {"identifier"=>nil, "snapshots"=>nil, "$class"=>nil}:Hash (NoMethodError)
Did you mean?  sum
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/app_tab_widget.rb:48:in `app_changed'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/main_tab_widget.rb:163:in `app_changed'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/idb.rb:122:in `block in init_ui'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:61:in `qt_metacall'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:61:in `app_changed'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:61:in `block (2 levels) in initialize'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/app_list_dialog.rb:24:in `qt_metacall'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/app_list_dialog.rb:24:in `method_missing'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/app_list_dialog.rb:24:in `block in initialize'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:917:in `qt_metacall'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:917:in `method_missing'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:917:in `exec'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:63:in `block in initialize'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in `qt_metacall'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in `method_missing'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in `exec'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/lib/idb.rb:278:in `run'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/gems/idb-2.10.3/bin/idb:4:in `<top (required)>'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/bin/idb:23:in `load'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/bin/idb:23:in `<main>'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
	from /Users/ximerus/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
recv failed: Resource temporarily unavailable

Same problem here!
When selecting an app, idb crashes. This is my log:
[DEBUG] 2017-11-13 17:17:59 :: idb ::  Executing blocking SSH command: /usr/bin/ldid -e '/private/var/containers/Bundle/Application/6B9C9D66-A9C4-4CB7-B9E0-2ACBF17040B7//DamnVulnerableIOSApp.app/DamnVulnerableIOSApp'
/Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r/plist.rb:82:in `from_string': Unknown plist format for string:  (RuntimeError)
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r/plist.rb:280:in `block in parse_opts'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r/plist.rb:277:in `each'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r/plist.rb:277:in `parse_opts'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r/plist.rb:53:in `initialize'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r.rb:20:in `new'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/plist4r-1.2.2/lib/plist4r.rb:20:in `new'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/lib/ios10_application_state_db_wrapper.rb:28:in `entitlements_by_binary'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/lib/app.rb:300:in `entitlements'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/default_protection_class_group_widget.rb:23:in `update'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/plist_file_widget.rb:52:in `setup'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/local_storage_tab_widget.rb:25:in `setup'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/main_tab_widget.rb:95:in `enableLocalStorage'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/main_tab_widget.rb:159:in `app_changed'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/idb.rb:122:in `block in init_ui'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:61:in `qt_metacall'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:61:in `app_changed'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:61:in `block (2 levels) in initialize'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/app_list_dialog.rb:24:in `qt_metacall'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/app_list_dialog.rb:24:in `method_missing'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/app_list_dialog.rb:24:in `block in initialize'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:917:in `qt_metacall'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:917:in `method_missing'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:917:in `exec'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/gui/global_app_details_group_box.rb:63:in `block in initialize'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:2470:in `invoke'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in `qt_metacall'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in `method_missing'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/qtbindings-<IP_ADDRESS>/lib/Qt/qtruby4.rb:479:in `exec'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/lib/idb.rb:278:in `run'
	from /Users/admin/.rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/idb-2.10.3/bin/idb:4:in `<top (required)>'
	from /Users/admin/.rvm/gems/ruby-2.4.1/bin/idb:23:in `load'
	from /Users/admin/.rvm/gems/ruby-2.4.1/bin/idb:23:in `<main>'
	from /Users/admin/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
	from /Users/admin/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
recv failed: Resource temporarily unavailable
``

I found a workaround for the app crashing issue.
It seems like there is something wrong with the iOS 10 support.
Revert this and all subsequent commits and idb will work again!
You have to do the following steps:
git clone https://github.com/dmayer/idb
cd idb/
git revert<PHONE_NUMBER>91b24c53596817b8818d2b2bc18e4b
git revert 799a0e6565c17f72dce5a7e9f1a5738abbd08ae2
git revert 092929aa51b941e003f7e4d162b550171da8d66a
git revert c8dcb9f091fc7f706af60b40c5a041299c3dcf35
git revert c8d025012fa7eacaae688a53e22078ccf4cebe15

bundle install
bundle exec idb

WARNING: This will drop the support for iOS 10!

Thanks for the workaround, however I need idb working on iOS 10. ;)

After some researchs, I found the root cause of crash in iOS 10. I use an iPhone 5c 10.3.3 (32bit/Helix) and the application crashs when I select an application in list because IDB failed to get the correct data_dir  from /User/Library/FrontBoard/applicationState.db.
The error comes from the value of kvs.key on the sql request in /lib/lib/ios10_application_state_db_wrapper.rb :
stmnt = db.prepare "SELECT kvs.value FROM application_identifier_tab left join kvs on application_identifier_tab.id = kvs.application_identifier where kvs.key = 2 and application_identifier_tab.application_identifier='#{bundle_id}'"

On my iPhone, the app_dir and data_dir are in the blob associated to the kvs.key number 1. Just replace 2  (XBApplicationSnapshotManifest) by 1 (compatibilityInfo) in this request work like a charm for me on iOS 10.3.3.
You could test the following command to find an application data_dir (ex: facebook)
# sqlite3 /tmp/applicationState.db "select quote(value) from kvs inner join application_identifier_tab on kvs.application_identifier = application_identifier_tab.id where application_identifier_tab.application_identifier like '%facebook%' and kvs.key = 1;" | cut -d "'" -f2 | xxd -r -p | strings | sed -n 's/T\(\/private\/var\/mobile\/Containers\/Data.*\)_/\1/p'
/private/var/mobile/Containers/Data/Application/B3D96422-D800-4040-9047-A8BC8E977929

The solution is to test the others kvs.key values if the data_dir is null.
I hope it will help.

oh, I think they changed the directories of where apps are stored in iOS > 10. Could this be the issue?
Applications have been moved in iOS 10. They're now in
/private/var/containers/Bundle/Application/

No, it is not the issue.
When you select an application in the list, IDB need to get 2 directories :

The app bundle directory : in /private/var/containers/Bundle/Application/{UUID}
The data directory which contain documents, cache, preferences, etc. in /private/var/mobile/Containers/Data/Application/{XXX different of UUID}.

As mentionned previously, before IOS 10 all these information was in LastLaunchServicesMap.plist file. Since IOS 10, these information are stored in binary format in  a sqllite database : /User/Library/FrontBoard/applicationState.db.
IDB is compatible with IOS 10 and get correctly app_dirand data_dir in applicationState.db and probabely works with some IOS 10 versions.
In my case, the SQL request in the code return nothing for the data_dir and, in trying to update the IHM label Data directory with null value, the application crashs with the following error message :
.../idb-2.10.3/lib/gui/app_details_group_box.rb:69:in `app_changed': undefined method `sub' for {"identifier"=>nil, "snapshots"=>nil, "$class"=>nil}:Hash (NoMethodError)
Did you mean?  sum
....

By adapting the request, in my case (or by coding in hard the correct data_dir value), IDB don't crash and  perfectly works with my phone in IOS 10.
I don't know if it is due to the architecture (32bit vs 64bit) my phone 5C or my IOS version 10.3.3 but the data_dir value is in kvs.key 1 (compatibilityInfo)  and not in kvs.key 2 (XBApplicationSnapshotManifest) in the applicationState.db database.

Ah. So helpful! Thanks @jtof-fap !
I grepped "data_dir" to see if I could hard-code it like you did, but I got a few diff files. Did you hard code the "data_dir" value in "app_details_group_box.rb" or a different file? It would be clutch if I got this working for my current test.
Also, I'm on a 5s with iOS version 10.1.1 and IDB is on my 64-bit Linux host. Is my rig different enough from yours to help fix the problem? I'd love to collaborate to see if we can fix this for everyone.

oh nvm. I guess I should read higher up.... I've got the filename. Let me know if my version(s) would be any help nailing this down.

Had you try to set : kvs.key = 1 (instead of 2) on the SQL request in /lib/lib/ios10_application_state_db_wrapper.rb : line 44 ?
Except for testing, hardcoding data_dir isn't good solution but it works. If you want hardcode the value, the best place is in /lib/lib/app.rb but you will break the flexibility of app choice for future.

Awesome! Using your fix in /lib/lib/ios10_application_state_db_wrapper.rb I got it working (changed the 2 to a 1).
Maybe i'll dust off the GIT manual and submit a fix that checks if results are empty, if so, try switching 2 to 1. Gotta finish this iOS test first tho...
Thanks for the help!

I don't submit a fix because I think kvs.key=2 (set by default) seems to be work on certain phones and setting permanently to 1 will probably break the compatibility with these phones...
Maybe that the kvs.key values in database vary between phones and by using name (compatibilityInfo) instead of kvs.key values it would fix the problem for everybody. I don't have other phones in order to test.

Changing the kvs.key to 1 didn't work for me.
ruby 2.4.2
idb 2.10.3
iPad Air - iPad4,1
ios 10.0.2

Try the fork of zk-ncc : https://github.com/dmayer/idb/pull/105/commits/038413e444eccbe60455767f8e12e65acb19b040

Tried the fork with the code change, still crashing with recv failed: resource temporarily unavailable
Tried with Lloyds Bank and EdgeVis Mobile, both free apps on the store.

I'm honestly not sure if IDB will be supported for much longer, since the response time and the support in general is awful..
Meanwhile I simply switched to another tool (cough Needle cough), which works very well and provides the same features (and more).

I've got Needle and Objection.


Move activation to transformer block

Proposed changes:
Move activation to transformer block.
Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

I think @ghostvv wanted to place the call to the activation inside DIET conditioned on usage of transformer and not place it inside transformer?

yes, let's keep transformer a "classic" transformer

@tabergma this update requires retraining the model

True. I guess it is already released 🙈

that is a bit dangerous, since prediction might go haywire, because technically models can be loaded

any suggestion on how to solve that?

can we update docs and rerelease?


ACH routing number: 026014928

ACH routing number: 026014928
Account Number:<PHONE_NUMBER>11
Beneficiary: Timothy Bass
Beneficiary address: 1430 South Wilmington Street, 27603, NC, Raleigh, US

Deposit into my account, $199,999.99

Thanks
Originally posted by @timothybass651 in https://github.com/timothybass761-gmail-com/timothybass761-gmail.com/issues/2#issuecomment-1332769275

A lil help with money for business using


Change stack-name wording and give default value in pipeline init

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@hoffa forgot we already had one PR 🤦


Replacing request with rock-req breaks the library

I believe the API of rock-req is not followed correctly, and this breaks the library in its current release (v4)
https://github.com/node-ebics/node-ebics-client/blob/master/lib/Client.js#L218
rock.post(
  this.url,
  {
     body: r,
     headers: { 'content-type': 'text/xml;charset=UTF-8' },
  },
...

Should be replaced with
rock.(
  {
    method: 'POST',
    url: this.url,
     body: r,
     headers: { 'content-type': 'text/xml;charset=UTF-8' },
  },
...

See https://github.com/carboneio/rock-req/blob/master/doc/api.md
This also seems to break the response parsing in the lib.

Thank you so much for reporting, will provide a fix now and cover with integration tests asap!

Better late than never, addressed in 4.1.0


Missed proxy configuration

Configure http_proxy and https_proxy via values file would be with a huge help

You already can do this, you could check this document
https://docs.terrakube.io/getting-started/deployment/proxy-configuration

I am not sure how to add the environment variable JAVA_TOOL_OPTIONS as another param to the templates to set the proxy configuration and also allow future JVM configuration, if you have any idea or if you want to contribute to the helm chart all pull request are welcome.


Already had a fully capable and equipped msys64-ucrt......

It was already there.  On the path and in the environment for the taking.    Thanks for bricking my box.  This is expressly why I avoid Windows ANYTHING at ALL costs!  Having been a UNIX/Linux software developer/engineer for 24 years now, all I can say is FIX YOUR SHIT!

Hi @AD5GB
Sorry for annoying you with the redundant MSYS2 installation.
I've re-contemplated this. I still think we should download our own MSYS2, and not reuse user's own.
Because the RubyInstaller2 bundled MSYS2 has everything ready to build CRuby gems, battle-tested by upstream. Honestly,   it may bundle with some homebrewed tools only targeting to support CRuby on Windows.
However, we don't know what exists in one user's own MSYS2, it may lack something. Is thit really fully capable? We are not sure and untested.
And there's another reason: ridk is in Ruby commands runtime. When any Ruby command starts, it will search
MSYS2 existence, hence severely affects the startup time if not quickly checked.


Allow specifying dev containers resources (CPU, Memory)

I'm running into an issue with compile timeouts in Dev Containers. My container's CPU hits 100% when my system is still at 10% (measured with ctop) and my Docker on Mac is configured to use 7 CPUs.

It seems it's my build's issue that it's not using all available resources. I didn't see any resource restrictions on start and those can be added via runArgs


Update chef.gemspec to include pry-byebug

:-1: Just like last time this came up, this belongs in the ChefDK packages, not as a dependency of Chef.
Having pry in there at all is weird, it is used as part of the implementation of chef-shell, not for debugging.

@danielsdeleo I defer to the experts on this one.

@coderanger chef-shell does not use pry, though if I had the time I would rewrite it to be an extension of pry, since IRB is actually pretty hostile to customization and the way that chef-shell hooks into chef is pretty fragile.
Anyway, pry is included so people can use it as a debugging tool. It could potentially be moved to omnibus packaging (modulo how we interpret SemVer for dependency removals). I do think you'd want it in the Chef (not ChefDK) package so you could use it on a VM created by test kitchen, for example.

I tend to agree that the most appropriate place to do this in the omnibus packaging

:-1:
pry and pry-byebug are not dependencies of chef, they should both be removed.


[enhancement] Add a drop counter to PerValidatorQueue

Summary
PerValidatorQueue can now optionally take a Counter as a parameter which will be incremented every time a message is dropped from any of the validator queues tracked by PerValidatorQueue
Test Plan
Verified that these counters show up in prometheus

:hourglass: Testing commit cb40f097501203c72421bc7c48627f2d1d76ec19 with merge 5b61373ec4c5bc11f05328692c7c5c59fc9e01f7...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra r=dmitri-perelman

:bulb: This pull request was already approved, no need to approve it again.

This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.

:hourglass: Testing commit cb40f097501203c72421bc7c48627f2d1d76ec19 with merge edb7799baa9df34b8d4b338caae81e746a5c623e...

@bors-libra r=dmitri-perelman

:hourglass: Testing commit c020adc2270aa23a95cf1e6d49e3aed49f8858fc with merge 08e224762bf6a000c72d73128779e84a72ff512b...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: dmitri-perelman
Pushing 08e224762bf6a000c72d73128779e84a72ff512b to master...


Further Security Measures

Includes the following updates:

Updates user role to pull from SecureLocalStorage instead of state when displaying admin components
Removed npm vulnerabilities that were fixable
Updated unit tests to pass with code changes

Note: running npm audit does still show 8 vulnerabilties (6 high, 2 moderate). This is due to the use of the react-scripts package which we require to run npm start, npm build, and npm test. Unfortunately, this package does not have much recent activity and these vulnerabilities have been present for a while. It is likely worth our time to consider swapping this package out in the future.

Lets get this updated with what is on develop now. We will need to combine your changes with the new Typescript files properly. No remaining JS files should exist. The Typescript files are named the exact same as their corresponding older JS files so this should be pretty straightforward.


disable Stealth of stealthsuit when in critical or death.

About the PR

makes the use of the syndicate stealth hardsuit visible when in crit or dead.
Why / Balance

its a problem that nukes just dissapere when in critical and cant be found by teammates.

Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

tweak: Steathsuit stops working when in crit

a better solution to this is just making the nukie hud show when invisible.

a better solution to this is just making the nukie hud show when invisible.

I know. But as ther was already a function for make it visible on death. Not mutch was required to expand that for critical.

only the icon becomes visable, there is no way of making hp bar visable whitout makeing it visable to crew aswell


UI 2.0: /api/ui/ Endpoint for Detail View Layout

For the 2.0 UI, data will be retrieved from the existing REST API endpoints. However, the UI will need to have some way to determine where the attributes should live in a section on the view.
For example here:

The UI will need to know the grouping, ordering, and potentially tab location for what is returned from the REST API response.
This should be viewed as the 80% case (models without heavy view customization) as anything sufficiently more nuanced will need to register its own view.
Models that don't define their own, should still get a response from this endpoint that is fairly generic (all models fields under one section, things like tags can be broken out). Things like Status, Created, Last Updated appears in the title bar and are special cases. API response should inform you of those.
TODO

[ ] Design and define the convention, and provide Device as an example that overrides the default

Follow-on:

Update views to take advantage of this endpoint exists (currently would be blocked by the base views and presentation not existing at the moment)
Create backlog for defining overloaded model view definitions
Need to address/be able to extend this endpoint for the related objects on detail views (Images, Services, etc from above)

Implemented with #3816


Check for a rootModule

We've found that in the iTwin Hub and IT1, react-redux was not being added to the globals in production builds. It appears as though we need to check for rootModules if the module is a concatenated module and/or lazily loaded. This is currently blocking those applications from using extensions that require react-redux (i.e. map-layers).

@Mergifyio backport release/2.10.0


Allow PG_CONFIG value to be found on command-line

Use conditional variable assignment operator with PG_CONFIG to be able to override pg_config location on command-line, like in pg_qualstat.

Thanks!


[Feature] Reduce download size of Linux-node AKSEE offline upgrade in Windows rollup or document how it can be done

Is your feature request related to a problem? Please describe.

Yes, the problem/challenge is as follows: all the AKSEE installations for customers will be done in an offline fashion (ie. using a proprietary established update mechanism), which will download the required files to the machine of the customer and then execute the update. But for AKSEE this requires a download of 10GB to each customer machine today.

We have verified that the documented update process (OfflineUpdate Docs from AKSEE and Windows Update Catalogue for AKSEE) works and it successfully keeps all the pods running in the VM etc - which is great and exactly what we want!

However, for this to work today, we need to download 10GB of files to the customer system. In contrast, the actual AKSEE MSI Linux-node only is only ~1GB in size (Download link k3s MSI), since it does not include the Windows-node part. However, using only the MSI doesn't work as it complains that the previous install needs to be removed first.

Describe the solution you'd like
We would like either

a reduced size update possiblity e.g. another offering in windows update catalogue only targeted at the Linux-node
Or
documentation how to extract only that part from the 10GB download (we could then download the 10GB elsewhere and strip off the unneeded parts)
Or
maybe it is possible to bake in the functionality of update into the "default" MSI installer

Describe alternatives you've considered

We could spend a lot of time in reversing the current update process (windows rollup) and try to figure out which parts are only required for Linux update, but we dont think this make sense as it will likely break quickly - we also see the update functionality as one of the essential selling points
We could also try to develop our own update ie. extracting the cluster state and objects, uninstalling, reinstalling and trying to re-instantiate all the objects after redeployment but that would cost a lot of time + we see the update as a strong and essential feature of the AKSEE offering

Windows support is an additional optional feature update and you dont need to download/install that if you are not using windows. Can you explain where you are seeing the 10GB size? Thanks.

Hi, thank you for your reply:

the 10GB come from the windows update catalogue, here: https://www.catalog.update.microsoft.com/Search.aspx?q=aks+edge+essentials

there you need to download the whole 10GB (all the exe files) to run the update there is no possibilty to decide only Linux node
if you do this then you can update the previously installed AKSEE edge correctly

the msi which is only 1GB will not install if a previous version of AKSEE has already been installed (so no update function)

To make it clearer here is a screenshot from windows update catalogue (sorry for the German in the image but it didnt let me switch to English quickly):


Nightly builds

Can you make the nightly builds available?

This is something we would like to add soon.
It requires creating scheduled packaging and publishing jobs and a feed where the packages can be hosted.
While I do not have a timeline that I can share for this, I think we will certainly get to this in the near future.

Thanks! It would allow me to have the latest fixes. I use Delphi. I can usually get a lib built, but for whatever reason I just cannot seem to get this one to build properly. So, for me, the nightly builds are most important. Thanks again.

While we work on nightly builds, can you share the issue you are having with building? Perhaps there is something we can help you with there

While we work on nightly builds, can you share the issue you are having with building? Perhaps there is something we can help you with there

I primarily work with Delphi, so I require the project to be in DLL form for integration. I avoid using C/C++ unless absolutely necessary. Typically, if a CMake project can handle all dependencies during the generation of the Visual Studio solution, I can compile it successfully. However, this particular project doesn't seem to manage dependencies as seamlessly, or at least I haven't been able to get it working properly.
For instance, with the llama.cpp project, I have a script that pulls the latest changes from the repository. I can then use CMake to generate a Visual Studio 2022 solution, which automatically handles all dependencies. From there, I can compile the project into static libraries and incorporate these libraries into my project's dependency DLL, which exports the routines from the various C libraries used in my project.
With this current project, it appears that some dependencies need to be placed manually in specific folders, and the dependency checks performed by CMake don't seem to complete successfully. I’m wondering why CMake can't be configured to automatically download and correctly place all necessary dependencies to streamline the process. My goal is to compile the ONNX DLLs as static libraries so that I can include them in my project's dependency DLL.

I would would be happy with weekly or every 2 weeks.
I was looking at the gap between version 0.30 and 0.40 and that looks like 2 months. In this fast moving world of AI that seems like a lifetime 🙂
It would also be quite nice to see somewhere a list of the bugs found, if they could be reproduced or not, and the priority. There's 54 issues open at the moment so it's not clear which are being worked on and which aren't. And what the timelines might be. May be some "high" or "low" priority tags might be useful.
That's me 2 cents 😊

I was looking at the gap between version 0.30 and 0.40 and that looks like 2 months. In this fast moving world of AI that seems like a lifetime 🙂

Yup!


Tree shake material icons

Inspired by http://fluttericon.com/
We should be able to tree-shake our .ttf file that holds our material icons.  Un-shaken, it's ~130K in size, but every icon takes up only ~300 bytes.  We know from the app's usage of Icons what icons it actually needs, so we should be able to ship a font file that's much lower than 130K - likely saving over 100K on final app bundle size.

A different approach to this: https://github.com/flutter/flutter/issues/34206

Related #6177


Adding a feature to store Urls entered by users

storing the urls
I will work on this issue.i will implement it using mongodb.please assign this to me

@abhijeetnishal I have experience working on similar issues in the past and would love to tackle this one. Could you please assign it to me?

Hey this issue is already there, work on other issues.
I am closing this issue as duplicate.


doc/coding-conventions: Fix version attribute suffix to match reality

The current doc is wildly out of touch with reality. A regex search shows
the following stats.
Style example  Frequency  Regex used
nix-2-5:            8     [a-zA-Z]-[0-9]+(-[0-9]+)+ =
nix-2_5:           17     [a-zA-Z]-[0-9]+(_[0-9]+)+ =
nix_2_5:          689     [a-zA-Z]_[0-9]+(_[0-9]+)+ =
nix_2-5:            1     [a-zA-Z]_[0-9]+(-[0-9]+)+ =

I suppose it was different back in 2016; otherwise it'd have made no sense to even have a discussion back then.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin
[x] common sense 1.0

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@jyooru It's best to provide an alias. You can add one in aliases.nix.


[PL] Translation of testing lesson

In scope of issue #202

Thank you @Koziolek!  cc @kdebowski for review

@kdebowski are you still available to review these or should we merge them for now?

@doomspork yes I'm available. I had few busy days and couldn't find spare time to get down to translations. I'll continue today.

No worries @kdebowski!  I just wanted to check in, no rush 👍

@Koziolek I've added few notes

Done & merged


Support installing default go get packages as post-install hook

Describe the solution you'd like
After installing a new version of go, run
for pkg in $(cat ~/.default-golang-pkgs)
    go get -u $pkg
done

Additional context
asdf-node and asdf-python both support this

this doesn't seem to work for me. tried on a new install:
adam@macbook ~ % . $(brew --prefix asdf)/asdf.sh
adam@macbook ~ % asdf plugin remove golang
adam@macbook ~ % asdf plugin add golang
adam@macbook ~ % cat ~/.default-golang-pkgs
golang.org/x/tools/...
adam@macbook ~ % asdf install golang 1.13
Platform 'darwin' supported!
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  115M  100  115M    0     0  29.3M      0  0:00:03  0:00:03 --:--:-- 29.3M

Installing golang.org/x/tools/... go pkg... /Users/adam/.asdf/plugins/golang/bin/install: line 78: go: command not found
FAIL

adam@macbook ~ % ls -la ~/.asdf/installs/golang/1.13/go
total 352
drwxr-xr-x   20 adam  staff    640  4 Sep  2019 .
drwxr-xr-x    3 adam  staff     96 31 Jul 22:34 ..
-rw-r--r--    1 adam  staff  55389  4 Sep  2019 AUTHORS
-rw-r--r--    1 adam  staff   1339  4 Sep  2019 CONTRIBUTING.md
-rw-r--r--    1 adam  staff  84339  4 Sep  2019 CONTRIBUTORS
-rw-r--r--    1 adam  staff   1479  4 Sep  2019 LICENSE
-rw-r--r--    1 adam  staff   1303  4 Sep  2019 PATENTS
-rw-r--r--    1 adam  staff   1607  4 Sep  2019 README.md
-rw-r--r--    1 adam  staff    397  4 Sep  2019 SECURITY.md
-rw-r--r--    1 adam  staff      6  4 Sep  2019 VERSION
drwxr-xr-x   19 adam  staff    608  4 Sep  2019 api
drwxr-xr-x    4 adam  staff    128  4 Sep  2019 bin
drwxr-xr-x   50 adam  staff   1600  4 Sep  2019 doc
-rw-r--r--    1 adam  staff   5686  4 Sep  2019 favicon.ico
drwxr-xr-x    3 adam  staff     96  4 Sep  2019 lib
drwxr-xr-x   16 adam  staff    512  4 Sep  2019 misc
drwxr-xr-x    6 adam  staff    192  4 Sep  2019 pkg
-rw-r--r--    1 adam  staff     26  4 Sep  2019 robots.txt
drwxr-xr-x   71 adam  staff   2272  4 Sep  2019 src
drwxr-xr-x  327 adam  staff  10464  4 Sep  2019 test

It seems that


Fixes select elements on non-chrome android browsers

This is a fix for Issue #189

This fix still works (except deviceIsAndroidAndBrowserIsChrome and other boolean variables are defined as a local var now). I've only tested in Android 2.3.4 but the original cure's side-effects sounds worse than the original disease. Thanks for posting the fix.


maxCollectionSize not used?

We try to use the maxCollectionSize parameter to limit the number of entries at a particular level in the JMX tree, but this does not seem to be picked up?
For example the request we try, is
http://...../api/jolokia/list?maxCollectionSize=2
When doing this request, we still get a lot more elements in a particular collection in the json response.
For your information, we are using version 1.2.1 of jolokia.
To be exact, we are accessing the jolokia version packed with activemq 5.10

With LIST you only get meta data about MBeans. Since you are talking about message I suspect that the returned value is part of a READ or EXEC for which maxCollectionSize should work. (Except of course is for each message a MBean would be registered, which is probably (and hopefully) not the case).
Could you send me the the Jolokia URL how you get the messages ?

Actually we are using the feature of Hawtio to make a remote connection to a Jolokia agent that is by default running in ActiveMQ, so we are not composing the URL ourselves. Using firebug, we can see that the following url is executed when making the connection from a hawtio deployed in a local tomcat
http://localhost:58080/hawtio/proxy/http://:8161/api/jolokia/?maxDepth=7&maxCollectionSize=20&ignoreErrors=true&canonicalNaming=false
with of course  replaced by the machine where activemq is running.
In this URL, the part upto "proxy" is hawtio-specific, so I guess the actual jolokia url that is executed, is
http://:8161/api/jolokia/?maxDepth=7&maxCollectionSize=20&ignoreErrors=true&canonicalNaming=false
In this URL, i don't see a list/read/exec?

@rhuss, your reply was very helpful, thanks. Knowing that the LIST only returns metadata about MBeans, made us realize that we were facing the problem of having a lot of topics on our ActiveMQ. In that case, even the list returns a lot of mbeans, since there is an mbean per topic.
Even though our specific problem was not a jolokia issue, I guess our post could remain useful, since it explained some stuff that could be useful for others as well.

Yes, of course. If you don't mind, I'll close the issue nevertheless (it can still be found when searched for) in order to clean up my issue list.


chore: enable test reporting for full e2e run in cb

Description of changes
I translated the wait for all script to TS and fixed some issues that arose with a full E2E run.

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[ ] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies
[ ] Pull request labels are added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

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

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@          Coverage Diff          @@
##             cb   #12675   +/-   ##
=====================================
  Coverage      ?   47.61%
=====================================
  Files         ?      842
  Lines         ?    38302
  Branches      ?     7833
=====================================
  Hits          ?    18239
  Misses        ?    18441
  Partials      ?     1622

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Allow validation attributes on PageModel itself

Is this a Bug or Feature request?: Feature request
Steps to reproduce (preferably a link to a GitHub repo with a repro project): https://github.com/Yaevh/RootModelValidationDemo
Description of the problem:
As of 2.1.0, validation attributes are allowed on controller parameters, bound controller parameters, page model properties and handler method parameters. They are however not allowed on page models themselves, which makes it impossible to implement complex, multi-property validation in Razor Pages declaratively. Right now one must either invoke such validation manually, or encapsulate all properties in a custom viewmodel and decorate that viewmodel with a validation attribute, which is rather awkward considering that PageModel is the actual viewmodel for the page.
Are there any plans to allow validation of whole PageModels in Razor Pages?
Version of Microsoft.AspNetCore.Mvc or Microsoft.AspNetCore.App or Microsoft.AspNetCore.All: 2.1.0

Thank you for your feature request. We'll consider this feature during the next release planning period and update the status of this issue accordingly. To help us prioritize this feature correctly, please make sure you provide as much information as possible about the scenarios and their importance.


Replaced the deprecated package k8s.io/utils/pointer with kubevirt package in /pkg/virt-operator

Replaced the deprecated package k8s.io/utils/pointer with kubevirt package kubevirt.io/kubevirt/pkg/pointer in the /pkg/virt-operator directory.

What this PR does
Before this PR:

In the /pkg/virt-operator we used k8s.io/utils/pointer package which is deprecated.

After this PR:

Now, it is replaced with kubevirt package kubevirt.io/kubevirt/pkg/pointer

Ref #12949
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

None

@fossedihelm would you mind to take a look ? sorry for tagging you again and again .

/approve


all: end support for Windows 8, Windows Server 2012 in Go 1.21 or 1.22

Per discussion in #52188, Microsoft, Chrome, Git and others will stop supporting Windows 8 and 8.1 at the beginning of next year.
In contrast to Windows 7, 8's corresponding Windows Server releases, Server 2012 and 2012R2, will not fall out of support for some time. Extended support ends later this year, but "extended security updates" don't end until 2026. I don't have a sense of how important that install base is to us.
On behalf of @golang/release, I propose we announce the end of support either in the Go 1.20 or 1.21 release notes and shut down the builder in the subsequent release. I don't feel strongly about which, and I think it'd be interesting to have community input on the timing on this one.
cc @golang/windows

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Despite the possibility of extended support for customers paying Microsoft, it seems clear that nearly everyone is dropping support for Windows 8, including .NET. We would need to announce in the Go 1.20 release notes and then Go 1.21 would be the first release without support, and then Go 1.22 would mark the end of Go 1.20 being supported, which would be the real end. That Go 1.22 release would be in Feb 2024.

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

proposal: all: end support for Windows 8, Windows Server 2012 in Go 1.21 or 1.22
...
In contrast to Windows 7, 8's corresponding Windows Server releases, Server 2012 and 2012R2, will not fall out of support for some time. Extended support ends later this year, but "extended security updates" don't end until 2026. I don't have a sense of how important that install base is to us.

I'm confused by this wording. Is this saying that Windows 7 (aka Windows Server 2008) will continue to be supported but Windows 8 (aka Windows Server 2012) will not? Only 7 and 10+?
Or is this about unsupporting both 7 and 8?
Or is 7 already unsupported? But https://github.com/golang/go/wiki/MinimumRequirements says:

For Go 1.11 and later: Windows 7 and higher or Windows Server 2008 R2 and higher. We test on Windows Server 2008 R2, 2012 R2, and 2016, which are roughly Windows 7, Windows 8.1, and Windows 10.

As a data point (not even in support of any particular argument), our Go application has Windows user distribution as follows:
Win 10+	 96.8%
Win 7 	 1.7%
Win 8.1	 1.3%
Win 8	 0.1%

Pre-Win10 is low percent, for sure, but in absolute numbers it's still a good number of users. But I agree the Go project can't run builders & support everything forever, especially when upstream doesn't.
In any case, I'll note that https://tip.golang.org/doc/go1.20#ports hasn't been updated yet to say anything about upcoming Windows deprecations. Is that going to happen before rc2/final?

@bradfitz There's a separate proposal for just Windows 7, #57003.

Ah, gotcha. Thanks!

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group

Sorry I'm a bit late here, but Windows Server 2012r2 seems to be actively deployed and supported, apparently through 2026 https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2012-r2

Yeah, I mentioned that in the original comment. Like I said there, the question is how much we're concerned about those users. And as Russ pointed out, it'll continue to get Go security fixes until 1.20 falls out of support in early 2020.

Saw that, after posting an immediately Xd my comment. This is somewhat concerning, but following .NET seems fine to me ultimately so no objection.

I'm updating the release notes to announce end of support after 1.20. If there's a good reason to delay to 1.21 we can consider it.

As a data point, I work on the Go datadog-agent and 20% of its Windows install base is still on Windows Server 2012/R2. As a point of comparison, less than 2% is on Windows Server 2008R2.
I can't tell how representative of the Go Windows install base these numbers are, but 20% is a fairly high number.
For what it's worth, the .NET project will continue to support Windows Server 2012/R2 for Windows users who purchase Extended Security Updates. It's likely that a significant number of enterprise Windows users will remain on Windows Server 2012/R2 until closer to the end of the Extended Security Updates in 2026.
I don't know how much of a burden supporting Windows Server 2012/R2 is for the Go project, but is a slightly longer support period still on the table?

Thanks for the information. Do you have a sense of whether those users are likely to pay for the extended security updates? Would 6 months more Go support make a material difference?
In general, we're not going to be able to match Microsoft's paid support timelines, so we have to draw the line somewhere. The end of "extended support" seems like a reasonable place to me. Hopefully that 20% will decline over the next year.

@heschi thanks for the response

Do you have a sense of whether those users are likely to pay for the extended security updates?
We're not seeing a steep downwards trend on the usage of Windows Server 2012 yet, so given the timeline of the end of "extended support" we would expect that quite a few of these users will rely on Microsoft's paid support while they migrate to later Windows versions. But we don't know about the support arrangements they have/plan to have with Microsoft.

Would 6 months more Go support make a material difference?
I think it would to these users, but for sure Go can't match Microsoft's paid support timelines.

Unfortunately I don't have more hard data than this number of 20%. It'd be interesting to see if the announcement in the Go 1.20 release notes of the end of support of Windows 2012 in Go 1.21 will lead to more reactions from the community.


Tags and scopes (enforce module boundaries)

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
When you are building a mono-repo you want to avoid having circular dependencies between packages, so you would like to define what packages can import other packages.
NX has a good way of doing this with what they call module boundaries using tags and scopes define in the project.json, then the linter takes over.
https://nx.dev/core-features/enforce-module-boundaries
an example of this would look something like this.
app: web
package: ui
package: config
package: auth
The app "web" imports on all of these packages
The package "ui" should not be able to import from any of these since it's stand-alone
The package "auth" can reference "config", but not ui or web.
I hope this explains it a bit, otherwise you can look into how NX is doing it.
Describe the solution you'd like
I am not sure how this should be implemented, perhaps an inspiration from NX and how they solve it.
It would be nice that this could be configured in a turbo.json inside each package and/or on the root of the workspace.
Describe alternatives you've considered
Alternative is to use NX as it provides this feature and a lot more.

Hey @haukurmar, thanks for the suggestion! I'll add it to our list of potential features. We're definitely making ergonomics and observability a top priority, and this feature seems to fall under those categories.

I'd like to echo the benefits of module boundaries. I'm pretty eager to migrate my Nx monorepo to Turborepo, but losing the guardrails that help to prevent circular dependencies is a turn off.


Strict object literal checking with union type

TypeScript Version:  1.8.0
Is this a bug or does it work as intended?
Code
type Test = { a: string; } | { b:number };

var t1 : Test = { a: '...', b: 3 }; // ok
var t2 : Test = { a: '...', b: '...' }; // ok but should be error!?
var t3 : Test = { a: '...', c: '...' }; // error

var a4 : { a: string; } = { a: '...', b: '...' }; // error

Expected behavior:
var t2 : Test = { a: '...', b: '...' }; should throw a compiler error as well because b is of type string and not number.
Actual behavior:
There is no compiler error.

Linking to a previous discussion at #4452.

@Lenne231 is there a specific scenario you were hit by this?

Not a specific scenario, i was just playing around with union types.


Local storage doesn't work when it is removed with its parent directory

Summary
When the directory specified by --storage-local-rootdir is removed with its parent directory, chartmuseum no longer cannot be pushed any charts, but it keeps running.
How to Reproduce
Suppose chartmuseum is going to run in /foo/bar.

Chdir to /foo/bar.

$ cd /foo/bar

Boot up chartmuseum with --storage="local" --storage-local-rootdir="./baz".

$ /usr/local/bin/chartmuseum --storage="local" --storage-local-rootdir="./baz"

Push a chart to the chartmuseum.

$ helm repo add chartmuseum http://chartmuseumhost:8080
$ helm push somechartA-1.0.0.tgz chartmuseum

Remove /foo/bar.

$ rm -rf /foo/bar

Try to push a chart to the chartmuseum.

$ helm push somechartB-1.0.0.tgz chartmuseum
Pushing somechartB-1.0.0.tgz to chartmuseum...
Error: 500: mkdir baz: no such file or directory
Error: plugin "push" exited with error
$

On the other hand, removing /foo/bar/baz doesn't make any troubles.
Is this a specification, or a bug?
Suggestion
In my opinion, one of the followings would be a solution. As for 1., I have already implemented it.

Let chartmuseum recreate the directory including its parent.
Fix the error message to provide more information.

@auifzysr hi. thanks for opening, took a look at your change
I think that a chdir etc. is unnecessary. I think the solution is just to make a minor change to NewLocalFilesystemBackend to convert incoming rootDirectory to absolute path before constructing the LocalFilesystemBackend

@jdolitsky Hi. I fixed it by using filepath.Abs. I'm afraid I couldn't find a way to use filepath.Abs without importing path/filepath instead of just using pathutil "path", so it is newly imported.
I also thought that just replacing pathutil "path" with pathutil "path/filepath" would be alternative, but I didn't do that. pathutil "path" and pathutil "path/filepath" seem to have the similar spec's methods, but I don't know the internal differences.

@auifzysr hey! i would just lave it as "path/filepath", but otherwise the change looks good! Feel free to open a PR!

thank you!


Auto save for untitled custom editors constantly asks for save as

Turn on custom editor support
Turn on 'auto save' after a delay
Create new blank notebook
Start typing

Untitled file will continually save after each delay.

This happens with the VS code extension sample as well. It's an upstream bug
https://github.com/microsoft/vscode/issues/108143


Support Weighted Ranges

Is your feature request related to a problem? Please describe.
Nice project! It’d be cool if this lib supported weighted ranges
Describe the solution you'd like
Given a range string “AA@1,KK@2”, when selecting a hand from the players range, a KK combo should be twice as likely to be selected an AA combo. Some thoughts on implementation detail:

weights just need to be a positive integer from 1-100 relative to each other eg AA@1,KK@2 == AA@50,KK@100
if a combo has multiple weights, the highest is used
if weights are present, every sub range needs a weight eg AA@2,KK isn’t valid.

Describe alternatives you've considered

syntax alternatives like 100:KK but I prefer @
permitting floating point weights

Additional context
Happy to try and help with this I’m not 100% clear on how the combined range code works?

Hi HieronymusLex,
I was planning on implementing this anyway because I am currently using this library to build a poker solver aswell.  I'll probably end up using the<EMAIL_ADDRESS>syntax and convert these float into integers between 0-100.  I would like to have to weights be optional and default to 1 if not specified.  That way 'AA@0.5,KK will be valid.
The combined range code is used to reduce the time required for rejection sampling by already creating arrays of non-conflicting hand combinations.
Let me know what you think

I've added support for weighted ranges.  The syntax to use is 'AA@100,KK@50'.  Note that weights are not relative and should always be between 0->100.  Pull the latest branch, test it out, and let me know if there are any problems.  I'll create a new cargo release soon

Also, the weighting is option:
'22+@100' == '22+'

Very nice! I'll have a play around with it and let you know if there are any issues.
FYI I'm looking at using this library + WASM to create a browser based equity calculator. Will keep you post if I make some progress

Funny you should say that I'm working on something similar.  I've started building a frontend using React/Typescript.  Here's the repo maybe you could help out.
https://github.com/kmurf1999/HoldemSolverReact

sounds good! maybe add a board to the github project with some tasks you want to get done and I'll take a look when I get a chance. you might want to check out pdetail prange - they're 2 libs which might come in handy (or at least provide some inspiration!)


synthesis mismatch with the latest rtl on xilinx spartan6 fpga

Hi Clifford
Tried targeting the picorv32 to spartan6 (xc6slx25) board. The rtl simulation is ok, but FPGA didn't work, then I do a experiment to run the firmware you provided, it seems that the post-synthesis netlist have something wrong with the PC register, the PC add 0xC rather than 0x4 at certain point where I think there is  no jumb instruction.
Could you help to have a look at this, Thank you very much!
In waveform bad_wave_netlist_sim, the 62 (start from 1) mem_axi_araddr is 0x780, while the previous one is 0x774, in the good wavefrom the mem_axi_araddr is 0x778, this is the mismatch point.
The picorv32_netlist.txt is the post synthesis netlist.
The testbench, firmware.hex and rtl is the latest one, with id: ef86b30b2598df6993a473222ebe355b0348e226

picorv32_netlist.txt

Possible duplicate of #2.
Generally speaking: XST has a couple of bugs and Xilinx does not fix them because you should use Vivado for new designs anyways (I know that Vivado does not support 6-series devices, I'm just paraphrasing the position of Xilinx).
I don't see it as my responsibility to work around strange bugs in obsolete software..
If you have to use Xilinx 6-series devices, and don't have access to e.g. Synplify Pro for Xilinx synthesis, and therefore are locked to XST as implementation tool, I'd recommend using Yosys to convert the PicoRV32 Verilog code into simpler HDL code before passing it to XST for implementation.
Something like the following Yosys command line should do the job:
yosys -p 'prep -top picorv32; write_verilog -noattr picorv32_presyn.v' picorv32.v

Hi, Clifford
I use yosys to convert the behavior picorv32 model to rtl level description, still the same issue.
I'll try to switch to other device and use vivado to synthesis the core, thank you for your help!


driver/mem:add Mem Driver.

Summary
The devmem driver provides an interface for accessing memory-mapped
I/O in an embedded system.
Impact
N/A
Testing
ci

@yangguangcai01 please include a commit message about this driver. Also include a Documentation/ to this new driver

@yangguangcai01 please include a commit message about this driver. Also include a Documentation/ to this new driver

done


Migrate to Gradle's "official" support for custom compilers

While it remains to be seen if this ends up being merged, https://github.com/gradle/gradle/pull/24649 looks like a promising solution for custom compiler jars. It makes sense to test against this change to check if everything works as intended. Using a custom Gradle build should hopefully not be too tricky but might require some more work.
If this test succeeds and when the change is merged, I should finally be able to release a stable version of this plugin. 🥳

@TheMrMilchmann there is intention on the Gradle side to get the PR integrated. I'll address the comments there soon.
In the meantime, I would appreciate your feedback to see if this also solves the general case, before it gets released. I was mostly testing it with one real project and a toy project.
For obscure reasons 😄, I pushed a patched Gradle with the PR integrated here. Feel free to use that for testing (it's a full distribution in that folder):
https://github.com/jjohannes/gradle/tree/configurable-compiler-jar-bin/gradle-bin

that it might restrict the JVM used to run the build to be compatible with the custom compiler.

It should pick the java runtime from the configured toolchain to run the "Compile Worker Processes". So you should be able to pick whatever JVM you need through the toolchain facilities. But maybe it is not that simple. The code is very complex in that area. It would be great if you can double check such things especially if you have scenarios in mind to test this with. (No hurry though, the earliest this would be released in is Gradle 8.3 and 8.2 isn't out yet.)

Note: Unfortunately, it looks like this didn't make the cut for 8.3.

Unfortunately, https://github.com/gradle/gradle/pull/24649 was dropped, and it seems like it might be a while before any official support is made available.


Grand Lakes Junior High

Adds Grand Lakes Junior High

@Bahubali28 Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Audio routing from BT to Speaker

Describe the bug
Audio is breaking or sometimes coming via Bluetooth and Speaker/Earpiece after changing from Bluetooth to speaker/Earpiece mode.
To Reproduce
Steps to reproduce the behavior:
Case 1:

Pre-condition Bluetooth connected and voice is coming via Bluetooth properly.
Switch Audio from Bluetooth to Speaker mode.
Voice is breaking or sometimes coming via Bluetooth and Speaker.

Case 2:

Pre-condition Bluetooth connected and voice is coming via Bluetooth properly.
Switch Audio from Bluetooth to Earpiece mode.
Voice coming via Bluetooth and Earpiece like 1 sec in Bluetooth and next second in Earpiece i.e. continuous process.

Case 3: Working fine

Bluetooth is not connected.
Audio is coming via Earpiece  and working fine.
Change audio mode from Earpiece  to Speaker, working fine.
Change audio mode from Speaker to Earpiece  , working fine.

Expected behavior
Voice is coming via selected audio mode.
Actual behavior
The voice coming via Bluetooth and Earpiece like 1 sec in Bluetooth and the next 1 second in Earpiece again 1 sec in BT and next 1 sec in Earpiece etc.
Application Logs
LogFile.txt
https://github.com/twilio/audioswitch/assets/134035235/ada0064b-72d7-4e83-805c-bea81475d77b
AudioSwitch Version

Version: 1.1.8

Android Device (please complete the following information):

Device: Galaxy S24
API Version: 34

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I have attached a log file along with recorded audio in which you can listen to audio coming via speaker and BT after switching from BT to speaker.
The code is given below:
  private fun displayCallOption(availableAudioDevices: List<AudioDevice>, audioSwitch: AudioSwitch) {         preparedConnectedResources(availableAudioDevices)         voiceCallViewModel.displayConnectedResourcesBottomSheet(this, connectedResources.toList(), voiceCallInfo, object : OnConnectedBluetoothBottomItemClickListener {             override fun onItemClick(connectedBluetoothResource: ConnectedBluetoothResource, index: Int) {                 val selectedAudioDevice = availableAudioDevices[index]                 updateAudioDeviceIcon(selectedAudioDevice)                 audioSwitch.selectDevice(selectedAudioDevice)             }         })     }

@afalls-twilio did you get a chance to look up this issue?
It's 100% reproducible.

13:02:38.024  D  Current user selected AudioDevice = null
13:02:38.033  D  Current user selected AudioDevice = null
13:02:38.037  D  Current user selected AudioDevice = null
13:02:38.041  D  Current user selected AudioDevice = null
13:02:38.048  D  Current user selected AudioDevice = null
13:02:38.052  D  Current user selected AudioDevice = null
13:02:38.056  D  Current user selected AudioDevice = null
13:02:38.061  D  Current user selected AudioDevice = Speakerphone(name=Speakerphone)
13:02:38.067  D  Current user selected AudioDevice = null
13:02:38.071  D  Current user selected AudioDevice = null
13:02:38.074  D  Current user selected AudioDevice = Earpiece(name=Earpiece)
13:02:38.079  D  Current user selected AudioDevice = Speakerphone(name=Speakerphone)
13:02:38.281  D  Current user selected AudioDevice = null
13:02:38.287  D  Current user selected AudioDevice = null

See the log, the selected audio device is the Speaker.

@tech-ajit-mob thank you for the info, we will circle back with you when get a chance to investigate.

Thank you so much @afalls-twilio  for paying attention to this genuine and serious issue. If you want any supporting document,  logs, or recordings I am always available, please figure out and fix it as soon as possible. Based on Twilio's recommendation we are using this library.

More details:
  override fun onDisconnected(call: Call, callException: CallException?) {
            _audioSwitch.deactivate()
}

 override fun onConnected(call: Call) {
            _audioSwitch.activate()
        }

Note: I am not calling  _audioSwitch.stop() after disconnecting the call

@tech-ajit-mob It appears that your bluetooth headset is connected to multiple devices at the same time, i.e. two or more android devices. Make sure that the bluetooth device is connected to one android device at a time. Let us know if that resolves the issue.

Thanks for the update @ocarevs I will let you know.

Hello @ocarevs ,
The issue has been fixed with the single connected device but kept under observation for multiple connected devices.
Changes I did

After getting Bluetooth permission response stop the audio switch by using below code

  mService?.getAudioSwitch()?.stop()

Start the audio switch again by using below code

startAudioSwitch()
private fun startAudioSwitch() {
       /*
        * Start the audio device selector after the menu is created and update the icon when the
        * selected audio device changes.
        */
       mService?.let {
           it.getAudioSwitch().start { _: List<AudioDevice?>?, selectedDevice: AudioDevice? ->
               updateAudioDeviceIcon(selectedDevice)
           }
       }
   }


Add update for 2018-05-14

Rendered
@as-cii Do you think you could post a brief description of your optimization work from last week?
/cc @max

Sure @nathansobo! I wrote a short paragraph in b3bdd8a which describes the optimization work from last week.


[Studio] Create required intents when importing stories

When importing a story, required intents are not created/updated. It may result in non-functional stories after import. Plus the new story mentions intents, which do not exist in NLU tabs.
The original intents and sentences are not included in the story dump. Nevertheless, dump info includes intent name, which should be enough to recreate default intents (new ID, same name, default category and no sentences)  when necessary ie. when intent name not found.

@francoisno Intents are already created if not present - but not updated. Do you have a case to reproduce? ;)

Ok, I think I have found the problem : I do not create the sentence for the main intent, and I do not update the sentence if the sentence is already in the model. I'm going to fix it


problems about poverty worst r

Thanks for your implementation of fish, but when I test poverty with algorithm erm, the worst r is just about 0.2, while the performance noted in wilds is about 0.5 (https://wilds.stanford.edu/leaderboard/), is there some problem?

Hi -- thanks for bringing this to my attention! I am working on a fix for this. If you are interested, I think the difference between performance can be explained as follows:
Our work was developed on WILDS v1.0, where the metric of interest for Poverty is average r instead of worst r. You can compare the current (v2.0) hyperparameter configuration of wilds vs. ours and notice some differences (for e.g. they use a step lr scheduler whereas we don't, and they use 8 groups per batch whereas we use random batches). I believe that once we implement the same hyperparameters as the current version of WILDS benchmark for Poverty we will observe similar performance with ERM using our implementation.
Stay tuned!!


The link of install Docker is invalid

Hi,
The link of install Docker is invalid, coould you please to fix it?

Hi @hill19850213
Thank you for your feedback. This issue has been fixed in VAI2.0.


Missing jsdoc comment at FixedKeyControl.js

On the jsdoc comment for the FixedKeyControl object, I believe there is a line missing to the down direction. This is the line I think the change should go:
https://github.com/photonstorm/phaser/blob/7aa46657c278c4f1ea285c1b4ac1bf95827469a9/src/cameras/controls/FixedKeyControl.js#L24
And it should say something like this:
 * @property {Phaser.Input.Keyboard.Key} [down] - The Key to be pressed that will move the Camera down.

It is such a small change that a PR might be too much. That said, if it would help I would gladly create one.
Keep up the good work

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I've just added this in (1ceec993). Thanks for finding this!

No problem! Thanks for the quick fix.


Handle Mastodon Secure Mode

Some Mastodon accounts cannot interact with activitypub-core servers because GET requests are failing.
See https://docs.joinmastodon.org/spec/security/

When secure mode is enabled, all GET requests require HTTP signatures as well.

https://github.com/michaelcpuckett/ap-groups/issues/1

Verified the follow/accept handshake on a secure mode server


Sign-in fails, says bad password

I am trying to renew my token because it expired, but every time I attempt to login and check authentication.state I get <AuthenticationState.BAD_PASSWORD: 'bad_password'>
I am sure I am using the correct password.  I even changed my password in the August App to the same thing it had been, to be certain.  I've tried it in python2 and python3

No longer having this issue.  Not sure what was causing it, but I am able to authenticate and get a new token.


Support SPIR-V DebugTypePointer

Closes #4077
This commit is to emit DebugTypePointer when targeting spirv.
Currently DebugTypePointer can take a type decleared by DebugTypeBasic and it doesn't work with a type declared by DebugTypeComposite. For this reason, the function "isSimpleDataType" returns true for a memory pointer type whose base type is the BasicType such as float, int, uint and so on; it return false when the base type of the pointer is a struct or vector.
The spec for DebugTypePointer can be found here.

I made some changes so that a memory pointer type is always emitted.
When its base type is basic types, it will emit DebugTypeBasic and DebugTypePointer.
Otherwise, it will emit "uintptr" as DebugTypeBasic.
I couldn't work on DebugValue because it currently doesn't seem to work.
I created an new issue and it seems like the "storage class" is not set properly.

If you take one of our existing pointer test cases and turn on debug symbol, you should be able to exercise the debug value logic, right?

Right. I saw one test case. I will try it.

The test code had some problem and I fixed it.
It also tests DebugValue from the emitted SPIR-V asm.
"DebugValue" was already working fine.


Complete 5-10 example instrument host context products

💡 Description
Complete first pass of 5-10 high priority instrument host context products
⚔ Parent Epic / Related Tickets
No response

closing as wontfix. will rollup into other more focused parent tasks


Fix for back camera showing briefly when the type property is set to 'front'.

The first time an app is run that uses this component with the type set to 'front', the back camera shows briefly before the component obeys the type property and switches to the front camera. The presetCamera should be set to the camera type set in the props when the component is created.

Nice, thanks!

@lwansbrough could you publish an updated npm module? It's been a couple months since my PRs were merged, but the latest npm module is 4 months old. I'd like to stop using my fork of this project as a package.js dependency. Thanks!


Slow on RPI 3B. Run as daemon?

I recently started playing with catt, and boy is it a lot of fun to start Rick Astley video's all over the house ;-)
catt is installed on my Raspberry Pi 3B. It works very well, but executing a command like
catt -d '192.168.1.xx' cast 'https://youtu.be/dQw4w9WgXcQ' takes about 10 (!!!) seconds to run. Other commands like stop, or volumeup or volumedown still take about 5 seconds.
I guess that under the hood a lot of stuff happens before catt can actually send a command to a Nest hub?
Would it be an idea to run catt as a daemon, and send commands to that daemon?
Just an idea, no idea whether it's feasible, but I would love a faster catt.

Loading catt doesn't really take that long, most of the time is spent loading stuff from the network. As such, running as a daemon wouldn't really do much to speed it up, I'm afraid...


End-End speech Recognition Guide in Python

Topic Suggestion
End-End speech Recognition Guide in Python
Proposed title of the article
End-End speech Recognition Guide in Python
Proposed article introduction
Speech recognition is the process of enabling computers to identify and respond appropriately to human voices or other sounds. In the tutorial, we will discuss an End-End Speech Recognition Guide in Python. Companies like Amazon uses speech recognition to help their customers in product finding. Even speech recognition allows physically disabled people, the visually impaired, or young children to interact with them, with the added benefit of not requiring a graphical user interface (GUI). By seeing speech recognition everywhere why not be possible in making your system. This tutorial guides show some working principles of speech recognition and the different speech recognition used.
Key takeaways
By the end of this tutorial, the reader will be able to gain skills in:

Working principle of speech recognition
Packages involved in speech recognition
How the packages are used in speech recognition
Top projects having text to speech recognition

Article quality
The article is unique since more sites only show speech recognition building, they don't show steps or guides towards building speech recognition.
References
N/A
Conclusion
By completing this article, the learner will have basic knowledge in speech recognition, packages involved in speech recognition, the working principle,s and top projects having speech-to-text Recognition.

Sounds like a helpful topic - let's please be sure it adds value beyond what is in any official docs and/or what is covered in other blog sites. (the articles should go beyond a basic explanation - and it is always best to reference any EngEd article and build upon it). @josephotienoowino
Please be attentive to grammar/readability and make sure that you put your article through a thorough editing review prior to submitting it for final approval. (There are some great free tools that we reference in EngEd resources.)
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.
Please be sure to double-check that it does not overlap with any existing EngEd articles, articles on other blog sites, or any incoming EngEd topic suggestions (if you haven't already) to avoid any potential article closure, please reference any relevant EngEd articles in yours. - Approved


Exclude embedded attribute from code coverage

The embedded EnumExtensionsAttribute should be excluded from code coverage. This can be done using the ExcludeFromCodeCoverage attribute. The attribute is available in the following .NET products and shouldn't require any version guarding:

.NET Standard: >= 2.0
.NET Framework: >= 4.0
.NET: >= Core 2.0

Thanks for adding this! I think you'll need to update the snapshots to reflect the change to the output so that the tests pass. Is that something you're happy to do? If not I'll take a look soon. Thanks! 🙂

Thanks for adding this! I think you'll need to update the snapshots to reflect the change to the output so that the tests pass. Is that something you're happy to do? If not I'll take a look soon. Thanks! slightly_smiling_face

The .NET 6 and 7 tests ran without issues. I didn't test other .NET versions because I only have the SDKs for .NET 6 and 7 installed. I checked the snapshots, and it doesn't look like they include the embedded attribute.

Thanks @erri120, looks good!


Add End-To-End Testing for CineSimile

We need to add some test cases for the CineSimile ReactJS application. The following are our picks for suitable testing frameworks.

Cypress
Jest
Mocha
Jasmine
Puppeteer

Out of these testing frameworks, we need to select one and add some test cases using it. As a contributor, you can comment on this issue about a suitable test framework and we will consider the most voted testing framework. Then you can start contributing to create test cases.

Jest..

Cypress

Cypress

cypress

Hmm. Seems many like Cypress. Let's see what others have to say. We'll wait until 5.00PM IST today.

Jest

Jest

Jest

Jest

Cypress

Jasmine in combination with puppeteer (Chrome Headless) and karma? :)

Cypress!

Cypress

Jest

Well, it seems Cypress is the winner. Let's go with Cypress then.

@utkarsh4321 how about adding some Cypress Test cases?

Cypress

jest

Cypress

jest

Thanks, guys for your votes. However, now the voting is closed 😁 and we have selected Cypress as the winner. No need to vote anymore from this point onwards. If you are willing to add some test cases using Cypress please let us know in the comments.

@Niweera Well, I will be happy to write some tests with cypress for this repo. 😄

@Niweera I will initialize the cypress e2e test environment

@saw-jan can initialize the Cypress e2e environment. After it is merged, @SMAKSS can write some test cases. I will assign you both to this task.

@Niweera, Can I add some test cases once the e2e test environment is setup?

@sumeetp4 yes you can. But to avoid merge conflicts let's wait until the environment is set up. I'll create new issues so that you can get assigned.

@Niweera Should I start writing test cases? or you will create new issues for them (For distributing purposes)? 😄

@Niweera Should I start writing test cases? or you will create new issues for them (For distributing purposes)? 😄

I will create new issues and let you select one.


Fix the specifier regexp.

PEP345 states that the "Requires-Python" metadata field expects version
numbers in the format specified in Version Specifiers, such as:
Requires-Python: 2.5
Requires-Python: >2.1
Requires-Python: >=2.3.4
Requires-Python: >=2.5,<2.7

This commit makes sure version specifiers without an explicit operator
are valid.
Closes: https://github.com/pypa/packaging/issues/107

If it's a bug in packaging, then it must be fixed in that project, and we'll get the fix by updating our vendored copy. So please PR this to https://github.com/pypa/packaging.

Out of curiosity, is the packaging code literally copied into pkg_resources/_vendor? Why is it not used as a library?

@Steap I've updated the developer docs to provide an explanation and links to relevant issues and resources.

Thanks!


EvalAdd Fix + Documentation updates

@yspolyakov this is not a brand new release yet. It's just the EvalAdd bugfix that I've commented on + documentation updates. What we should do in terms of version number?