OpenSSF - CII Best Practices badge not detected

Describe the bug
My project https://github.com/flowlogix/flowlogix has OpenSSF best practices badge: https://www.bestpractices.dev/en/projects/8431
However, it's not being picked up by OpenSSF Scorecard:
https://securityscorecards.dev/viewer/?uri=github.com/flowlogix/flowlogix
Reproduction steps
Check the links above
Expected behavior
OpenSS Scorecard should pick up Best Practices badge
Additional context
github.com/flowlogix/flowlogix
API URL: https://api.scorecard.dev/projects/github.com/flowlogix/flowlogix
COMMIT: d9303ad5c3ed034fbe831cf7bb0901bde5a05711
GENERATED AT: 2024-03-25
SCORECARD VERSION: v4.13.1-234-ge780e089

The cron can take some time to propagate changes. If you recently got the passing badge, check again next week.
I see the score using the CLI for example:
go run main.go --repo github.com/flowlogix/flowlogix --checks CII-Best-Practices
Starting [CII-Best-Practices]
Finished [CII-Best-Practices]

RESULTS
-------
Aggregate score: 5.0 / 10

Check scores:
|--------|--------------------|-------------------------|-------------------------------------------------------------------------------|
| SCORE  |        NAME        |         REASON          |                           DOCUMENTATION/REMEDIATION                           |
|--------|--------------------|-------------------------|-------------------------------------------------------------------------------|
| 5 / 10 | CII-Best-Practices | badge detected: Passing | https://github.com/ossf/scorecard/blob/main/docs/checks.md#cii-best-practices |
|--------|--------------------|-------------------------|-------------------------------------------------------------------------------|

@spencerschrock Thanks!
That's just it. I passed the badge over 3 weeks ago and yet it still didn't detect it as o March 25th run.
SCORE
7.7/10
Scorecard as of March 25, 2024.
CII-Best-Practices 0/10
Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.
REASONING
no effort to earn an OpenSSF best practices badge detected

I'm not sure if there's any delay on the OpenSSF Best Practices side of things, but I just checked the 2024-04-01 run (which is still in progress) and I'm seeing a 5/10 score like the CLI says.
You should see it reflected in the Scorecard API in ~5 more days or so.

Thank you, I'll check again.

It was late but it worked. Thanks.


E (1307459) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128 (IDFGH-4517)

Environment

Development Kit:      ESP32-Wrover-Kit
Module or chip used:  ESP32-WROOM-B
IDF version: v4.2
Build System:   idf.py
Compiler version : xtensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
Operating System:     Windows
(Windows only) environment type: Plain Command Prompt
Using an IDE?: No
Power Supply:  USB

Problem Description
When I connect to a remote Mqtt server, the Mqtt client of Esp32 is always disconnected regularly.
It always disconnects on time after 10 minutes of connecting to the Mqtt server, then reconnects within seconds, and then disconnects after 10 minutes of reconnection.
There are two possibilities for this problem, one is that there is a problem with the server, and the other is that there is a problem with Esp32
If there is a problem with the server, there is no problem when I use the paho.mqtt.client library under python to connect to the remote server.
If there is a problem with Esp32, there is no problem when I use Esp32 to connect to mqtt://mqtt.eclipse.org.
So what's the problem? Please help me.
Expected Behavior
I need to keep Esp32 mqtt stable enough to communicate with my server.
Actual Behavior
It always disconnects in 10 minutes.
Steps to reproduce
Code to reproduce this issue
#include <stdio.h>
#include "esp_spi_flash.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"
#include "mqtt_client.h"
#include "esp_wifi.h"
#include "nvs_flash.h"
#include "esp_netif.h"
#include "esp_log.h"
#include "protocol_examples_common.h"

static EventGroupHandle_t mqtt_event_group;
const static int CONNECTED_BIT = BIT5;
static bool mqtt_connected = false;
static esp_mqtt_client_handle_t global_client;

static esp_err_t mqtt_event_handler(esp_mqtt_event_handle_t event)
{
    static const char *TAG = "mqtt_event";

    switch (event->event_id)
    {
    case MQTT_EVENT_CONNECTED:
        ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
        xEventGroupSetBits(mqtt_event_group, CONNECTED_BIT);
        mqtt_connected = true;
        break;
    case MQTT_EVENT_DISCONNECTED:
        ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
        mqtt_connected = false;
        break;
    case MQTT_EVENT_SUBSCRIBED:
        ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
        break;
    case MQTT_EVENT_UNSUBSCRIBED:
        ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
        break;
    case MQTT_EVENT_PUBLISHED:
        ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
        break;
    case MQTT_EVENT_DATA:
        printf("TOPIC=%d , %.*s\r\n", event->topic_len, event->topic_len, event->topic);
        printf("DATA=%d , %.*s\r\n", event->data_len, event->data_len, event->data);
        break;
    default:
        ESP_LOGI(TAG, "Other event id:%d", event->event_id);
        break;
    }

    return ESP_OK;
}

void mqtt_server_login()
{
    mqtt_event_group = xEventGroupCreate();
    esp_mqtt_client_config_t mqtt_cfg = {
        // .uri = "mqtt://mqtt.eclipse.org",
        .uri = "mqtt://<IP_ADDRESS>",
        .port = 1883,
        .event_handle = mqtt_event_handler
    };
    mqtt_cfg.username = "user1";
    mqtt_cfg.password = "123456";
    mqtt_cfg.client_id = "test";
    global_client = esp_mqtt_client_init(&mqtt_cfg);
    esp_mqtt_client_start(global_client);
}

void app_main(void)
{
    ESP_ERROR_CHECK(nvs_flash_init());
    ESP_ERROR_CHECK(esp_netif_init());
    ESP_ERROR_CHECK(esp_event_loop_create_default());
    ESP_ERROR_CHECK(example_connect());

    mqtt_server_login();

    xEventGroupWaitBits(mqtt_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);

    while (1)
    {
        if(mqtt_connected == true)
            esp_mqtt_client_publish(global_client, "/test", "s", 1, 0, 0);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }

}

Debug Logs
I (563) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (669) wifi:wifi driver task: 3ffc04dc, prio:23, stack:6656, core=0
I (669) system_api: Base MAC address is not set
I (669) system_api: read default base MAC address from EFUSE
I (689) wifi:wifi firmware version: 1865b55
I (689) wifi:wifi certification version: v7.0
I (689) wifi:config NVS flash: enabled
I (689) wifi:config nano formating: disabled
I (699) wifi:Init data frame dynamic rx buffer num: 32
I (699) wifi:Init management frame dynamic rx buffer num: 32
I (709) wifi:Init management short buffer num: 32
I (709) wifi:Init dynamic tx buffer num: 32
I (719) wifi:Init static rx buffer size: 1600
I (719) wifi:Init static rx buffer num: 10
I (719) wifi:Init dynamic rx buffer num: 32
I (729) wifi_init: rx ba win: 6
I (729) wifi_init: tcpip mbox: 32
I (739) wifi_init: udp mbox: 6
I (739) wifi_init: tcp mbox: 6
I (739) wifi_init: tcp tx win: 5744
I (749) wifi_init: tcp rx win: 5744
I (749) wifi_init: tcp mss: 1440
I (759) wifi_init: WiFi IRAM OP enabled
I (759) wifi_init: WiFi RX IRAM OP enabled
I (769) example_connect: Connecting to fyy...
I (859) phy: phy_version: 4500, 0cd6843, Sep 17 2020, 15:37:07, 0, 0
I (859) wifi:mode : sta (b8:f0:09:93:4a:24)
I (869) example_connect: Waiting for IP(s)
I (989) wifi:new:<6,0>, old:<1,0>, ap:<255,255>, sta:<6,0>, prof:10
I (1759) wifi:state: init -> auth (b0)
I (1759) wifi:state: auth -> assoc (0)
E (1769) wifi:Set status to INIT
I (1769) wifi:state: assoc -> init (c00)
I (1769) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:10
I (1769) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:10
I (1779) wifi:state: init -> auth (b0)
I (1799) wifi:state: auth -> assoc (0)
I (1849) wifi:state: assoc -> run (10)
I (1889) wifi:connected with fyy, aid = 1, channel 6, BW20, bssid = c6:72:64:dc:16:b6
I (1889) wifi:security: WPA2-PSK, phy: bgn, rssi: -58
I (1889) wifi:pm start, type: 1

I (1989) wifi:AP's beacon interval = 307200 us, DTIM period = 3
I (2659) esp_netif_handlers: example_connect: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (2659) example_connect: Got IPv4 event: Interface "example_connect: sta" address: <IP_ADDRESS>
I (3659) example_connect: Got IPv6 event: Interface "example_connect: sta" address: fe80:0000:0000:0000:baf0:09ff:fe93:4a24, type: ESP_IP6_ADDR_IS_LINK_LOCAL
I (3659) example_connect: Connected to example_connect: sta
I (3669) example_connect: - IPv4 address: <IP_ADDRESS>
I (3669) example_connect: - IPv6 address: fe80:0000:0000:0000:baf0:09ff:fe93:4a24, type: ESP_IP6_ADDR_IS_LINK_LOCAL
I (3689) mqtt_event: Other event id:7
I (3803079) mqtt_event: Other event id:7
I (3804639) mqtt_event: MQTT_EVENT_CONNECTED
E (4407399) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128
I (4407399) mqtt_event: Other event id:0
E (4407399) MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1
I (4407409) mqtt_event: MQTT_EVENT_DISCONNECTED
I (4422409) mqtt_event: Other event id:7
I (4423939) mqtt_event: MQTT_EVENT_CONNECTED
E (5027969) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128
I (5027969) mqtt_event: Other event id:0
E (5027979) MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1
I (5027989) mqtt_event: MQTT_EVENT_DISCONNECTED
I (5042989) mqtt_event: Other event id:7
I (5043859) mqtt_event: MQTT_EVENT_CONNECTED

Thanks for reporting, we will look into.

Mqtt broker is a Vert.x MQTT implemented in Java.

@wjdready Could you please share the debug log from your board and possibly some log from the server side, as well?
And possibly also a wireshark capture of the disconnection event, which is happening every 10 minutes?
I've tested your code (on v4.2 -- c40f2590bf759ff60ef122afa79b4ec04e7633d2) with vertx-mqtt broker running on my PC and seen no disconnections.

@wjdready Could you please share the debug log from your board and possibly some log from the server side, as well?
And possibly also a wireshark capture of the disconnection event, which is happening every 10 minutes?
I've tested your code (on v4.2 -- c40f2590bf759ff60ef122afa79b4ec04e7633d2) with vertx-mqtt broker running on my PC and seen no disconnections.

@wjdready Thanks for reporting, would you please help share if any updates for the issue? Thanks.

@Alvin1Zhang It has been solved. It is my own vertx-mqtt problem. Vertx-mqtt disconnects the device without heartbeat. It's ok after I join the heartbeat. Thank you for your answers.

@wjdready Thanks for sharing updates.

Hi I'm having same issue with ESP32 but in my case device always disconnects on time after 10 seconds of connecting to the Mqtt server, then reconnects within seconds, and then disconnects after 10 seconds of reconnection.
I'm using nodeMCU (https://nodemcu.readthedocs.io/en/dev-esp32/modules/mqtt/). I can't identify issue myself(whether it is related to server or device)
Here my code..
local client_id,user_id,password,host_id,port="House1","temp1","temp2","198.xx.xx.xxx",18xx
topics={"iot/ANUD45/HAll","iot/ADR1/KITCH","iot/ADR5/BED"}
m = mqtt.Client(client_id, 0,user_id,password)
m:lwt("/lwt", "offline", 0, 0)
m:on("connect", function(client) print ("connection estblished") end)
m:on("offline", function(client) print ("offline") do_mqtt_connect end)
m:on("message", function(client, topic, data)
if data ~= nil then
data=string.sub(data,2,#data-1)
print('mqtt',data)
end
end)
function handle_mqtt_error(client, reason)
tmr.create():alarm(10 * 1000, tmr.ALARM_SINGLE, do_mqtt_connect)
end
function do_mqtt_connect()
m:connect(host_id, port, 0)
m:subscribe(topics[3], 0, function(client_3) print("subscribe success_9") end)
m:subscribe(topics[1], 0, function(client_1) print("subscribe success_1") end)
m:subscribe(topics[2], 0, function(client_2) print("subscribe success_4") end)
end
do_mqtt_connect()
here is my error..
E (492351) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128
E (492351) MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1
W (492351) MQTT_CLIENT: Client asked to stop, but was not started
offline

I have the same problem with connection to local MQTT broker, although other clients connects properly.
The logs are
[I][mqtt_messaging.cpp:249] mqtt_event_handler(): MQTT_EVENT_DISCONNECTED
[I][mqtt_messaging.cpp:462] mqtt_event_handler(): Other event id:7
E (164519) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128
[I][mqtt_messaging.cpp:459] mqtt_event_handler(): MQTT_EVENT_ERROR
E (164521) MQTT_CLIENT: esp_mqtt_connect: mqtt_message_receive() returned -1
E (164528) MQTT_CLIENT: MQTT connect failed
[I][mqtt_messaging.cpp:249] mqtt_event_handler(): MQTT_EVENT_DISCONNECTED
[I][mqtt_messaging.cpp:462] mqtt_event_handler(): Other event id:7
E (174563) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128
[I][mqtt_messaging.cpp:459] mqtt_event_handler(): MQTT_EVENT_ERROR
E (174566) MQTT_CLIENT: esp_mqtt_connect: mqtt_message_receive() returned -1
E (174573) MQTT_CLIENT: MQTT connect failed

I tried to tweak MQTT version, change host or server address format (it's IP-address), with config, delay between connect with WiFi and connect to MQTT but it didn't make any effect. But once per 100 it can connect to MQTT. ESP-IDF version is v3.3.5-1-g85c43024c, used from ESP32-Arduino

I had a similar behavior which was caused by a subscribe to a topic which contained invalid characters:
topic=þÿÿÿp)<\b>@#<\r><6>mytopic/commands/reported
Log at esp32:
[0;32mI (3699) MQTT: Other event id:7[0m
[0;32mI (3819) MQTT: MQTT_EVENT_CONNECTED[0m
[0;32mI (8839) MQTT: Handling motor info update[0m
[0;32mI (8849) MQTT: subscribing to mqtt command topic, topic=þÿÿÿp)<\b>@#<\r><6>mytopic/commands/reported[0m
[0;32mI (8859) MQTT: sent subscribe successful, msg_id=47155[0m
[0;31mE (8899) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128[0m
[0;32mI (8899) MQTT: MQTT_EVENT_ERROR[0m
[0;31mE (8899) MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1[0m
[0;32mI (8909) MQTT: MQTT_EVENT_DISCONNECTED[0m
[0;33mW (17839) MQTT_CLIENT: Publish: Losing qos0 data when client not connected[0m
[0;33mW (21839) MQTT_CLIENT: Publish: Losing qos0 data when client not connected[0m
[0;32mI (23909) MQTT: Other event id:7[0m
[0;32mI (23979) MQTT: MQTT_EVENT_CONNECTED[0m
[0;31mE (25009) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128[0m
[0;32mI (25019) MQTT: MQTT_EVENT_ERROR[0m
[0;31mE (25019) MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1[0m
[0;32mI (25029) MQTT: MQTT_EVENT_DISCONNECTED[0m
[0;33mW (25839) MQTT_CLIENT: Publish: Losing qos0 data when client not connected[0m
[0;33mW (29839) MQTT_CLIENT: Publish: Losing qos0 data when client not connected[0m
[0;33mW (33839) MQTT_CLIENT: Publish: Losing qos0 data when client not connected[0m
[0;33mW (37839) MQTT_CLIENT: Publish: Losing qos0 data when client not connected[0m
[0;32mI (40029) MQTT: Other event id:7[0m
[0;32mI (40159) MQTT: MQTT_EVENT_CONNECTED[0m

Broker was Mosquitto 2.0.14
I am not sure if the problem is the invalid topic or the timing to the CONNACK request from the server. After several connection retries the connection is working:

You could try to disable the subscribe request in the esp software to check if the situation gets better.

Hello  I also facing same problem when I try to connect with Azure IoT hub please help me Guys..
My log messages are as follows:
(14:42:20.717) [0;32mI (2081) Azure_IoT: STARTING MQTT
(14:42:20.717) [0m
(14:42:20.717) [0;32mI (2081) Azure_IoT: Other event id:7[0m
(14:42:20.843) [0;31mE (2221) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128[0m
(14:42:20.875) [0;32mI (2221) Azure_IoT: MQTT_EVENT_ERROR
(14:42:20.875) [0m
(14:42:20.875) [0;31mE (2231) MQTT_CLIENT: esp_mqtt_connect: mqtt_message_receive() returned -1[0m
(14:42:20.875) [0;31mE (2231) MQTT_CLIENT: MQTT connect failed[0m
(14:42:20.875) [0;32mI (2241) Azure_IoT: MQTT_EVENT_DISCONNECTED
Please help me Guys

For anyone wondering, usually this tipe of error:
E (6912) esp-tls-mbedtls: read error :-0x004C: E (6912) transport_base: esp_tls_conn_read error, errno=Socket is not connected E (6912) mqtt_client: esp_mqtt_handle_transport_read_error: transport_read() error: errno=128
Occurs when the MQTT broker, closes the conection, meaning that maybe your code is not wrong, (certificate problems are addressed in other form).
In my case, it was that the Policy on AWS IoT Core was blocking the device, check the Policy of the Cloud you are using, or your broker related firewall and make a less strict policy (for amazon aws is arn:aws:iot:eu-west-1:XXXXXXXXXXXX:*) witch helped me figuring out what was the problem.
Hope it helps someone, it was the only post i found.


ModuleNotFoundError: No module named 'gym.monitoring'

Module gym.monitoring required by baselines/deepq/experiments/atari/enjoy.py is not present in gym[all] package.

How to fix this problem? Thanks.

Even i am also facing the same issue has any one figured out the solution?

Yes. Get drunk, and it'll be much easier.
On Fri, 20 Jul 2018, 22:16 Dinesh Kumar Amara<EMAIL_ADDRESS>wrote:

Even i am also facing the same issue has any one figured out the solution?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openai/baselines/issues/288#issuecomment-406701400,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQC6A3A6XegnT6i-pk-VIcXAGoDC-oDOks5uIiyFgaJpZM4SEA5I
.

Maybe you can try
https://github.com/lerrel/gym-adv/tree/master/gym/monitoring

Maybe you can try
https://github.com/lerrel/gym-adv/tree/master/gym/monitoring
copy the fold and make it a module to be called later on.

how to do?

Maybe you can try
https://github.com/lerrel/gym-adv/tree/master/gym/monitoring
copy the fold and make it a module to be called later on.

how to do?

Simply, replace the file with https://github.com/lerrel/gym-adv/tree/master/gym/monitoring

I came across this problem too. My solution is changing the version of gym to an older one.  I use  pip install "gym==0.9.4" to solve this problems. Good luck~

According to https://github.com/openai/gym/releases/tag/v0.9.6
Developer had Moved gym/monitoring to gym/wrappers/monitoring
So for your code you could just change to gym.wrappers.monitoring

ModuleNotFoundError: No module named 'gymnasium.wrappers.monitoring
Please help me solve this error


Tweak raw io docs

I changed the wording about ambiguity of channel_indexes because saying 'not ambiguous' in this sentence threw me for a while. Finally figured out that what is meant is that using the indexes is unambiguous or unique to a channel.
Also added comments regarding restrictions on sets of channels being used in RawIO functions, both in the BaseRawIO source code and the documentation.

Hi Peter. Change for rawio doc looks goods.
I don't anderstand why there is so much commit and history for this PR.
Is it build by inadvertence on top of another branch  ?

Hi Peter. Change for rawio doc looks goods.
I don't anderstand why there is so much commit and history for this PR.
Is it build by inadvertence on top of another branch  ?

This was a branch started some time ago. If you prefer, I can cherry-pick the commits onto a new branch from the current master.

This was a branch started some time ago. If you prefer, I can cherry-pick the commits onto a new branch from the current master.

Created PR #929 to replace this PR with the same changes in a shorter history. Closing this now.

Created PR #929 to replace this PR with the same changes in a shorter history. Closing this now.


Another attempt at adding explanations to resources

I just merged the fork of @jramos #196 with the current master. The tests seem to all be fine.
This should cover #186.

this looks in good shape and is something I was looking to add as well! Thanks!

This looks good. Thanks!


Investigate the use of Open Cluster Management to replace ACM for the upstream use case

We started focusing on Red Hat Advanced Cluster Management for managing the edge use case but long term we want to support ODH integration with the upstream Open Cluster Management project that ACM is based on.
The goal is to ensure that the Open Cluster Management deployment in each of these use cases has 1:1 feature parity to downstream ACM

I think this is a low priority until we have the opportunity to contribute a feature of fix that will eventually make it into ACM

OCM seems to assume generic Kubernetes: https://open-cluster-management.io/getting-started/installation/start-the-control-plane/
Is the intent here to do the PoC on Kubernetes instead of OpenShift?

Closing this to track any future work in [RHOAIENG-2087](https://issues.redhat.com/browse/RHOAIENG-2087]


Yielding fetch json loses reference to the responses this and causes an error

The following code throws an error:
const res = yield call(fetch, 'some-url')
const json = yield call(res.json)
// TypeError: Cannot read property 'text' of null

I need to bind the json function back to res to make it work
const res = yield call(fetch, 'some-url')
const json = yield call(res.json.bind(res))

Is this expected? I'm using React Native.

It is expected, its just how javascript works and there is nothing we can do about here, we provide a special way of using call for this use case though. You can do this:
const res = yield call(fetch, 'some-url')
const json = yield call([res, 'json']) // or yield call([res, res.json])

Aha thanks! Good to know - I could have just checked the docs more carefully. My b.

Hello,
You can use apply as well.
const data = yield apply(res, res.json);


classification exports: any way to have subject ID passed differently?

In the classification export files, is there any chance of getting the subject data JSON to be like:
{"subject_id":1234567, "retired":{[stuff]}, "owner_given_data1":"value1"...}
instead of
{"1234567":{"retired":{[stuff]}, "owner_given_data1":"value1"...}}
if possible? This structure makes it more difficult (and also slower in the otherwise-very-fast framework I'm using to analyse classifications, pandas in python) to extract subject data out of the classifications, because I first have to extract the top-level key from the dict before I can access any of the data in it, and thus far the only way I've found to get to the data is to use a for loop, which is slow in python.
As an alternative I'm open to hearing about ways I can do this more quickly in pandas... but I thought I'd throw this out there. Are others having this issue too? @mkosmala @aliburchard @mschwamb @khufkens et al? I know we shouldn't change the export structure lightly, but I think it's worth discussing...

I haven't been writing code that needs speed (yet), and am all for making the data structure easier to use. Seems like "subject_id":1234567 is more canonical JSON anyway. I can't think of a reason the current implementation would be more generally useful. I might have to tweak a couple scripts to accept the new format, but am happy to do so.

I'm not processing bulk data yet so this is doesn't apply to me. However, a
strict JSON implementation would be favoured.
Cheers,
K
On 19 January 2016 at 17:26, Margaret Kosmala<EMAIL_ADDRESS>wrote:

I haven't been writing code that needs speed (yet), and am all for making
the data structure easier to use. Seems like "subject_id":1234567 is more
canonical JSON anyway. I can't think of a reason the current implementation
would be more generally useful. I might have to tweak a couple scripts to
accept the new format, but am happy to do so.
—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/Panoptes/issues/1637#issuecomment-172906707
.

--
Dr. Koen Hufkens
Harvard University
Department of Organismic & Evolutionary Biology
Richardson Lab http://www.oeb.harvard.edu/faculty/richardson/
@koen_hufkens - www.khufkens.com
Find the Rhythm of Tropical Trees - www.junglerhythms.org

I still haven't fully tackled the JSON obstacle, so haven't really had to deal with this yet, but would be in favor of a consistent structure.

The current format is valid JSON for reference 1 big object vs an array of individual objects. We can modify the exports to be an array of objects instead of the current subject id attribute data value, code here for ref.
Just for reference, projects may have multiple subjects per classification, I am pretty sure we only have 1 project that uses this all the others are 1 subject per classification.
Brooke how will changing to an array of unique JSON objects be easier/faster than 1 object with each subject subject identified by the attribute key? I assume you'll still have to loop over the array? That said we can probably be smarter about the formatting (i.e. switch between array / object based on subject data).

Will this problem be solved by moving to a straight csv format as per #1553?

csv flat files would work even better for me. In R JSON still is a jungle.
On 20 January 2016 at 11:20, Campbell Allen<EMAIL_ADDRESS>wrote:

Will this problem be solved by moving to a straight csv format as per
#1553 https://github.com/zooniverse/Panoptes/pull/1553?
—
Reply to this email directly or view it on GitHub
https://github.com/zooniverse/Panoptes/issues/1637#issuecomment-173160886
.

--
Dr. Koen Hufkens
Harvard University
Department of Organismic & Evolutionary Biology
Richardson Lab http://www.oeb.harvard.edu/faculty/richardson/
@koen_hufkens - www.khufkens.com
Find the Rhythm of Tropical Trees - www.junglerhythms.org

Indeed, R doesn't have viable JSON support (even though technically you can read it in, it's pretty pointless to do). #1553 would certainly solve the issue -- but what's the timeline for implementing that?

@aliburchard have you checked this one out? https://cran.r-project.org/web/packages/jsonlite/index.html. Looks like it was released late last year, 2015-11-28.

I think a flattened csv would definitely solve all of this - I was assuming the timeline for that was long enough for an interim solution (if it's quick) to be useful!
You're right that I still currently have to use a for loop to parse things from all the JSONs:
classifications['meta_json'] = [json.loads(q) for q in classifications.metadata]
but while those aren't exactly fast, the direct method that I can then use to extract individual columns as needed:
classifications['started_at_str']  = [q['started_at']  for q in classifications.meta_json]
is much faster than what I have to do to extract subject data, e.g.:
classifications['subject_json'] = [json.loads(q) for q in classifications.subject_data]
# stringifying the key appears necessary but then adds all these extra characters
classifications['subject_id'] = [str(q.keys()).replace("dict_keys(['", "").replace("'])", '') for q in classifications.subject_json]
# separate gold-standard from regular subjects
classifications['subject_type'] = [get_subject_type(q) for q in classifications['subject_id subject_json'.split()].iterrows()]
The last line is a bit different because you have to iterate through a pandas dataframe differently if you're operating on multiple columns at a time, which is needed if I have to pass the subject ID separately from the JSON; even if I can work around that I have to write a function to deal with it and all of this is much slower (in addition to being a third loop that wasn't needed with the metadata JSON extraction).
Of course, I am perfectly willing to admit that I was writing this all fairly quickly in the pre-Stargazing buildup, so there is probably a more efficient way! But the difference in structure between the subject data and the other JSONs in the export really stood out for me.

I'm not sure I understand why you're turning the dict into a string. Wouldn't parsing these just be a case of doing something like:
# row = (a list from csv.reader.next())
subject_dict = json.loads(row[-1])
for subject_id, subject_data in subject_dict.items():
   ...

Or am I missing something?
Also, as a side note if you're not already using ujson you'll probably get a big speed boost from switching to that.

@camallen yeah -  the issue is that all R-JSON packages (including the one above) convert the JSON to R objects (lists, arrays, etc) instead of actually maintaining the JSON itself. And since our JSON blobs are pretty complex, that turns into lists embedded in lists embedded in lists in R, which is just really hard to work with.

@astopy I've been using pandas.read_csv() to read the classification exports, which reads the json columns as strings that I then parse via json.loads. For the end goal of my script pandas is much faster than other methods I've tried - actually the whole of weighting and aggregating takes about the same amount of time as parsing the various columns with these loops. I will definitely look into ujson! Thanks.
The more I think about it the more I'm certain there's a way to streamline this process - so perhaps this is more theoretical than I'd previously thought, and just comes down to a question of why the subject data is exported in a different way than the other data...

I just spoke to the Comet Hunters PI and he sends the output from the Talk output (which is in json) through an online json to csv converter and then looks at it excel. He took a look at the csv from the classifications and couldn't understand it because of the json format, and so I do think having a flattened csv would be better option for many science teams. Currently it is now my job will be to parse the classification data dump into flattened csv format.


"Predict next release time" defaults to one week on very infrequent releases

Steps to reproduce
Enable release prediction
Find a comic that has not been updated in over ~9 months or been marked completed.
Add it to your library.
Expected behavior
It should check for updates once per month, as it does with entries that have been active 1-9 months, or even more rarely.
Actual behavior
It checks for updates weekly.
Crash logs
No response
Mihon version
0.16.3
Android version
Android 14 (GrapheneOS)
Device
Pixel Tablet
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have gone through the FAQ and troubleshooting guide.
[X] I have updated the app to version 0.16.3.
[X] I have updated all installed extensions.
[X] I will fill out all of the requested information in this form.

Potential solution I am working on: If its too long, use the maximum time between updates instead?

There is already a cap of 28 days on the interval size


Cannot build application in Tabris 3

Log from console:
[./] Copying Cordova files to build/cordova ...
[./] Copying JavaScript files to build\cordova\www\app ...
[build\cordova\www\app] npm install --production
added 1 package and audited 52 packages in 1.694s
found 0 vulnerabilities

[./] Replacing variables in config.xml...
[./] Downloading android platform version 3.0.0-dev.20180915...
Unable to download platform: Unexpected status code 404

Online build doesn't work either.
App uses incompatible tabris version: 3.0.0-dev.20180915, 2.x.x required.

But

I don't know if the Cordova platforms are available for the 3.0.0 nightlies.  Local build should work fine for 3.0.0-beta1 as the platforms are available for download.
The error for the online build is misworded (3.0.x is supported), but will fail for the same reason.  If you select latest then it will use the version you specified in your package.json.
In either case, try 3.0.0-beta1 in package.json

@fax1ty Please try to use "tabris": "3.0.0-beta1" in your package.json. That should work for a local build.
Don't use the versions string beginning with the ^. Please make sure you downgrade your tabris dependency correctly from the nightly version to 3.0.0-beta1.
Currently our build service at https://tabris.com does NOT yet support 3.x builds. We are working on that.

Had the same issue, modified package.json, removed node_modules and did npm i again. But why is the tabris-cli (installed version 3.0.0-beta1) referring to that old library versions? I just did tabris init without any further modifications and ran into the error.

@cremfert

Are you trying to do a local build or do you want to build on the build service?
What do you mean by "referring to that old library versions"?
"I just did tabris init without any further modifications and ran into the error." To which errors exactly are you referring here?

I'm trying to do a local build. I installed Tabris 3 as mentioned on the webpage by running npm install<EMAIL_ADDRESS>-g. Afterwards, I just called tabris init and then - without further modifications - tabris build ios. Now the CLI tries to download the IOS platform, but fails with a "404 not found" error unless I modify the package.json, delete node_modules and run npm i again. For a complete newbie in Tabris as I am, this feels a little bit unstable (although I know it's a beta).

What was the version of the tabris dependency that didn't work, and the one that did?

@cremfert We looked into this and can reproduce it. I opened a new bug in tabris-js-cli project. We already fixed it for the upcoming 3.0.0-beta2 release.
In the mean time please work around this issue by updating the package.json manually after tabris init.

I have the same problem i can't build online

Any progress?

Hi @ishigo1987 and @fax1ty.
Local build of Tabris apps agains 3.0.0-beta2 work as expected, BUT you have to take care about some aspects.

Your project's package.json has to pin the tabris version like this: "tabris": "3.0.0-beta1" Do not use the ^ in front of the tabris version in your package.json as long as you use a beta release.
You have to have a globally installed tabris-cli corresponding to the version of tabris that you specified in your package.json. npm i -g<EMAIL_ADDRESS>You must not use npm  audit fix when you see

found 4 vulnerabilities (1 low, 1 moderate, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details

after you installed the tabris-cli globally!
4. Now a local Android build works as expected like this tabris build android
Please confirm that you can execute a local build like this. Thanks for your feedback!

i'm not using local build
Online build work great?

We are currently fixing the build service to support 3.0.0-beta2 builds for Android properly.

thank you

@ishigo1987 the build service does support Tabris 3.0.0-beta2 builds for Android and iOS now.
Please confirm that it works for you and feel free to close this issue if it does.

@jonek i will try a build tomorrow and i will let you know

@jonek:

using "tabris": "^3.0.0-beta2" in my .json file (tabris init v3 beta 2 defaults ), the cloud build failed in the same, trying to push v2 dependencies
using "tabris": "3.0.0-beta1" The build failed like this in the end:
`Running "tabris_cli_build" task
Running "shell:tabris_cli_android_build" (shell) task
[./] npm run --if-present build:android
[./] npm run --if-present build

@ build /home/travis/build/eclipsesource/tabris-js-build-template/build
tsc -p .
src/app.tsx(1,46): error TS2305: Module '"../node_modules/tabris/tabris"' has no exported member 'contentView'.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ build: tsc -p .
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  Exit status 2
npm ERR!
npm ERR! Failed at the @ build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!
Aborted due to warnings.
travis_time:end:0add405a:start=1553666360264247185,finish=1553666366287740448,duration=6023493263
The command "grunt build deploy" exited with 6.
Done. Your build exited with 1.`

the error is fixable using ui.contentView instead, I think, but it's strange to generate a blank project with tabris-cli and not build on cloud for newcomers. If v3 beta2 will have a short life until the final release, is not big deal anyway.

tabris 3 rc-1
hooray!

Also

@fax1ty Could you try to tabris clean?

@fax1ty Could you try to tabris clean?

The same

I presume it does work in the tabris.com build service?

The only way to connect is doing it via external IP

This sounds more like a network issue.  Does http://<IP_ADDRESS>:8080/package.json work in a browser on the same device?

The only way to connect is doing it via external IP

I fixed this issue, but how about building?

@fax1ty Does it work on the Tabris.js build service online?

@fax1ty Does it work on the Tabris.js build service online?

nope

Well, I just initialized new app in 3.0.1. I tried to build it locally. Failure.

Then I tried to build it with Cloud Build Service. Doesn't it support version 3.0 yet?

App uses incompatible tabris version: 3.0.0, 2.x.x required.

3.0.1 is not out yet. A release is generally available as soon as we announce it on the tabris.com blog.

But I can't build locally in 3.0.0 too

in the online build?

in the online build?

I just tried to build a test blank app and it was successfully built.
Oh, how I can see, everything is fine with 3.0.0 in the Cloud. I will try to build the main app.
(P.S. But I still can't build locally)

Ohhh, yeah, I got a new error message.

Also, I can't specify Android SDK version in Cloud Build. It is always 25 even if I use the android-targetSdkVersion flag
<preference name="android-targetSdkVersion" value="27" />

One of my plugins requires SDK 27. This causes the build to fail.

The error message is correct in regards to the license agreement. You can either accept it in android studio or follow eg https://stackoverflow.com/questions/38096225/automatically-accept-all-sdk-licences

It's in your cloud build not on my own machine

Thanks for the info. Btw, the Android SDK Tools Version is not the same as the android target SDK verision. None the less the issue is valid of course.

@fax1ty Your build problems should be resolved in our online build service now.
Please trigger your build again.
Feel free to re-open this issue if you run into problems again.

The same with 3.1 (

(All specified files exist in the specified paths)

@fax1ty You screenshot seems to indicate that you got this error when doing a local build.
Did you have any problems build at our online build service?

Online build work as expected perfectly, but what with local builds? From time to time I need to build something locally. Any thoughts?

@fax1ty
Can you post (and possibly update) your npm, node and tabris-cli versions?
npm --version
node --version
tabris --version

Latest versions:
Node:

NPM:

Tabris:

I don't think that problem in minor NPM update but.... I can update it if you want

@fax1ty Your Tabris CLI cache might be broken, could you try deleting the C:\Users\fax1ty\.tabris-cli folder?

@cpetrov done, but nothing new except requesting building key


Make content-audit-tool use pgbouncer in AWS

I'll test this on integration when jenkins is a bit less broken.

Trello card

And I can see in the pgbouncer logs that content-audit-tool is connecting to it.


Browser logging

I realize that this package is aimed at RUM, but I can't find any other SemaText libraries that even target browser environments so I figure I might as well ask here.  I would like to instrument our front-end application in such a way that I can send logs from various parts of the application.  How would someone send logs from a web worker, a React error boundary, or uncaught exceptions into SemaText?  Does this library have that capability?  Is there some other library that is recommended for this that I just haven't been able to find?

For anyone who stumbled upon this, check out https://github.com/sematext/sematext-js-console-logger.  Thanks so much to @otisg for such a fast reply and solution!


Support virtual workspaces

👋 Hi there, Martin here, from the VS Code team.
Recently we've announced the Remote Repository feature that lets you browse and edit files and folders directly on GitHub.
Open Remote Repository... opens VSCode on a folder or workspace located on a virtual file system. We call this a virtual workspace. We observed that not all extension support this well, either because they can not, or they haven't thought about it.
It would be fantastic if you could test whether your extension can handle virtual workspaces:
Check out the Virtual Workspaces Extension Author Guide on how to do that.
When done, set the new virtualWorkspaces capability in your 'package.json'.
{
  "capabilities": {
    "virtualWorkspaces": true | false
  }
}

Use "virtualWorkspaces": true if your extension is prepared for virtual workspaces
Use "virtualWorkspaces": false if your extension should be disabled when a virtual workspace is opened

For questions and comments please use the Virtual Workspaces Tracking Issue.
Thanks for the support and the great work! ❤

Yes, please add support for this feature!
I just installed https://marketplace.visualstudio.com/items?itemName=github.remotehub to test this out, but the AL Language Extension is throwing errors as crazy :)
To start with, at least implement "Go to definition". That would help a lot when browsing an AL remote repo.


SOSP '21 | HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVM

Presented in SOSP '21. [ Paper | Video | Code ]
Authors:
Amanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez, Simon Peter
The University of Texas at Austin, Microsoft

Some concepts

Tiered Memory Management (i.e., hybrid DRAM-NVM architecture)

Existing problems

Hardware tiered memory management systems (i.e., Application <=> Hardware Tiered Memory directly includes DRAM and NVM)

Adv.

No OS support needed
Low overhead

Disadv.

No visibility into apps
Limited to simple management techniques

Existing software-based memory management systems (i.e., Application <=> OS/Library Tiered Memory => DRAM or NVM)

Adv.

Benefit from the access patterns
Support complex policies

Disadv.

Only evaulate on emulated NVM (HeteroOS, Nimble Page Management)

Current methods cannot scale due to page table overheads (so there indicates this work will adopt another metric?)
No support for asymmetric read/write bandwidth (but why these previous work don't consider this?)
Limited flexibility (it is so subjective)

Question: How to maximize the performance of big data applications on real NVM?
Key motivation
TBD
Main Contributions
TBD
Related work

Intel Optane DC Persistent Memory. http://www.intel.com/optanedcpersistentmemory.
userfaultfd: write protection support. https://patchwork.kernel.org/cover/11005675/.
userfaultfd(2). http://man7.org/linux/man-pages/man2/userfaultfd.2.html.
Direct Access for files. https://www.kernel.org/doc/Documentation/filesystems/dax.txt.
Sudarsun Kannan, Ada Gavrilovska, Vishal Gupta, and Karsten Schwan. 2017. HeteroOS: OS Design for Heterogeneous Memory Management in Datacenter. In Proceedings of the 44th Annual International Sympo- sium on Computer Architecture (ISCA ’17). Association for Computing Machinery. https://doi.org/10.1145/3079856.3080245
Zi Yan, Daniel Lustig, David Nellans, and Abhishek Bhattacharjee. 2019. Nimble Page Management for Tiered Memory Systems. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’19). Association for Computing Machinery. https://doi.org/10.1145/3297858.3304024


Fixed #28889 -- Use JS to prevent double submission of admin forms (disable buttons)

This is the "disable submit buttons" approach for ticket
"You already submitted (alert)" approach
We added three tests:

Buttons are disabled after click save
Submit and go back
Double click won't create multiple objects

You can run them doing:
./runtests.py admin_views.test_prevent_double_submission.SeleniumTests --selenium=chrome
./runtests.py admin_views.test_prevent_double_submission.SeleniumTests --selenium=firefox

@adamchainz Sorry to bother you! But is there anything I can do to push this forward?

I am kinda waiting for opinions from the others who reviewed the original PR. Perhaps try commenting there. Emails can get buried with the new year.

Btw looking again at this approach - it could make sense to re-enable the buttons after a timeout (3 seconds? 10 seconds?) to allow them to work even when the page fails to load / the user cancels navigation... But otherwise I think it's pretty solid.

Thanks for the answer!
Regarding the timeout: I wonder what would happen if the request takes longer than the set timeout, i.e. the buttons would be enabled but the request is not finished yet.
After reading again the @thibaudcolas comment and yours in the first approach I would say don't manage cancel or network errors

@mgaligniana Thanks for the work here. I've commented on #15217 — which I think we should proceed with. I've just asked to check if there's a consensus there for that.
I'll close this for now, assuming that — we can always reopen if the discussion leans to this approach.
🏅


Add a "today" or "this week" badge on upcoming events

When viewing the upcoming events at https://vlctechhub.org/ it would be nice to quickly spot the events happening today or in the current week so users can quickly organize their evenings for the week.
We have a design for the badges, they should appear similar to this:

Today badge copy: Hoy
This week badge copy: Esta semana
Note: There are some events that the avatar image is the same color as the badge (defined in https://github.com/VLCTechHub/VLCTechHub-site/blob/master/data/assets/css/abstract/_variables.scss#L6) In the case the event is an event with twitter.hashtag instead of twitter.handle we can switch the colors of the badge (color -> background-color, background-color -> color)...or leave this scenario out of scope in the pull request.

Shipped! :tada:


Misparsing SOTC speaker names

Moving discussion from PolyglotDB.
Using the fix suggested in the previous thread goes some way to solving the problem - namely that that speaker's are no longer being parsed as the name of their parent directory. It creates another (in some ways opposite) problem that @mmcauliffe was alluding too: namely that the extensions beyond the speaker code is being occasionally interpreted as its own speaker, but not uniformly. What this means is that you end up with multiple version of the same speaker, with one containing the extra extension, e.g 90-O-f04 and 90-O-f04-mlay, as well as mlay being their own speaker. I've been able to hack this by stripping the name out and remerging the speaker metadata back into it, but it's not a real solution.
I agree with @msonderegger's idea of restructuring the corpus to be a one-speaker per directory, with the speaker name as the title, which means you can use the Directory parser. The only potential issue is how to deal with conversations containing multiple speakers.

to repeat point said in scrum: it would make sense for the same speaker's name to be standardized across textgrids in the corpus, in the repo version. Hopefully DG (Glasgow ppl) can do this?

This means only having filenames of the form e.g., 90-Y-f04.TextGrid, not having the extra extension, right?

Yes
On Thu, Mar 14, 2019 at 4:07 PM James Tanner<EMAIL_ADDRESS>wrote:

This means only having filenames of the form e.g., 90-Y-f04.TextGrid, not
having the extra extension, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MontrealCorpusTools/SPADE/issues/18#issuecomment-472908144,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwu0Y6EpgpMg81qlrJU8jwLA-u2KeXqks5vWmWvgaJpZM4br6Gt
.

--
Morgan

I would first double check with Rachel/Jane that we are right that this
doesn’t affect speaker identity, but if you’re sure, go ahead
On Thu, Mar 14, 2019 at 4:47 PM morgan sonderegger <
<EMAIL_ADDRESS>wrote:

Yes
On Thu, Mar 14, 2019 at 4:07 PM James Tanner<EMAIL_ADDRESS>wrote:

This means only having filenames of the form e.g., 90-Y-f04.TextGrid,
not having the extra extension, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MontrealCorpusTools/SPADE/issues/18#issuecomment-472908144,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwu0Y6EpgpMg81qlrJU8jwLA-u2KeXqks5vWmWvgaJpZM4br6Gt
.

--
Morgan

--
Morgan

@james-tanner what's the status of this?

They are being parsed & exported using the filename including the interviewer suffix, e.g.,:
00-M-f01-medi
00-M-f02-medi
70-M-f07
70-mc-O-m01-mlay

So we can close this issue?

Well this fixes the problems of nonsense speakers (e.g., mlay being their own speaker), but ideally these interviewer suffixes shouldn't be in the speaker name as it means they can't be enriched with speaker information (which looks for the suffix-less version of the speaker name).

Now that all of the speakers are in their own directory, would it not make sense to change the LaBB-Cat parser to use directory names (instead of filenames as is currently the case)?

Confirming this as fixed is currently blocked by this issue. Once that is fixed I can confirm whether this is also been resolved.

Imported successfully on Oka with correct speaker names. Closing.

Great! at last.


Position Adding option , Font Size Option

Hello there @luthraG . I really liked your work. I was looking for something like that. its a great package. :+1:
It seems , I also needed few things with it . So I added those options. And I noticed you also have few Issues regarding these options open right now. So I thought lets make a PR for that.
Here are the changes mostly I made:

From now on user can specify position for the watermark text.
From now on user can specify font size for the watermark text . And if not then it will be auto generated as before.
I also updated the README.MD file accordingly .

Please let me know about your thoughts.

Awesome :smile: .... Thanks

These changes are still not updated to the library.

ask @luthraG . He has to merge it.

@luthraG Just reinstalled on node but still not updated the library so might forget to update the repo there. Pls also share the supported font list. I have tried many but found working only Arial and Courier by following method. May i missing something!!
'font' :'Arial',
or
'font' :'Courier',


Switch to the PyData Sphinx theme

I find this theme a bit easier to navigate and also easier on the eyes. But I guess it boils down to personal preference. Have a look at it yourselves.
https://pyfar--545.org.readthedocs.build/en/545/

+1 for PyData Sphinx theme

I'll include and adapt to the gallery's configuration, once https://github.com/pyfar/gallery/pull/29 is finalised and ready to be merged.

replaced by #560


Remove public extensions from Swift standard library & Foundation types

Describe the feature
Swift allows the developer to extend types with new functionality.  This includes Swift's built-in standard library and Foundation types.  This technique is often used to produce easy-to-read code.
However, when these extensions are exposed publicly, this can also cause confusion.  Extended methods will "leak" into whatever context the enclosing module is imported into.
To prevent this, we should audit our type extensions to ensure that they are not exposed publicly, and create an alternative where needed.
Use Case
To minimize the leakage of extensions to Swift standard library & Foundation types.
Proposed Solution
No response
Other Information
No response
Acknowledgements

[ ] I may be able to implement this feature request
[ ] This feature might incur a breaking change

Moved to 2155


ProjectReunion Break : Simple app with color picker leads to crash in UWP and also Desktop

Describe the bug
Simple app with color picker leads to crash with ProjectReunion in UWP Desktop. Same works fine with WinUI3 Preview4.
Steps to reproduce the bug
colorpicker-projectreunion.zip

Run the attached sample it will leads to exception.

Expected behavior
App should run without any exception.
Screenshots

Below exception occurred in Desktop,
App6.exe has triggered a breakpoint.
Version Info

0.5.0-prerelease

NuGet package version:

0.5.0-prerelease

Additional context
Using flaggable enum in XAML leads to crash in ProjectReunion in our custom control. To check the same in color picker which has ColorSpectrumComponents  flaggable enum property.  But it leads to exception when not setting this property also.
Code:
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">     <Button x:Name="myButton" Click="myButton_Click">Click Me</Button>     <ColorPicker x:Name="myColorPicker"/> </StackPanel>
https://github.com/microsoft/ProjectReunion/issues/599

I don't repro the issue, even when trying the attached repro app running on the 0.5.0-prerelease. Do you still repro the issue? Are there any extra steps to hit the issue?

Closing as not reproing. Please reactivate with more info if you still see this.


how does it work?

It would have been nice if u explained how did u reduce load times what does mod do?

Serious answer: the code is right there, and there's even a detailed comment in the code explaining how it works.


prepare for interface changes with gdal 3.10

Preparing to add new gdal Error and ClearErr of "interface" VSIVirtualHandle used in godal, for future gdal 3.10 version.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3545

Relevant Lines:
3599

💛  - Coveralls


#231: use import for Big Query

We are not adding this for the moment since key configuration is too complicated from a user's perspective at the moment. We will pick that topic up again with the NG architecture since that considerably simplifies key file handling.


Add maniphest.search support

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@spastukhov Thank you for this PR!


luci-app-p910nd: convert to JS

Simple p910nd printer management, and some level of automation that detects whether the typically necessary kmods are installed, and if not provides quick links to install those.
This effectively replaces the old LUA version.
Feedback welcome - there may be some slightly better ways of doing things like opkg processes and the NamedSection.
Tested on: 21.02.1, 22.03.6, 23.05.2

[x] This PR is not from my main or master branch :poop:, but a separate branch :white_check_mark:
[X] Each commit has a valid :black_nib: Signed-off-by<EMAIL_ADDRESS>row (via git commit --signoff)
[X] Each commit and PR title has a valid :memo: <package name>: title first line subject for packages
[X] Tested on: (architecture, openwrt version, browser) :white_check_mark:
[X] ( Preferred ) Screenshot or mp4 of changes:
[X] Description: (describe the changes proposed in this PR)

Hi @systemcrash
While this did the conversion from lua to JS, it didn't drop the now superfluous(?) dependency on luci-compat from applications/luci-app-p910nd/Makefile. A very quick review and superficial test suggests that luci-app-p910nd now does work fine on a system without luaand luci-compat, so the dependency can just be dropped .
Disclaimer: I only (successfully) went through the luci menus for p910nd and couldn't actually test it with a printer, yet (I still need luci-compat on my production routers for ddns).
--- a/applications/luci-app-p910nd/Makefile
+++ b/applications/luci-app-p910nd/Makefile
@@ -9,3 +9,3 @@ include $(TOPDIR)/rules.mk
 LUCI_TITLE:=p910nd - Printer server module
-LUCI_DEPENDS:=+luci-base +luci-compat +p910nd
+LUCI_DEPENDS:=+luci-base +p910nd

Well spotted. Fix is in.
I have you covered with the ddns thing. I've just finished converting it to ucode, update is in master/24/23.

Wow, that's great  - seems to work, no lua anymore (after giving the luci-app-ddns Makefile the same dependency treatment) :)
--- a/applications/luci-app-ddns/Makefile
+++ b/applications/luci-app-ddns/Makefile
@@ -14,3 +14,3 @@ PKG_MAINTAINER:=Ansuel Smith<EMAIL_ADDRESS> LUCI_TITLE:=LuCI Support for Dynamic DNS Client (ddns-scripts)
-LUCI_DEPENDS:=+luci-base +luci-lua-runtime +ddns-scripts
+LUCI_DEPENDS:=+luci-base +ddns-scripts


Add stop functionality

[x] Todo: modify cmake to build as library

@mergify backport galactic foxy

This PR should target main branch and be backported to galactic and foxy


Inspect Local Variable Representation

Let's have a look at the following java method:
private void localTest(int parameter1, String parameter2, List<String> parameter3) {
    int local1 = 5;
    System.out.println(local1);
    int local2 = 42;
    System.out.println(local2);
}

The following is the Chasm-Internal representation of said method:

{
	access: 2,
	name: "localTest",
	parameters: [{
			type: "I",
			name: "P0",
		},{
			type: "Ljava/lang/String;",
			name: "P1",
		},{
			type: "Ljava/util/List;",
			name: "P2",
		},],
	returnType: "V",
	signature: "(ILjava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V",
	exceptions: [],
	annotations: [],
	code: {
		instructions: [{
				label: "L0",
			},{
				opcode: 8,
			},{
				opcode: 54,
				var: "V3",
			},{
				label: "L1",
			},{
				opcode: 178,
				owner: "java/lang/System",
				name: "out",
				descriptor: "Ljava/io/PrintStream;",
			},{
				opcode: 21,
				var: "V3",
			},{
				opcode: 182,
				owner: "java/io/PrintStream",
				name: "println",
				descriptor: "(I)V",
				isInterface: false,
			},{
				label: "L2",
			},{
				opcode: 16,
				operand: 42,
			},{
				opcode: 54,
				var: "V12",
			},{
				label: "L3",
			},{
				opcode: 178,
				owner: "java/lang/System",
				name: "out",
				descriptor: "Ljava/io/PrintStream;",
			},{
				opcode: 21,
				var: "V12",
			},{
				opcode: 182,
				owner: "java/io/PrintStream",
				name: "println",
				descriptor: "(I)V",
				isInterface: false,
			},{
				label: "L4",
			},{
				opcode: 177,
			},{
				label: "L5",
			},],
		sourceLocals: [{
				name: "this",
				descriptor: "Lorg/quiltmc/chasm/Main$Inner;",
				signature: null,
				start: "L0",
				end: "L5",
				index: 0,
			},{
				name: "parameter1",
				descriptor: "I",
				signature: null,
				start: "L0",
				end: "L5",
				index: 1,
			},{
				name: "parameter2",
				descriptor: "Ljava/lang/String;",
				signature: null,
				start: "L0",
				end: "L5",
				index: 2,
			},{
				name: "parameter3",
				descriptor: "Ljava/util/List;",
				signature: "Ljava/util/List<Ljava/lang/String;>;",
				start: "L0",
				end: "L5",
				index: 3,
			},{
				name: "local1",
				descriptor: "I",
				signature: null,
				start: "L1",
				end: "L5",
				index: 4,
			},{
				name: "local2",
				descriptor: "I",
				signature: null,
				start: "L3",
				end: "L5",
				index: 5,
			},],
		tryCatchBlocks: [],
		lineNumbers: [{
				line: 23,
				label: "L0",
			},{
				line: 24,
				label: "L1",
			},{
				line: 25,
				label: "L2",
			},{
				line: 26,
				label: "L3",
			},{
				line: 27,
				label: "L4",
			},],
	},
}

First, let's observe:

The local variable analysis assigns V3 as the name for local1
The local variable analysis assigns V12 as the name for local2

However, the debug information provided in sourceLocals is not in any way associated with said locals.
I want to investigate the possibility and usefulness of merging these representations somehow.
One problem is currently that it is very hard to impossible to match a local by it's type, which is very common with mixin.
Another possible problem is duplicate information shared between signature and descriptor.
Please suggest different representations below.

There is a fundamental problem with completely relying on source locals, is that it's only debugging information not required to run the code. I reckon we should use a best-effort attempt to match the source locals with the bytecode local variables, in this case V3 and V12, duplicating source local information where necessary.
We can create a map from bytecode local name to local metadata.
{
   this: {
      descriptor: "Lorg/quiltmc/chasm/Main$Inner;",
      start: "L0",
      end: "L5",
      name: "this",
   },
   P0: {
      descriptor: "I",
      start: "L0",
      end: "L5",
      name: "parameter1",
   },
   P1: {
      descriptor: "Ljava/lang/String;",
      start: "L0",
      end: "L5",
      name: "parameter2",
   },
   P2: {
      descriptor: "Ljava/util/List;",
      signature: "Ljava/util/List<Ljava/lang/String;>;",
      start: "L0",
      end: "L5",
      name: "parameter3",
   },
   V3: {
      descriptor: "I",
      start: "L1",
      end: "L5",
      name: "local1",
   },
   V12: {
      descriptor: "I",
      start: "L3",
      end: "L5",
      name: "local2",
   }
}

The descriptors above can be computed from the local variable information that chasm already computes, and therefore reliable for correctness. The signatures are debug information only, and therefore not reliable for correctness; signatures can be almost arbitrary strings in the JVM, therefore I do not recommend deduplicating them with the descriptor.

So I think we can agree that descriptor is crucial information that shold be available.
I also agree that the signature is effectively optional (and formless). Should we just drop it? Or keep it, just in case some tool wants it?
Are line numbers optional too? I think the point of line numbers is to allow different locals to share the same index. But iirc, this can never happen in Chasm? Should we just omit them?
The main concern I have is with Transformers adding locals. They have to do two things:

Insert instructions referencing a local
Insert the local type into the map you described

Inserting into a map can currently only be done by replacing the entire map. Is this a problem?
We can work around that by using a list, or add official map-slice-indexing to Chasm (though I'm not sure how that would work).
Alternatively, we can drop the requirement that transformers should specify the descriptor. The easiest way to do this would be to recalculate the locals-map after every round. This does however mean, that locals only become visible in the locals map at the end of a round.
A more complicated approach would be to lazy-evaluate map entries (or provide an intrinsic). I'm not sure if this is beneficial from an API perspective, but it could allow to get locals info even during a round.

I don't think we should completely drop debug info, only encourage people not to use it. In other places, the signature can represent the generics of a class or a method, which are actually visible via reflection (although their format is still arbitrary).
As for labels in local variables I'm not sure, maybe they can be dropped.
With transformers adding locals, one other option would be to check that the local variables are well-formed during class writing (conversion back to ASM). This is not the same as class file verification as these locals are not part of the class file format, so therefore is not strictly outside the scope of chasm. But it would force transformers to write to the local type map correctly or else get transformation errors.

Inserting into a map can currently only be done by replacing the entire map. Is this a problem?

Not really. There is already a fairly idiomatic way of adding an entry to a map using the + operator:
m + {foo: "bar"}. This is a trivial case for a chassembly optimizer to convert into mutation.

Alternatively, we can drop the requirement that transformers should specify the descriptor. The easiest way to do this would be to recalculate the locals-map after every round. This does however mean, that locals only become visible in the locals map at the end of a round.
A more complicated approach would be to lazy-evaluate map entries (or provide an intrinsic). I'm not sure if this is beneficial from an API perspective, but it could allow to get locals info even during a round.

The latter approach would bear no behavioural improvement over the former, as an intrinsic returning different outputs with no change to its inputs (in this case no inputs) would be a violation of chassembly's immutability and mess with semantics and the optimizer. What could be done instead is making the local variable information an intrinsic function which takes in a chasm method, which therefore is allowed to return different results if the method changes.

Not really. There is already a fairly idiomatic way of adding an entry to a map using the + operator
No, you misunderstood: It's straightforward in Chassembly, but on a Chasm level, a Target can either be a single node (i.e. the entire map) or a slice into a list (not appliccable to maps).

Mixin also supports targeting by source variable name, which is fairly convenient when mixing into other mods.


SwaggerRequestExample same Request Object overrides previous one

Hello guys,
I'm using Swagger with c#, and here's an issue i'm currently facing, im using -
[SwaggerRequestExample(typeof(RequestType1),typeof(RequestType1Example))] and
[SwaggerRequestExample(typeof(RequestType1),typeof(RequestType2Example))]  on two of my ActionMethods...
Where for example models are:
public class RequestType1{
  public int Id {get;set;}
  public int Name {get;set;}
  public int Surname {get;set;}
}
public class RequestType1Example : IExamplesProvider{
 public object GetExamples()
        {
            return new RequestType1
            {
                  Id = 1,
                  Name = "Test Name"
            }
        }
}

public class RequestType1Example : IExamplesProvider{
 public object GetExamples()
        {
            return new RequestType1
            {
                  Id = 1,
                  Surname = "Test Surname"
            }
        }
}

Problem is that in Swagger UI in both APIs - example is same.
Example Value :
{
  "Id": "1",
  "Surname":"Test Surname"
}

Is there any workaround on this? Or could i specify some kind of attribute to make swagger show different examples for both APIs? Thanks in advance

Hi,
Quick answer - that is a known issue, and is listed under the Known Issues on the Readme.
There could be a workaround for it which I will try to describe later when I get a chance.

Hey @mattfrear, thank you for your quick reply to my question... Also thanks in advance for providing workaround in future :)  Cheers

OK so let me try and describe why this is happening and how to possibly fix it.
If you look at the swagger.json, at the end of the document is /definitions and then each Request object is in there. My filter populates the example property.
Although you are using the same RequestType1 on two actions, there is only one RequestType1 defined in the /definitions thus there's only one example property.
However, there's another property that could be set instead. Each api endpoint is defined in the /paths, and each path has a parameters property, which has a schema, which can have an example property. So I could make some code changes to set this property.

A workaround you could do is to have a different class for each of your request types, e.g.
public class RequestType2 : RequestType1
{
}

@mattfrear Sure I think i'll do that till this known issue is fixed, thank you very much for your time and help once again :)

I've had a crack at setting the paths/parameters/schema/example property I mentioned in my last comment.
Swagger-UI ignores it if there is a /definitions for the given schema object though - Swagger-UI always uses the example defined there, even if there isn't one. The only time it seems to display the paths/parameters/schema/example example is if there is nothing for that schema in the /definitions, which is what happens in my test project with Dictionary<T>.
So although the swagger.json looks correct - i.e. it has two different examples defined for the same RequestType1, only one of the examples is displayed in the Swagger-UI page. Thus, the Known Issue cannot be fixed.
I will leave this change in, because at least the swagger.json looks correct IMO.


Json schema validation does not fail when it should

🐞 Bug report
Command (mark with an x)

[ ] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] xi18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc
[x] schematic

Is this a regression?
No
Description
Schematic schema validation should match json schema documentation. Creating a schematic with a similar schema structure as the example and passing in {street_address: "24 Sussex Drive", country: "Canada", postal_code: "10000"} should fail with error:
"Invalid: data.postal_code should match pattern \"[A-Z][0-9…A-Z] [0-9][A-Z][0-9]\", data should match \"else\" schema"

🔬 Minimal Reproduction

schematics blank --name=hello-world
cd hello-world
npm i
touch src/hello-world/schema.json and copy:{
  "$schema": "http://json-schema.org/schema",
  "id": "hello-world",
  "type": "object",
  "properties": {
    "street_address": {
      "type": "string"
    },
    "country": {
      "enum": ["United States of America", "Canada"]
    }
  },
  "if": {
    "properties": { "country": { "const": "United States of America" } }
  },
  "then": {
    "properties": { "postal_code": { "pattern": "[0-9]{5}(-[0-9]{4})?" } }
  },
  "else": {
    "properties": { "postal_code": { "pattern": "[A-Z][0-9][A-Z] [0-9][A-Z][0-9]" } }
  }
}

npm run build
schematics .:hello-world --street_address "24 Sussex Drive" --country Canada --postal_code 10000

🌍 Your Environment
Angular CLI: 7.3.9
Node: 10.16.3
OS: darwin x64
Angular: undefined
...
Package                      Version
@angular-devkit/architect    0.13.9 (cli-only)
@angular-devkit/core         8.3.19
@angular-devkit/schematics   8.3.19
@schematics/angular          7.3.9 (cli-only)
@schematics/update           0.13.9 (cli-only)
rxjs                         6.4.0
typescript                   3.5.3

Hi @ZachJW34,
The problem seems to be that in your collection.json the schema is not referenced in the collections.json
{
  "$schema"<EMAIL_ADDRESS>  "schematics": {
    "hello-world": {
      "schema": "./hello-world/schema.json",
      "description": "A blank schematic.",
      "factory": "./hello-world/index#helloWorld"
    }
  }
}


Document use of POST rather than PATCH in repo edit

I noticed my typo in post-merge review. Surprisingly following the documentation actually breaks my test. So instead I'm leaving a notice with my findings.

I think this fails to merge with master now. Can you do a quick merge of master?


feat(python-sdk): break WriteAuthorizationModelRequest into smaller pieces in README

Description
Breaking up the WriteAuthorizationModelRequest example in the README into smaller more understandable pieces.
References
openfga/python-sdk#29
Review Checklist

[x] I have clicked on "allow edits by maintainers".
[x] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[x] I have added tests to validate that the change in functionality is working as expected

Thanks for the PR @GMorris-professional! (and sorry for our delay). This change looks good to me, could please sign the CLA so we're able to approve and get it merged

Thanks @ewanharris 🙌 I have signed the CLA. I see a green tick under the checklist for the CLA I'm not sure if the previous comment by EasyCLA should go away or change status.

/easycla


Add a "contact us" section in the README file

Perhaps we can add a sentence in the README file, as I declare that the other foundation-wise repo "apache-website-template" is "maintained by the COMDEV PMC" - https://github.com/apache/apache-website-template?tab=readme-ov-file#contact-us
Originally posted by @tisonkun in https://github.com/apache/www-site/issues/356#issuecomment-2022882346

FYI @sebbASF. I don't have much time to work on this but perhaps a few days later.


Daily Test failed on 15/08/2024 08:55

https://github.com/voedger/voedger/actions/runs/10401317633

duplicate of #2478


ImportError: No module named beam_search_interactive

I want to run the code in demo-web, but I always get this error when I use this command to start the php server.
python ./sample_server.py --dataset datasets/Dataset.pkl --port=8888           --config trained_models/config.pkl --models trained_models/update_15000

Ok,I will have a try.Thank you.

@yanmengqi did you find the folder multimodal_keras_wrapper? Where is it? I am facing the same issue. I didn't get that folder.

I was getting the same error and I followed the step suggested by @lvapeab. However, after that I am getting another error as follows,
ImportError: No module named online_models

@hiteshvaidya I think you should download a new version of Interactive_NMT, it is a different branches of nmt-keras. you can download it at address:https://github.com/lvapeab/nmt-keras/tree/interactive_NMT


Plugins 2.0

brunch plugins 2.0 would support task standard that grunt 0.5 will also support.

Doesn't seem like the task standard is going to happen. Either way, no need to leave this issue open.
Brunch 2.0 may work toward making it easier to integrate plugins from other task/build systems.


Not work

Library not work. Pic16F690, xc8, mplab-x.

Everything is working. I had voltage drops and had very low contrast and weak backlighting. The numbers and symbols are barely visible.

Thanks for sharing your experience.


Composer rabbithole

What's this PR do?
This pull request starts on figuring out how to fix my local instance, where the Http/Web/PasswordResetTest produces an error and a failure per https://github.com/DoSomething/northstar/pull/1082#issuecomment-754916582.
How should this be reviewed?
...
Any background context you want to provide?
...
Relevant tickets
References Pivotal #.
Checklist

[ ] This PR has been added to the relevant Pivotal card.
[ ] Documentation added for new features/changed endpoints.
[ ] Added appropriate feature/unit tests.
[ ] If new attributes were added to users, there is a corresponding PR to surface these in Aurora.
[ ] If new attributes were added to users, then the data team already knows about these changes.

This truly feels like a rabbithole, but CircleCI is now matching my local machine in that there are TONS of test failures when I run the entire test suite (I was initially only testing with the Http/Web/PasswordResetTest for the work around the referrer-policy in #1082 and #1083
I tried running a php artisan cache:clear to see if that'd fix anything -- and what's weird is that it deleted the tracked file storage/framework/cache/data/.gitignore.

This truly feels like a rabbithole, but CircleCI is now matching my local machine in that there are TONS of test failures when I run the entire test suite (I was initially only testing with the Http/Web/PasswordResetTest for the work around the referrer-policy in #1082 and #1083
I tried running a php artisan cache:clear to see if that'd fix anything -- and what's weird is that it deleted the tracked file storage/framework/cache/data/.gitignore.

Per https://github.com/DoSomething/northstar/pull/1083#issuecomment-755367276:

I thiiink the issue is something that happens in a patch/minor update to the oauth2-server package. Hoping it's an easy fix, but haven't had time to dig in too much myself!

I opened #1085 to try troubleshooting the failed tests, and first tried only updating the oauth2-server package. in https://github.com/DoSomething/northstar/pull/1085/commits/894462f4b6162378a5919d12cd1bd55548646c4b#diff-f37acfaa6b11f575a9a6f41a75fa73a61d0f8ebc2c9b8cddc215d8aca10e44f5. All that changes is metadata -- no version numbers.
As is -- many tests are failing with the same ArgumentCountError: Too few arguments to function App\Auth\Entities\AccessTokenEntity::convertToJWT(), 0 passed in /home/circleci/project/vendor/league/oauth2-server/src/Entities/Traits/AccessTokenTrait.php on line 79 and exactly 1 expected

Per https://github.com/DoSomething/northstar/pull/1083#issuecomment-755367276:

I thiiink the issue is something that happens in a patch/minor update to the oauth2-server package. Hoping it's an easy fix, but haven't had time to dig in too much myself!

I opened #1085 to try troubleshooting the failed tests, and first tried only updating the oauth2-server package. in https://github.com/DoSomething/northstar/pull/1085/commits/894462f4b6162378a5919d12cd1bd55548646c4b#diff-f37acfaa6b11f575a9a6f41a75fa73a61d0f8ebc2c9b8cddc215d8aca10e44f5. All that changes is metadata -- no version numbers.
As is -- many tests are failing with the same ArgumentCountError: Too few arguments to function App\Auth\Entities\AccessTokenEntity::convertToJWT(), 0 passed in /home/circleci/project/vendor/league/oauth2-server/src/Entities/Traits/AccessTokenTrait.php on line 79 and exactly 1 expected

This was fixed in https://github.com/DoSomething/northstar/pull/1090.

This was fixed in https://github.com/DoSomething/northstar/pull/1090.


*: Rename selectPrepareAndSecondary to selectPrimaryAndSecondries

See: https://github.com/pingcap/themis/blob/master/themis-client/src/main/java/org/apache/hadoop/hbase/themis/Transaction.java#L407
This function is used to select primary lock and secondary locks. "selectPrepareAndSecondary" is not a good name.

LGTM

LGTM


Avoid critical error on loop when $current is false.

Avoid error 'Call to a member function before() on a non-object' when $current is false on loop.

awesome, tagged v1.2.2


TransactionSign Error - MetaMask - RPC Error: Expected array params with single object.

When trying to sign transactions with both transactionSign and transactionSignRaw, MetaMask RPC throws an error:
code: -32603
Error: Expected array params with single object.

I can reproduce this in this demo and locally.

I'm confused. You are supposed to call fil_signMessage and not transactionSign. Could you elaborate further?

Ahh! @mpetrunic sorry i mistyped - I meant:
signMessage and signMessageRaw from https://github.com/ChainSafe/filsnap/wiki/API-Documentation

@mpetrunic this is fixed now by #88


Paella fix: Track captions have priority over attachments captions.

Track captions have priority over attachments captions. Fix #6041
Your pull request should…

[x] have a concise title
[x] close #6041
[ ] be against the correct branch
[ ] include migration scripts and documentation, if appropriate
[ ] pass automated tests
[x] have a clean commit history
[x] have proper commit messages (title and body) for all commits

@karendolan  I don't have videos with both types of captions and I can't test it, but it should solve your problem.
Can you test it?


betteruptime_monitor request_headers doesn't add header

I try to set request headers, but it doesn't work.
resource "betteruptime_monitor" "api_graphql" {
  url              = "https://${var.ecs_subdomain_name}.${data.cloudflare_zone.default.name}"
  monitor_group_id = local.betteruptime.betteruptime_monitor_group_id
  monitor_type     = "status"
  http_method      = "POST"
  request_body     = jsonencode({query="query {authenticated}"})
  request_headers = [{Content-Type = "application/json"}]
}

Monitor is created, but no request header is defined.

After reading monitor API docs, I found the right syntax
  request_headers = [{name = "Content-Type", value = "application/json"}]

That beeing said, API could check input data structure and error instead of silently omiting the request headers.

@Toilal Thanks for the the PR! I've merged it into master.
We'll have to discuss internally about the the API erroring out in this use case, since ignoring unknown attributes is currently our preferred default behaviour.


Backstage 1.19.2

Bumped backstage dependencies and a testing library as well, just to be aligned with upstream

LGTM.
As an aside: Do you know why this project does not have a yarn.lock? Our s3-viewer plugin has one, as does https://github.com/immobiliare/backstage-plugin-gitlab. Do you know if plugins are supposed to have yarn.lock files?

For some reason, the upstream project has the yarn.lock in the .gitignore file. Anyways, at some point soon there will be a forked repo that will be maintained again and this might not be needed anymore


bump jest, ts-jest versions

Addresses #2319
Summary
Bumped ts-jest (has a direct semver dependency)
Bumped jest (ts-jest requires 29.x version)
Bumped @types/jest (bumped to match jest)
Checklist

The basics

[x] I tested these changes manually in my local or dev environment

Tests

[x] Added or updated
[ ] N/A

Event Tracking

[ ] I added event tracking and followed the event tracking guidelines
[x] N/A

Error Reporting

[ ] I reported errors and followed the error reporting guidelines
[x] N/A

actually - I was looking at this again - I am going to close out the issue and leave the PR.
This isn't something we need to do right now since our ts-jest dependencyin master is pointing to the latest semver
https://github.com/stoplightio/prism/blob/59de04269e22fbc99775462e19119d2017977588/yarn.lock#L8248
https://github.com/stoplightio/prism/blob/59de04269e22fbc99775462e19119d2017977588/yarn.lock#L7653


MINIFICPP-1493: Fixing incompatibility with gpsd versions >= 3.21

gpsd 3.21 (released in 2020-08-04) moved gps_data_t->status to gps_fix_t.status
https://gitlab.com/gpsd/gpsd/commit/29991d6ffeb41ecfc8297db68bb68be0128c8514

Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] If applicable, have you updated the LICENSE file?
[x] If applicable, have you updated the NOTICE file?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI results for build issues and submit an update to your PR as soon as possible.

Did you have gpsd running during testing? GPSTests was hanging for me in that case, endlessly waiting for some gps data, because I don't have a gps module.

Did you have gpsd running during testing? GPSTests was hanging for me in that case, endlessly waiting for some gps data, because I don't have a gps module.

No. I've only compiled it with different versions.

Did you have gpsd running during testing? GPSTests was hanging for me in that case, endlessly waiting for some gps data, because I don't have a gps module.

Just checked, it also hangs for me if the service is running.


Write a R program to find area of a cuboid

Description
Write a R program to find area of a cuboid
Area of cuboid = 2 × (Length × Width + Length × Height + Width × Height)
Length : 2
Width  : 3
Height : 4

Area : 52

How to contribute

Save the solution in program/find_area_of_a_cuboid.r file
Add find_area_of_a_cuboid.r file in find-area-of-a-cuboid folder

!assign


cannot use playwright-python in fastapi, got NotImplementedError

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
// api.py
from playwright.async_api import async_playwright
class FS131VIAPI:
    def __init__(self):
        self.cookie = None
    async def fetch(self, params):
        await self.login_for_cookie()
        logger.info(params)

    async def login_for_cookie(self):
        async with async_playwright() as p:
            browser = await p.chromium.launch(headless=False)
            context = await browser.new_context()
            page = await context.new_page()
            await page.goto("https://cn.bing.com/")
            print(await page.title())
            print(await context.cookies())
            self.cookie = await context.cookies()
            await context.close()

// main.py
...
from api import FS131VIAPI
fs131vi_api = FS131VIAPI()
@app.post("/")
async def index():
    await fs131vi_api.fetch({"SERVICE_IDS": "xxx"})

Description
open the browser and call the endpoint '/'
fastapi received the request and call playwright-python to call "https://cn.bing.com/", return cookies
Operating System
Windows
Operating System Details
windows 10
FastAPI Version
0.85.0
Python Version
3.10.2
Additional Context

It works fine. I am not able to find any issues. Below is the code I used.
import fastapi
from playwright.async_api import async_playwright

class FS131VIAPI:
    def __init__(self):
        self.cookie = None
    async def fetch(self, params):
        await self.login_for_cookie()

    async def login_for_cookie(self):
        async with async_playwright() as p:
            browser = await p.chromium.launch(headless=False)
            context = await browser.new_context()
            page = await context.new_page()
            await page.goto("https://cn.bing.com/")
            print(await page.title())
            print(await context.cookies())
            self.cookie = await context.cookies()
            await context.close()

fs131vi_api = FS131VIAPI()
app = fastapi.FastAPI()

@app.get("/")
async def index():
    await fs131vi_api.fetch({"SERVICE_IDS": "xxx"})

In order to be able to find your issue more easily could you please replace "NotEmplementedError" with "NotImplementedError"

It works fine. I am not able to find any issues. Below is the code I used.
import fastapi
from playwright.async_api import async_playwright

class FS131VIAPI:
    def __init__(self):
        self.cookie = None
    async def fetch(self, params):
        await self.login_for_cookie()

    async def login_for_cookie(self):
        async with async_playwright() as p:
            browser = await p.chromium.launch(headless=False)
            context = await browser.new_context()
            page = await context.new_page()
            await page.goto("https://cn.bing.com/")
            print(await page.title())
            print(await context.cookies())
            self.cookie = await context.cookies()
            await context.close()

fs131vi_api = FS131VIAPI()
app = fastapi.FastAPI()

@app.get("/")
async def index():
    await fs131vi_api.fetch({"SERVICE_IDS": "xxx"})

i am running on windows 10, with python 3.10.2, playwright-python 1.26.1, fastapi 0.85.0, which version did you use?

I get the same NotImplementedError Error using fastapi and playwright.
windows 10, python 3.10.5, fastapi=0.87.0, playwright=1.28.0
the playwright function is valid just after removing out of the fastapi api wrapper, i.e. remove "@app.get("/test")"
code attached below:
`import fastapi,uvicorn
from playwright.async_api import async_playwright
class FS131VIAPI:
def init(self):
self.cookie = None
async def fetch(self, params):
await self.login_for_cookie()
async def login_for_cookie(self):
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        context = await browser.new_context()
        page = await context.new_page()
        await page.goto("https://cn.bing.com/")
        print(await page.title())
        print(await context.cookies())
        self.cookie = await context.cookies()
        await context.close()

fs131vi_api = FS131VIAPI()
app = fastapi.FastAPI()
@app.get("/test")
async def index():
await fs131vi_api.fetch({"SERVICE_IDS": "xxx"})
if name == "main":
uvicorn.run(
    "test:app",
    host="<IP_ADDRESS>",
    reload=True,
    port=8002
)`

problem can be solved by setting reload=False.
more can be found on
https://github.com/microsoft/playwright-python/issues/1099
if __name__ == "__main__":

    uvicorn.run(
        "test:app",
        host="<IP_ADDRESS>",
        reload=True,
        port=8002
    )

problem can be solved by setting reload=False. more can be found on microsoft/playwright-python#1099
if __name__ == "__main__":

    uvicorn.run(
        "test:app",
        host="<IP_ADDRESS>",
        reload=False,
        port=8002
    )

i am talking about playwright-python work with reload when developing


Page a full screenwidth down on space

and up on b. Just like less. Just a suggestion.

Thanks for your input! I think this is a good addition, but there is a potential conflict: I'm probably going to add key bindings for exiting with a given forward- or back-link. Good key bindings for those would be f and b, so I'll try to make up my mind about whether I prefer compatibility with less or an intuitive key for going back.

Ctrl-B for back, b for up 🤷🏻♀

GI'm more used to h for back, l for forward (even though I don't use vi
bindings normally)

I have decided to prioritize compatibility with less and added the key bindings for b, Space and also f for scrolling: https://github.com/codesoap/gmir/commit/228991d3272ed9733ac7623b07a5414a51726f56
v.Scroll(s, height-1) had to be used instead of v.Scroll(s, height), because the bar at the bottom reduces the page size by one row.
I had thought about using h and l for going forward and back in the history, but decided to use h for scrolling to the next heading instead. I might also use l for scrolling right (on wide preformatted text) later on. I don't like Ctrl-B for going back, because it will potentially be something that users do a lot, so I want it to be a single key press. I'll probably just use some other letter, like z.


zip files are corrupted

Hello,
I have deployed core-dump-handler in a k8s cluster and it's currently sending coredump to s3 as intended.
The only issue is that all the files that get sent to s3 are corrupted.
core-dump-handler-gclrk coredump-container [2021-08-12T09:10:42Z INFO  core_dump_agent] Dir Content ["/var/mnt/core-dump-handler/core/4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip"]
core-dump-handler-gclrk coredump-container [2021-08-12T09:10:42Z INFO  core_dump_agent] Uploading: /var/mnt/core-dump-handler/core/4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip
core-dump-handler-gclrk coredump-container [2021-08-12T09:10:42Z INFO  core_dump_agent] zip size is 368
core-dump-handler-gclrk coredump-container [2021-08-12T09:10:42Z INFO  core_dump_agent] S3 Returned: 200

➜ unzip 4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip
Archive:  4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of 4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip or
        4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip.zip, and cannot find 4739e2b1-565f-4336-99d9-f25f5d4c8516-dump-1628759416-busybox-sh-6-11.zip.ZIP, period.

This happens to all files. Tried downloading via Browser and via aws CLI same result.

This appears to happen when the k8s host node doesn't have crictl installed. Perhaps that should be a soft warning and avoid including that metadata in the zip if it isn't installed?

This appears to be caused when crictl isn't available on the K8s host node, which causes the command to finish before it's flushed and ended the zip file. Perhaps this could be a soft warning and continue without the metadata if the command doesn't exist?

Thanks for reporting this.
The behaviour @andytson outlines with the soft warning is the intent but it looks like there is a problem with the logic.
Can I ask which container runtime your cluster is running?

Hello,
This is running on EKS with the docker container runtime.

Perfect thanks for the reproduction steps.
I have been looking for a reason to do the validation for EKS for the matrix in the readme. I'll take a look

@No9 I can confirm on @pfragoso's behalf that the 2.0.11 release fixes the issue. New zips are valid and contain just the *.core and *-dump-info.json files

Thanks @andytson and @pfragoso for all the feedback
I'll close this and if there is anything additional please feel free to open up another issue.