Issue about ESP32-S3  I2S  TDM16  (IDFGH-8148)

Answers checklist.

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

General issue report
Environment
Development Kit: ESP32-S3-DevKitC-1
Kit version : v1
IDF version : v4.4
Build System: idf.py
Compiler version : (crosstool-NG esp-2022r1-RC1) 11.2.0
Operating System: Windows 10
Using an IDE?: NO
Power Supply: USB
Problem Description
If I2S is configured as TDM8 Master ,  WS is correctly. But if  I2S is configured as TDM9 to TDM16 Master ,  WS is not correctly.
Expected Behavior
if  I2S is configured as TDM16 Master ,  the sample rate is configure 8000 Hz, WS output 8000 Hz.
if  I2S is configured as TDM10 Master ,  the sample rate is configure 8000 Hz, WS output 8000 Hz.
Actual Behavior
if  I2S is configured as TDM16 Master ,  the sample rate is configure 8000 Hz, WS output 16000 Hz.
if  I2S is configured as TDM10 Master ,  the sample rate is configure 8000 Hz, WS output 48000 Hz.
Source code:
#include <stdint.h>
#include <string.h>
#include <sys/time.h>
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "tinyusb.h"
#include "tusb_cdc_acm.h"
#include "sdkconfig.h"
#include "driver/i2c.h"
#include "driver/i2s.h"
#include "esp_task_wdt.h"
#include "esp_system.h"
#include "esp_check.h"
#define APP_VERSION     "0.11"
#define TWDT_TIMEOUT_S          30  // task watchdog time
// TDM0
// GPIO11: TDM0_RX_MCLK
// GPIO12: TDM0_RX_BCLK
// GPIO13: TDM0_RX_LRCK
// GPIO14: TDM0_RX_DI
// GPIO17: TDM0_RX_IN
/* I2S port and GPIOs */
#define I2S_NUM         (0)
#define I2S_MCK_IO      (GPIO_NUM_11)
#define I2S_BCK_IO      (GPIO_NUM_12)
#define I2S_WS_IO       (GPIO_NUM_13)
//#define I2S_DO_IO       (GPIO_NUM_14)
#define I2S_DI_IO       (GPIO_NUM_14)
/* Example configurations */
#define I2S_RECV_BUF_SIZE   (4000) // 4096
static const char *TAG = "GX I2S:";
static const char err_reason[][30] = {"input param is invalid",
"operation timeout"
};
static uint8_t buf[CONFIG_TINYUSB_CDC_RX_BUFSIZE + 1];
// I2S0 register address: 0x6000_F000 - 0x6000_FFFF
i2s_config_t i2s_config = {
.mode = I2S_MODE_MASTER | I2S_MODE_RX,
.sample_rate = 8000,
.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
.channel_format = I2S_CHANNEL_FMT_MULTIPLE,
.communication_format = I2S_COMM_FORMAT_STAND_PCM_SHORT,
.tx_desc_auto_clear = false,
.use_apll = true,
.fixed_mclk = 4096000,  //12288000,
.mclk_multiple = 256,
.dma_buf_count = 64,
.dma_buf_len = 32,  // 16
.total_chan = 16, //10, //16, //  8
.chan_mask = I2S_TDM_ACTIVE_CH0 | I2S_TDM_ACTIVE_CH1 | I2S_TDM_ACTIVE_CH2 | I2S_TDM_ACTIVE_CH3 | I2S_TDM_ACTIVE_CH4 | I2S_TDM_ACTIVE_CH5 | I2S_TDM_ACTIVE_CH6 | I2S_TDM_ACTIVE_CH7 | I2S_TDM_ACTIVE_CH8 | I2S_TDM_ACTIVE_CH9 | I2S_TDM_ACTIVE_CH10 | I2S_TDM_ACTIVE_CH11 | I2S_TDM_ACTIVE_CH12 | I2S_TDM_ACTIVE_CH13 | I2S_TDM_ACTIVE_CH14 | I2S_TDM_ACTIVE_CH15
//.total_chan = 10, //9, //  8
//.chan_mask = I2S_TDM_ACTIVE_CH0 | I2S_TDM_ACTIVE_CH1 | I2S_TDM_ACTIVE_CH2 | I2S_TDM_ACTIVE_CH3 | I2S_TDM_ACTIVE_CH4 | I2S_TDM_ACTIVE_CH5 | I2S_TDM_ACTIVE_CH6 | I2S_TDM_ACTIVE_CH7 | I2S_TDM_ACTIVE_CH8 | I2S_TDM_ACTIVE_CH9
};
#if 1
static const i2s_pin_config_t pin_config = {
.mck_io_num = I2S_MCK_IO,
.bck_io_num = I2S_BCK_IO,
.ws_io_num = I2S_WS_IO,
.data_out_num = I2S_PIN_NO_CHANGE,
.data_in_num = I2S_DI_IO
};
#endif
int16_t *mic_data;
void tinyusb_cdc_rx_callback(int itf, cdcacm_event_t event)
{
/ initialization */
size_t rx_size = 0;
/* read */
esp_err_t ret = tinyusb_cdcacm_read(itf, buf, CONFIG_TINYUSB_CDC_RX_BUFSIZE, &rx_size);
if (ret == ESP_OK) {
    buf[rx_size] = '\0';
} else {
    //ESP_LOGE(TAG, "Read error");
}

/* write back */
//tinyusb_cdcacm_write_queue(itf, buf, rx_size);
//tinyusb_cdcacm_write_flush(itf, 0);

}
void tinyusb_cdc_line_state_changed_callback(int itf, cdcacm_event_t *event)
{
int dtr = event->line_state_changed_data.dtr;
int rts = event->line_state_changed_data.rts;
ESP_LOGI(TAG, "Line state changed! dtr:%d, rts:%d", dtr, rts);
}
void app_main(void)
{
int i;
size_t bytes_read = 0;
esp_err_t ret;
uint32_t ret_num = 0;
struct timeval tv_now;
int64_t time_us, time_us1;
time_t time1, time2, time3;
uint32_t send_pkg_cnt = 0;
gettimeofday(&tv_now, NULL);
time_us = (int64_t)tv_now.tv_sec * 1000000L + (int64_t)tv_now.tv_usec;

printf("Delay for 100 milliseconds\n");
vTaskDelay(pdMS_TO_TICKS(100));   //Delay for 100 ms

ESP_ERROR_CHECK(i2s_driver_install(I2S_NUM, &i2s_config, 0, NULL));   //install and start i2s driver
ESP_LOGI(TAG, "i2s_driver_install successfully");
ESP_ERROR_CHECK(i2s_set_pin(I2S_NUM, &pin_config));
ESP_LOGI(TAG, "i2s_set_pin successfully");

#if 1
ESP_LOGI(TAG, "USB initialization");
tinyusb_config_t tusb_cfg = {}; // the configuration using default values
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));
tinyusb_config_cdcacm_t amc_cfg = {
    .usb_dev = TINYUSB_USBDEV_0,
    .cdc_port = TINYUSB_CDC_ACM_0,
    .rx_unread_buf_sz = 64, //CONFIG_TINYUSB_CDC_RX_BUFSIZE, // 64
    .callback_rx = &tinyusb_cdc_rx_callback, // the first way to register a callback
    .callback_rx_wanted_char = NULL,
    .callback_line_state_changed = NULL,
    .callback_line_coding_changed = NULL
};

ESP_ERROR_CHECK(tusb_cdc_acm_init(&amc_cfg));
/* the second way to register a callback */
ESP_ERROR_CHECK(tinyusb_cdcacm_register_callback(
                    TINYUSB_CDC_ACM_0,
                    CDC_EVENT_LINE_STATE_CHANGED,
                    &tinyusb_cdc_line_state_changed_callback));
ESP_LOGI(TAG, "USB initialization DONE");

#endif
unsigned int cnt = 0;
mic_data = malloc(I2S_RECV_BUF_SIZE);
if (!mic_data) {
    ESP_LOGE(TAG, "[i2s_to_usb] No memory for read data buffer");
    abort();
}
ret = ESP_OK;
ESP_LOGI(TAG, "Running ......");
time(&time1);
time3 = time1;
while(1) {
    ret = i2s_read(I2S_NUM, &mic_data[0], I2S_RECV_BUF_SIZE, &bytes_read, 100);
    if (ret != ESP_OK) {
        ESP_LOGE(TAG, "[i2s_to_usb] i2s read failed, %s", err_reason[ret == ESP_ERR_TIMEOUT]);
        abort();
    }
    if(bytes_read != I2S_RECV_BUF_SIZE) {
        printf("%s\n", "bytes_read != I2S_RECV_BUF_SIZE");
    }
    else {
        send_pkg_cnt ++;
    }

    tinyusb_cdcacm_write_queue(TINYUSB_CDC_ACM_0, (uint8_t *)mic_data, bytes_read);
    esp_err_t retU1;
    retU1 = tinyusb_cdcacm_write_flush(TINYUSB_CDC_ACM_0, 0);
    //if(retU1 != ESP_OK) {
    //    printf("retU1 = %d\n", retU1);
    //}

    time(&time2);
    if(time2 - time1 >= 10) {
        time1 = time2;
        ESP_LOGI(TAG, "Running ......");
    }
}

}

I see you set bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT , so I'd like to double check if you've read the first section of TDM mode on master. When the slots are more than 8, I2S can only support 8 bit-width data due to the hardware limitation. FYI, there is also a similar issue.
Secondly, not recommend to setting a fixed_mclk, just keep it 0 unless you know what the relationship between mclk and sample rate, the driver will help you to calculate an appropriate mclk automatically in the most cases.
Finally, the support of TDM is weak on v4.4, suggest to use v5.0 which has a better support and detailed documents for all the modes.
Hope these information can help.

I see you set bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT , so I'd like to double check if you've read the first section of TDM mode on master. When the slots are more than 8, I2S can only support 8 bit-width data due to the hardware limitation. FYI, there is also a similar issue.
Secondly, not recommend to setting a fixed_mclk, just keep it 0 unless you know what the relationship between mclk and sample rate, the driver will help you to calculate an appropriate mclk automatically in the most cases. Otherwise the fixed_mclk might lead the incorrect sample rate (i.e. WS frequency).
Finally, the support of TDM is weak on v4.4, suggest to use v5.0 which has a better support and detailed documents for all the modes.
Hope these information can help.

Thank you very much!


Setup Java development environment and create guide

Setup your Java development environment and write a wiki page for it within this repository.
What tools do we need?

OS: Windows, Linux or MacOs
Container: Docker
IDE: Visual Studio code

What it's expected after your setup?

That you can run the project from the IDE
That you can change the code and compile it

Note: Do not install a local JDK, we will use dev-containers for everything

Done 👍


NoSuchMethodError: 'double kotlin.time.TimeMark.elapsedNow()'

From a clean checkout:
./gradlew clean
./gradlew test

Results in the stack trace identified here
https://github.com/kotest/kotest/issues/1600

I've verified that upgrading Kotlin and Kotest fix the issue. I'll put up a PR.


Mocap type ：NOKOV, Unknown motion capture type

Hello, thank you for your time.
I followed the motion_capture_tracking/deps/libmotioncapture/README.md, and i can succed to run python.py in the folder named examples to get the mocap data.
After that ,i colcon build the mocap tracking package.
But I modified the cfg.yaml in motion_capture_tracking/config like below:
/motion_capture_tracking:
ros__parameters:
# one of "optitrack", "optitrack_closed_source", "vicon", "qualisys", "nokov", "vrpn", "motionanalysis"
type: "nokov"
# Specify the hostname or IP of the computer running the motion capture software
hostname: "<IP_ADDRESS>"
# Use "motionCapture" to disable custom rigid body tracking (to rely on the vendor's software)
# Use "libRigidBodyTracker" for custom frame-by-frame tracking, in which you need to define
#                           marker_configurations, dynamics_configurations, and rigid_bodies below.
mode: "motionCapture"

Then, i ran launch.py and got unknown motion capture type:
[INFO] [launch]: All log files can be found below /home/omika/.ros/log/2024-01-10-21-20-33-665293-omika-OMEN-by-HP-Laptop-15-dc1xxx-91842
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [motion_capture_tracking_node-1]: process started with pid [91844]
[INFO] [rviz2-2]: process started with pid [91846]
[motion_capture_tracking_node-1] logClouds=0
[motion_capture_tracking_node-1] terminate called after throwing an instance of 'std::runtime_error'
[motion_capture_tracking_node-1]   what():  Unknown motion capture type!
[ERROR] [motion_capture_tracking_node-1]: process has died [pid 91844, exit code -6, cmd '/home/omika/ros2_ws_crazyswarm2/install/motion_capture_tracking/lib/motion_capture_tracking/motion_capture_tracking_node --ros-args -r __node:=motion_capture_tracking --params-file /home/omika/ros2_ws_crazyswarm2/install/motion_capture_tracking/share/motion_capture_tracking/config/cfg.yaml'].
[rviz2-2] [INFO] [1704892834.436109196] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-2] [INFO] [1704892834.436216902] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-2] [INFO] [1704892834.477423896] [rviz2]: Stereo is NOT SUPPORTED
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[rviz2-2] [INFO] [1704892836.868855744] [rclcpp]: signal_handler(signal_value=2)
[rviz2-2] QFileSystemWatcher::removePaths: list is empty
[rviz2-2] QFileSystemWatcher::removePaths: list is empty
[INFO] [rviz2-2]: process has finished cleanly [pid 91846]
please help me find the problem.

NOKOV does not have a public SDK. You need to manually add the SDK, see https://github.com/IMRCLab/libmotioncapture/tree/5e892e8a3402d1753a02c384738d6dd2c94c8417#compile-options for a description.

i have added the SDK ,and run the example, but i failed to run the mocap tracking launch.py because of unkown mocap type.

Did you enable it in the compiler settings? (see https://github.com/IMRCLab/libmotioncapture/blob/5e892e8a3402d1753a02c384738d6dd2c94c8417/CMakeLists.txt#L10). Please report back here once it works with the steps taken, so I can update the readme in this repository to make the steps explicit and easier to find.

yes,i have enabled it in the CMakelists.txt

Did you colcon build after changing and did the build actually succeed?

The build succeeded (what you get are warnings). If you can provide me with the SDK (contact info at https://github.com/IMRCLab/motion_capture_tracking/blob/ros2/motion_capture_tracking/package.xml#L7), I can take a look. The code was contributed by a third party, so I have not tried it myself.

nokov_sdk_2.5.2875.zip
this is the nokov sdk.Please take a look.

I tried it and added some documentation at https://github.com/IMRCLab/motion_capture_tracking#nokov-vendor-specific-instructions. Make sure you pull beforehand, since I also changed one of the build files. I verified that after the change I can use "nokov" and that I get a reasonable error ("Error connecting XINGYING on address: ... Code:1"), given that I do not have a NOKOV Mocap to test with.

Thanks, I did the same thing like you. Pull the SDK into deps files , modify the CMakeLists.txt and run colcon build. What change did you do in the build files?

https://github.com/IMRCLab/motion_capture_tracking/commit/1237e824efd00a5347e90059c3dfe4b090d0a44a
I changed a different CMakeLists.txt

Thanks, after I changed the file, I can connect with nokov.


Workspace ONE Re-Enrollment wont connect to environment

Hey, I have tried to run the Re-enroll script and get an error that connection failed. Exiting script.
I have verified that the username and password are correct.
Thanks for any help

I just ran into this today and have put a pull request in https://github.com/vmware-samples/euc-samples/pull/253 which may solve your issue.
@MarcHayes71 can you edit the WS1-ReEnroll.ps1 file and on line 842 add -TcpPort 80 after $server (should look like $server -TcpPort 80 -Quiet) and report back if that solves your issue?
It would also help to have the EXACT error (you should remove any sensitive information in the error message).


Download progress is lost with streamlink 1.0.0 (worked with 0.14.2)

Waiting for https://github.com/streamlink/streamlink/issues/2353 to be merged.
Was likely broken in https://github.com/streamlink/streamlink/issues/1770.

They rejected that feature request. Would you be open to going back to building streamlink from source, but from a custom fork with that feature request implemented?

No problem, PRs are welcome.

Thanks! Merging.


changed basis from char to enum

This is the test result. Shows successfully passed all test cases. This PR is regarding Issue #476
`[----------] Global test environment tear-down
[==========] 183 tests from 31 test suites ran. (969 ms total)
[  PASSED  ] 183 tests.
make[1]: Leaving directory '/workspaces/quisp/quisp'`

This change is

Declaring using backends::abstract::Basis on top of the .cc file is done and $ make format command is executed. But I'm getting errors in simulation test. As we discussed in slack i'm going through the simulation
Thank you


LWIP driver fails to recover afer sendto() returns ENOMEM (IDFGH-13101)

Answers checklist.

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

IDF version.
2.9.1 Build id: 20230406-1540
Espressif SoC revision.
ESP32-PICO-V3-02
Operating System used.
Windows
How did you build your project?
Other (please specify in More Information)
If you are using Windows, please specify command line type.
None
Development Kit.
Espressif-IDE
Power Supply used.
USB
What is the expected behavior?
Hello. I am using Espressif-IDE Version: 2.9.1 Build id: 20230406-1540.
SoC: ESP32-PICO-V3-02
The application is written entirely in C.
My development platform is Windows.
The LWIP driver and specifically sendto()), after issuing 'ENOMEM',
should become available to send UDP packets and not return
'ENOMEM' after having been yielded adequate processor time slice
to process buffered pbufs.
What is the actual behavior?
Hello. I am using Espressif-IDE Version: 2.9.1 Build id: 20230406-1540.
SoC: ESP32-PICO-V3-02
The application is written entirely in C.
My development platform is Windows.
The application is in a high stage of completion except for two issues,
one surrounding the I2C driver causing the occasional kernel panic on
soft reboot, and the other more pressing issue surrounding
the LWIP stack, specifically pbuf_alloc() running out of memory.
All application tasks are threaded with xTaskCreatePinnedToCore()
and have priority 19 and execute synchronously and symmetrical.
The application consistently sends ~10,800 UDP packets at a rate of
precisely 10 pkt/s for 256 Byte/pkt, whence sendto() eventually returns
errno 12 'ENOMEM' aforewhich no recovery of which I am aware, is
possible. Subsequently, not sending packets for > 20s afterwards
does not remedy the situation and I am currently compelled to issue a
soft reboot which will not suffice for a successful product deployment.
This same issue was addeessed in Nov, 2019 re:
Network "out of memory" error (IDFGH-2154) #4309
https://github.com/espressif/esp-idf/issues/4309
I have read through the arguments but it appears that the problem
still exists in at lease the current ESP-IDF version of FreeRTOS.

How do I mitigate this situation without having to reboot the system?
How do I obtain the dynamic size of the pbuf linked list?  Perhaps
preventing this anomylous situation to occur in the first place from
within application code is an option.

Steps to reproduce.

sendto() ~10,800 packets of size 256 bytes
Wait for sendto() to return ENOMEM
Yield for several seconds.
Attempt sendto() consistently yields ENOMEM
...

Debug Logs.
No response
More Information.
No response

On further testing, it has been determined that LWIP uptime of 18 minutes appears to be a limiting condition. On increasing UDP packet rate from 10 pkt/s to 12.5 pkt/s and 14.3 pkt/s, a linear increase in the number of packets successfully transmitted was observed until LWIP sendto() failure with ENOMEM, occurred at the same 18 minute mark.

I have resolved the issue. FreeRTOS is NOT the source of the leak. I incurred a memory leak with an inadvertent use of malloc where my realloc method should have been used, as:
int allocate_int_buffer(int** buffer, int length)
{
int* p;
if (buffer == NULL) {
printf("allocate_int_buffer() buffer NULL error\n");
return -1;
}
if (buffer == NULL) {	// call to unitialized allocate_int_buffer() method
if ( (buffer = (int)malloc(lengthsizeof(int))) )  {
//printf("allocate_int_buffer() malloc new buffer size: %d\n",lengthsizeof(int));
;
} else {
printf("allocate_int_buffer() buffer malloc error\n");
return -1;
}
} else {
if ( (buffer = (int)realloc(p = buffer, lengthsizeof(int))) ) {
//printf("allocate_int_buffer() realloc pre-existing buffer size: %d\n",lengthsizeof(int));
;
} else {
free(p);
printf("allocate_int_buffer() buffer realloc error\n");
return -1;
}
}
//printf("Pointer char* n: %lu\n", (uint32_t)n);
memset(buffer,0,lengthsizeof(int));	// zero heap array
return 0;
}

Be careful when you use malloc. Inadvertent independent use of malloc within recursive re-entrant methods without realloc, such as within my problematic method, can be a source of much consternation, ado and time wastage.


Blog app - Add forms

In this project I added forms to my Blog app.

On home page I added the add posts what is conected with form.
I used current_user (user_id 1) what is I created in aplication_controller.rb.
On posts I implemented buttons for adding comments and likes.

I will complain. Show me please, where you found that in the requirements.
Form for post. Is not smart making likes in ruby you can not find in
controler becouse in js and will be in browser not server. Ther is no
requirements for comments form. It is first time in my lige I here for form
for comments.
On Thu, 18 May 2023, 22:05 Tadesse Dubale, @.***> wrote:

@.**** requested changes on this pull request.
Hi @djo1975 https://github.com/djo1975 I'm Tadesse Alemayehu your
reviewer for this PR. ✋
Good job so far!
There are some issues that you still need to work on to go to the next
project but you are almost there!
[image: 212094426-b41dd457-c9db-4ab3-bbe9-176dd8dd08b7]
https://user-images.githubusercontent.com/69077061/212385281-4797c58a-d358-423a-aa7c-832c22203865.gif
Highlights

Correct GitFlow ✅
Good commit history ✅
Good PR title/description ✅
All linters passed ✅

Required Changes ♻
Check the comments under the review.
Optional suggestions

N/A

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, remember to tag me in your question so I can receive the
notification.
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
In app/views/posts/show.html.erb
https://github.com/djo1975/Bloger/pull/8#discussion_r1198250995:

+

<%= form_with url: user_post_comments_path(user_id: @user.id, post_id: @post.id), local: true do |form| %>
<%= form.text_field :text, name: 'comment[text]' %>
<%= hidden_field_tag :authenticity_token, form_authenticity_token %>
<%= form.submit "Add Comment" %>

Dear @djo1975 https://github.com/djo1975, Please notice we are not
having a view file in views/comments/new.html.erb for the create
comment form. Please remember according to rails convention, every
controller should have a relative view template in aview folder.
Please create a form in the views/comments/new.html.erb file which
accepts input for creating comments.

In app/controllers/posts_controller.rb
https://github.com/djo1975/Bloger/pull/8#discussion_r1198252652:

def like

@post = Post.find(params[:id])
Like.create(post: @post, author: current_user)

respond_to(&:js)

Great job @djo1975 https://github.com/djo1975, You did well adding
the create method inside the CommentsController. But I could not found
your controller for the LikesController, Please create a controller
for the LikesController class and update your routes accordingly.
Please be reminded the likes controller should have a create action.

—
Reply to this email directly, view it on GitHub
https://github.com/djo1975/Bloger/pull/8#pullrequestreview-1433354909,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A33IBUOSVVYM5GZLHA5ZZWDXGZ6HFANCNFSM6AAAAAAYG3A35U
.
You are receiving this because you were mentioned.Message ID:
@.***>

Dear @djo1975, I know sometimes we live one way better than the other. Im following the requirement alongside my suggestion here. for the first required changes, here is the requirement....

for the second required change, here is the requirement

I have seen you wrote clean code and the functionalities work fine. I'm confident you will be able to make the changes.

Of course, I will be able to do as you say, but the instructions are still on your side, not on mine. On my side, it is as follows:
Allow Users to add likes to Posts.
Create a comment on behalf of the current_user (use the method that you created in your ApplicationController).
I have fulfilled both. On my side, it does not state that I should create a new page for the comment form or that I have to create a controller and page for likes, which is not the best practice.

Please don't misunderstand me. I'm not blaming you; you have your instructions. But why don't we have the same instructions on our side?

Hello @djo1975  👋,
This is an additional review as a result of the second opinion request.
I can see that your project has been approved. Good luck on your upcoming projects 🚢
Keep rocking 🚀!

Thank you for your support!
On Fri, 19 May 2023, 17:10 Amine Smahi, @.***> wrote:

Hello @djo1975 https://github.com/djo1975 👋,
This is an additional review as a result of the second opinion request.
I can see that your project has been approved. Good luck on your upcoming
projects 🚢
Keep rocking 🚀!
—
Reply to this email directly, view it on GitHub
https://github.com/djo1975/Bloger/pull/8#issuecomment-1554734040, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A33IBUNQWRUTLRKODFINVVLXG6EO7ANCNFSM6AAAAAAYG3A35U
.
You are receiving this because you were mentioned.Message ID:
@.***>


Replace metarhia-jstp serde usages with mdsf

Refs: https://github.com/metarhia/mdsf/issues/11

@tshemsedinov Also, while looking for other usages, I've found this note https://github.com/metarhia/globalstorage#javascript-query-languaged I don't think it's correct (AFAIK we both don't use JSQL and it is not implemented in JSTP) should we remove that note?

@lundibundi I think it should be done in a separate PR.

@belochub yeah, I just brought it up here to get others' opinion.


Revert "Patch for Seq2Seq Model predictions"

Reverts EleutherAI/lm-evaluation-harness#1584

@lintangsutawika could you merge this when possible?

As a suggestion (if this is primarily caused by https://github.com/EleutherAI/lm-evaluation-harness/issues/1600):
move the affected code to HFLM, where it works successfully), while adding some checks (maybe even as attributes to TemplateLM) with issubclass and hasattr.
Because after the original patch, some tasks with T5-like models finally started working correctly. It would be unfortunate to lose this progress.

Yes, this patch will be reapplied after this. I intend to look into adding vllm unit tests as well.


Add AMP

Fixes #1146
Changes:

[x] Add AMP template.
[x] Add ampRender.
[x] Prepare content for AMP (replace images, remove head, select content inside body).
[x] Link pages using canonical URLs.
[x] Pass images to schema.
[x] Extract renderers.
[x] Extract handlers.

I'm not able to see preview on this post for example: https://busy-master-pr-1205.herokuapp.com/steemit/@aggroed/steem-works-a-funding-mechanism-for-a-worker-proposal-system/amp . I'm testing using this https://search.google.com/test/amp?view=search-preview&id=XB9lHG-FbRpPhSka3bUspQ

I've clicked on the link you provided and I can see preview:

And that's what I see for: https://busy-master-pr-1205.herokuapp.com/utopian-io/@sekhmet/my-busy-org-october-report-voting-slider-avatar-lightbox-and-a-lot-more/amp

@jm90m is the image preview visible for you?

@jm90m
About handlebars:
Currently we use normal HTML pages and HTML comments for inserting content on server. It's fine for SSR, but not very effective for AMP template (which needs a lot more data). With handlebars we can manipulate AMP page without even touching JS code, because handlebars handles logic on template level. You can test it the same way as HTML templates (and it both would be pretty boring, because both .hbs and .html would not have dynamic content.
About cheerio:
we need virtual DOM manipulator on server because we need something to parse post contents. We have really three options there (we can't use native DOM manipulation as we don't have access to it on the server):

Parsing it manually (Regex or parsing it in other way).
JSDOM - which is strict about HTML correctness (not a good thing for dealing with HTML content coming from a lot of users and a lot of different clients), slower and heavier.
cheerio - which is faster and handles not-so-correct HTML pages better. It only uses jQuery syntax (which I think is still great).
I picked cheerio because I was already familiar with it and it seems to fit our needs well.

@Sekhmet thanks for the in-depth explanations, makes sense, looks like cheerio was a good choice 👍


Enable selection of preview rules

One proposal for supporting workflows like:
ruff check --select E .  # Only includes stable E rules.
ruff check --select E --preview .  # Includes stable and preview E rules.
ruff check --select E225 .  # Includes E225, even though it's in preview.
ruff check --select E225 --preview .  # Includes E225.
ruff check --select ALL .  # Includes all stable rules.
ruff check --select ALL --preview .  # Includes all stable and preview rules.

The basic idea is to stop filtering out nursery rules in the macro code, and instead filter them out when we resolve the rule set. This alone wouldn't support selecting individual rules (ruff check --select E225 .), so to fix that, we add a new specificity and RuleCodePrefix, for selectors that extract a single rule.
There are a few downsides to this approach:

All selectors will now appear in the JSON Schema and be supported on the CLI, including those that grab single rules (like E225) and those that only include preview rules (like E22 -- all of the rules under that prefix are in preview, but --select E22 without the preview flag won't work). This is not ideal, but... it's also somewhat rare and should be rarer over time.
Maybe others? Thinking...

Work continued in https://github.com/astral-sh/ruff/pull/7195


Update communication-client-index.md

Docs Build status updates of commit 55a8ba5:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/preview/communication-client-index.md
:warning:Warning
View (azure-python-preview)
Details

docs-ref-services/preview/communication-client-index.md

Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
Line 1, Column 1: [Warning: ms-date-missing - See documentation] Missing required attribute: 'ms.date'. A freshness date is required for this content set. Add a date in format MM/DD/YYYY.
Line 1, Column 1: [Warning: ms-topic-missing - See documentation] Missing required attribute: 'ms.topic'. Add a valid value to indicate the article type.
Line 1, Column 1: [Warning: author-missing - See documentation] Missing required attribute: 'author'. Add the current author's GitHub ID.
Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 1, Column 1: [Warning: ms-author-missing - See documentation] Missing required attribute: 'ms.author'. Add the current author's Microsoft alias.
Line 1, Column 1: [Warning: ms-prod-or-service-missing - See documentation] One of the following attributes is required: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Unable to access gkeep notes via nvim after removing linked device on google account

Describe the bug
I removed the linked device from my google account for security reasons. Later when I tried to access my gkeep notes, I saw the message "Log in with GkeepLogin". When I tried the same, it says that I'm already logged in, but my notes aren't listed. Checkhealth shows that I'm "not logged in but auth token exists".
To Reproduce
Steps to reproduce the behavior:

Remove the linked device on your google account
Run command ':GkeepEnter'. I see Home, Archive and Trash listed, but none of my existing notes are listed. I see a message next to Home which says 'Log in with GkeepLogin'.
Run command ':GkeepLogin'. Output : 'Gkeep logged in<EMAIL_ADDRESS>i.e, my email address.
Run command ':GkeepOpen'. Output : No response seen. The content on the screen does not change.
Run command ':GkeepRefresh'. Output : 'Cannot perform action while Gkeep is Uninitialized'

Expected behavior
It should ask me for my password or app password to re-login.
Version information

OS: [e.g. linux, mac, windows]
Ubuntu 20.04

Neovim: [output of nvim -v]
NVIM v0.7.0-dev
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -g -O2 -fdebug-prefix-map=/build/neovim-wE2acI/neovim-0.7.0~ubuntu1+git202203171546-d238b8f60-dd05b3569=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/build/neovim-wE2acI/neovim-0.7.0~ubuntu1+git202203171546-d238b8f60-dd05b3569/build/config -I/build/neovim-wE2acI/neovim-0.7.0~ubuntu1+git202203171546-d238b8f60-dd05b3569/src -I/build/neovim-wE2acI/neovim-0.7.0~ubuntu1+git202203171546-d238b8f60-dd05b3569/.deps/usr/include -I/usr/include -I/build/neovim-wE2acI/neovim-0.7.0~ubuntu1+git202203171546-d238b8f60-dd05b3569/build/src/nvim/auto -I/build/neovim-wE2acI/neovim-0.7.0~ubuntu1+git202203171546-d238b8f60-dd05b3569/build/include
Compiled by buildd@lcy02-amd64-051

Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/share/nvim"
Run :checkhealth for more info

Gkeep: [output of :checkhealth gkeep]

gkeep: health#gkeep#check
gkeep

OK: gkeepapi 0.13.7 installed
OK: keyring installed
WARNING: Not logged in but auth token exists

ADVICE:

Try :GkeepOpen

INFO: Syncing notes to /home/bhanu/work/notes
INFO: Log file: /home/bhanu/.cache/nvim/gkeep.log

Additional context
Add any other context about the problem here.
Screenshots
If applicable, add screenshots to help explain your problem.

Thanks for the report! I've added some handling for this case so that now it should correctly re-prompt you for a password, as well as notify you that the token login failed.

Thanks for the fix! I'm able to re-login.


GCRun logger name improperly created

Describe the bug
The GCRun class creates a logger based off the class and the current datalevel.
https://github.com/apache/accumulo/blob/b1b2557f949e9212a1b1ca9b65f2d66c01a69edb/server/gc/src/main/java/org/apache/accumulo/gc/GCRun.java#L100
As a result, the logger name is not properly formatted.
given a datalevel = "ROOT"
expected logger name = ROOTorg.apache.accumulo.gc.GCRun
actual logger name = ROOTclass org.apache.accumulo.gc.GCRun
This was not noticed in the log output as the layout pattern uses a precision specifier of [%c{2}] to only show the last two items in the logger name.
https://github.com/apache/accumulo/blob/b1b2557f949e9212a1b1ca9b65f2d66c01a69edb/test/src/main/resources/log4j2-test.properties#L28
Current Workaround
The current logger can be targeted in a log4j2.properties file with proper character escaping.
logger.gc.name = ROOTclass\ org.apache.accumulo.gc.GCRun
logger.gc.level = debug
logger.gc.additivity = false

Expected behavior
At minimum, the class string and spacing should be removed from the logger name.
That can be accomplished by calling getName() on the GCRun.class
LoggerFactory.getLogger(level.name() + GCRun.class.getName());

Additional Improvements
Given the precision specifier that's used, I'm wondering if the datalevel should be switched to a suffix.
This would allow it to be displayed in the log format [gc.GCRunROOT] as opposed to being hidden [gc.GCRun].

I think changing it to LoggerFactory.getLogger(GCRun.class.getName() + "." + level.name()); would be fine.

That is the current solution being added in #3745

Closed with https://github.com/apache/accumulo/pull/3745


Test binaries

@frankracer @bri3d @normmatt @bugasu
Sorry to ping you guys, but you are the few that have some interest in this. Does anyone have sample binaries they would be willing to share, it would be appreciated (Feel free to msg my Reddit acct if you don't want file info here/public).  Also didn't realize issues isn't default on, so if you had been wanting to make one .

for example, https://dropmefiles.com/ZwcKl (password '123')
automotive engine controller
TC1724

I will look through my files later today.

Here is dump from automotive ECU with TC1762 - https://yadi.sk/d/LArGKvd8_m5rRQ

Thanks @Alexpux not too different than the 172x, but added https://github.com/mumbel/ghidra/commit/49b687adabfe6e919a26e8749088d94410ad2baa for the TC176x

@mumbel thanks!
Maybe we can add more information about memory blocks and registers to specs, like in IDA Pro?
This is my config file for TC1762 in IDA  - https://yadi.sk/d/6hCGC1_zmkHuxA
Also I think it will be good to automatically find and declare ABM (alternate boot mode) headers. From datasheed for TC1762:
Alternate boot mode (ABM): Start from internal PFLASH after CRC check is correctly executed; enter a serial bootstrap loader mode1) if CRC check fails. Defined in ABM header or D400 0000H

ABM header location:
Primary ABM Header
8001 FFE0H - 8001 FFFFH
A001 FFE0H - A001 FFFF

Secondary ABM Header
8003 FFE0H - 8003 FFFFH
A003 FFE0H - A003 FFFFH

ABH header structure
Address                      Value                                                 Function
XXXX XXE0H    32-bit start address                         Program/code start address
XXXX XXE4H    DEADBEEFH                                     Identifier string
XXXX XXE8H    32-bit address (checksum start)        32-bit aligned start address of memory range to be checked
XXXX XXECH    32-bit address(checksum end)          32-bit aligned end address (last word address) of memory range to be checked
XXXX XXF0H    32-bit CRC value CRC RANGE           Expected 32-bit CRC result for memory range to be checked
XXXX XXF4H    CRC RANGE inverted                         Inverted expected 32-bit CRC result for memory range to be checked
XXXX XXF8H    32-bit CRC value CRC HEAD              CRC result of current ABM header from offset (byte) address E0H to F7H
XXXX XXFCH    CRC HEAD  inverted                          Inverted CRC result of current ABM header from offset (byte) address E0H to F7

automatically find and declare ABM (alternate boot mode) headers
@Alexpux, i think that decompiler shouldn't do that. It is one of peripheral modules, not the core.

Also, i checked some binaries. In real applications present only one ABM header, and some data instead second.

@Alexpux  fyi  https://github.com/mumbel/ghidra/commit/fd87ebaa663de12c4dd3daaf38b8519dccc1a385  have not yet looked into the header/struct question though

@mumbel sorry for later response. Thanks for your work! I will do more testing on my binaries

Just FYI, Tricore was merged into master today so I'll be deleting my branch.  Can still use this repo's issues if something comes up. but probably makes more sense to move to NSA/Ghidra at this point.   Thanks for all the samples and testing.


Roadmap to version 5

It would be nice to have some idea when version 5 could be released. Are there still critical issues to be closed?
If not maybe make a pre-release for more testing?

v5 is released, https://pypi.org/project/edtf/ so I guess we should be looking at 5.1 with the recent changes?
This is the other change I wanted to include https://github.com/ixc/python-edtf/pull/73

Or perhaps 5.1 now and 5.2 with #73 makes more sense?

Ah, I see it has been released on pypi, but it‘s missing a release here on GitHub. Please add at least a 5.0 tag here for keeping track.
IMHO #73 could go into 5.1.


rust-format-buffer does not work with 2018 edition

Running rust-format-buffer on 2018 code gives errors like error[E0670]: async fn is not permitted in the 2015 edition, even though the code's Cargo.toml specifies the 2018 edition.

A quick fix for this seems to be adding a "rustfmt.toml" file in the same directory as your "Cargo.toml" file with the line:
edition = "2018"

upstream issue: https://github.com/rust-lang/rust-mode/issues/320

Closing as upstream issue is fixed.


Keep response codes and revert metadata

Based on PR: https://github.com/cartesi/openapi-interfaces/pull/16

The prevRandao field has 32 bytes, so typing it as uint64 can be unsafe.

PC serial no : 3E184361H
Challenge code : B2WE8-Y9QTU-HLBYN-YF9WG-QYXN3
Response :
Plis help me

Before the Merge, the 0x44 opcode (then called DIFFICULTY) used to push the current block difficulty onto the EVM stack, which could indeed fit into a uint64. However, post-Merge, this opcode was renamed as PREVRANDAO and now pushes the latest mixHash value, which is totally random, and will, most certainly overflow a uint64. See EIP-4399 for reference.

Hello @guidanoli. Thank you for you feedback. I change prev_randao see here:
https://github.com/cartesi/openapi-interfaces/pull/17/commits/05965df6d99e331bf8fa9316da2aeb444a77fb41
Feel free If need more changes.


Chat stream and completion on run end.

Newbie here,
I am not sure if its correct question to ask. Is chatstream available?
And how i can run function when run complete?

Hello! 😊 Let's dive into your questions:

Regarding the chat stream in an open session that exchanges messages, currently, real-time streaming of chat messages isn't supported directly. You'd typically need to periodically refresh or poll the status to determine when a response from the chat is ready. This involves checking for updates at intervals to see if new messages or responses have been received.

😄 It seems like the second question might be a bit tricky, and I might not have fully grasped what was being asked. If you could share a bit more detail or clarify what specifically you're looking to do, I'd be more than happy to help or point you in the right direction


Improve caching for guid searches

Right now we have an almost 0% cache hit-rate for guid searches. I worked with Jeff to improve that by doing 1 query per guid instead of a WHERE guid IN (..).

Added an XSS test.

Thanks everyone


Always run CI checks

Codecov Report

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

:exclamation: Current head 6d01ae4 differs from pull request most recent head d4a897c. Consider uploading reports for the commit d4a897c to get more accurate results

@@            Coverage Diff             @@
##             develop       #9   +/-   ##
==========================================
  Coverage           ?   26.36%
  Complexity         ?       36
==========================================
  Files              ?       14
  Lines              ?      220
  Branches           ?       27
==========================================
  Hits               ?       58
  Misses             ?      157
  Partials           ?        5

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 6104ddc...d4a897c. Read the comment docs.


New package: Huawei.DevEcoDeviceTool version <IP_ADDRESS>0

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hi @SpecterShell,
I'm having trouble finding any download links in the PackageUrl. Can you help me navigate to this InstallerUrl?

Hi @SpecterShell,
I'm having trouble finding any download links in the PackageUrl. Can you help me navigate to this InstallerUrl?

Sorry. Forgot to mention that it was only available on the Chinese site.

Sorry. Forgot to mention that it was only available on the Chinese site.

Thank you. This is an unusual situation.

Another unusual part of this is that the InstallerUrl appears to contain a date about a year in the past. And an expiry part that also seems to indicate a past date. The URL works, but looks like it shouldn't.


I have forked this project and and created my version

Is there any way to add it here or something?
Edit: I am a n00b in github!

Push the branch you worked on to your forked repository,
Go to your forked repository on github and create a pull request (choose the branch you worked on)
It's get reviewed and merged if it's ok
Also reference the issue you fixed (if you fixed any) using #theissuenumber

ok thanks


How to provide valid_mask for training ?

Hello,
I would like to train depthformer using sparse depth map (private dataset).
My depth maps are obtained from lidar projected point with a max range of 100m.
All the pixels without projected lidar point are pixel we don't want to consider for training.
I put them to +inf value but I didn't found how to provide the valid mask excluding point > max_depth.
And I don't think it's already done because the training don't converge at all.
And the valid mask provided inside the dataset class seems to be used only for eval.
Any ideas how I can exclude those pixels from the loss calculation ?

Hi,
It worked ! Thank you !


Add a packed binary format, tweaks, fix blitting.

Closes https://github.com/matanlurey/pxl.dart/issues/3.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

45 of 60 (75.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.4%) to 95.515%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/src/codec/packedbm.dart
33
36
91.67%

lib/src/codec/netpbm.dart
8
20
40.0%

Totals

Change from base Build<PHONE_NUMBER>6:
-1.4%

Covered Lines:
937

Relevant Lines:
981

💛  - Coveralls


Adds a download link to the saved character screen

Use the HTML5 anchor attribute to download the saved image for improved UX

Thanks Cameron! I've added the download button with a specified filename :)


Password verification.

Until there's a specific page or button to toggle from Login to Register, I won't implement this. Can't have a Login form with 2 password inputs just in case they want to register

i mean crawl already did so

wait nope

I'm not sure what you mean @Pitu , this is just to verify the person knows the password they're setting in the admin settings.

What I'm saying is that the way you made it is that the password check field will be present at all times, even if you are only trying to log in and not register. So, displaying an extra field for the login form which will only be used when registering, is not something that I want to have.

But this is on the dashboard, not on the auth where you login or register.

Next time I won't reply the second I wake up. Derp. Sounds good, I'll try it local and then merge if everything's okay.


Add CentOS e.a. facts from facter 3.11

Add facts from facter 3.11 for CentOS systems.

Rebased to bring the branch up to date and fix conflicts.

Coverage remained the same at 75.0% when pulling 764fc6e64527f55c56709c5d49fc0e67d44689c0 on tdevelioglu:master into 2224f87bc401c804bc62f99e56a012a3db409140 on camptocamp:master.

Thanks @tdevelioglu!


Correct 2 minutes in ms in docs

Just a minor fixup that I noticed while reading the docs.

Thanks!


RuntimeError: Factor is exactly singular

Appear when dealing with my own .off file

Thanks for the heads up, and sorry for the trouble here!
Actually, I'm not actively maintaining this, because a better library came
along.  Check this out:
https://github.com/nmwsharp/robust-laplacians-py/
Best,
Chris
On Tue, May 23, 2023 at 3:55 AM VKerei @.***> wrote:

[image: 图片]
https://user-images.githubusercontent.com/74242578/240179184-17c2d7b9-71d4-488a-b795-e47123174f35.png
Appear when dealing with my own .off file
—
Reply to this email directly, view it on GitHub
https://github.com/ctralie/pyhks/issues/4, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJWDZUD7YI3SCDZMSHZS6LXHRUPJANCNFSM6AAAAAAYLPMJQI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Display data in Modal

There is a list of events having details and some functionalities like edit, delete and download registered attendees,
The task is to load data from the list to modal.
The Event list looks like:

When clicked on the edit button the details of that particular event should be visible in the modal.
The UI for modal looks like:

Hello, Could you assign it to me please?

@kala2 sure

Thanks! @kala2  :)


hello world in bahasian

bahasian c++ of hello world
What the program do ?

In what programming language it is written?

This pull request do not contains files in specific folders. Please fix it and reopen


Suggested JavaScript for defining custom elements is not type correct

Which package(s) are affected?
Lit Core (lit / lit-html / lit-element / reactive-element)
Description
A first-class feature of the TypeScript compiler is type checking JavaScript. However, when defining a custom element with the suggested syntax from the documentation, I get a type error.
import {LitElement, html} from 'lit';

export class SimpleGreeting extends LitElement {
  static properties = {
    name: {},
  };

  constructor() {
    super();
    // Declare reactive properties
    this.name = 'World';
  }

  // Render the UI as a function of component state
  render() {
    return html`<p>Hello, ${this.name}!</p>`;
  }
}
customElements.define('simple-greeting', SimpleGreeting);
//                                       ^^^ ERROR HERE

The exact error is:

Argument of type 'typeof SimpleGreeting' is not assignable to parameter of type 'CustomElementConstructor'.
Type 'SimpleGreeting' is missing the following properties from type 'HTMLElement': accessKey, accessKeyLabel, autocapitalize, dir, and 290 more.

Reproduction
https://www.typescriptlang.org/play?filetype=js#code/JYWwDg9gTgLgBAbwDLBgUQDYFMRYHYwA0cAFjCBgL5wBmUEIcA5BqkwNwBQnWAHpLDgBjDAEMAzuLgBlUGGwBxKFiwxgeAOZw+MfABMpKdNlwFEnOHHExRaoXDD0wWWMCxSAvOcuW8o3ABciJSEFnCUXGFCEHjWUACuQjDQABQAlN4+4vHOUOlcPnAA9EVwACJYIqLKcMqiScAAblgOTi5q7mGWMCTA4gB0frhwXkwA6tAYehxhlNyWJXAASvoucD0tAKoAknASe7TxeA0xcBA0wgyQePjw1rZYYcp4ei7pmZbKMPFQeKTkGAABgAeMAAPgAElgMBgIMQACQIHp9Qb+LCUACEwKK4MBBXCnDmQni1gYmBwtwGrxo6iwKSY4jk2AAtBplKp1BomMRZOBFOy1Jo0uwgA
Workaround
This is a workaround:
customElements.define("bl-navbar", /** @type {any} */ (SimpleGreeting));

But I believe LitElement should simply conform to CustomElementConstructor.
Alternatively, there should be a lit wrapper for customElements.define that is type correct.
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
3.0.2
Browser/OS/Node environment
TypeScript 5.2.2

The issue for me was that the types from @lit/reactive-element somehow where not being included.


Extension packs: allow to specify explicit extension version

Extension packs need to be able to specify and explicit extension version of a containing extension.
We should only support equals.
Use case: I am an extension author of a very popular pack. And I want to add a dependency for an extension that I reviewed from another extension author. I do not want to allow that other extension author to auto update their extension without my review. Thus I want to have specify an explicit version in my pack.

Hi @isidorn ,
I totally understand, and agree, with the motivation to pin specific version of third party extensions contained on your pack. But I think instead of only support equals, it should follow semantic versioning, just like node dependencies, specially if the pack is filled with your own extensions only.
I mean, I created the Delphi Extension Pack containing solely my own extensions, smiply to provide an easy to use Delphi experience. Microsoft itself publishes a few packages containing only their own extensions, like the C/C++ Extension Pack, and the Remote Development.
Forcing the publisher to specify an explicit version of the containing extension would require republishing those packs as frequent as the extensions contained in it.
Thank you


[Filebeat] Provide settings for multiline feature in upgrade mode

/azp run

✔ upgrade from v0.8 to develop
✔ upgrade from v0.9 to develop
✔ upgrade from v1.0 to develop


[WiP] Longest chain switch

:x: Build AElf <IP_ADDRESS>77 failed (commit https://github.com/AElfProject/AElf/commit/671983b44e by @shiwk)

:x: Build AElf <IP_ADDRESS>83 failed (commit https://github.com/AElfProject/AElf/commit/8814605372 by @shiwk)

:x: Build AElf <IP_ADDRESS>97 failed (commit https://github.com/AElfProject/AElf/commit/13b7e6882b by @shiwk)

:x: Build AElf <IP_ADDRESS>21 failed (commit https://github.com/AElfProject/AElf/commit/64b4b2ec24 by @shiwk)

:x: Build AElf <IP_ADDRESS>23 failed (commit https://github.com/AElfProject/AElf/commit/e7404d9736 by @shiwk)

:x: Build AElf <IP_ADDRESS>25 failed (commit https://github.com/AElfProject/AElf/commit/619758af22 by @shiwk)

:x: Build AElf <IP_ADDRESS>91 failed (commit https://github.com/AElfProject/AElf/commit/51c8df0105 by @EanCuznaivy)


A note about version numbers

You should look up semantically versioning to see how to best manage them.
Because actually version x.072 is a 72, 66 numbers over v x.06.
You might have meant v x.07.2, which is 1 number and a few (minor fixes) higher than x.06.

Will do, thanks for letting me know.


Set a fixed size for the selection column

How can I define a fixed size for the column in which the checkboxes are located?
I have a problem with size inconsistency between browsers. For example, in Chrome, the column sizes are correct.
But if you access Firefox, the size of the record selection column is larger than the others, for example.
Mantine DataTable Version: 7.1.5

Good catch on Firefox, thanks!
I'll come up with a solution for V7.3, which is due later today and I'll let you know.


nm ovs: Fix the limitation of OVS interface name length

When desire OVS interface name has 5 or more characters, nmstate
will fail due to limitation of 15 characters of OVS port interface name
as OVS port use prefix ovs-port-.
Due to bug https://bugzilla.redhat.com/show_bug.cgi?id=1788432 ,
NetworkManager limited the interface name on 15 characters as kernel
did even port profile does not have kernel network interface.
And NetworkManager does not allow OVS ports sharing the same name.
To fix the issue, OVS port profile will use the interface name of
OVS interface and OVS interface will refer it as master using UUID
instead of interface name.

Just tested, I can set the interface name as empty string and refer to it using UUID.
Will work on the new fix.

New patch uploaded.
Changes:

Use UUID instead of interface for OVS interface to refer its OVS port master.

The NM requires each OVS port profile has unique interface name along OVS ports, hence
this patch still set the OVS port to use the OVS interface name.

Coverage increased (+0.03%) to 66.281% when pulling e0c94d787368ed8699705e4c333c2904d11c6239 on cathay4t:fix_ovs_port_name into 8d463579e6849225140918eb5093d685cdea68db on nmstate:master.

The NM requires each OVS port profile has unique interface name along OVS ports, hence
this patch still set the OVS port to use the OVS interface name.

If this is the case, I see no usefulness in the uuid enhancement.

@cathay4t , I worked on an alternative and identified additional problems with this.

I suggest to wait with this PR for now.

Resolved by #723


yosys won't pass its default "make test"

OS: Archlinux
Compiler: g++ 6.2.1
Symptom:
After yosys is compiled, running make test throws the following error.
make[1]: Entering directory '/home/sixshotx/yosys/tests/bram'
../../techlibs/common/simlib.v:1757: error: Enable of unknown task ``ns''.
1 error(s) during elaboration.
make[1]: *** [temp/makefile:3: temp/job_00_01.ok] Error 1
make[1]: Leaving directory '/home/sixshotx/yosys/tests/bram'
make: *** [Makefile:422: test] Error 2

Usually when make test fails its because the user is having an older version of iverilog than I am using. In this case you are using a newer version.
I've updated my installation to latest iverilog git head and fixed the problem in Yosys commit 4a981a3.


Text history

Fixed a bug that prevented mouse clicks on choices

I'll try to fix the merge in this one and hopefully we can merge it soon. Kinda got shelved for too long, sorry about that.

No worries, I've been busy too. Will finalize things this week.

I have no idea why I'm getting such conflicts all over the place. It says over 40 files changed but it should be closer to 6. Can I safely 'delete' those file changes in some manner?

I think i'm gonna make a new PR for this Emilio, I don't like all the files it touched at this point and I can't seem to clean that up sufficently.

If you remember which files you modified on this PR you might be able to make a new PR from scratch. But if you want I could try to clean this branch 🤔

Ok copied things over pretty easily. I'm closing this, and this PR can be removed safely.


Update README.md

changes topics from streaming to ingest-kv and ingest-ts and added a warning about scala version

LGTM 👍


[vm/ffi] Support FFI on simulated architectures

[ ] simarm
[ ] simarm64
[ ] simriscv32
[ ] simriscv64

This could be useful for testing. We would probably need to re-use some of the design of the DBC implementation.

WIll not implement.

cc @cskau-g

Pulling on this thread today.  Looks like the arm simulator knows how to call out to "dart natives" via RedirectExternalReference:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/simulator_arm64.cc#L922
Which is inserted via:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/runtime_entry_arm64.cc#L36
and
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/native_entry.cc#L114
Which then inserts a special instruction which the simulator catches and does the redirect:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/simulator_arm64.cc#L1779
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/simulator_arm64.cc#L1690
I've not looked into the FFI code enough yet, but I suspect the code ends up similar.  An additional question with FFI may be translating calling conventions across architectures?  Not sure.  (In my case I'm currently running the ARM64 Simulator on ARM64, by forcing USING_SIMULATOR on, so I can likely skip any calling convention translation to get my hacks working.)

Yeah, so this appears to be how natives get turned into exception instructions and thus turned into thunks out into the real thing:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/compiler/stub_code_compiler_arm64.cc#L869
Will go read and figure out how FFI does similar.

My naive understanding:
NativeCallInstr is generated from the FlowGraphBuilder.
Importantly, when it's code is generated:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/compiler/backend/il_arm64.cc#L1274
It hops through StubCode::Call*Native() which were populated by the StubCompiler:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/compiler/stub_code_compiler_arm64.cc#L862
to bounce through *native_wrapper_entry_point
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/thread.h#L242
which were populated by native_entry to add the simulator escape instruction:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/native_entry.cc#L114
FfiCallInstr also of course comes from FlowGraphBuilder.
When it's code is generated:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/compiler/backend/il_arm64.cc#L1331
It makes no attempt to hop through a stub, so there is no hook for the Simulator to insert its redirection instruction:
https://github.com/dart-lang/sdk/blob/cc8b3f792eb245cfdcc7c6dce76f2eaf18061d18/runtime/vm/constants_arm64.h#L1332
Presumably the "fix" here would be to insert some sort of stub call (at least on the simulator) to let the simulator hook its redirection instruction.  Will read more.

It's been a while since I spend some thought on this issue. Let me see what I remember:
An important difference between the old native calls and the FFI is that the old native calls all use exactly the same signature:
https://github.com/dart-lang/sdk/blob/e1f153f7a2666ee20bc84081d8b288e99f561158/runtime/vm/native_entry.h#L42-L43
These happen to be just 3 normal registers and the normal return register for all simulated architectures. So the stub can be simply doing that.
For FFI calls, we can have arguments on the stack, and all argument registers and double argument registers. So the stub would need to work with a generic call (kind of how the callback trampolines work).
A second challenge is that our simulators only implement the subset of of instructions that the Dart compiler emits. That means we can't just load an arbitrary dll for the simulated architecture and simulate it. Instead, we should DynamicLibrary.open dlls from host architecture. (This is kind of similar to the natives, because the simulator runs on the host architecture.) So the VM implementation for dlopen etc need to take that into account.
A third challenge has to do with how the code is setup. Currently, the computation of the native calling convention can only be done for the TARGET_OS and TARGET_ARCH due to ifdefs. When calling with an FFI function into a HOST function, we need to read from the registers/stack from the TARGET calling convention in the simulator and put the values in the HOST registers/stack.
The code is not setup to deal with this. Only the TARGET is available, everything is ifdeffed out.
In order to fix that the constants need to be rename-spaced. Undoing: https://dart-review.googlesource.com/c/sdk/+/134298 Second, the runtime/vm/compiler/ffi/native_calling_convention.h and its imports need to be templated in either host or target. Undoing: https://dart-review.googlesource.com/c/sdk/+/134297
So, this is a non-trivial undertaking.
@eseidel Why are you running a simulator on the same architecture as the host? What's your use case?

The first demos I'm getting going involve running 100% of the dart code in the simulator, and to unblock that, I need Flutter to boot in the simulator, which requires fixing FFI (at last for HOST=TARGET workloads, specifically Arm64).

Interesting!
Yes, HOST_ARCH==TARGET_ARCH with HOST_OS==TARGET_OS should make things a lot easier.

The hack I'm trying today is I'm going to invent a new simulator break instruction, ala:
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/simulator_arm64.cc#L1902
Except I'll use something which doesn't actually do anything on a physical cpu, like mov r1, r1 or maybe b 1 but that Dart would never generate.
Have FfiCallInstr generate said break right before the branch:
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/compiler/backend/il_arm64.cc#L1410

Sounds like a good plan. Note that there's more than one branching point.
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/compiler/backend/il_arm64.cc#L1446

And then from within said break I will:

decode the next instruction (get the branch I was supposed to take)
"restore" the simulator's cpu registers into the real cpu (not sure the exact set?  Possibly just all of them to start?)

These are the argument registers.
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/constants_arm64.cc#L32-L38
The registers will only be enough if we don't actually need the stack for arguments.
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/compiler/ffi/native_calling_convention.cc
You can see some of the calling convention choices be spelled out in
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/compiler/ffi/native_calling_convention_test.cc
with
https://github.com/dart-lang/sdk/tree/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/compiler/ffi/unit_tests
And you can play around with the calling conventions on a compiler here: https://godbolt.org/

take the actual blr as it would have before, except now returning into this break stub.
"save" the real cpu's registers back into the simulator

These are the return registers:
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/constants_arm64.h#L599-L601
PointerToMemory might actually work here as well. E.g. the caller reserves memory to in which a struct return value stored by the callee. That pointer is passed in in one of the argument registers. On arm64 you also need to pass R8 from simulator to host for that.
https://github.com/dart-lang/sdk/blob/6b35aa94b996863a3c1e4d345ea6e8756c7569b2/runtime/vm/compiler/ffi/native_calling_convention.cc#L666

resume simulating.

I think it might work? We'll hopefully know in a few hours.
I obviously have many challenges to overcome after that, but I think my reading yesterday (and your helpful reply) have a path to at least get something going and thus unblock running Flutter code within the Dart ARM simulator on ARM64.

One sanity check you could add in your prototype is that all NativeLocations in your NativeCallingConvention are only the NativeRegisterLocations that you implement in your first prototype. That way you can crash during compilation of an FFIcall rather than during execution.
I think registers only might not be enough and that you will have to do the stack as well for arguments. The dart:ui migration from old natives to @Natives (which use FFI) saw function signatures with up to 20 parameters. (But with the sanity check we'll figure it out soon enough.)

I see, I had assumed that I could just set the stack pointer to the simulator's stack pointer and the real cpu would be happy, but maybe that's not a valid assumption. :)

Doesn't work yet, but my attempts from today: https://github.com/dart-lang/sdk/compare/main...shorebirdtech:dart-sdk:simulator_ffi

My assembly didn't end up quite right, but it seems close. Will hack more either this weekend or monday.

I made it work. Code would need a lot more work to be landable (including supporting cross-arch calls), but is enough to unblock the next phase of my investigation: https://github.com/shorebirdtech/dart-sdk/tree/simulator_ffi. Thanks for the help!

Awesome! 🎉

Code would need a lot more work to be landable (including supporting cross-arch calls)

Cross-arch would also mean the stack switching trick doesn't work unfortunately.
Cool keep us posted with the cool stuff! 😎

For those following along at home, my hacks from before work... but now I'm hitting an issue when calling from Dart to C++ and back to Dart and hitting an exception, debugging on:
https://github.com/shorebirdtech/shorebird/issues/654#issuecomment-1604954824

BTW I have this working now for simarm64.  Happy to work with you to upstream.  Right now the diff is in a private repo but happy to bsd license and send it your way when you're interested.  It only works for arm64 atm, and thus would require modifications to support other simulator architectures.

I don't think we have the bandwidth to add support for other architectures at this point. But if we ever get to it, it would be useful to have your work as a starting point for sure! You could spin up a PR so that we get a copy in Gerrit for future reference.

Happy to.  If you're willing to accept just ARM64 we will eventually post it as a PR (in the middle of launching iOS support atm), since I have little interest in carrying it as a diff.  Thanks!

Maybe some side note:
We only keep the simulators around for testing purposes (to avoid the need to test on real HW). Though with qemu user mode one can get a pretty good experience with normal arm, since one can use host gdb for debugging of a process running under qemu-arm. So the simulators are somewhat in maintenance mode / on life support.
Supporting FFI for simulators may not even be possible in it's full extent, as the simulated code is targeting ARM abi whereas the native code it interacts with has different abi. Simple conversions between the 2 ABIs can be done of course - but if simulated & host architecture disagree on e.g. bits an long has / struct layout it would fall apart. It does work of course for shorebird's use case where host and target architecture are the same.


Can not build avalonia blazor app, TS18003 Build:No inputs were found in config file

Discussed in https://github.com/AvaloniaUI/Avalonia/discussions/8321

Originally posted by GaNacereddine June 10, 2022
I created a new blazor web assembly project then added avalonia.Web.Blazor 0.10.15 package
and when I try to build I get this error
TS18003	Build:No inputs were found in config file 'C:/Users/S T R I X/.nuget/packages/avalonia.web.blazor/0.10.15/contentFiles/any/net6.0/tsconfig.json'.
Specified 'include' paths were '["/*"]' and 'exclude' paths were '["node_modules"]'.**
I noticed that the project has a new file tsconfig.js and the content is
  {
    "compilerOptions": {
      "noImplicitAny": false,
      "noEmitOnError": true,
      "removeComments": false,
      "sourceMap": true,
      "target": "ES2020",
      "module": "ES2020",
      "outDir": "wwwroot"
    },
    "exclude": [
      "node_modules"
    ]
  }

Removing the contentFiles\any\net6.0\tsconfig.json file inside the nuget package folder fixes the issue, could you remove the file from the nuget package?

The workaround for now is to exclude the contentFiles in the project referencing Avalonia.Web.Blazor:
<PackageReference Include="Avalonia.Web.Blazor" Version="$(AvaloniaWebBlazorVersion)">
    <IncludeAssets>all</IncludeAssets>
    <ExcludeAssets>contentFiles</ExcludeAssets>
</PackageReference>


Thaumic Tinkerer Aspectalyzer "getAspects()" only lists the first one

I'm trying to get a table with all the aspects in an item using the aspectalyzer, but I cant get them separeted. The command itself shows all the aspects in a single string, but if I try to serialize it or put it to a string, it's only showing the first aspect.
I'm playing 1.6.4, with the latest available versions of TT and OpenP.

Hey,
i know this is an old comment but i had the same problem these days. Here is my solution:
if analyzer.hasItem() then
if analyzer.itemHasAspects() then
local aspect1, aspect2 = analyzer.getAspects()
if aspect1 == "auram" then
if aspect2 == nil then
content[slot]=aspect1
else
content[slot]=aspect2
end
else
content[slot]=aspect1
end
print("Slot "..slot..": "..content[slot])
else
content[slot]="none"
end
else
return false
end

Hmm, no, it doesn't looks like same issue. Actually, I'm not sure what this code is supposed to solve (getting list of aspects, excluding, um, filtered aspect on void jars?) and if it's even OpenPeripheral and not TT integration (I can't find itemHasAspects anywhere).
Anyway, old issue was probably user error. Which doesn't matter anyway, since MC 1.6.4 is no longer supported.


Add ChatMemory to pdfGPT

I would be super valuable to be able to have a chat memory / history for pdfGPT
See here a langchain example:
https://python.langchain.com/en/latest/modules/chains/index_examples/chat_vector_db.html

planned in backlog for V2

Awesome, any rough timeline on this?

you can expect that by end of month as I am short of bandwidth as of now.

Implemented chat history : https://huggingface.co/spaces/bhaskartripathi/pdfGPT_Turbo


How to bind data with select2

AND why usư $("#rs").val("123").trigger("change") => data not change

Closing this issue as there is not enough information


Don't show all traceln calls on the main page

This gets a little unwieldy when there's lots of calls, maybe this could be for some other page to see the calls of traceln for some fiber.

This is fixed in the sense that they don't appear anymore but haven't been added to the task page.
I did a quick hack over here: https://github.com/avsm/eeww/blob/f858bf7f7d3344c48186c11d1792085780c3f9d2/lib/meio/src/lib/task.ml#L99-L102

Cool, we should bring that back upstream


turtle requires old clock

clock-<IP_ADDRESS> depended on by:

turtle-1.1.1 (>=<IP_ADDRESS> && < 0.5). Gabriel Gonzalez<EMAIL_ADDRESS>@Gabriel439

This is fixed by turtle-1.2.0


feat: add onWriteError() and onWriteResult() handlers to BulkWriter

Fixes #1282. WIP.

Adds global onWriteError() error and onWriteResult() success handlers to BulkWriter instances.
Adds BulkWriter.retry(operation: BulkWriterOperation) method to retry failed operations.
All failed operations throw a BulkWriterError that contain an underlying BulkWriterOperation.

@tilgovi Quick update -- Still working on it in a separate branch https://github.com/googleapis/nodejs-firestore/pull/1330.
At this point, I have the auto-retry functionality working. onWriteError() now takes a callback with the signature (error: BulkWriterError): boolean where returning true automatically retries, and returning false throws. Aside from a lot of code cleanup to do, the last bug that is in the implementation is that close() resolves a tick before the last retry operation resolves. Hoping to fix that tomorrow.


MAINT: Consistently mark BLAS/LAPACK routines as threadsafe

Reference issue
see the discussion in #12436
What does this implement/fix?
This PR marks all (almost) BLAS/LAPACK routines as threadsafe.
f2py releases the GIL with the threadsafe keyword. This translates to the macros Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS being wrapped around the routine being called. threadsafe is applied inconsistently and it appears that we assume a routine is safe inconsistently.
Additional information

The routines ?gees excluded as a test /scipy/linalg/tests/test_decomp.py::TestSchur::test_sort segfaults on my system. This could be due to it using an external function but I need to investigate it a bit more
Several other routines use similar functions but do not lead to test failures.
It could be that multi-threaded calls to those functions are not tested at all.

I'd like to try and run this against our full test suite to see if it picks up on any similar cases before I put the work into fixing ?gees

I'm not sure how the failing test case should be handled. It fails TestSchur::test_sort for real cases -- there are no tests for complex cases -- but I don't know enough about Schur to look into it properly. If the test is skipped all other tests pass so it's not having an effect elsewhere.
@ilayn would you please take a look at this?  Apart from the one test all others pass as expected.

Sure, will do later today I hope.

I am not sure where the test failed since it looks like it passed here. On your system could you please let me know which sorting condition failed and what it says during the segfault?

My apologies, it looks like I removed the threadsafe markers from the wrapper to make sure all the other wrappers work as expected. I've updated the branch and it should now fail on the CI too.
It looks like I made a git mistake somewhere; let's see if we can figure out why it segfaults then I'll fix the git part.

I think because we are calling external user functions within ?gees they should not be thread-safe to not to mess with the sorting race. But I know next to nothing about these things (and happily so). @sturlamolden @pv Thoughts?

This PR has 206 commits and changes 143 files. Is this intentional or did you do a Git mistake?

It's a mistake. The question is whether ?gees wrappers should have threadsafe or not since they accept callbacks from users and sorting is involved.

As long as we support numpy versions where f2py has the threadsafety bug, we probably shouldn't mark such routines threadsafe.

As long as we support numpy versions where f2py has the threadsafety bug, we probably shouldn't mark such routines threadsafe.

For future reference: that's numpy 1.20.0 (not yet released).

As long as we support numpy versions where f2py has the threadsafety bug, we probably shouldn't mark such routines threadsafe.

For future reference: that's numpy 1.20.0 (not yet released).

Note that we can query the Fortran module to see if it has the threadsafety bug, as it now reports the NumPy/f2py version used to build the module. If it is there we can serialize access with a global threading.RLock.


Allow stricter structural typing

Say I have the following:
interface Options {
	doSomethingSpecial?: boolean
}

function configure(options: Options) {}
configure({});

The preceding (correctly) does not flag any issues. However, say I change the function call to:
configure({doSomethingSuper: true});

This also does not flag any issues. I understand that in many (most?) cases this is the desired behavior, but in other cases it seems that a stricter matching (ie, you don't have to specify "doSomethingSpecial" but you can't specify anything else either) would be desirable. There are at least two instances that I can think of where this applies:

Catching typos
(more importantly) Compile-time checking after a refactoring of "doSomethingSpecial" to be named something else

Perhaps some new syntax for enabling this mode would be useful. For example:
function configure(options: Options!) {}

Fixed in #3823.


I cannot install the letsencrypt certificate

I cannot install the letsencrypt certificate. I get an error that port 80 is being used.
Can you help with SSL setup.
apach2 disabled because use port 80
edumeet does not work this time when running apache
says port 80 in use
VPS - Ubuntu Server 18.04

Try ti first stop edumeet and check if no process run on port 80 and run certbot and after it copy the cert and start edumeet.

server and domain are in separate companies.
Is this a problem

@volkankoc I don't understand your last comment.  Can you please detail it?

Getting a cert is not related strongly this project. Please ask help from your dns and server company, howto get such cert in your case. I don't think I can help you more in it.

Getting a cert is not related strongly this project. Please ask help from your dns and server company, howto get such cert in your case. I don't think I can help you more in it.

Thank , im solved problem.
First stop apache server , after with cerbot key create.
and its work

Great! Thanks for the feedback! I will close the issue then! Thanks!


Feature Request: Labels for images

When developing a responsive website, it is really really useful to have a label on the image which displays for example its dimension. This way you can really make sure your responsive image system is working...

I'd love to do this, but it would mean adding another dependency to the project - GhostScript. I'm keen not to keep adding more dependencies!

Is there a way we can do this without the dependency?

Closing as a solution hasn't been presented that doesn't add another dependency.


MRIQC crashes on DWI

What happened?
I pulled v. 23.1.1 to test the DWI workflow. The data I'm testing on is a single b=0 and 54 b=1000 volumes. It crashes pretty much at the outset.
What command did you use?
singularity run --containall -B $PWD/nifti:/nifti:ro -B $PWD/derivatives/mriqc:/output -B /tmp:/tmp /groups/adamraikes/singularity_images/mriqc_23.1.1.sif /nifti /output participant --participant_label 108 -w /tmp

What version of the software are you running?
23.1.1
How are you running this software?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
240320-09:29:36,207 cli IMPORTANT:
	 ------------------------------------------------------------------
         Running MRIQC version 24.0.0.dev0+g4d96184d.d20240320
         ------------------------------------------------------------------
           * BIDS dataset path: /nifti.
           * Output folder: /output.
           * Analysis levels: ['participant'].
         ------------------------------------------------------------------

240320-09:29:42,258 cli IMPORTANT:
	 Building MRIQC's workflows...
240320-09:29:47,885 cli IMPORTANT:
	 Workflow building finished (exit code 0).
240320-09:29:52,527 cli WARNING:
	 IMPORTANT: Anonymized quality metrics (IQMs) will be submitted to MRIQC's metrics repository. Submission of IQMs can be disabled using the ``--no-sub`` argument. Please visit https://mriqc.readthedocs.io/en/latest/dsa.html to revise MRIQC's Data Sharing Agreement.
240320-09:32:29,174 nipype.workflow WARNING:
	 Storing result file without outputs
240320-09:32:29,174 nipype.workflow WARNING:
	 [Node] Error on "mriqc_wf.dwiMRIQC.drift" (/tmp/mriqc_wf/dwiMRIQC/_in_file_..nifti..sub-108..dwi..sub-108_dwi.nii.gz/drift)
240320-09:32:30,754 nipype.workflow ERROR:
	 Node drift.a0 failed to run on host r3u16n2.puma.hpc.arizona.edu.
240320-09:32:30,755 nipype.workflow ERROR:
	 Saving crash info to /output/logs/crash-20240320-093230-adamraikes-drift.a0-182b0627-5505-4d93-9afc-df75b974048c.txt
Traceback (most recent call last):
  File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 60, in run_node
    result['result'] = node.run(updatehash=updatehash)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
    result = self._run_interface(execute=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
    return self._run_command(execute)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
    raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node drift.

Traceback:
	Traceback (most recent call last):
	  File "/opt/conda/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 397, in run
	    runtime = self._run_interface(runtime)
	              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	  File "/opt/conda/lib/python3.11/site-packages/mriqc/interfaces/diffusion.py", line 280, in _run_interface
	    global_signal = np.array([
	                             ^
	  File "/opt/conda/lib/python3.11/site-packages/mriqc/interfaces/diffusion.py", line 281, in <listcomp>
	    np.median(data[..., n_b0][bmask]) for n_b0 in range(img.shape[-1])
	              ~~~~~~~~~~~~~~~^^^^^^^
	IndexError: too many indices for array: array is 2-dimensional, but 3 were indexed

Traceback (most recent call last):
  File "/opt/conda/bin/mriqc", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/mriqc/cli/run.py", line 166, in main
    mriqc_wf.run(**_plugin)
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/workflows.py", line 638, in run
    runner.run(execgraph, updatehash=updatehash, config=self.config)
  File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 183, in run
    notrun.append(self._clean_queue(jobid, graph, result=result))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 256, in _clean_queue
    raise RuntimeError(''.join(result['traceback']))
RuntimeError: Traceback (most recent call last):
  File "/opt/conda/lib/python3.11/site-packages/mriqc/engine/plugin.py", line 60, in run_node
    result['result'] = node.run(updatehash=updatehash)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
    result = self._run_interface(execute=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
    return self._run_command(execute)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.11/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
    raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node drift.

Traceback:
	Traceback (most recent call last):
	  File "/opt/conda/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 397, in run
	    runtime = self._run_interface(runtime)
	              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	  File "/opt/conda/lib/python3.11/site-packages/mriqc/interfaces/diffusion.py", line 280, in _run_interface
	    global_signal = np.array([
	                             ^
	  File "/opt/conda/lib/python3.11/site-packages/mriqc/interfaces/diffusion.py", line 281, in <listcomp>
	    np.median(data[..., n_b0][bmask]) for n_b0 in range(img.shape[-1])
	              ~~~~~~~~~~~~~~~^^^^^^^
	IndexError: too many indices for array: array is 2-dimensional, but 3 were indexed

Additional information / screenshots
bval file:
0 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

Tested on a different dataset that has multiple b=0 volumes and it ran without an issue. So it seems that it is the single b=0 volume acquisitions that fail.
Are any IQMs other than the shell values stored somewhere?

I can replicate this one as well. It seems that (at line 281) img.shape is expected to be [xdim,ydim,zdim,n_b0] but when n_b0=1 img is a 3d-array.

I guess correcting for signal drift doesn't make sense for single b=0 anyway? I tried bypassing the signal drift correction and the pipeline finished without further issues.


Checkbox from .checkBoxPromptRes() not visible if list from .adapter() is too long / scrollable

[x] I have verified there are no duplicate active or recent bugs, questions, or requests
[x] I have verified that I am using the latest version of Material Dialogs.
[x] I have given my issue a non-generic title.
[x] I have read over the documentation (before asking questions on how to do something).

Include the following:

Material Dialogs version: <IP_ADDRESS>
Device OS version: 7.1.2 and O Prev
Device Manufacturer: Google
Device Name: Nexus 5X

Reproduction Steps
MaterialDialog.Builder builder = new MaterialDialog.Builder(getContext())
  .title(R.string.dialog_title_paired_bt_devices)
  .adapter(btDevicesAdapter, null)
  .negativeText(android.R.string.cancel);

if (something) {
  builder.checkBoxPromptRes(R.string.dialog_checkbox, someOtherThing, null);
}

final MaterialDialog dialog = builder.build();

Expected Result
The checkbox is displayed under the list (when the adapter contains only a few items).

Actual Result
The checkbox is not visible when the list needs to be scrolled (e.g. testable by rotating the screen).

@afollestad whats's the duplicate issue?
PS: Is there any progress on this?

@afollestad hey - any update on this? You marked this as a duplicate? Whats the other issue?

Do you plan on fixing this? I understand if you won't, but I'd like to know if you do.

Will no longer apply to version 2


[DOC] Update docs for 23.10.0 release [skip ci]

This PR updates download docs for 23.10.0 release.
Signed-off-by: Suraj Aralihalli<EMAIL_ADDRESS>

LGTM

build


Go further back for Continous Integration history 🕒

@tarahernandez pointed out that crediting the 2007 CI book with being
the canonical source on Continuous Integration wasn't going back far
enough - this commit goes back a bit further and credits XP with coining
extreme programming.

@salaboy @tracymiranda

Thanks @bobcatfish & @tequilarista - good to get these captured - and very glad to have this as a reference


UI hangs when trying to retrieve volunteers

An admin reports that trying to retrieve volunteers hangs for their area.  I am able to reproduce this behavior -- going to "Volunteers" then picking that service body gives a spinning disk that says "Retrieving Volunteers" and hangs there.
The admin turned on gender routing, and started picking genders for all the volunteers -- they reported being about halfway through.  So I suspect it is some problem connected with gender routing.  I have a copy of the db if needed.
This occurs only for the one area; retrieving the volunteers for other areas and regions is still OK.
This is yap v4.2.8 for Western States Zonal Forum.

Ok email me the database and config.  I’ll try to look at it this weekend.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Alan B @.>
Sent: Friday, June 16, 2023 5:53:48 PM
To: bmlt-enabled/yap @.>
Cc: Danny Gershman @.>; Comment @.>
Subject: Re: [bmlt-enabled/yap] UI hangs when trying to retrieve volunteers (Issue #809)
All the other requests are being served without error, it says.
—
Reply to this email directly, view it on GitHubhttps://github.com/bmlt-enabled/yap/issues/809#issuecomment-1595355133, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAOD3O7KXFJN4M6XWWUBIDLXLTIWZANCNFSM6AAAAAAZJXKCNA.
You are receiving this because you commented.Message ID: @.***>

Thanks - will do.

Which area is this?

Guessing it's the Central Coast Area.

If this is the area, then the issue appears to be that the data was truncated somehow.  My thought is that it might be related to some issue with your data collation.  The size of that field data in the config table should be able to hold 64k of data.  If it is encoding it as unicode then it would hit that limit.  I couldn't reproduce the issue on my end.  Once way to test this theory out is for us to change the field type to a MEDIUMTEXT field.  We'd also have to update the column so that it fixes the data corruption issue.  I'll email you the query to run on your database (note that there will be some data loss here on whatever the last volunteers were).

OK.  Yes, it was Central Coast Area.

It turns out this was related to the database field size and a large amount of volunteers.  Will be fixing this in 4.2.9.

yap 4.2.9 was released with this fix.


Fix when linking from a panel with tenancy to one without

When linking from a panel with multitenancy to one without multitenancy it was adding "?tenant=(id)" to the URL, even if I explicitly passed null as the tenant parameter.
As a temporary workaround I am using route(getRouteName()) which is what getUrl is doing anyway.
This PR provides a solution by only adding the tenancy parameter if you are linking within the same panel, or if the panel you are linking to also has multitenancy.

Thanks


Not accepting home/end keys rebound in bindings.json

Description of the problem or steps to reproduce
~/.config/micro/bindings.json:
{
    "Home": "StartOfLine",
    "End":  "EndOfLine"
}

Upon re-launching micro, home and end keys still don't go to the start or end of line. Home seems to select all or something, and end brings up a command entry bar at the bottom.
Do I have to get micro to become aware of bindings.json somehow?
Specifications
You can use micro -version to get the commit hash.
Version: 1.1.3
Commit hash: 67ac3f1
Compiled on December 06, 2016
OS: OSX
Terminal: Bash

That's strange. Those are the default bindings for home and end so you shouldn't even have to rebind them with the bindings.json file.
This is probably a problem with your terminal. Are you using Terminal.app, iTerm2, or something else? Also what version of OSX are you using?

Oh, odd! I'm on iTerm2. I'll check tomorrow to see if it happens with Terminal as well.

Well the home and end keys should work in iterm and terminal. Maybe you have an old version of iterm?

So it turns out it had to do with a certain keyboard in iTerm2, version 3.0.12. For some reason, the Home and End keys were rebound to send certain hex codes. I deleted those bindings in the iTerm2 key bindings interface and now it works fine.
Thank you! Sorry for the false alarm.


Log Ingestion Demo Guide Docker network prepended with different folder name

Describe the issue
This issue was brought up in #979. The Log Ingestion Demo Guide assumes that the docker-compose is run from the ../data-prepper/examples/log-ingestion folder. This leads to confusion since docker-compose prepends the project name to the network.
This prepend can be overridden by adding a standard --project-name flag to the docker-compose up command
 docker-compose --project-name "data-prepper" up -d

And then data prepper can be run and attached to the network with
docker run --name data-prepper -v /full/path/to/log_pipeline.yaml:/usr/share/data-prepper/pipelines.yaml --network "data-prepper_opensearch-net" opensearch-data-prepper:latest

I'd like to push forward with Docker Compose v3 files. Please update the instructions to include setting the project name.

Is this still open ? because still docker network is getting created with the directory name with it.
@graytaylor0 @dlvenable


Adding target group permissions needed for host networking mode to se…

what

Allow ECS services to register and deregister targets on a Target Group

why

To support the use of ALBs

references

https://github.com/cloudposse/terraform-aws-ecs-alb-service-task/issues/65

/rebuild-readme

/test all


Add instructions for mac users to compile

Upload instructions for MAC users to compile this project along with some solutions to common errors that might occur during compilation.

Adding in @drothermel to take a look as well.


Add BaseCondition and redesign conditions

Codecov Report
Patch coverage is 100.00% of modified lines.

Files Changed
Coverage

src/minevent/conditions.py
100.00%

src/minevent/handlers.py
100.00%

:loudspeaker: Thoughts on this report? Let us know!.


Roadmap for pebbles?

This is a fantastic project I found during my search. Is there a roadmap that we are targeting/already done?

Hi, thanks for the kind words.
We're now testing this gateway in our production environment and everything seems great. Looking forward to release v1.0 in November due to current codebase being stable.
After that we're planning to release subscriptions support, probably in December/January. As for me I think it's the only thing that all current gateways missing.
Do you have any ideas what else we need to implement to make this library better?


Even more advanced 3D rendering

Great! There are a few things we could still add, but first let's get this out. I would be interested in doing a  PR with some more features and tweaks... This is too much fun... So maybe it is best to wait a bit before we send ur changes upstream to vispy...
Some ideas of improvements going forward that I would love to play with:
i) Have gamma be computed on the fly in the shader instead of outside, much faster especially dfor time series (computing gamma in the shader is for free, can be done at the very end outside of the loop)
ii) dithering of ray sampling to avoid stepping artefacts
iii) variable 'render quality'/'render speed' trade-off -- which is essentially the amount of sampling.
iv) loop unrolling for speedup as done in CV (necessary when doing iii )
v) box / grid around volume
vi) two-pass tracing, first pass is coarse, second pass refines it -- not useful for all modes. Gives better quality and better performance.
vii) more advanced render modes that introduce more physics to the rendering such as subsurface scattering, volumetric lighting, screen-space-ambient-occlusion (ssao). This article has a nice overview of advanced volume rendering techniques: https://developer.download.nvidia.com/books/HTML/gpugems/gpugems_ch39.html
Not everything needs to be exposed in the ui, but power- users could still play with all features...

Originally posted by @royerloic in https://github.com/napari/napari/pull/846#issuecomment-570704794

@royerloic I love these ideas - I think we want to commit them first to napari using our vendored volume visual, maybe making a dedicated shader file separate from the rest of the volume visual code so that we can keep it quite modular from vispy - and say if we ever made the transition to a purely webGL based rendering system we'd be able to move the shader code over pretty easily.
Reading this https://github.com/napari/napari/issues/799#issuecomment-565859004 from @tlambert03 I do wonder if a world where we moved to a fully only webGL based rendering system (imaging a minimal vispy that was mesh + images / volumes + scene graph + cameras) but we kept Qt might be a way for us to support a remote napari via X11 without having to do viewer syncing etc. Vispy also does support a webGL based backend too.
Just a thought for now, but maybe a way to think about the long-term future ...


Allow outputing completion to stdout

This is a follow up to #235.
Most other tools output the completion script to stdout all the time or when no directory/file is specified. This allows evaling it in your rc file or in the case of nixpkgs directly install it to the right location without creating a temporary directory first.
Also the command to generate the completion shouldn't rely on $HOME being available and create the config file if it does not exist.

Seems the new v3 version of clap, which we intend to use, has split out the completion generation logic into a separate crate. This does seem to now support writing to stdout instead of a file0, so we should be able to address this

To avoid any unnecessary breaking changes, we can just make the outdir optional. If it's specified we can determine the correct file path automatically and write there, otherwise we can use stdout

I suggest we can do something like this after we make --out-dir optional:
# generate completions in the specified directory if --out-dir is specified
$ mkdir completions/
$ atuin gen-completions --shell bash --out-dir completions/

# print to stdout if --out-dir is not specified
$ atuin gen-completions --shell bash

Exactly. I already have a prototype working locally for that. Still depends on clap3 official release but that should be a few weeks away

Implemented in #289