MATLAB file from SDK2.0/matlab/+realsense

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
L515

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Kernel Version (Linux Only)

Platform
PC

SDK Version
v2.49.0

Language
MATALB

Segment
others

Issue Description
hello,
I'm trying to understand all the MATALB function. I had tried align,m and camera_info.m    , them I get some error

In the align.m, comes an error that shows not enough input arguments in line 6 narginchk(1,1);. Should I revise the (1,1) range?
function this = align(align_to)
narginchk(1, 1);
validateattributes(align_to, {'realsense.stream', 'numeric'}, {'scalar', 'nonnegative', 'real', 'integer', '<=', int64(realsense.stream.count)});
out = realsense.librealsense_mex('rs2::align', 'new', int64(align_to));
this = this@realsense.filter(out);
end

In canera_info.m , I get  an error about Cannot call the constructor of 'realsense.camera_info' outside of its enumeration block.

I want to let my depth resolution up to 1024768, and let my RGB resolution up to 19201080, hoe can I change the resolution from using MATLAB function?

I have seen other people get the intrinsic and extrinsic parameters before aligning the images, can anyone teach me how to get these parameters?

Does anyone know hoe to solve it?
Thank you

Hi @nchu-cha   Thanks very much for your questions.
1 and 2.  The files that you mention are part of the MATLAB wrapper's operating files and are not meant to be run as example programs.  The scripts in the wrapper's file list that are examples that can be tried have the word example in their name.
https://github.com/IntelRealSense/librealsense/tree/master/wrappers/matlab
These include:
advanced_mode_example.m
capture_example.m
depth_example.m
depth_view_example.m
pointcloud_example.m
rosbag_example.m
If you wish to perform alignment in the MATLAB wrapper, the script created by a RealSense user in https://github.com/IntelRealSense/librealsense/issues/3735 provides an example of doing so.
3 and 4.  https://github.com/IntelRealSense/librealsense/issues/3735 also demonstrates defining custom stream configurations with cfg instructions and obtaining intrinsics when alignment is being used.

thanks for your apply, I had tried the measure in #3735, but I got some questions.

When I key cfg = realsense.config(); , it couldn't connect with L515 it will show config with no properties. Then I change to used context and it can connect the L515 camera. Can anyone tell me what's the different between context and config ?

After confirming the connection, I tried to used cfg.enable_stream(realsense.stream.depth,1280,720,realsense.format.z16); in the #3735, but it shows Dot indexing is not supported for variables of this type. , is that mean L515 camera can't use matlab to change resolution?

Because I need to change my depth resolution to 1920_1080 and RGB resolution to 1920_1080, I tried depth_img = permute(reshape(depth_data',[3,depth_color.get_width(),depth_color.get_height()]),[3 2 1]); , let depth_color.get_width(1920), depth_color.get_height(1080) , it shows too many input argument, I think I need to convert the image resolution first. (When I used the Viewer the depth resolution only up to 1024_768. Can I use MATLAB set the depth resolution to 1920_1080?)

I found that there are many kind of "Constructor" and "Destructor" in the realsense matlab file, how can I know which function I need to use?

thank you

My understanding is that cfg = realsense.config(); is the appropriate instruction for a MATLAB wrapper script, so I'm not sure why you encountered problems with it and why context worked for you instead.

2 and 3.  The L515 does not support 1280x720 depth (the reference script was designed for a RealSense 400 Series camera).  L515 supports a maximum 1024x768 resolution for depth.  RGB supports 1920x1080 though.

I could not find any useful reference information about use of constructors and destructors in the MATLAB wrapper.  As long as you stick to investigating the _example programs mentioned earlier and not go into the wrapper's operational files, constructors and destructors is something that you should not need to be concerned about.

thanks for your apply, I finally can change my resolution for the depth image successfully.
I need the depth information, when using the Viewer it will have a RAW file, how can I get the RAW file form using MATALB?
thank you

A .raw file would not work with the rosbag_example program.  It is expecting a bag format file, which is like a video recording of camera data instead of a static image.
In the Viewer you can create a bag file by enabling streams in the RealSense Viewer and then left-clicking on the circular Record option beneath the camera's name in the Viewer's options side-panel.  The Viewer will then record into the bag all streams that were enabled at the time that the Record option was activated.

Can I used MATALB code to save a bag file? Because I want to do all the stuff on the MATLAB

https://github.com/IntelRealSense/librealsense/issues/6057 discusses creating a script in the MATLAB wrapper to record a bag file.

I used the method in #6057 like the below to have a bag file
filepath = fullfile('D:\matlab_code\bag_file','testrecord.bag');
cfg.enable_record_to_file(filepath);
Then I want to read the information in the bag file, but it can't open the file, can anyone help me to solve the problem?
bag = rosbag("D:\matlab_code\bag_file\testrecord.bag") --> I key the command like this, and get the error

this is my MATLAB code：
clc; clear all; close all;
filepath = fullfile('D:\matlab_code\bag_file','testrecord.bag');
% set resolution
cfg = realsense.config();
cfg.enable_stream(realsense.stream.depth,1024,768,realsense.format.z16,30);
% cfg.enable_stream(realsense.stream.color,1920,1080,realsense.format.rgb8,30);
cfg.enable_record_to_file(filepath);
% Make Pipeline object to manage streaming
pipe = realsense.pipeline();
% Make Colorizer object to prettify depth output
colorizer = realsense.colorizer();
% Start streaming on an arbitrary camera with default settings
profile = pipe.start(cfg);
% Get streaming device's name
dev = profile.get_device();
name = dev.get_info(realsense.camera_info.name);
% Get frames. We discard the first couple to allow
% the camera time to settle
for i = 1:5
fs = pipe.wait_for_frames();
end
% Stop streaming
pipe.stop();
% Select depth frame
depth = fs.get_depth_frame();
% Colorize depth frame
color = colorizer.colorize(depth);
% Get actual data and convert into a format imshow can use
% (Color data arrives as [R, G, B, R, G, B, ...] vector)
data = color.get_data();
img = permute(reshape(data',[3,color.get_width(),color.get_height()]),[3 2 1]);
% Display image
imshow(img);
title(sprintf("Colorized depth frame from %s", name));
bag = rosbag("D:\matlab_code\bag_file\testrecord.bag");

Reading a bag file in the MATLAB wrapper involves a different process to recording one with enable_record_to_file.  It is done with cfg.enable_device_from, as demonstrated in the rosbag-example.m script.
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/matlab/rosbag_example.m#L6
After stopping the pipeline with pipe.stop(), you should be able to use the cfg.enable_device_from instruction to change the cfg configuration from the one that the script started with.

Is that mean if I need a bag file I need to used cfg.enable_record_to_file() to get a bag file, and after the pipe.stop() I can use cfg.enable_device_fron_file() to open my bag file?
I add the  cfg.enable_device_from() instruction after pipe.stop() , but my MATALB crash.

To obtain a complete, readable bag, the pipeline needs to be stopped so that the bag is indexed upon closure of the recording process.
The SDK's C++ reference about record and playback recommends updating the device after closing recording to signify that a new pipeline is being used where playback will take place instead of record.
https://github.com/IntelRealSense/librealsense/tree/master/examples/record-playback#record-and-playback
pipe->start(); // Resume streaming with default configuration
device = pipe->get_active_profile().get_device();

In regard to getting the distance, https://github.com/IntelRealSense/librealsense/issues/6612#issuecomment-645229665 provides references for doing this in the MATLAB wrapper using depth.get_distance

I add the instruction like below, but the MATLAB crash and shows the error in the picture.
I had looked the #6057, but I still don't know how to solve the problem?
Can you help me?
this is my code：
filepath = fullfile('D:\matlab_code\bag_file','20120919_test3.bag');
% set resolution
cfg = realsense.config();
cfg.enable_stream(realsense.stream.depth,1024,768,realsense.format.z16,30);
% cfg.enable_stream(realsense.stream.color,1920,1080,realsense.format.rgb8,30);
cfg.enable_record_to_file(filepath);
% Make Pipeline object to manage streaming
pipe = realsense.pipeline();
% Make Colorizer object to prettify depth output
colorizer = realsense.colorizer();
% Start streaming on an arbitrary camera with default settings
profile = pipe.start(cfg);
% Get streaming device's name
dev = profile.get_device();
name = dev.get_info(realsense.camera_info.name);
% Get frames. We discard the first couple to allow
% the camera time to settle
for i = 1:5
fs = pipe.wait_for_frames();
end
% Stop streaming
pipe.stop();
cfg.enable_device_from_file("D:\matlab_code\bag_file\20120919_test3.bag");

% Select depth frame
depth = fs.get_depth_frame();
% Colorize depth frame
color = colorizer.colorize(depth);
% Get actual data and convert into a format imshow can use
% (Color data arrives as [R, G, B, R, G, B, ...] vector)
data = color.get_data();
img = permute(reshape(data',[3,color.get_width(),color.get_height()]),[3 2 1]);
% Display image
imshow(img);
title(sprintf("Colorized depth frame from %s", name));

The SDK's C++ record and playback example suggests that immediately after pipe stop, the pointer is reset for a new pipeline before starting playback.

pipe->stop(); // Stop the pipeline that holds the file and the recorder
pipe = std::make_shared<rs2::pipeline>(); //Reset the shared pointer with a new pipeline
My MATLAB wrapper programming knowledge is limited though, so I do not know what the wrapper equivalent of pipe = std::make_shared<rs2::pipeline>(); would be, unfortunately.

If you are using depth_example.m as a basis to capture and render the depth frame with a live device, you are aiming to display the depth stream (and the RGB stream too) on-screen and record it to a bag file at the same time, similar to the RealSense Viewer's record function?

There was a recent discussion that talked about doing simultaneous streaming and recording using multithreading.  I pointed the RealSense user in that case to the C++ multithreading script at https://github.com/IntelRealSense/librealsense/issues/6865
Multithreading is not a simple subject though and I do not have knowledge about how it could be used in a MATLAB wrapper script.

The information I currently needed are : 1. RGB image, 2. Depth image, 3. Depth distance (in Viewer is a RAW file), I need these three information when I capture the photo from theL515 camera.
I need A bag file is because the RGB and DEPTH image can align together, and the methods I found all said that the parameters in the bag file are required, so I tried to get a bag file and read the parameters in it.
Now I can capture the depth image and get the bag file, so I start to capture the RGB image want to see the RGB image and the depth image. Is there an example for capture the RGB image?

All stream types that have been defined with cfg instructions should be captured in the bag file if they are enabled at the time that recording begins.
I researched your situation further and found a MATLAB script contributed by a RealSense user in https://github.com/IntelRealSense/librealsense/issues/6763#issuecomment-657217234 that aligns depth and color in real-time and then generates a point cloud.  Adapting this script may avoid the need to record a bag file if you only needed a bag for the purpose of performing alignment.

I can capture the RGB image and DEPTH image at the same time. Now I need whole DEPTH image's distance information, so I tried the get_distance(this, x, y) instruction to have the distance information, but it didn't work, and had an error：

after get the depth frame I try to get the depth distance, is that a correct instruction if I want to get the distance information?
this is my code：
clc; clear all; close all;
tic
filepath = fullfile('D:\matlab_code\bag_file','20120919_test3.bag');
cfg = realsense.config();
% set resolution for RGB & DEPTH
cfg.enable_stream(realsense.stream.color,1920,1080,realsense.format.rgb8,30);
cfg.enable_stream(realsense.stream.depth,1024,768,realsense.format.z16,30);
cfg.enable_record_to_file(filepath);  % 之後要改檔名
% Make Pipeline object to manage streaming
pipe = realsense.pipeline();
% Make Colorizer object to prettify depth output
colorizer = realsense.colorizer();
% Start streaming on an arbitrary camera with default settings
profile = pipe.start(cfg);
% Get streaming device's name
dev = profile.get_device();
name = dev.get_info(realsense.camera_info.name);
% Get frames. We discard the first couple to allow
% the camera time to settle
for i = 1:5
fs = pipe.wait_for_frames();
end
% Stop streaming
pipe.stop();
% Select color & depth frame
RGB_frame = fs.get_color_frame();
depth_frame = fs.get_depth_frame();
for y = 1:1024
   for x = 1:768
       depth_dis = depth_frame.get_distance(x,y);  % ******
   end
end

% Colorize depth frame
depth_color = colorizer.colorize(depth_frame);
% Get actual data and convert into a format imshow can use
% (Color data arrives as [R, G, B, R, G, B, ...] vector)
% depth_frame(深度影像上色資訊)
depth_data = depth_color.get_data();
depth_img = permute(reshape(depth_data',[3,depth_color.get_width(),depth_color.get_height()]),[3 2 1]);
% color_frame
RGB_data = RGB_frame.get_data();
RGB_img = permute(reshape(RGB_data',[3,RGB_frame.get_width(),RGB_frame.get_height()]),[3 2 1]);
% Display image
figure;imshow(depth_img);title(sprintf("Colorized depth frame from %s", name));
figure;imshow(RGB_img);title(sprintf("Colorized RGB frame from %s", name));
toc

What happens if you remove the % part of the line?
depth_dis = depth_frame.get_distance(x,y);

If you cannot make get_distance work, the real-world distance in meters can alternatively be achieved by multiplying the 16-bit uint16_t raw depth pixel value by the depth unit scale of the RealSense camera model being used (which is 0.001 meters by default on 400 Series cameras).  For example, 160000 (uint16_t depth pixel value) x 0.001 (depth unit scale value) = 16 (meters real-world distance).
If the SDK's Align processing block (align_to) is used then the SDK automatically adjusts the aligned image if depth and RGB are different resolutions.

Sorry for I can't clearly describe my problem.
Is that mean I can use MATLAB to get the RAW file? I used get_distance to get the depth distance is because I didn't found the method can get the raw file from the MATALB. If MATLAB can directly generate RAW file I think I know how to change the unit from unit16 to meter.
Can MATLAB directly generate the RAW file?
thank you

https://github.com/IntelRealSense/librealsense/issues/1485 discusses in detail how to write depth data in binary format, including how to approach the problem of doing so in the RealSense MATLAB wrapper.  For example, one RealSense user in that discussion in https://github.com/IntelRealSense/librealsense/issues/1485#issuecomment-380487211 wrote a script for saving the data as a .txt file that MATLAB could read.
If you want to go even more directly than the MATLAB wrapper, the function imwrite in MATLAB itself offers the possibility of saving data in binary raw format, though it may not be the same as the .raw files that the RealSense SDK generates.
https://uk.mathworks.com/help/matlab/ref/imwrite.html

In regard to the script with a point cloud player, aside from having to change the stream resolutions to be compatible with L515 I cannot see a reason why the script would not work on an L515.

Sincerely thank you for answering me patiently.
I successfully can align the RGB and DETPH.
Below is my program, if anyone needs it can refer to it.

Using get distance to have the whole frame distance information：
(My depth resolution is 1920_1080. When using get_distance, it records the depth distance from zero, so if I want to that the distance fill in the dis_matrix I need to that the for loop start from zero, and that the coordinates plus one.)

% get the distance
dis_matrix = zeros(1080,1920);
for y = 0:(depthHeight-1)
   for x = 0:(depthWidth-1)
       depth_dis = depth_frame.get_distance(x,y);
       dis_matrix(y+1,x+1) = depth_dis;
   end
end

align RGB and DEPTH frame
(Adding % ***** after the program is the program that needs to be added if alignment is required)

cfg = realsense.config();
% set resolution for RGB & DEPTH
cfg.enable_stream(realsense.stream.color,1920,1080,realsense.format.rgb8,30);
cfg.enable_stream(realsense.stream.depth,1024,768,realsense.format.z16,30);
pipe = realsense.pipeline();
colorizer = realsense.colorizer();
pcl_obj = realsense.pointcloud();
profile = pipe.start(cfg);
alignto = realsense.stream.color;  % *****
alignedFs = realsense.align(alignto); % *****
% Get streaming device's name
dev = profile.get_device();
name = dev.get_info(realsense.camera_info.name);
% Get frames. We discard the first couple to allow
% the camera time to settle
for i = 1:5
    fs = pipe.wait_for_frames();
end
% Stop streaming
pipe.stop();
% Select color & depth frame
RGB_frame = fs.get_color_frame();
% depth_frame = fs.get_color_frame();  % original depth frame
aligned_frames = alignedFs.process(fs);  % align image *****
depth_frame = aligned_frames.get_depth_frame();  % after align Depth image *****
% get depth image parameters
depthSensor = dev.first('depth_sensor');  % *****
depthScale = depthSensor.get_depth_scale();  % *****
depthWidth = depth_frame.get_width();  % *****
depthHeight = depth_frame.get_height();  % *****
depth_color = colorizer.colorize(depth_frame);
depth_data = depth_color.get_data();
depth_img = permute(reshape(depth_data',[3,depth_color.get_width(),depth_color.get_height()]),[3 2 1]);
figure;imshow(depth_img);title(sprintf("Colorized depth frame from %s", name));

Thanks so much for sharing your MATLAB wrapper script with the RealSense community, @nchu-cha     :)

Can I have a view before I capture the frame? Because I want to make sure that the image which I capture is I want. I'm thinking that can I us the capture_example revise to the capture function?
thank you

You could have the program wait for a keypress before initiating capture, like in the C++ script at https://github.com/IntelRealSense/librealsense/issues/8007#issuecomment-745518890

It looks as though most of the properties are related to the positional layout and display on screen of the graphical elements such as the text and ring axes of the accel and gyro display, the display of the buttons and where the different steam panels are located on the screen.

RsPipeLine would be the definition for the pipeline, and RsColorizer would refer to the use of a colorizer component to color-shade the depth data based on the depth values.

It looks as though the x, y and z in the set_motion_data block of code is calculating xyz (Yaw, Pitch and Roll) values for the IMU's gyro and acceleration values in the x, y and z directions for its accelerometer and then displaying those values on-screen at the top of the application.

I do not know what 'r' represents though on the gyro and accel displays in the capture-example.m program though.  It is probably equivalent to 'n' in the gyro and accel readout in the Viewer.

I would assume that draw_motion_data refers to rendering the gyro and accel data on-screen, yes, especially as the draw instructions in the code are labelled as AccelTextAX and GyroTextAX.

I'm not sure but it looks like it may be code that decides what to do if a particular camera stream type is not detected as being supported (for example, if the color stream or the accel and gyro streams are not accessible).

Again, not sure.  I would speculate that after checking whether a particular stream type is supported, it updates the screen with drawnow and then releases frames with delete(RsFrameSet) to free up memory capacity.

Is the function StartUpFunc(app)  in the capture_example is that mean when I click the Start button than it will do all the instruction in the function?

I want to create a capture button, so I imitate the stop button：
function onCaptureButton(app,~)
    if strcmp(app.tmr.Running, 'on')
       stop(app.tmr);
       app.RsPipeLine.stop();
    end
end

Than I create a Capture function like the below, but when I click the capture button nothing happen, it didn't shows the frame.
I don't know where the problem is, can anyone help me?
function CaptureUpFunc(app)
    %--time--%
    now_time  = datestr(now,30); %
    time_str = [now_time(5:8),'_',now_time(10:15)]; %
    filepath = fullfile('D:\matlab_code\dataset\',time_str); %

    app.cfg = realsense.config();
    app.cfg.enable_stream(realsense.stream.color,1920,1080,realsense.format.rgb8,30);
    app.cfg.enable_stream(realsense.stream.depth,1024,768,realsense.format.z16,30);
    app.pipe = realsense.pipeline();
    app.colorizer = realsense.colorizer();
    app.profile = app.pipe.start(app.cfg);
    app.dev = app.profile.get_device();
    name = app.dev.get_info(realsense.camera_info.name);
    for i = 1:5
        app.fs = app.pipe.wait_for_frames();
    end
    app.pipe.stop();
    app.RGB_frame = app.fs.get_color_frame();
    app.depth_frame = app.fs.get_depth_frame();  % *****
    app.depth_color = app.colorizer.colorize(app.depth_frame);
    app.depth_data = app.depth_color.get_data();
    app.depth_img = permute(reshape(app.depth_data',[3,app.depth_color.get_width(),app.depth_color.get_height()]),[3 2 1]);
    figure;imshow(app.depth_img);title(sprintf("Colorized depth frame from %s", name));
    imwrite(app.depth_img,[filepath,'_DEPTH_img.png']);
end

thank you

A function is a list of instructions that is jumped to when the function name is called from elsewhere in the script and then the instructions are carried out in the order that they are listed in the function.
For example, if you created a Start button and set that start button to jump to a function named Start() that contained the start-up code, then that code would be run when the start button is clicked on.
Have you defined the new Capture button in the properties (Access = public) list?
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/matlab/capture_example.m#L4
Have you also defined a list of settings for CaptureButton like the ones for the Start and Stop buttons in the link below?
https://github.com/IntelRealSense/librealsense/blob/master/wrappers/matlab/capture_example.m#L294-L298

That is what your onCaptureButton() function looks like to me.  If the button is pressed then the onCaptureButton is jumped to and the stop code currently within that function should cause the pipeline to be stopped.  But because of the If logic statement that the stop code is within, the stop will only activate if the If condition's terms are met.  In other words, the stop would only activate if the state app.tmr.Runningis currently On.  If it is Off then the If condition is not met and the stop code would not be able to be triggered.  So nothing would happen when the onCaptureButton button is pressed.

I change the onCaptureButton() function to the below：
I think if I want to capture the frame the pipeline need to keep going.
function onCaptureButton(app,~)
      if strcmp(app.tmr.Running, 'off')
         app.RsPipeLine.start();
         start(app.tmr);
      end
  end

And change my CaptureUpFunc(app) function too, but it can't save the frame that I want.
function CaptureUpFunc(app)
    %--time--%
    now_time  = datestr(now,30); %
    time_str = [now_time(5:8),'_',now_time(10:15)]; %
    filepath = fullfile('D:\matlab_code\dataset\',time_str); %

    cfg = realsense.config();  %
    cfg.enable_stream(realsense.stream.color,1920,1080,realsense.format.rgb8,30);  %
    cfg.enable_stream(realsense.stream.depth,1024,768,realsense.format.z16,30);  %
    app.RsPipeLine.start(cfg);  %
    app.RsPipeLine = realsense.pipeline();
    app.RsColorizer = realsense.colorizer();
    RsFrameSet = app.RsPipeLine.wait_for_frames();

    if app.SupportDepth ~=0
       df = RsFrameSet.get_depth_frame();
       dc = app.RsColorizer.colorize(df);
       dd = dc.get_data();
       d = permute(reshape(dd',[3,dc.get_width(),dc.get_height()]),[3 2 1]);
       app.hD = imshow(d,'Parent',app.DepthAX);
       imwrite(d,[filepath,'_DEPTH_img.png']);  %
    else
       d = zeros(480,640,3,'uint8'); d(:)=240;
       app.hD = imshow(d,'Parent',app.DepthAX);
       hold(app.DepthAX,'on');
       text(app.DepthAX,140,220,'The <Depth> property is not supported','Color','k','FontSize',16);
       hold(app.DepthAX,'off');
    end
end

I had found that if I write the imwrite() in the StartUpFunc(app) function it will save the frame before I press the start button, but I want to save the frame after I press the button. Do you know how to solve the problem?

Perhaps you could define a bool condition such as 'pause' that can be true or false, and set it to false by default in your script's start function.  Then you could enclose wait_for_frames within an 'If pause = false' condition, so that new frames can only arrive if pause = false.
When the capture button is pressed, the onCaptureButton() function's code could set pause to 'true'.  As soon as it is set to true, wait_for_frames should no longer be able to be accessed.  The capture could then be saved and pause set to 'false' again so that wait_for_frames can resume streaming frames.

I'm not really sure how to write the code you mean.
Is like the code below?
function onCaptureButton(app,~)
    if strcmp(app.tmr.Running, 'off')
        app.RsPipeLine.start();
        start(app.tmr);
    else  % strcmp(app.tmr.Running, 'on')
        stop(app.tmr);
        app.RsPipeLine.stop();
    end
end

I this code when I press the capture the frame will stop pipeline but it can't save the frame, than I press again the view in the app will keep going.
I missed a place that need to add the CaptureUpFunc in the bottom part of the code, so I add the runCaptureupFcn(app,@CaptureUpFunc); in, but it shows that it couldn't recognized function runCaptureupFcn. I don't know why it can recognized the StartUpFunc function, but it can't recognized the Capture function.

methods (Access = public)

    function app = CHA_capture_test
     createComponents(app)
     registerApp(app, app.UIFigure)
     runStartupFcn(app,@StartUpFunc);
     runCaptureupFcn(app,@CaptureUpFunc);  % ****************************
     if nargout == 0
      clear app
     end
    end

    function delete(app)
     delete(app.UIFigure)
    end
end

Is the @CaptureUpFunc definitely outside of the other functions (for example, not accidentally nested within @StartUpFunc).  You could make sure of this by finding the first line of a function and then pasting the code for @CaptureUpFunc directly above that line.

Can I open the Viewer and the MATLAB at the same time for preview the frame of the L515 camera?
I open the viewer for checking the RGB frame but shows no frame received, what's wrong with the viewer? the depth frame is working normally.

I changed another way to solve the problem of the preview screen, I used Realsense Viewer to make sure the frame is I want, then I turn off the Viewer and run the MATALB code of the capture function. But I found that if I open the RGB camera first, to will shows no frame receive but if I turn on the depth sensor first then turn on the RGB camera it will be normal. do you know why the L515 camera will act like that? Because before I can turn on the RGB camera first, and it still can get the frame.

I have heard of this behaviour once before, with Depth first and RGB second working but not the other way around.  I do not have an explanation for it though.

Thank you for your patient reply, I will close the issue

Thanks very much @nchu-cha for the update and for your patience too!


Re-support the capability to run 0 plugins

This issue stems from a conversation I had with a user regarding their workflow.
Here is the code (test) that exemplifies the logic that changed regarding the ability to run 0 plugins (for data gathering purposes) https://github.com/vmware-tanzu/sonobuoy/commit/564f6228d9eeda816384bafc6304633d5e7f5981#diff-99ac53387065595eeb9af0a8f62175845e3bd2a9339d4a7cb4133e4ac11adbf6R206
If no selection was specified (but we had the empty slice) we'd get 0 plugins, now we get the default ones. We never realized anyone actually used that run-0-plugins configuration.
Knowing that it was relied on, we need to find a way to support that logic. I'd rather not reverse this logic (it made other things internally easier); I think a config option just skips the plugin running all together. Even if it isnt exposed as a flag on the CLI it won't really impact anyone else or other sections of the codebase.

Fixed by #1504


Sometimes macOS receipt validation fails, wrong MAC address used as device identifier

We have encountered at least one case where receipt validation failed on macOS for a user, but would have succeeded when using the primary MAC address retrieved the "old style" (before https://github.com/IdeasOnCanvas/AppReceiptValidator/pull/79).

Workaround (relevant on macOS only):
If the receiptValidation fails with .incorrectHash, then try again using getLegacyPrimaryNetworkMACAddress as device identifier.
// validate
let result = AppReceiptValidator().validateReceipt(parameters: .default)
#if os(macOS)
if case .error(.incorrectHash, _, _) = result,
    // validate with fallback
    let fallbackParameters = self.makeCurrentReceiptValidationFallbackParameters() {
    return AppReceiptValidator().validateReceipt(parameters: fallbackParameters)
}
#endif
// return result
return result

// …

#if os(macOS)
/// Returns receipt validation parameters using the legacy style of retrieving the device identifier (MAC address)
func makeCurrentReceiptValidationFallbackParameters() -> AppReceiptValidator.Parameters? {
    guard let deviceIdentifierData = AppReceiptValidator.Parameters.DeviceIdentifier.getLegacyPrimaryNetworkMACAddress()?.data else { return nil }

    return .default.with { params in
        params.deviceIdentifier = .data(deviceIdentifierData)
    }
}
#endif

@hannesoid: Is this workaround still needed? If so, will it eventually be incorporated into the package itself when this issue is closed?

Is this workaround still needed?

Good question! I can't answer it because we unfortunately have no data collection in place to establish if this workaround still gets active for recovering issues.

If so, will it eventually be incorporated into the package itself when this issue is closed?

With this uncertain situation it probably it would make sense to integrate it into the package in some way, or figure out why the primary mechanism for getting the MAC address fails to determine the correct one. If the issue is closed then it will be one of the two scenarios, either it will be because it's been integrated, or, because we somehow determined it's not needed or found a way to fix the primary issue (but I can't say we've been working on any of those tasks recently).

I want to add some data points:
Had a "hackintosh" user that did not have primary address (legacy mac address failed) and the new apple sample code returned en0 non build as mac address. This failed during the validation as correct mac address was en1 (non build in).
I thing that the framework that picks mac address is AppleMediaServices.framework (+[AMSDevice macAddressData]). This call gets the correct mac address.
Upon closer inspection of internal apple implementation there is a difference to apple validation sample code. Internally apple cares about isBuiltIn. If isBuiltIn is true it will ignore wantBuiltIn. This is a logical difference to the sample code.
Sample Code
if wantBuiltIn == CFBooleanGetValue(isBuiltIn) {
  return candidate
}

Internal Code
if CFBooleanGetValue(isBuiltIn) == true {
  return candidate
} else if wantBuiltIn == false {
  return candidate
} else { //interface is not build in but we want build in
  continue
}

However I have no insights how this tweak behaves on Macs with wired interfaces especially when Airplay 2 streaming content.
Diagnostic Report:
Mac Address matching receipt: XXXXXXXX17C9A
Apple Sample Code Mac Address: XXXXXXXX7C99
en0, build-in(true): (null)
en1, build-in(true): (null)
en0, build-in(false): XXXXXXXX7C99
Apple Media Services Mac Address: XXXXXXXX17C9A
webdavfs mac address:<PHONE_NUMBER>00
directory mac address: ÙDP] (giberish for unknown reason)
Legacy Mac Address:<PHONE_NUMBER>00
Reported interfaces:
<__NSArrayM 0x600003558060>(
<SCNetworkInterface 0x7fd9b4c22130 [0x7fff8004d2d0]> {type = Ethernet, entity_device = en4, entity_type = Ethernet, name(k) = "ether", address = REDACTED:4d:00, builtin = TRUE, path = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP04@1C,3/IOPP/ARPT@0/itlwm/en4, entryID = 0x1000002f0, type = 6, unit = 4, order = 9 (Ethernet)},
<SCNetworkInterface 0x7fd9b4c3fff0 [0x7fff8004d2d0]> {type = Ethernet, entity_device = en0, entity_type = Ethernet, name(k) = "generic-ether"+"en0", address = REDACTED:7c:99, builtin = FALSE, path = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP03@1C,2/IOPP/ethernet@0/RTL8111/en0, entryID = 0x1000002bc, type = 6, unit = 0, order = 9 (Ethernet)},
<SCNetworkInterface 0x7fd9b4c1c8a0 [0x7fff8004d2d0]> {type = Ethernet, entity_device = en1, entity_type = Ethernet, name(k) = "generic-ether"+"en1", address = REDACTED:7c:9a, builtin = FALSE, path = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/ethernet@0/RTL8111/en1, entryID = 0x1000002bb, type = 6, unit = 1, order = 9 (Ethernet)},
<SCNetworkInterface 0x7fd9b4c1a180 [0x7fff8004d2d0]> {type = Ethernet, entity_device = en2, entity_type = Ethernet, name(k) = "bluetooth-pan-gn", address = REDACTED:4d:04, builtin = FALSE, order = 15 (BluetoothPAN_GN)}
)
Note: itlwm -> is a Intel Wireless kext
/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist interfaces:
{
Interfaces =     (
{
Active = 1;
"BSD Name" = en0;
IOBuiltin = 0;
IOInterfaceNamePrefix = en;
IOInterfaceType = 6;
IOInterfaceUnit = 0;
IOMACAddress = {length = 6, bytes = REDACTED7c99};
IOPathMatch = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP03@1C,2/IOPP/ethernet@0/RTL8111/en0";
SCNetworkInterfaceInfo =             {
UserDefinedName = "Ethernet Adaptor (en0)";
};
SCNetworkInterfaceType = Ethernet;
},
{
Active = 1;
"BSD Name" = en1;
IOBuiltin = 0;
IOInterfaceNamePrefix = en;
IOInterfaceType = 6;
IOInterfaceUnit = 1;
IOMACAddress = {length = 6, bytes = REDACTED7c9a};
IOPathMatch = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP05@1C,4/IOPP/ethernet@0/RTL8111/en1";
SCNetworkInterfaceInfo =             {
UserDefinedName = "Ethernet Adaptor (en1)";
};
SCNetworkInterfaceType = Ethernet;
},
{
"BSD Name" = en2;
IOBuiltin = 0;
IOInterfaceNamePrefix = en;
IOInterfaceType = 6;
IOInterfaceUnit = 2;
IOMACAddress = {length = 6, bytes = REDACTED4d04};
IOPathMatch = "IOService:/IOResources/IOUserEthernetResource/IOUserEthernetResourceUserClient/IOUserEthernetController/en2";
SCNetworkInterfaceInfo =             {
UserDefinedName = "Bluetooth PAN";
};
SCNetworkInterfaceType = Ethernet;
},
{
"BSD Name" = en3;
IOBuiltin = 0;
IOInterfaceNamePrefix = en;
IOInterfaceType = 6;
IOInterfaceUnit = 3;
IOMACAddress = {length = 6, bytes = REDACTED56e5};
IOPathMatch =<EMAIL_ADDRESS>NIC@14500000/AppleUSBInterface@0/RtWlanU/en3";
SCNetworkInterfaceInfo =             {
UserDefinedName = "802.11n NIC";
idProduct = 33145;
idVendor = 3034;
kUSBProductString = "802.11n NIC";
};
SCNetworkInterfaceType = Ethernet;
},
{
Active = 1;
"BSD Name" = en4;
IOBuiltin = 1;
IOInterfaceNamePrefix = en;
IOInterfaceType = 6;
IOInterfaceUnit = 4;
IOMACAddress = {length = 6, bytes = REDACTED4d00};
IOPathMatch = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP04@1C,3/IOPP/ARPT@0/itlwm/en4";
SCNetworkInterfaceInfo =             {
UserDefinedName = Ethernet;
};
SCNetworkInterfaceType = Ethernet;
}
);
"VERSION" = 20191120;
}

Have successfully deployed this code to the Mac App Store:
    guard let service = io_service(named: "en0", wantBuiltIn: true)
            ?? io_service(named: "en1", wantBuiltIn: false)
            ?? io_service(named: "en0", wantBuiltIn: false)
        else { return nil }

    while candidate != IO_OBJECT_NULL {
        guard let cftype = IORegistryEntryCreateCFProperty(candidate,
                                                           "IOBuiltin" as CFString,
                                                           kCFAllocatorDefault,
                                                           0) else { return candidate }
        let isBuiltIn = cftype.takeRetainedValue() as! CFBoolean
        // if CFBooleanGetValue(isBuiltIn) || wantBuiltIn == false {
        if CFBooleanGetValue(isBuiltIn) == true {
            return candidate
        } else if wantBuiltIn == false {
            return candidate
        } else {
          //we are not build in and we want built in
        }

        IOObjectRelease(candidate)
        candidate = IOIteratorNext(iterator)
    }

@xhruso00 thanks for your thorough investigations. I've tried to apply your adjustments in https://github.com/IdeasOnCanvas/AppReceiptValidator/pull/100, please have a look.
I'm not sure how we would best proceed with merging that or not, but will discuss it.

@hannesoid Nicely commented code! Not asking to merge. I wanted to created awareness that internal macOS code is different to the sample given to developers. Reported as FB13661140 "Sample code [3] for obtaining mac address is different to internal implementation".
For years we used "en0" (primary interface) to be the only correct one and it did indeed work. Even Apples original validation code from 2019 [1],[4] only assumed en0.  Minor problems popped up in 2019 and were related to Airplay 2 (introduced in 2018). As per [2], [4] IOBSDNameMatching(master_port, 0, "en0") created multiple iterations instead of one where the second one had NULL mac address. I assume that the issue with multiple iterations got addressed by Apple (updated sample code) to prioritize build-in interfaces.
This change makes the code to match internal implementation. The major difference with sample code is the guard let cftype = IORegistryEntryCreateCFProperty. In 2019 it was the second iteration that has caused NULL mac address. The updated sample code addresses this. However is it a danger if it behaves the same as internal implementation? Do we want code correctness or code match?
The change might need to be tested  with iMac Pro and Airplay 2 being actively used. Download app and see what mac address is matching. Alternatively mac mini might behave the same as the iMac Pro [2].
[1] https://web.archive.org/web/20190119090657/https://developer.apple.com/library/archive/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateLocally.html
[2] https://supermegaultragroovy.com/2019/10/22/check-your-receipt-validation-code/
[3] https://openradar.appspot.com/radar?id=5565290700079104
[4] https://gist.github.com/liscio/b40b16feb1a0ff492980bc800a158668#file-copy_mac_address-m-L26

Just looked at the CommerceCore.framework on 10.12 Sierra (System->PrivateFrameworks->CommerceKit.frame->Frameworks->CommerceCore.framework) and it confirms my research. In the past Apple looked for interface that has matched @'IOPrimaryInterface" + IOServiceMatching (kIOEthernetInterfaceClass). This explains first comment on this issue. If anyone has a deployment target of 10.12 -> he must use availability macro and use the legacy way of obtaining mac address.


Add Transition.Hold

Added in Jetpack 1.6.0-alpha02, not in Jetbrains yet

This was made internal in compose, so we can't use it.


Implement Livereload capability with WebSockets

Started out as a PoC, but actually works nicely.
With the PR we're hosting a small WebSockets server in appix when we do appix watch. We can connect to this from rwd, and appix will send a message every time a push is done, so that the JS code in rwd can refresh the browser tab.
You can ignore the files under vendor/github.com/gorilla, those are just the WebSockets library.
The two files wsHub.go and wsClient.go are from the official Chat example of the library.

@markvincze
So, let me see if I get this right...
We're removing the livereload from the rwd repo, to have the server being started by appix.
And we only need to distribute on the pages (in development environment) a JS file that basically connects via WS to the localhost:13221.
Right?

@mAiNiNfEcTiOn,

We're removing the livereload from the rwd repo, to have the server being started by appix.

Umm, is there livereload in rwd too? I didn't even know. But I don't think we can remove that, because this is only for the appix pushes, and not for rwd code changes.

And we only need to distribute on the pages (in development environment) a JS file that basically connects via WS to the localhost:13221.

Exactly.

Ok, cool. Got that right, then.
Approved 👍  Well done, sir!

Nice work!

💯 💖


ONNX model in example notebook is "prebaked" to specific aspect ratio.

As noted in the title, when using the ONNX model generated by the example notebook OR the script, it appears to be restricted to the aspect ratio given in the orig_im_size dummy inputs.
I am not sure if this is intended behaviour (i.e. an unavoidable limitation of the ONNX system), or a bug.
This can be observed by changing the dummy input value to e.g. [1024, 1024] when creating the ONNX model, OR by using a different example image with different aspect ratio. When the next section of the ONNX example notebook (onnx_model_example.ipynb) is run, the projected mask will not match up with the underliying image, but will be deformed by a certain amount. This is rather annoying as, since the output mask its automatically "resized" to the target image dimensions, it is a pain to get the inverse transform to get both to match up again, not to mention part of the mask is permanently clipped off.
This doesn't affect the usual predict function, or inputs, and only matters for aspect ratio, scaling both dimensions identically does not affect the result.
I'm not very familiar with the ONNX export process, but I'm going to have a dig around the docs to see if I can figure this one out, but I'll leve this here in the meantime for anyone having similar issues knows what might be the culprit.

@EndingCredits  Is my issue the same one as yours? See: https://github.com/facebookresearch/segment-anything/issues/92

Don't think so, sorry.

@EndingCredits  yes, it is the same. I used images with different aspect ratios and then the bug showed up.

I used pip install segmentation-anything and found that the exported onnx model always has a fixed scale
Why not update pip's package? T_T
https://github.com/vietanhdev/samexporter/issues/4#issuecomment-1773655250


Add cmake-format config

Improve formatting.
Use Tabs.
Make copyright one whole comment block.
Remove spaces inside of functions and after if.
Remove excessive whitespace.
Add github action to validate formatting.

Obviously we can change options like

Spaces instead of tabs
whilespace after control statements (if (, endif ())
Unix line endings instead of Dos


Table logic error causes flex columns to collapse to minimum widths in certain combinations of table width and number of columns

Certain combinations of width constraints for a table and the number of flex columns results in a logic error that collapses the flex columns to their minimum widths. If their minimum width is zero, then they are collapsed to zero width and are not rendered.
The following code reproduces the problem:
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final blocks = <Widget>[
      Container(height: 60, color: Colors.red,),
      Container(height: 60, color: Colors.green,),
      Container(height: 60, color: Colors.blue,),
      Container(height: 60, color: Colors.yellow,),
      Container(height: 60, color: Colors.brown,),
      Container(height: 60, color: Colors.purple,),
    ];

    return Scaffold(
      body: Container(
        width: 100.0,
        child: Table(
          children: [TableRow(children: blocks)],
        ),
      ),
    );
  }
}

This code should produce a 100 unit wide rectangle consisting of 6 colored blocks, but it renders an empty screen. If you comment out one of the Containers in the blocks list, it will correctly render a 100 unit wide rectangle with 5 colored blocks.
I tracked down the problem and it is a logic error in RenderTable._computeColumnWidths(BoxConstraints constraints)
The logic error is in the following loop at the end of _computeColumnWidths()
      if (deficit > 0.0) {
        // Now we have to take out the remaining space from the
        // columns that aren't minimum sized.
        // To make this fair, we repeatedly remove equal amounts from
        // each column, clamped to the minimum width, until we run out
        // of columns that aren't at their minWidth.
        do {
          final double delta = deficit / availableColumns;
          int newAvailableColumns = 0;
          for (int x = 0; x < columns; x += 1) {
            final double availableDelta = widths[x] - minWidths[x];
            if (availableDelta > 0.0) {
              if (availableDelta <= delta) {
                // shrank to minimum
                deficit -= widths[x] - minWidths[x];
                widths[x] = minWidths[x];
              } else {
                deficit -= availableDelta;
                widths[x] -= availableDelta;
                newAvailableColumns += 1;
              }
            }
          }
          availableColumns = newAvailableColumns;
        } while (deficit > 0.0 && availableColumns > 0);
      }

After the flex columns are grown to fill the width constraint and if the table size is now greater than the constraint, this loop is supposed to evenly remove a portion of the deficit from each flex column to bring the table width into the constraint. Instead it removes all of flex space in each column and in the example code reduces every column to zero width.
The error is in the last if/else statement:
              if (availableDelta <= delta) {
                // shrank to minimum
                deficit -= widths[x] - minWidths[x];
                widths[x] = minWidths[x];
              } else {
                deficit -= availableDelta;
                widths[x] -= availableDelta;
                newAvailableColumns += 1;
              }

The delta variable was calculated to be the even portion of the deficit that is to be subtracted from each column:
final double delta = deficit / availableColumns;
The if/else statement is supposed to remove the availableDelta from a column width if availableDelta is less than delta, otherwise it should be subtracting delta from the columnWidth.
Instead, if availableDelta is greater than delta, it's removing all of availableDelta from the column width, which collapses it to its minimum width.
This code
              } else {
                deficit -= availableDelta;
                widths[x] -= availableDelta;
                newAvailableColumns += 1;
              }

should instead be
              } else {
                deficit -= delta;
                widths[x] -= delta;
                newAvailableColumns += 1;
              }

Closing since https://github.com/flutter/flutter/pull/30470 is merged


xSQLServerSetup: Existing TempDb log files stops setup.exe process without visible error

if you run a dsc config and the configuration senses that the log files are present it halts the configuration and marks the configuration complete. But if you look at the log file the Process stopped because log files already exist. if you then delete the log files and re-run the DSC configuration. It installs properly.
(01) 2017-04-21 15:48:53 Slp: Received request to add the following file to Watson reporting: C:\Users\user\AppData\Local\Temp\tmp196A.tmp
(01) 2017-04-21 15:48:53 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
(01) 2017-04-21 15:48:53 Slp: Inner exceptions are being indented
(01) 2017-04-21 15:48:53 Slp:
(01) 2017-04-21 15:48:53 Slp: Exception type: Microsoft.SqlServer.Chainer.Infrastructure.InputSettingValidationException
(01) 2017-04-21 15:48:53 Slp:     Message:
(01) 2017-04-21 15:48:53 Slp:         The tempdb database file tempdb.mdf already exists in P:\Apps\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data.
(01) 2017-04-21 15:48:53 Slp:     HResult : 0x851a002e
(01) 2017-04-21 15:48:53 Slp:         FacilityCode : 1306 (51a)
(01) 2017-04-21 15:48:53 Slp:         ErrorCode : 46 (002e)
(01) 2017-04-21 15:48:53 Slp:     Data:
(01) 2017-04-21 15:48:53 Slp:       SQL.Setup.FailureCategory = InputSettingValidationFailure
(01) 2017-04-21 15:48:53 Slp:       DisableWatson = true
(01) 2017-04-21 15:48:53 Slp:     Stack:
Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
Microsoft Windows Server 2016 Datacenter
Major  Minor  Build  Revision

10     0      14393  0
Name                           Value

PSVersion                      5.1.14393.693
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.693
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
What module (SqlServer or SQLPS) and which version of the module the DSC Target Node is running:
attempting to install sql server 2016
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
xSQLServerSetup           xSQLServer                     <IP_ADDRESS>

You wouldn't have the verbose logs from this run?
Could you provide us with the configuration you were using?
You mean that it did not throw any error at all? At the end of the Set-TargetResource function it runs the Test-TargetResource function to validate that all features was installed. If not it will throw an error.
You mean that it never throw an error?

configuration:
<#
.EXAMPLE
This example shows how to install a named instance of SQL Server on a single server, from an UNC path.
.NOTES
Assumes the credentials assigned to SourceCredential have read permission on the share and on the UNC path.
The media will be copied locally, using impersonation with the credentials provided in SourceCredential, so
that the SYSTEM account can access the media locally.
    SQL Server setup is run using the SYSTEM account. Even if SetupCredential is provided
    it is not used to install SQL Server at this time (see issue #139).

#>
Configuration Install-Sql2016
{
[CmdletBinding()]
param
(
[Parameter(Mandatory = $true)]
[ValidateNotNullorEmpty()]
[System.Management.Automation.PSCredential]
[System.Management.Automation.Credential()]
$SqlInstallCredential,
    [Parameter()]
    [ValidateNotNullorEmpty()]
    [System.Management.Automation.PSCredential]
    [System.Management.Automation.Credential()]
    $SqlAdministratorCredential = $SqlInstallCredential,

    [Parameter(Mandatory = $true)]
    [ValidateNotNullorEmpty()]
    [System.Management.Automation.PSCredential]
    [System.Management.Automation.Credential()]
    $SqlServiceCredential,

    [Parameter()]
    [ValidateNotNullorEmpty()]
    [System.Management.Automation.PSCredential]
    [System.Management.Automation.Credential()]
    $SqlAgentServiceCredential = $SqlServiceCredential
)

Import-DscResource -ModuleName xSQLServer
Import-DscResource –ModuleName 'PSDesiredStateConfiguration'
node PGVDVOSRS212D
{
    #region Install prerequisites for SQL Server
    WindowsFeature 'NetFramework35' {
       Name = 'NET-Framework-Core'
       Source = 'C:\Windows\WinSxS' # Assumes built-in Everyone has read permission to the share and path.
       Ensure = 'Present'
    }

    WindowsFeature 'NetFramework45' {
       Name = 'NET-Framework-45-Core'
       Ensure = 'Present'
    }
    #endregion Install prerequisites for SQL Server

    #region Install SQL Server
    xSQLServerSetup 'InstallNamedInstance-MSSQLSERVER'
    {
        InstanceName = 'MSSQLSERVER'
        Features = 'SQLENGINE,CONN,IS,BC,BOL,Tools'
        SQLCollation = 'SQL_Latin1_General_CP1_CI_AS'
        SQLSvcAccount = $SqlServiceCredential
        AgtSvcAccount = $SqlAgentServiceCredential
        ASSvcAccount = $SqlServiceCredential
        SQLSysAdminAccounts = 'company\Domain Database Admins', $SqlAdministratorCredential.UserName
        ASSysAdminAccounts = 'COMPANY\SQL Administrators', $SqlAdministratorCredential.UserName
        SetupCredential = $SqlInstallCredential
        InstallSharedDir = 'D:\Apps\Microsoft SQL Server'
        InstallSharedWOWDir = 'D:\Apps (x86)\Microsoft SQL Server'
        InstanceDir = 'D:\Apps\Microsoft SQL Server'
        InstallSQLDataDir = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data'
        SQLUserDBDir = 'M:\Apps\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data'
        SQLUserDBLogDir = 'L:\Apps\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data'
        SQLTempDBDir = 'P:\Apps\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data'
        SQLTempDBLogDir = 'L:\Apps\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log'
        SQLBackupDir = 'E:\Apps\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup'
        ASConfigDir = 'D:\Apps\Microsoft SQL Server\MSOLAP13.MSSQLSERVER\Config'
        ASDataDir = 'M:\Apps\Microsoft SQL Server\MSOLAP13.MSSQLSERVER\Data'
        ASLogDir = 'L:\Apps\Microsoft SQL Server\MSOLAP13.MSSQLSERVER\Log'
        ASBackupDir = 'E:\Apps\Microsoft SQL Server\MSOLAP13.MSSQLSERVER\Backup'
        ASTempDir = 'P:\Apps\Microsoft SQL Server\MSOLAP13.MSSQLSERVER\Temp'
        SourcePath = '\\server\dba\Microsoft SQL Server\2016'
        SourceCredential = $SqlInstallCredential
        UpdateEnabled = 'False'
        ForceReboot = $false
        BrowserSvcStartupType = 'Automatic'

        DependsOn = '[WindowsFeature]NetFramework35','[WindowsFeature]NetFramework45'
    }
    #endregion Install SQL Server
}

}
$password = 'Password'| ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList 'company\username', $password
$ConfigurationData = @{
AllNodes = @(
@{
NodeName = "*"
PSDscAllowPlainTextPassword = $true
PSDscAllowDomainUser = $true
InstallerServiceAccount = "company\username"
AdminAccount = "company\username"
}
@{
NodeName = "DBServer1"
SQLServers = @(
@{
InstanceName = "MSSQLSERVER"
}
)
}
)

}
$InstallerServiceAccount = $credential # Get-Credential "company\username"
#run from command line:
Install-Sql2016 -ConfigurationData $ConfigurationData -PsDscRunAsCredential $credential -SqlInstallCredential $credential -SqlAdministratorCredential $credential -SqlServiceCredential $credential -SqlAgentServiceCredential $credential
Start-DscConfiguration -Path .\SQLInstall -Verbose -Wait -Force
Log is attached
Detail.txt


insert select no effect

when i prepare use select from another table, i found it not work and without an error!
docker=> select * from test1;
  c1
-------
 hello
 world
(2 rows)

docker=> select * from test2;
 c2
----
(0 rows)
docker=> INSERT INTO test2(c2) (SELECT c1 FROM test1);
 OUTPUT
--------
      2
(1 row)

docker=> select * from test2;
  c2
-------
 hello
 world
(2 rows)

res, err := db.Exec("INSERT INTO test2(c2) (SELECT c1 FROM test1)")
	if err != nil {
		t.Fatal(err)
	}
	t.Log(res.RowsAffected())

--- PASS: TestVerticaDriver (0.05s)
    vertica_test.go:13: 0 <nil>
PASS

the code is simple explain how it happened. my code is more complicated and it report right RowsAffected  but nothing happened.

Interesting. I'll have a look at it. Thanks.

I've added a branch:
https://github.com/vertica/vertica-sql-go/tree/rhuebner-issue-41-insert-not-working
that contains a test in driver_test.go called TestIssue41_InsertNotWorking .
As near as I can understand, this repros the conditions you mention yet do not see the issue. Can you verify?


Errors in README

First of all thank you for providing an alternative tool to manage SSL certificate with traefik. However I've found some issues with the README.

The Dockerfile does not pass -r option by default. So if a user follows the README exactly, containers with matched label won't be restarted after the certificates having been extracted.
The default Unix socket file is /var/run/docker.sock rather than /var/run/docker.socket. By following the README you'll get a File not found error when the script is trying to list containers with a specific label.

Fixed. Thank you for the contribution.


Docs for Series.sum()

Is't ok that block seealso contains link to itself?

The same way as Pandas docs do. seealso is taken from Pandas docs.

Added more seealso from Pandas docs.


Angular12/13/14/15 - npm i angular-cesium raise an error

Hi ,
the latest version don't support Angular12/13/14/15 (issue with angular/common ) can you add support to these versions
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/common
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^10.0.0 || ^11.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/angular-cesium
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
Best Regards
Itzhak natan

Any updates on angular-cesium for higher Angular versions?

Angular Cesium project is currently dead - the owners stop to maintain it .
I managed to use angular cesium with angular 12/13/14 frameworks by:

Install the package 0.0.73/ 0.0.74 with --force
Run npm i --force

Install the next angular cesium  dependency packages on your package
json
Util 0.11.1
buffer 5.7.1

Packages i used:
cesium 1.83.0
angular cesium 0.0.74
Angular/cli 14.2.10
Good luck
בתאריך יום ד׳, 29 במרץ 2023, 17:49, מאת Valentin @.***

:

Any updates on angular-cesium for higher Angular versions?
—
Reply to this email directly, view it on GitHub
https://github.com/articodeltd/angular-cesium/issues/441#issuecomment-1488773313,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJEJD6REWFKNE2WGZVLRDSLW6RDYHANCNFSM6AAAAAAT5QNJQY
.
You are receiving this because you authored the thread.Message ID:
@.***>

We have created v15 and v13 forks.
You can download packages here: https://www.npmjs.com/package/@auscope/angular-cesium
I'd be happy to create pull requests - but there is no one maintaining this repo.


[RFC: Exports] Add invariant to the exports for Flow compatibility

This is kind of weird but bear with me... Flow special-cases invariant so having it available is useful when using Flow. invariant is more of a Flow thing than a React thing, but React Native is also setting up the environment with setTimeout and require so it's kind of a gray area. Alternatively publishing invariant to npm instead of using static_upstream's copy would work too.

@zpao, @spicyj: what are your thoughts on exposing invariant

I don't like it. I also think Flow special casing invariant is silly (I'll assume there was a reason). There's a copy of invariant already published to npm by somebody else if you really want to be able to require it (we'll eventually publish it in a more standalone way at some point, working on that now).

fair


Feature request: Delete orphaned items

Currently, if a template is removed by Unicorn, any items which are using this template are left as orphaned items in the database.
Would be great to have the option to allow Unicorn to remove these automatically, or fail the sync if it tries to remove a template which is being referenced by items. The only way to remove these items at the moment is to delete them via a Sitecore Powershell script.
Would something like this be possible?
Thanks,
Dan.

It would be possible to implement, but overall not something I would ship.
Suppose, for example, you were working on a feature branch workflow and you switched to a branch to review code where a template you'd been working on didn't exist. With this setting, Unicorn would reach out and destroy any test content, etc that contained the other branch's template and you'd have no recourse other than manual restore from recycle bin.
Or imagine a bad commit that removed a core content template that made its way to production. Bye bye website?


uniapp

Description
uniapp fails to log in using web sdk, TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
Screenshots
No response
Additional information
No response

open-im-sdk-wasm only supports the vue3 version of unaipp to run on the h5 platform. If you need to allow it on multiple platforms such as vue2 or small programs, please use open-im-sdk. For details, please refer to the documentation: https://docs.openim.io/zh-hans/sdks/quickstart/uniapp


chore: print human-readable error if index.html isn't found

Summary of Changes
Issues like https://github.com/amundsen-io/amundsen/issues/822 seem like something is going very wrong with the install, but very commonly it's just a step was missing. In that case, print a human-readable more-helpful error line.
We don't have jinja2 in our requirements -- it's from Flask, but that seems stable enough to be safe
Tests
n/a
Documentation
n/a
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide

Rebased to fix CI, could someone please merge?

thanks


⚠ SceneTime has degraded performance

In f5402a6, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1494 ms

Resolved: SceneTime performance has improved in 81b124b after 8 minutes.


Get xslt-version using a single function

Despite #623, the default XSLT version is still written directly in multiple places.
This pull request defines a single function to get the effective @xslt-version or the default version (2.0 as of now).
This change is accompanied with tests which reveal a suspicious behavior of the current implementation, but I left it intact to keep the compatibility for now.

Merging this to ease migration to XSLT 3.0.


Login error

Error on both devices :
ios device seems : restricted_client
android seems :
ON Debug:
final onError = (exception, stacktrace) { //
exception has below response :
hashCode:1037681746
runtimeType:Type (PlatformException)
code:”sign_in_failed”
message:”com.google.android.gms.common.api.ApiException: 10: “
details:null
— — —
debugger line
final GoogleSignInAuthentication googleAuth = await user.authentication;
user.authentication has below response:
NoSuchMethodError (NoSuchMethodError: The getter ‘authentication’ was called on null. Receiver: null Tried calling: authentication)
— — -
show error snakbar :
Couldn’t log in with your Google account, please try again
i setup everything but login is not going to success :(

Did you add google-services.json to the android/app folder, and followed the iOS Integration Steps? This seems like it couldn't fully integrate with the Google stuff. If it's not that, please add the full stacktrace here, right after you try to login.

carefully fallow all steps

Can you send the full stacktrace of the error, from Debug Console, when it happens?

iOS log:
flutter: [AUTH] Setting _isRefreshing (false) to true
flutter: ReactiveRefreshIndicator: called onRefresh
flutter: [AUTH] Just got user as: null

Seems like the API consent has to do with this: https://console.cloud.google.com/apis/credentials/consent
But did you drag GoogleService-Info.plist inside Runner so Xcode recognizes the file? Try generating another one in Project Overview -> Settings icon -> Project Settings.

ANDROID log:
when i set AuthStatus.SMS_AUTH; didn't ask me for mobile number
E/flutter ( 6965): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The method 'linkWithCredential' was called on null.
E/flutter ( 6965): Receiver: null
E/flutter ( 6965): Tried calling: linkWithCredential(Instance of 'AuthCredential')
E/flutter ( 6965): #0      Object.noSuchMethod  (dart:core-patch/object_patch.dart:50:5)
E/flutter ( 6965): #1      _AuthScreenState._linkWithPhoneNumber
package:pcpl/routes/auth.dart:228
E/flutter ( 6965): <asynchronous suspension>
E/flutter ( 6965): #2      _AuthScreenState._submitSmsCode
package:pcpl/routes/auth.dart:213
E/flutter ( 6965): <asynchronous suspension>
E/flutter ( 6965): #3      _AuthScreenState._onRefresh
package:pcpl/routes/auth.dart:503
E/flutter ( 6965): <asynchronous suspension>
E/flutter ( 6965): #4      ReactiveRefreshIndicatorState._show.<anonymous closure>
package:pcpl/widgets/reactive_refresh_indicator.dart:365
E/flutter ( 6965): #5      _rootRunUnary  (dart:async/zone.dart:1132:38)
E/flutter ( 6965): #6      _CustomZone.runUnary  (dart:async/zone.dart:1029:19)
E/flutter ( 6965): #7      _FutureListener.handleValue  (dart:async/future_impl.dart:126:18)
E/flutter ( 6965): #8      Future._propagateToListeners.handleValueCallback  (dart:async/future_impl.dart:639:45)
E/flutter ( 6965): #9      Future._propagateToListeners  (dart:async/future_impl.dart:668:32)
E/flutter ( 6965): #10     Future._completeWithValue  (dart:async/future_impl.dart:483:5)
E/flutter ( 6965): #11     Future._asyncComplete.<anonymous closure>  (dart:async/future_impl.dart:513:7)
E/flutter ( 6965): #12     _rootRun  (dart:async/zone.dart:1124:13)
E/flutter ( 6965): #13     _CustomZone.run  (dart:async/zone.dart:1021:19)
E/flutter ( 6965): #14     _CustomZone.runGuarded  (dart:async/zone.dart:923:7)
E/flutter ( 6965): #15     _CustomZone.bindCallbackGuarded.<anonymous closure>  (dart:async/zone.dart:963:23)
E/flutter ( 6965): #16     _microtaskLoop  (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 6965): #17     _startMicrotaskLoop  (dart:async/schedule_microtask.dart:50:5)
E/flutter ( 6965):

http://recordit.co/w8INc3BEyC

The way it works is that you need a FirebaseUser so you can link the phone credential with; if you don't have that then it throws NoSuchMethodError. If you want to just verify the phone number, call what you need inside _linkWithPhoneNumber, instead of linking.
Future<void> _linkWithPhoneNumber(AuthCredential credential) async {
    print("Here the code is already verified and you can proceed.")
}

redownload .plist file and re-add with copy file if needed option check while i drag
but error log :
2019-05-23 21:04:39.597667+0530 Runner[12393:2736118]  - <AppMeasurement>[I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2019-05-23 21:04:40.038810+0530 Runner[12393:2736039] You've implemented -[<UIApplicationDelegate> application:performFetchWithCompletionHandler:], but you still need to add "fetch" to the list of your supported UIBackgroundModes in your Info.plist.
2019-05-23 21:04:40.038854+0530 Runner[12393:2736039] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
2019-05-23 21:04:40.039923+0530 Runner[12393:2736039] Configuring the default Firebase app...
2019-05-23 21:04:40.094557+0530 Runner[12393:2736126] 6.0.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
2019-05-23 21:04:40.131691+0530 Runner[12393:2736039] Configured the default Firebase app __FIRAPP_DEFAULT.
2019-05-23 21:04:40.235066+0530 Runner[12393:2736126] 6.0.0 - [Firebase/Core][I-COR000027] The library name (flutter-firebase_core) or version number (0.4.0+1) contain invalid characters. Only alphanumeric, dash, underscore and period characters are allowed.
2019-05-23 21:04:40.235662+0530 Runner[12393:2736126] 6.0.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60000000 started
2019-05-23 21:04:40.235823+0530 Runner[12393:2736126] 6.0.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2019-05-23 21:04:40.252925+0530 Runner[12393:2736136] flutter: Observatory listening on http://<IP_ADDRESS>:60292/0gJk2Q2FTB8=/
2019-05-23 21:04:40.965919+0530 Runner[12393:2736126] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x102906d20] get output frames failed, state 8196
2019-05-23 21:04:40.966117+0530 Runner[12393:2736126] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x102906d20] get output frames failed, state 8196
2019-05-23 21:04:40.966320+0530 Runner[12393:2736126] TIC Read Status [1:0x0]: 1:57
2019-05-23 21:04:40.966897+0530 Runner[12393:2736126] TIC Read Status [1:0x0]: 1:57

https://console.cloud.google.com/apis/credentials/consent
link show me you must add Application Homepage link!!!!!!

I'm really not sure on what's happening with your project. Could you try doing it all from start, with a new Firebase project? Also see my response above on how to deal with not using Google authentication.

where can i add firebaseUser? i see the  _linkWithPhoneNumber but i don't know where i can use to call directly to phone number page

You'll be skipping firebaseUser, you'll just use Firebase to send the SMS code to a number and verify it; on _linkWithPhoneNumber you can just set a Navigator.of(context).push() to another screen because the code is verified. Be sure to change the AuthStatus to PHONE_AUTH instead of SMS_AUTH.

now sms is sending but after verify code i got error:
#2      _AuthScreenState._submitSmsCode
package:pcpl/routes/auth.dart:213
<asynchronous suspension>
#3      _AuthScreenState._onRefresh
package:pcpl/routes/auth.dart:503
<asynchronous suspension>
#4      ReactiveRefreshIndicatorState._show.<anonymous closure>
package:pcpl/widgets/reactive_refresh_indicator.dart:365
#5      _rootRunUnary  (dart:async/zone.dart:1132:38)
#6      _CustomZone.runUnary  (dart:async/zone.dart:1029:19)
#7      _FutureListener.handleValue  (dart:async/future_impl.dart:126:18)
#8      Future._propagateToListeners.handleValueCallback  (dart:async/future_impl.dart:639:45)
#9      Future._propagateToListeners  (dart:async/future_impl.dart:668:32)
#10     Future._completeWithValue  (dart:async/future_impl.dart:483:5)
#11     Future._asyncComplete.<anonymous closure>  (dart:async/future_impl.dart:513:7)
#12     _rootRun  (dart:async/zone.dart:1124:13)
#13     _CustomZone.run  (dart:async/zone.dart:1021:19)
#14     _CustomZone.runGuarded  (dart:async/zone.dart:923:7)
#15     _CustomZone.bindCallbackGuarded.<anonymous closure>  (dart:async/zone.dart:963:23)
#16     _microtaskLoop  (dart:async/schedule_microtask.dart:41:21)
#17     _startMicrotaskLoop  (dart:async/schedule_microtask.dart:50:5)

i start fresh but still same :(
2019-05-23 21:39:49.552286+0530 Runner[12461:2746188]  - <AppMeasurement>[I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2019-05-23 21:39:49.865467+0530 Runner[12461:2746098] You've implemented -[<UIApplicationDelegate> application:performFetchWithCompletionHandler:], but you still need to add "fetch" to the list of your supported UIBackgroundModes in your Info.plist.
2019-05-23 21:39:49.865511+0530 Runner[12461:2746098] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
2019-05-23 21:39:49.866457+0530 Runner[12461:2746098] Configuring the default Firebase app...
2019-05-23 21:39:49.891523+0530 Runner[12461:2746195] 6.0.0 - [Firebase/Core][I-COR000004] App with name __FIRAPP_DEFAULT does not exist.
2019-05-23 21:39:49.969623+0530 Runner[12461:2746195] 6.0.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60000000 started
2019-05-23 21:39:49.969832+0530 Runner[12461:2746195] 6.0.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2019-05-23 21:39:49.971426+0530 Runner[12461:2746193] 6.0.0 - [Firebase/Analytics][I-ACS023171] App ID has been changed. Resetting App Measurement data
2019-05-23 21:39:50.033398+0530 Runner[12461:2746209] flutter: Observatory listening on http://<IP_ADDRESS>:62597/wtJ0kYcSvck=/
2019-05-23 21:39:50.080119+0530 Runner[12461:2746098] Configured the default Firebase app __FIRAPP_DEFAULT.
2019-05-23 21:39:50.090939+0530 Runner[12461:2746194] 6.0.0 - [Firebase/Core][I-COR000027] The library name (flutter-firebase_core) or version number (0.4.0+1) contain invalid characters. Only alphanumeric, dash, underscore and period characters are allowed.
2019-05-23 21:39:50.906213+0530 Runner[12461:2746193] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x102b2f5c0] get output frames failed, state 8196
2019-05-23 21:39:50.906334+0530 Runner[12461:2746193] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x102b2f5c0] get output frames failed, state 8196
2019-05-23 21:39:50.908258+0530 Runner[12461:2746193] TIC Read Status [1:0x0]: 1:57
2019-05-23 21:39:50.908667+0530 Runner[12461:2746193] TIC Read Status [1:0x0]: 1:57
2019-05-23 21:40:05.324865+0530 Runner[12461:2746195] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x102b3c290] get output frames failed, state 8196
2019-05-23 21:40:05.325318+0530 Runner[12461:2746195] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x102b3c290] get output frames failed, state 8196
2019-05-23 21:40:05.326359+0530 Runner[12461:2746195] TIC Read Status [2:0x0]: 1:57
2019-05-23 21:40:05.326436+0530 Runner[12461:2746195] TIC Read Status [2:0x0]: 1:57
2019-05-23 21:40:05.331038+0530 Runner[12461:2746213] 6.0.0 - [Firebase/Analytics][I-ACS023130] Configuration not found. Using default configuration
2019-05-23 21:40:05.591280+0530 Runner[12461:2746195] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x102b54010] get output frames failed, state 8196
2019-05-23 21:40:05.592093+0530 Runner[12461:2746195] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C3.1:2][0x102b54010] get output frames failed, state 8196
2019-05-23 21:40:05.593754+0530 Runner[12461:2746195] TIC Read Status [3:0x0]: 1:57
2019-05-23 21:40:05.593822+0530 Runner[12461:2746195] TIC Read Status [3:0x0]: 1:57
2019-05-23 21:44:07.679311+0530 Runner[12461:2746098] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-05-23 21:44:07.680796+0530 Runner[12461:2746098] [MC] Reading from public effective user settings.
2019-05-23 21:44:07.779997+0530 Runner[12461:2746098] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitChoco-NumberPad; using 20603_PortraitChoco_iPhone-Simple-Pad_Default
2019-05-23 21:44:18.047220+0530 Runner[12461:2746201] flutter: [AUTH] Setting _isRefreshing (false) to true
2019-05-23 21:44:18.260463+0530 Runner[12461:2746201] flutter: ReactiveRefreshIndicator: called onRefresh
2019-05-23 21:44:18.261869+0530 Runner[12461:2746201] flutter: [AUTH] Setting _isRefreshing (true) to false
2019-05-23 21:44:18.265260+0530 Runner[12461:2746201] flutter: [AUTH] Got phone number as: +919033159952
2019-05-23 21:44:18.339046+0530 Runner[12461:2746201] flutter: [AUTH] Returning null from _verifyPhoneNumber
2019-05-23 21:44:18.339143+0530 Runner[12461:2746201] flutter: [AUTH] Returning null from _submitPhoneNumber
2019-05-23 21:44:18.697898+0530 Runner[12461:2747048] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C4.1:2][0x102a9af80] get output frames failed, state 8196
2019-05-23 21:44:18.698041+0530 Runner[12461:2747048] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C4.1:2][0x102a9af80] get output frames failed, state 8196
2019-05-23 21:44:18.698322+0530 Runner[12461:2747048] TIC Read Status [4:0x0]: 1:57
2019-05-23 21:44:18.698339+0530 Runner[12461:2747048] TIC Read Status [4:0x0]: 1:57
2019-05-23 21:44:28.288098+0530 Runner[12461:2747215] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C5.1:2][0x102b7e6d0] get output frames failed, state 8196
2019-05-23 21:44:28.289032+0530 Runner[12461:2747215] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C5.1:2][0x102b7e6d0] get output frames failed, state 8196
2019-05-23 21:44:28.290026+0530 Runner[12461:2747215] TIC Read Status [5:0x0]: 1:57
2019-05-23 21:44:28.290095+0530 Runner[12461:2747215] TIC Read Status [5:0x0]: 1:57
2019-05-23 21:44:28.302218+0530 Runner[12461:2746201] flutter: [AUTH] Verification code sent to number (91) 90331-59952
2019-05-23 21:44:28.302987+0530 Runner[12461:2746201] flutter: [AUTH] Setting _isRefreshing (false) to false
2019-05-23 21:44:28.304595+0530 Runner[12461:2746201] flutter: [AUTH] Changed status to AuthStatus.SMS_AUTH
2019-05-23 21:44:33.137224+0530 Runner[12461:2746098] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitChoco-NumberPad; using 20603_PortraitChoco_iPhone-Simple-Pad_Default
2019-05-23 21:44:35.347946+0530 Runner[12461:2746201] flutter: [AUTH] Setting _isRefreshing (false) to true
2019-05-23 21:44:35.544265+0530 Runner[12461:2746201] flutter: ReactiveRefreshIndicator: called onRefresh
2019-05-23 21:44:35.545462+0530 Runner[12461:2746201] flutter: [AUTH] _linkWithPhoneNumber called
2019-05-23 21:44:35.553008+0530 Runner[12461:2746201] [VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The method 'linkWithCredential' was called on null.
 Seems like a state issue where it couldn't find the widget to set it refreshing.
The error with Tried calling: linkWithCredential(Instance of 'AuthCredential') just means you didn't remove the firebaseUser part, because you're not using google_sign_in anymore. Just change _linkWithPhoneNumber to whatever you want to do after verifying the phone number with the SMS code; you can verify by just adding a print.


flux-sync .gitRepository.spec.ignore multiline support

Describe the bug a clear and concise description of what the bug is.
I'm struggling setting a multiline git ignore configuration like:
gitRepository:
  spec:
    url: repository_url
    ref: {"branch": "branch}"}
    ignore: |
      # exclude all
      /*
      # include deploy dir
      !/cluster-name/fluxcd-applications

This results in:
Error: YAML parse error on flux2-sync/templates/flux-gitrepository.yaml: error converting YAML to JSON: yaml: line 20: could not find expected ':'

What's your helm version?
3.9.4
What's your kubectl version?
v1.24.3
What's the chart version?
1.0.0
What happened?
No response
What you expected to happen?
No response
How to reproduce it?
No response
Enter the changed values of values.yaml?
gitRepository:
spec:
ignore: |
# exclude all
/*
# include deploy dir
!/cluster-name/fluxcd-applications
Enter the command that you execute and failing/misfunctioning.
helm upgrade -n flux-system -f x fluxcd-apps fluxcd-community/flux2-sync
Anything else we need to know?
No response

I guess something like:
ignore: {{ .Values.gitRepository.spec.ignore | toYaml }}

in https://github.com/fluxcd-community/helm-charts/blob/main/charts/flux2-sync/templates/flux-gitrepository.yaml#L32 should fix the problem.

this has nothing to do with ignore, multi-line works file, the ref is wrong.

Even when I set it to:
gitRepository:
  spec:
    url: repository_url
    ref:
      branch:  branch

the error stays the same.

You're right, the bug is here https://github.com/fluxcd-community/helm-charts/blob/main/charts/flux2-sync/templates/flux-gitrepository.yaml#L44
It should be:
  {{- with .Values.gitRepository.spec.include }}
  include: |
    {{ . }}
  {{- end }}

@stefanprodan you referring to include (which is a list of maps). I refer to ignore which should support multiline strings.

Yes, sorry I meant:
  {{- with .Values.gitRepository.spec.include }}
  ignore: |
    {{ . }}
  {{- end }}

Np, any chance to fix it and release in a short term notice?


Adding Silver members

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you added your SVG to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~15 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Build failed because of:
No cached entry, and Granulate Cloud Solutions (member) has issues with logo: granulate-cloud-solutions-ltd.svg, ENOENT: no such file or directory, open '/opt/build/repo/hosted_logos/granulate-cloud-solutions-ltd.svg'
Empty twitter for Banzai Cloud (KCSP): https://twitter.com/banzaicloud
Empty twitter for Rancher Federal (member): https://twitter.com/rancherfederal
No cached entry, and Sosivio (member) has issues with twitter: https://twitter.com/SosivioLtd, 404 - {"errors":[{"code":34,"message":"Sorry, that page does not exist."}]}
No cached entry, and Valve Software (member) has issues with twitter: https://twitter.com/valveoficial, 404 - {"errors":[{"code":34,"message":"Sorry, that page does not exist."}]}
Empty twitter for Standard Library: https://twitter.com/AutocodeHQ
Empty twitter for StackStorm: https://twitter.com/Stack_Storm
Item Granulate Cloud Solutions (member) has no image_data

I tried fixing the placement of Kingsoft certified K8 in this PR, but it created a conflict. I'll fix this with my next PR. Adding Granulate to Silver passed the checks.
LGTM


Release

Use index.mjs for entry and remove autoloading material icons https://github.com/silinternational/ui-components/pull/129

:tada: This PR is included in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


can TP + zero3 train LLM ? how to do this ?

how to train a pretrained model by TP + zero3 ? thanx

ZeRO3 implements a data parallel scheme, not a tensor parallel scheme. For tensor parallel you would have to make modifications to the model code yourself.


Search result tabbing in mobile view - tab focus gets lost after the final search result

Steps to re-create

Make sure you have mobile view.

Click the grey banner Table of contents

Enter a search term.

Tab through the results.

When you reach the final result and press tab, it should go to the browsers URL window.

However, the tab focus goes to the close TOC button - which is hidden behind then current DIV.
So to the user it looks like the tab focus is lost.

If you press tab again - then it does go to the browser URL.

Raised the following PR to fix this: https://github.com/alphagov/tech-docs-gem/pull/224

This has been released - closing issue.


convert subbed sides to numbers before dividing

Closes #592

@whoburg, implemented the changes mentioned above, ready for review.

retest this please

#608 says this fixes it, but this does not appear to fix #608 as described in that issue

It does now! added a test too.


setForcedUpgrade will cause the database to leak?

When i read the logcat, everytime when I upgrade my database using setForcedUpgrade, logcat will output error telling the database might be leaking or transaction is not ended.
W/SQLiteConnectionPool﹕ A SQLiteConnection object for database '/data/data/com.perksense.and/databases/perksense.db' was leaked!  Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.

look416, you should write in close() method of this library the following code, it will help you to understand, when database is not closed:
    public synchronized void close() {
        if (isInitializing)
            throw new IllegalStateException("Closed during initialization");
        if (database != null && database.isOpen()) {
            database.close();
            database = null;
            Log.i(TAG, "database " + databaseName + " is closed");
        }
        super.close();
    }

Also I noticed some problem and wrote to https://github.com/jgilfelt/android-sqlite-asset-helper/issues/62, see there.

Is this fix available in the latest gradle release? or should I pull from any other branch. I see this message in my logcat.


CheckFeatureSupport on d3d12 requests DXGI_FORMAT_UNKNOWN instead of R8G8B8A8_UNORM

Tested versions
current master
System information
Current master, Linux, Proton
Issue description
On vkd3d-proton when running the engine with the d3d12 renderer it seems to request DXGI_FORMAT_UNKNOWN, when in fact it wants to request R8G8B8A8_UNORM. I am not familiar with d3d12 but the issue is supposedly here:

"https://github.com/godotengine/godot/blob/master/drivers/d3d12/rendering_device_driver_d3d12.cpp#L1592 it fails here, because dsv_support.Format is DXGI_FORMAT_UNKNOWN when querying for format R8G8B8A8_Unorm"

(shoutouts to @pixelcluster for the info)
Steps to reproduce
Run the engine on vkd3d-proton with dx12 support enabled
Minimal reproduction project (MRP)
Reproducible in the project manager

cc @RandomShaper

Maybe it comes from this line https://github.com/godotengine/godot/blob/c6316bff65c92d4a9a4b06ca801082d431b35b37/drivers/d3d12/d3d12_context.cpp#L794
The swapchain is initialized to DXGI_FORMAT_R8G8B8A8_UNORM above:
https://github.com/godotengine/godot/blob/c6316bff65c92d4a9a4b06ca801082d431b35b37/drivers/d3d12/d3d12_context.cpp#L769

I haven't been able to find the relevant code in vkd3d-proton, but, working with the hypothesis it disallows checking for a null format, I've made #87570.

vkd3d-proton erroring out when getting a CheckFeatureSupport with DXGI_FORMAT_UNKNOWN is one thing, that is going to be fixed on the vkd3d-proton side already.
My original point was that it seemed like the format shouldn't be DXGI_FORMAT_UNKNOWN in the first place (because texture_get_usages_supported_by_format was called with DATA_FORMAT_R8G8B8A8_UNORM, at least if I read the logs correctly.)

vkd3d-proton erroring out when getting a CheckFeatureSupport with DXGI_FORMAT_UNKNOWN is one thing, that is going to be fixed on the vkd3d-proton side already.

🆗

My original point was that it seemed like the format shouldn't be DXGI_FORMAT_UNKNOWN in the first place (because texture_get_usages_supported_by_format was called with DATA_FORMAT_R8G8B8A8_UNORM, at least if I read the logs correctly.)

The problem is that the function maps a Godot RenderingDevice format to two DX formats: one for general usage and one for depth-stencil, and queries feature support for both. The call that fails is the second one, when it has mapped the format to its depth-stencil counterpart, which, for a regular format, turns out to be DXGI_FORMAT_UNKNOWN.


Issue 593: fix connection refused error in http1 over tcp tests

Codecov Report

Merging #620 (0da7845) into main (7602cd7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #620   +/-   ##
=======================================
  Coverage   25.94%   25.94%
=======================================
  Files         129      129
  Lines       31175    31175
  Branches     4976     4976
=======================================
  Hits         8089     8089
  Misses      22028    22028
  Partials     1058     1058

Flag
Coverage Δ

unittests
25.94% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


Update to use core-graphics 0.5

This change is

@bors-servo: r+

:pushpin: Commit da156f7 has been approved by jdm

:hourglass: Testing commit da156f7 with merge 986903f...

:sunny: Test successful - status-travis

Published!


error: can't find config file: .jshintrc

[16:16:46] Using gulpfile ~/GitHub/LandingPage/Gulpfile.js
[16:16:46] Starting 'clean'...
[16:16:46] Finished 'clean' after 5.63 ms
[16:16:46] Starting 'default'...
[16:16:46] Starting 'styles'...
[16:16:46] Starting 'scripts'...
ERROR: Can't find config file: .jshintrc

nvm it didn't copy over correctly


Crash: Back key (ESC) vs word-based input

VimTouch crashes when pressing the back key, which is supposed to send ESC, when using word-based input method. This happens on a Nexus 5 (Android 4.4), it also happened on a Nexus S (Android 4.1).

Seems this is not fixed till now on my android 7.x


Elliptic integrals and other changes to facilitate mirror modeling with fluid solver

Branch includes a number of changes to facilitate mirror modeling with the multi-fluid solver, specifically CMFX, including:

Addition of elliptic integral functions in C, to allow for the initialization of A_phi of a current loop using Jackson 3rd ed. eq. (3.37)
An ability to slowly turn on the E field and applied currents which appear in the source terms of fluid equations via a linear ramp, so that all the external quantities can still be computed once (since projecting the external fields is 100x more expensive than a timestep of the fluid solver)
An improved Lax flux for isothermal Euler and 10 moment based on the revamped, two-wave, Lax flux in wv_euler

@JunoRavin did you code the elliptic integrals yourself? If not, can you add comments in the code detailing what author/website they came from please?


Update to JSON Schema Draft 07, new jsonschema2md version

I've updated jsonschema2md to include support for draft 07 (it still has support for draft-06, but you need the -v 06 flag) and it might make sense to update XDM to the latest schema version (and update the tooling as well)

@trieloff is there anything in draft-7 that is necessary?  This is actually a very fundamental change, and will have a lot of impact on our requirements and testing around XDM validation.

According to the change logs linked in http://json-schema.org/specification-links.html#draft-7 there are no functional changes in draft 07, just a clarification of language. It might still make sense to upgrade, as most of the underlying tooling will upgrade sooner or later.


chore: upgrade to Node 16

SUMMARY
With Node 16 being the currently recommended version since 2021-04-20 and becoming the LTS supported version on 2021-10-26, it makes sense to migrate to this version to get all the benefits available in the new release:
https://medium.com/the-node-js-collection/node-js-16-available-now-7f5099a97e70
Also removes the workaround for pulling in npm@7 in #16748 (npm 7 ships by default with Node 16)
This PR also fixes some tests that were previously passing but contained unhandled promise rejections. Previously these only emitted warnings, but as of Node 15 these caused errors.
TESTING INSTRUCTIONS

Make sure the application works as expected - done (running on the new build):

Make sure CI is reporting the correct versions - done:

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up FEATURE_DASHBOARD_NATIVE_FILTERS=true FEATURE_DASHBOARD_CROSS_FILTERS=true FEATURE_DASHBOARD_NATIVE_FILTERS_SET=true FEATURE_DASHBOARD_FILTERS_EXPERIMENTAL=true


Button: Mat-Menu

Button: Mat-Menu
This button lives within Angular Material Menus and has custom state styles. It contains Material Design icons and nested instances. The mat-menu button and mat-menus will be a common pattern in information dense interfaces. New iterations of the FTU Explorer and CDE rely on this component.
Figma

Design System Components: Button: Mat-Menu
Design System Repo: Button: Mat-Menu

Superseded by #781


Status of this repo/gem

What is the status of this repo/gem? Is it still being maintained? Should it be transferred to someone else's fork?

Hi,
Unfortunately I'm not maintaining this repo anymore. I'd gladly let someone else take over but I don't have the rights to do so, you'll need to ask @josevalim directly.

@Intrepidd - Thanks for responding

@Intrepidd is it ok if I transfer the repo to you? Or maybe we should archive the repo?

I'd be ok to have it transfered to me ! I'll also need full rights on rubygems so I can add other maintainers

It is saying "Intrepidd/rails-footnotes already exists". Is it possible for you to delete that fork?

Done !

@Intrepidd done, thank you for maintaining the repo all of this time, sorry that I didn't transfer it sooner! :heart:

Thanks for transferring it guys.
And @josevalim, even after you have passed this gem on, you remain super responsive. (for this and other gems). Thank you for that

FYI: Can not use this version of the gem without PR #157

Appears this ticket is not going to be worked so I'm going to close it and use the other person's versions of this gem.

@jasnow could you share a link to the repo that you will use. so future people who find this issue may gain that knowledge? thnx

https://github.com/I-de-ya/rails-footnotes


Localization

added de.json file fully translated

Vielen Dank! 👍
I will make sure its in the next update.

@mattexpa
On second thoughts: your translation file seems completely scrambled, it doesn't have the same structure as the translations.
Please compare:
https://github.com/nielsfaber/alarmo/blob/main/custom_components/alarmo/frontend/localize/languages/en.json
with
https://github.com/nielsfaber/alarmo/blob/main/custom_components/alarmo/frontend/localize/languages/de.json
Seems like all JSON entries are alphabetized, from line 29 it is too much mixed up to recognize.
I cannot maintain the file this way since I cannot compare across files for missing entries.
I don't know how to correct this myself.
Could you make a new PR with the translation file in the correct structure?
You can commit to main branch.
Thanks!


Fix Package.swift

These changes were enough to allow me to use MetaSerialization as a dependency in another package.

Thanks for contributing this! I'd prefer to have the tests working again instead of bypassing their failure. I haven't developed in Swift for a while now, but I'll see if I find time in the coming weeks to properly fix the package.

That's fair.  I could split the basic get-the-library-package-working bit from the include-the-tests bit if that'd be useful to merge separately.
In terms of the tests themselves, I did look into them a bit and it seemed like they were intentionally testing code paths that have assertionFailure() calls in them—testing (MetaSerialization-consumer) programmer error edge cases.  Unless the tests were being run with the library built in some way that disabled or optimized-out the assertionFailure() calls, I don't see how they could have passed, but I haven't been able to get Carthage to cooperate enough to try running the tests in the provided Xcode project with the 2.2.0 tagged commit.
If the tests are written as intended and the code is functioning as intended, then one way to make the tests pass would be to use XCTRuntimeAssertions or something like it to make the assertionFailure() calls testable rather than crashing in test runs—I'd be happy to make that change if that'd be useful.

Ah ok 😅 I might have done some weird stuff back then when I wrote this code, but I don’t recall at the moment. I this case, I think the fix you submitted is good and I will merge :)


Parametrize navigate unavailable

https://github.com/endlessm/kolibri-explore-plugin/issues/570

The last two commits here are not working, because template-ui cannot find plugin_data (which I understand why, but don't know the best approach to fix -- and maybe we actually won't need plugin_data there)

The last two commits here are not working, because template-ui cannot find plugin_data (which I understand why, but don't know the best approach to fix -- and maybe we actually won't need plugin_data there)

I have fixed that now simply by initializing the switch state to true instead of using the value from the configuration switch. The next steps here I think are adjusting setEkChannelInfo to not use plugin_data.navigateUnavailable and have the callers pass that as a parameter, based on the switch state in their views.
Also, at some point I think we want to make all switches share the same state, which is not the case in they way this draft is coming along so far.

What this PR was trying to do has been achieved through different PRs. This isn't needed anymore.