Support (remote) references to buildpack archives in builder.toml

When creating a builder via pack create-builder -b builder.toml, the builder.toml currently has to reference each involved buildpack with a path that needs to exist on the local filesystem (file://). This is cumbersome and hinders the ability to distribute the sources for a builder (you don't want to put each buildpack binary in source control)

@ericbottard - Im assuming you will just add support for https:// in addition to file://. Let me know if you are thinking about this in a different way

This is correct.
In the process, this will change the semantics of file:// to correctly parse that scheme: file://buildpacks/some/path is not a relative path of the file kind to buildpacks/some/path. In that example, buildpacks is a host and /some/path is a (absolute) path. file:///this/is/an/absolute/path is possible. To continue using paths, just drop the file:// protocol.

Merged in #57.


Add an option to disable markdown elements

A simple change that let you disable any markdown element.
It's better creating an option than using unsafe tricks and hacks
Examples
marked.setOptions({
    disabledElements: ['hr', 'heading', 'list']
});

marked('---'); // Returns "---"
marked('# I am not a heading'); // Returns "# I am not a heading"
marked('* Item'); // Returns "* Item"

I just found #579. I don't know which one you want to merge, both of them have pros and cons.

Fixed merge conflicts

What can do to help this feature get merged to master?

@sungwoncho: Hello! Right now our focus is on complying with our chosen specifications and that's where we need the most help. This feature, if approved, would not be put in until after 1.0 or later. Therefore, from an over-arching project perspective, if you are still interested in moving toward at least the possibility of having this feature include sooner rather than later, then I recommend helping us with the specification compliance mission of 0.x: https://github.com/markedjs/marked/issues/1216
Up to you! Thanks again.


esp_zb_zdo_nwk_addr_req() not getting short address for devices in the network different than the coordinator (TZ-1251)

Question
Hi, I'm trying to use the esp_zb_zdo_nwk_addr_req() to get the short address of all the devices currently in the binding table of my end device (esp32-c6). Im using library version 1.5.1.
I have one coordinator, ieee: 0x00158d0000c38703, the esp32-c6 end device, ieee: 0x404ccafffe566270 and two devices with ieee: 0x00158d0000c39956 and 0x00158d00007c6e9e.
To do this at will, I added a button callback function, button_cb so when I press the button once I send the request for the binding table on the device and when I get the response, I iterate on all the entries of the binding table and request the short addresses of them:
This is the part of my code that is involved:
// Nwk address callback function
static void nwk_addr_req_cb(esp_zb_zdp_status_t zdo_status, uint16_t nwk_addr, void *user_ctx)
{
    ESP_LOGI(TAG, "nwk_addr_req_cb(), status: %02x", zdo_status);
    if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS)
    {
        ESP_LOGI(TAG, "got nwk addr: 0x%04x", nwk_addr);
    }
}

// Bind table callback function
static void bind_table_cb(const esp_zb_zdo_binding_table_info_t *table_info, void *user_ctx)
{
    esp_zb_ieee_addr_t ieee_addr;
    esp_zb_get_long_address(ieee_addr);

    uint8_t start_idx = table_info->index;
    esp_zb_zdo_binding_table_record_t *record = table_info->record;

    if (table_info->count == 0)
    {
        ESP_LOGW(TAG, "No records in binding table");
        return;
    }

    ESP_LOGI(TAG, "| Index |       SrcAddr      | SrcEp | Cluster |       DstAddr      | DstEp |");
    for (int i = 0; i < table_info->count; i++)
    {
        switch (record->dst_addr_mode)
        {
        case ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT:
            ESP_LOGW(TAG, "DST_ADDR_MODE_16_GROUP_NO_ENDPOINT not supported");
            break;

        case ESP_ZB_APS_ADDR_MODE_64_ENDP_PRESENT:
            ESP_LOGI(TAG, "|  %3d  | 0x%016" PRIx64 " |  %3d  | 0x%04hx  | 0x%016" PRIx64 " |  %3d  |",
                     start_idx + i, *(uint64_t *)record->src_address,
                     record->src_endp, record->cluster_id,
                     *(uint64_t *)record->dst_address.addr_long,
                     record->dst_endp);

            esp_zb_zdo_nwk_addr_req_param_t cmd_req;
            cmd_req.dst_nwk_addr = 0;
            memcpy(cmd_req.ieee_addr_of_interest, record->dst_address.addr_long, sizeof(esp_zb_ieee_addr_t));

            cmd_req.request_type = 0x00;
            cmd_req.start_index = 0;

            ESP_LOGI(TAG, "nwk addr req for %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
                     cmd_req.ieee_addr_of_interest[7], cmd_req.ieee_addr_of_interest[6], cmd_req.ieee_addr_of_interest[5],
                     cmd_req.ieee_addr_of_interest[4], cmd_req.ieee_addr_of_interest[3], cmd_req.ieee_addr_of_interest[2],
                     cmd_req.ieee_addr_of_interest[1], cmd_req.ieee_addr_of_interest[0]);

            esp_zb_zdo_nwk_addr_req(&cmd_req, nwk_addr_req_cb, NULL);
            break;

        default:
            break;
        }

        record = record->next;
    }
}

 // Request the binding table when button is pressed
void button_cb(void)
{
   ESP_LOGI(TAG, "Button pressed, requesting binding table");
   esp_zb_zdo_mgmt_bind_param_t req;
   req.dst_addr = esp_zb_get_short_address();
   req.start_index = 0;
   esp_zb_zdo_binding_table_req(&req, bind_table_cb, NULL);
}

I have previously added the coordinator to the binding table.
These are my logs:
I (10:50:18.984) APP: Device is NOT factory reset, joined as 0xbd29   <--- esp32-c6 joined to the coordinator
I (10:50:20.428) APP: Button pressed, requesting binding table
I (10:50:20.430) APP: | Index |       SrcAddr      | SrcEp | Cluster |       DstAddr      | DstEp |
I (10:50:20.434) APP: |    0  | 0x404ccafffe566270 |    1  | 0x0006  | 0x00158d0000c38703 |    1  |
I (10:50:20.444) APP: nwk addr req for 00:15:8d:00:00:c3:87:03
I (10:50:20.512) APP: nwk_addr_req_cb(), status: 00
I (10:50:20.516) APP: got nwk addr: 0x0000

Here I open the network for a new device to join:
I (10:50:35.895) APP: Network (0x50de) is open for 30 seconds
I (10:50:48.047) APP: New device commissioned or rejoined (short: 0xbf1c)     <--- New device joined with addr 0xbf1c
W (10:51:03.413) APP: Network (0x50de) closed, devices joining not allowed.

Now, from my coordinator I send a bind request to this new device, to add it to the binding table.
Now I press the button again to send the requests:
I (10:51:16.538) APP: Button pressed, requesting binding table
I (10:51:16.540) APP: | Index |       SrcAddr      | SrcEp | Cluster |       DstAddr      | DstEp |
I (10:51:16.544) APP: |    0  | 0x404ccafffe566270 |    1  | 0x0006  | 0x00158d0000c38703 |    1  |
I (10:51:16.554) APP: nwk addr req for 00:15:8d:00:00:c3:87:03
I (10:51:16.563) APP: |    1  | 0x404ccafffe566270 |    1  | 0x0006  | 0x00158d0000c39956 |    1  |
I (10:51:16.573) APP: nwk addr req for 00:15:8d:00:00:c3:99:56
I (10:51:16.650) APP: nwk_addr_req_cb(), status: 00
I (10:51:16.654) APP: got nwk addr: 0x0000
I (10:51:16.703) APP: nwk_addr_req_cb(), status: 81

As you can see, for the Coordinator (ieee: 0x00158d0000c38703) the request was ok and it got the nwk addr 0x0000 correctly but for the device that just joined (ieee: 0x00158d0000c39956, short: 0xbf1c) the status is  ESP_ZB_ZDP_STATUS_DEVICE_NOT_FOUND.
Now I removed the device from the network and the binding table to add a new device, first opened the network and repeat the steps:
I (10:59:04.222) APP: Network (0x50de) is open for 30 seconds
I (10:59:09.918) APP: New device commissioned or rejoined (short: 0x4f25)    <--- New device joined
I (10:59:30.538) APP: Button pressed, requesting binding table
I (10:59:30.540) APP: | Index |       SrcAddr      | SrcEp | Cluster |       DstAddr      | DstEp |
I (10:59:30.544) APP: |    0  | 0x404ccafffe566270 |    1  | 0x0006  | 0x00158d0000c38703 |    1  |
I (10:59:30.555) APP: nwk addr req for 00:15:8d:00:00:c3:87:03
I (10:59:30.563) APP: |    1  | 0x404ccafffe566270 |    1  | 0x0006  | 0x00158d00007c6e9e |    1  |
I (10:59:30.573) APP: nwk addr req for 00:15:8d:00:00:7c:6e:9e
I (10:59:30.657) APP: nwk_addr_req_cb(), status: 00
I (10:59:30.661) APP: got nwk addr: 0x0000
I (10:59:30.807) APP: nwk_addr_req_cb(), status: 81

Here as you can see, I have the same behavior, for the coordinator it could get the short address but for the other device in the network it couldn't.
Do you know what I may be missing here of if this is a bug?
Thanks!
Additional context.
No response

Also, just for testing, I changed the behavior to send a esp_zb_zdo_ieee_addr_req() to get the ieee address knowing the short address. I know the nwk address of both the devices.
This is the code:
static void ieee_addr_req_cb(esp_zb_zdp_status_t zdo_status, esp_zb_ieee_addr_t ieee_addr, void *user_ctx)
{
    ESP_LOGI(TAG, "ieee_addr_req_cb(), status: %02x", zdo_status);
    if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS)
    {
        ESP_LOGI(TAG, "got ieee addr: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x",
                 ieee_addr[7], ieee_addr[6], ieee_addr[5],
                 ieee_addr[4], ieee_addr[3], ieee_addr[2],
                 ieee_addr[1], ieee_addr[0]);
    }
}

void button_cb(void)
{
    ESP_LOGI(TAG, "Button pressed, sending ieee request");
    esp_zb_zdo_ieee_addr_req_param_t ieee_req;
    ieee_req.addr_of_interest = 0xbd29;      <--- Here I tested with the device own short address and remote device short addr
    ieee_req.dst_nwk_addr = 0;
    ieee_req.request_type = ZB_ZDO_SINGLE_DEVICE_RESP;
    ieee_req.start_index = 0;

    ESP_LOGI(TAG, "ieee addr req for 0x%04x", ieee_req.addr_of_interest);
    esp_zb_zdo_ieee_addr_req(&ieee_req, ieee_addr_req_cb, NULL);
}

And here are the logs:
I (23) boot: ESP-IDF v5.3.1 2nd stage bootloader
I (23) boot: compile time Oct 23 2024 21:37:15
I (24) boot: chip revision: v0.1
I (26) boot.esp32c6: SPI Speed      : 80MHz
I (31) boot.esp32c6: SPI Mode       : DIO
I (35) boot.esp32c6: SPI Flash Size : 8MB
. . .
I (00:15:16.280) APP: Started in zigbee mode
W (00:15:16.299) APP: Network (0x50de) closed, devices joining not allowed.
I (00:15:16.304) APP: Device is NOT factory reset, joined as 0xbd29
I (00:15:16.748) APP: Button pressed, sending ieee request
I (00:15:16.749) APP: ieee addr req for 0xbd29     <--- Here also tested with other device address which is 0xbf1c
I (00:15:16.868) APP: ieee_addr_req_cb(), status: 81

As you can see, requesting it's own nwk address results in a ESP_ZB_ZDP_STATUS_DEVICE_NOT_FOUND (also requested the other device nwk address and same result).
Also, I tested changing the addr_of_interest to the coordinator one (0x0000) and for it, the request works:
I (23) boot: ESP-IDF v5.3.1 2nd stage bootloader
I (23) boot: compile time Oct 23 2024 21:37:15
I (24) boot: chip revision: v0.1
I (26) boot.esp32c6: SPI Speed      : 80MHz
I (31) boot.esp32c6: SPI Mode       : DIO
I (35) boot.esp32c6: SPI Flash Size : 8MB
. . .
I (00:22:38.978) APP: Started in zigbee mode
W (00:22:38.996) APP: Network (0x50de) closed, devices joining not allowed.
I (00:22:39.001) APP: Device is NOT factory reset, joined as 0xbd29
I (00:22:39.446) APP: Button pressed, sending ieee request
I (00:22:39.446) APP: ieee addr req for 0x0000
I (00:22:39.593) APP: ieee_addr_req_cb(), status: 00
I (00:22:39.593) APP: got ieee addr: 00:15:8d:00:00:c3:87:03

So, I'm not sure what could be happening with these address requests to devices other than the coordinator.

Hi,

two devices with ieee: 0x00158d0000c39956 and 0x00158d00007c6e9e.

What is the type of these devices? Are they routers or end devices?
Additionally, what is the purpose of performing the above operation? It seems a bit unusual.

Hi, thanks for the reply.
Both devices are routers.
The use case is the following: The device we are building periodically sends a custom cluster command to all the devices in its binding table, making them do something. In the example I showed you, the periodic part was replaced with the button press, so I can try whenever I want.
But the binding table have the dst address (ieee) and the dst endpoint, so, to send the custom command I need the short address of those devices, so I first need to request the nwk addr and that’s what is not working now.

@jkano ,

Both devices are routers.

The Zigbee device can only provide the zdo_nwk_addr response for itself and its children. Therefore, if you attempt to get the nwk_addr of a router from the coordinator, it will return ESP_ZB_ZDP_STATUS_DEVICE_NOT_FOUND.

The device we are building periodically sends a custom cluster command to all the devices in its binding table, making them do something. In the example I showed you, the periodic part was replaced with the button press, so I can try whenever I want.

What command are you expecting to send? Based on the above description, the attribute reporting mechanism might be more suitable for your project. Please refer to the custom switch/light example.

if there was a way to send a custom cluster command to a ieee address I could use that but I could not find a way to do that (even zboss API says it only supports short address).

You can set the address_mode of the custom command to either ESP_ZB_APS_ADDR_MODE_64_ENDP_PRESENT or ESP_ZB_APS_ADDR_MODE_64_PRESENT_ENDP_NOT_PRESENT to send commands using the IEEE address.

Hi!

The Zigbee device can only provide the zdo_nwk_addr response for itself and its children. Therefore, if you attempt to get the nwk_addr of a router from the coordinator, it will return ESP_ZB_ZDP_STATUS_DEVICE_NOT_FOUND.

Oh I see.. gonna test this again changing the devices to be end devices with router capabilities to check.

What command are you expecting to send? Based on the above description, the attribute reporting mechanism might be more suitable for your project. Please refer to the custom switch/light example.

Zigbee reporting have its constraints for the payload you can send, the command we are sending is a Custom Cluster command which has a custom payload with multiple values so reporting is not useful in this case.

You can set the address_mode of the custom command to either ESP_ZB_APS_ADDR_MODE_64_ENDP_PRESENT or ESP_ZB_APS_ADDR_MODE_64_PRESENT_ENDP_NOT_PRESENT to send commands using the IEEE address.

I know I can use esp_zb_zcl_custom_cluster_cmd_req() to send a custom cluster command, but our command has a fixed payload which is an array of different sized values, i.e. uint8_t, uint16_t, uint64_t, so we can't use the normal array types.
I tried to send the custom command like this:
// This test is just an example of a real payload, it contains a uint8_t, uint16_t, uint64_t
uint8_t test[] = {0x8D, 0x00, 0x01, 0xB2, 0x28, 0xBE, 0x01, 0x00, 0x01, 0x28, 0x11};

esp_zb_zcl_custom_cluster_cmd_req_t req_params = {
    .zcl_basic_cmd.dst_endpoint = dst_ep,
    .zcl_basic_cmd.src_endpoint = src_ep,
    .address_mode = ESP_ZB_APS_ADDR_MODE_64_ENDP_PRESENT,
    .profile_id = ESP_ZB_AF_HA_PROFILE_ID,
    .cluster_id = custom_cluster_id,
    .custom_cmd_id = custom_cluster_cmd_id,
    .direction = ESP_ZB_ZCL_CMD_DIRECTION_TO_SRV,
};

// Here I use the coordinator ieee address to test
memcpy(req_params.zcl_basic_cmd.dst_addr_u.addr_long, coord_ieee, sizeof(esp_zb_ieee_addr_t));

req_params.data.value = test;
req_params.data.size = sizeof(test);
// Don't know which one to use so I set to invalid
req_params.data.type = ESP_ZB_ZCL_ATTR_TYPE_INVALID;

esp_zb_zcl_custom_cluster_cmd_req(&req_params);

But after sending this command, any of our devices receives it (tested by changing the ieee dst_addr).
So, instead of using the esp_zb_zcl_custom_cluster_cmd_req() I used the zboss API to build the ZCL command manually like this:
ZB_ZCL_CONSTRUCT_SET_FRAME_CONTROL( ... );
cmd_ptr = zb_zcl_start_command_header( ... );

// Use ZB_ZCL_PACKET_PUT_DATAXX to add the payload
ZB_ZCL_PACKET_PUT_DATA8( ... );
ZB_ZCL_PACKET_PUT_DATA16( ... );
ZB_ZCL_PACKET_PUT_DATA8( ... );
ZB_ZCL_PACKET_PUT_DATA32( ... );
ZB_ZCL_PACKET_PUT_DATA64( ... );

// Send frame
esp_zb_lock_acquire(portMAX_DELAY);
esp_err_t err = zb_zcl_finish_and_send_packet(zbuf_id, cmd_ptr, (const zb_addr_u *)(const void *)(&(addr)),
                                              ZB_APS_ADDR_MODE_16_ENDP_PRESENT, src_ep, dst_ep, profile_id,
                                              cluster_id, NULL);
esp_zb_lock_release();

But this function zb_zcl_finish_and_send_packet() in the documentation says:
// @param dst_addr_mode destination address mode (only @ref ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT and @ref ZB_APS_ADDR_MODE_16_ENDP_PRESENT are supported)

So I'm not sure how I can send a very custom ZCL cluster command to a device using its ieee address.

@jkano ,

Zigbee reporting have its constraints for the payload you can send, the command we are sending is a Custom Cluster command which has a custom payload with multiple values so reporting is not useful in this case.

Considering the above discussion, the application logic seems quite complex. You want to retrieve the remote device's address from the binding table, which implies that remote devices are already aware of the current device’s address and need to send a bind_req() to it. Then, you would retrieve the short address of the remote devices with zdo_nwk_req() and ultimately send messages using that short address.
However, there might be a simpler approach. If the current device receives the bind_req(), it should also have access to the remote device’s short address. You could use esp_zb_address_short_by_ieee() to obtain this address directly.
Additionally, it seems there might be a more straightforward way to get the remote device’s address. Could you share the reason for obtaining it from the binding table?  If possible, please consider closing this issue and opening a separate issue to discuss the background and design logic of your project for further clarification.

Hi, I already found a way to send the custom ZCL command, by sending to myself a esp_zb_zdo_binding_table_req() to get the list of devices in the binding table and then using esp_zb_zcl_custom_cluster_cmd_req() to send the custom ZCL command to each one of the devices on the binding table.
Btw, I used ESP_ZB_ZCL_ATTR_TYPE_SET as the data type and added my custom payload, this way the command payload is just as I needed.
Thanks for the ideas. Closing as the main question was answered here:

@jkano ,

Both devices are routers.

The Zigbee device can only provide the zdo_nwk_addr response for itself and its children. Therefore, if you attempt to get the nwk_addr of a router from the coordinator, it will return ESP_ZB_ZDP_STATUS_DEVICE_NOT_FOUND.

The device we are building periodically sends a custom cluster command to all the devices in its binding table, making them do something. In the example I showed you, the periodic part was replaced with the button press, so I can try whenever I want.

What command are you expecting to send? Based on the above description, the attribute reporting mechanism might be more suitable for your project. Please refer to the custom switch/light example.

if there was a way to send a custom cluster command to a ieee address I could use that but I could not find a way to do that (even zboss API says it only supports short address).

You can set the address_mode of the custom command to either ESP_ZB_APS_ADDR_MODE_64_ENDP_PRESENT or ESP_ZB_APS_ADDR_MODE_64_PRESENT_ENDP_NOT_PRESENT to send commands using the IEEE address.


Switch ApiPort to use DNX

Currently ApiPort targets .NET Framework 4.6, but we could switch it to use DNX on .NET Core so it doesn't have the 4.6 requirement.

Snagging this as I have some DNX experience and would be interested in investigating this.


Extract shared codegen and include git sha

@rwjblue the quotes weren't consistent but I picked single otherwise it wouldn't see the move to generated.


Initial implementation

Based on https://www.passportjs.org/packages/openid-client/
https://github.com/jaredhanson/passport-google-openidconnect/tree/master

Thanks @JawHawk


Revert "update dedicated cluster test (#103)"

This reverts commit 12a16f9cf7d44a7112ec39fd7396c7f871a59cb2.
Now that the external issue with the lower cost
machine type is fixed, revert to use it again.

TFTR!


Update admission controllers for external hierarchy

Part of #763
Add additional restrictions in admission controllers to deny:

Create namespace with existing name in external hierarchy;
Update namespace to add "managedBy: other" annotation on namespace
with parent;
Make any changes to HierarchyConfiguration in external namespace.

Tested manually on a GKE cluster and by "make test" with new test cases.

I'm going to hold off on reviewing this until the earlier changes go in.
But as one quick question, are all the transitions from the table in the
design doc covered here?
On Tue, May 26, 2020 at 4:51 PM Kubernetes Prow Robot <
<EMAIL_ADDRESS>wrote:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: yiqigao217
https://github.com/kubernetes-sigs/multi-tenancy/pull/769#
To complete the pull request process
https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process,
please assign jimbugwadia
You can assign the PR to them by writing /assign @jimbugwadia in a
comment when ready.
The full list of commands accepted by this bot can be found here
https://go.k8s.io/bot-commands?repo=kubernetes-sigs%2Fmulti-tenancy.
Needs approval from an approver in each of these files:

OWNERS
https://github.com/kubernetes-sigs/multi-tenancy/blob/master/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-sigs/multi-tenancy/pull/769#issuecomment-634272130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE43PZAOHLJJ4XPRPFCMHM3RTQTVHANCNFSM4NLEFRSQ
.

/hold until #764 is merged first.
/assign @adrianludwin
/assign @rjbez17
Hi Adrian and Ryan , in #764 , I have the HierarchyConfiguration reconciler to always set the external namespace parent to nil in the forest. Therefore, I have the changing parent rules in the design doc table all combined into one "denying any HC request on external namespaces" here.
Let me rethink it through and please lmk what you think.

Hi Adrian and Ryan , in #764 , I have the HierarchyConfiguration reconciler to always set the external namespace parent to nil in the forest. Therefore, I have the changing parent rules in the design doc table all combined into one "denying any HC request on external namespaces" here.
Let me rethink it through and please lmk what you think.

FYI, I will update the HC validator here back to more granular rules as described in the rule table in the design doc.

#764 is merged, so removing hold
/hold cancel

/lgtm
/approve
/hold cancel


[0.68.69] Bump version numbers

Please select one of the following

[ ] I am removing an existing difference between facebook/react-native and microsoft/react-native-macos :thumbsup:
[ ] I am cherry-picking a change from Facebook's react-native into microsoft/react-native-macos :thumbsup:
[x] I am making a fix / change for the macOS implementation of react-native
[ ] I am making a change required for Microsoft usage of react-native

Summary
Our Publish pipeline failed to push back version updates to Github. So we will need to do two things:

Manually bump to 0.68.69 similar to #1763

Add an extra step to our publish pipeline to give rnbot push permissions. This is taken from a similar step in React Native Windows. I'm unsure why our pipeline worked earlier without this step. We guess that ADO cloned with write permissions by default, and our job had set persistCredentials to true, so that worked. There were some Github action settings toggled ~1-2 months ago that may have affected this.

Seems like running node scripts/set-rn-version.js -v 0.68.69 -n -S decremented some ruby versions as well. I know that Azure Pipelines no longer supports 2.7.6, so I will try and revert those changes. #1763 didn't have them, so I think it's fine.


Dev setup mentions pxt link but it's very buggy

pxt link sometimes fails to delete the existing folder, but we mention it in our README. We should either make that command more robust or revert to the old npm link instructions.

The command failed for me when I was first setting up local linking and I ended up manually symlinking the folders instead.

no longer in the docs!


Remote install

Hi,
When i change the connection to ssh in the inventory file that I can install nexcloud to a remote server then i also should modify/remove the connection in the nextcloud.yml (only_office.yml collabora.yml)
Maybe the connection: local is redundant in this file(s)
Sorry my bad english

Fixed.
https://github.com/ReinerNippes/nextcloud/commit/a4aac001dd3a69a63c3883d34709833595b5260d

I think you should remove connection: local also from only_office.yml and collabora.yml


[improve](group commit) Group commit support skip wal

Proposed changes
Group commit support two modes:

group_commit = async_mode write with wal, and returned once the block is consumed.
group_commit = sync_mode write without wal, and returned after the internal load is finished.
group_commit = off_mode disable group commit

This PR is based on https://github.com/apache/doris/pull/27720
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall

run clickbench

run buildall

run p0


connectivity test: allow node-local DNS cache

Similarly to https://github.com/cilium/cilium/pull/18672, this PR allows running connectivity-check on clusters with Nodelocal DNS Cache running in hostNetwork=true pods bound to a link-local IP (standard node-local DNS cache deployment, not using Cilium LRP). For cases when cluster DNS communication should be allowed, it allows DNS requests to the link-local subnets recommended by the node-local-dns configuration documentation.
Due to https://github.com/cilium/cilium/issues/18644, it also allows DNS requests to the host entity.
Signed-off-by: Rastislav Szabo<EMAIL_ADDRESS>

/test

Closing as the ultimate solution will depend on the resolution of https://github.com/cilium/cilium/issues/18644


Add the resistor-color-trio exercise.

See specification: https://github.com/exercism/problem-specifications/tree/main/exercises/resistor-color-trio

@neenjaw I've made the changes you requested. This PR is ready for review.


Review our Github repo strategy

Update existing ADR for strategy of how we want our repository structure to work.
Share this proposal with wider Data Platform team and gain agreement.
This includes a team session to agree
Comparisons with existing monorepo approach
For discussion in DP architecture meeting Tuesday 6th Feb

I've gathered list of repos, teams, and workflow automations in this doc, so we can review together in the meeting https://docs.google.com/document/d/1kiH3dzCKq6g9dUFOv84OSior208RcLY5N4BgZ-7NhHA/edit

Meeting notes & actions: https://docs.google.com/document/d/18Hw0pMYuVls5Up9659p9Wqqs5lFO93vgo-jI00Oq1xE/edit#heading=h.bsmwqs10mdr


Clarify port-forward user output

Fixes: https://github.com/pachyderm/pachyderm/issues/1728
The current version of port-forward always tells users that they can navigate to the dashboard, even if it is not deployed:
$ pachctl port-forward
Pachd port forwarded
Dash websocket port forwarded
Dash UI port forwarded, navigate to localhost:30080
CTRL-C to exit

This version will give the following if the dashboard isn't deployed:
$ pachctl port-forward
CTRL-C to exit
Forwarding the dash (Pachyderm dashboard) UI port to http://localhost:30080 ...
Forwarding the pachd (Pachyderm daemon) port...
Forwarding the dash (Pachyderm dashboard) websocket port...
Could not forward dash websocket port. Deploy the dashboard with "pachctl deploy local --dashboard-only"
Could not forward dash UI port. Deploy the dashboard with "pachctl deploy local --dashboard-only"

and the following if the dashboard is deployed:
$ pachctl port-forward
CTRL-C to exit
Forwarding the pachd (Pachyderm daemon) port...
Forwarding the dash (Pachyderm dashboard) UI port to http://localhost:30080 ...
Forwarding the dash (Pachyderm dashboard) websocket port...

@JoeyZwicker Take a look at this output to see if it is better. @jdoliner, @msteffen or someone might also want to take a look at the code, as I changed some things.

@jdoliner does this make more sense technically? If so, I can try to get CI passing and merge.

Yeah, this all makes sense technically. I'd like to see this merged, I left one comment though I'd like to see addressed.

@jdoliner made the change you requested, although having trouble getting CI to pass.

CI is failing for real (ish) reasons here. There's some linter issues. Run make lint vet and do what it asks of you.

Ah, darn, ok. Fixed. Not sure how that got through the linter in my IDE. I need to check that.
Thanks @jdoliner.

It might be that the errors are actually from vet not lint and your IDE is just doing lint? That's just a guess on my part.
Looks like you are now hitting some intermittent CI issues, I took the liberty of restarting your test for you.


Improve Top-Nav navigation, add Contact us CTA

Definition of Done
From right to left 👈

[ ] Remove Social Media (SM) links from the top-nav (keep the bottom nav ones)
[ ] Add Contact us call-to-action (CTA) button with Calendly link; green with white text
[ ] Rename Docs to Integrate in your app ↗
[ ] Add Need help? drop-down with options:

[ ] Github Discussion ↗
[ ] Discord ↗

[ ] Add Network with options:

[ ] Requests
[ ] Payments

[ ] Add ↗ icon to the right of Request Network link
[ ] Add Home

I believe that the Need Help section would be better at the footer than the top nav


⚠ Bofrost.fr has degraded performance

In b889c2e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1374 ms

Resolved: Bofrost.fr performance has improved in 14297a7 after 6 minutes.


create Subscription Rule with CorrelationFilter does not create respect properties

Fix issue #21299
Changed file:

sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/implementation/ServiceBusManagementSerializer.java
sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/implementation/models/CorrelationFilterImpl.java

@jongio, @YijunXieMS  for notification

All test cases in [ServiceBusSessionManagerTest] can be successfully executed in environments such as [Test ubuntu2004_111_TestFromSource_surefiretest], so please manually execute the test again in [Test ubuntu2004_111_surefiretest].

@hongli750210, @YijunXieMS, before this PR is merged, do these locations need to be fixed as well:
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/implementation/models/SqlFilterImpl.java#L49
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/implementation/models/SqlRuleActionImpl.java#L40

@hongli750210, @YijunXieMS, before this PR is merged, do these locations need to be fixed as well:
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/implementation/models/SqlFilterImpl.java#L49
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/servicebus/azure-messaging-servicebus/src/main/java/com/azure/messaging/servicebus/implementation/models/SqlRuleActionImpl.java#L40

Good catch Alan. They should be fixed as well. @hongli750210

@YijunXieMS
namespace property of KeyValueOfstringanyType has been added in SqlFilter.java and SqlRuleActionImpl.java.


Fix typo in runserver_plus docs

Coverage remained the same at 28.66% when pulling c718c31f839da3b03130599df6d34ac457cd1ebd on ezheidtmann:docs-typo into 9bbf0bab3b478f4f4b27ccedf6c64e5965e897b5 on django-extensions:master.

Thanks !


Ubuntu 20.04 is not supported?

First of all, thanks for the great work. Webui is an innovative project that takes a fresh approach to creating UIs with web technologies.
Now, the issue that I have is: Ubuntu 20.04 has glibc 2.31.
When I try to use webui I get the following error:
Error: Could not open library: Could not open library: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/zizaco/Projects/deno/deno-webui/src/webui-linux-gcc-x64/webui-2.so)

From v2.4.2 - v2.0.2, all versions required glibc 2.34 or 2.33. I guess Ubuntu 20.04 is not supported then?
Unfortunately, that contradicts the promise of being "Portable" of Webui.
Is there any chance of a release that works with glibc 2.31?

you can use zig to compile this, it should use glibc 2.31 correctly
just download zig 0.11 or nightly, then git clone webui, goto the directory, and run zig build -Dis_static=false -Denable_tls=true, this will compile webui wtch tls support(dynamic link library)
The build results can be found under zig-out/lib

according to this issue: https://github.com/ziglang/zig/issues/4459, zig should support glibc 2.31

I think it's a better choice to use zig as a toolchain build, but that's up to @hassandraga and @ttytm decide
However, if webui itself does not provide libraries compiled by zig, it may be possible to provide libraries compiled by zig in the downstream zig-webui.

indeed, zig is well-known for allowing cross-compilation of popular projects. I found it a very reasonable approach. @hassandraga @ttytm I would love to hear your thoughts on this

I think Zig is an excellent build system, but webui is very simple to build. It has one .c file. You can build webui by simply cloning and running make. So, asking all developers to install Zig is an overkill.
On the other hand, some developers want to integrate webui as a submodule in their repo, so some need Zig, others need Cmake, Ninja... that's why it is a good thing to have those build systems as well.
To fix glibc issue, you can re-compile webui. But I guess to officially support the old glibc version, we should modify linux.yml from ubuntu-latest to ubuntu-18.04, this way we will be sure that webui will work with old glibc version and also the latest one.

Any updates on this? I use python version of webui2 and I really need this. E.g. on newly installed ubuntu 20.04 even with installing the updates, you still get the glibc 2.31 and webui2 fails. I need users to be able to use my app out of the box just by installing the python packages and not the operating system dependencies.

I think Zig is an excellent build system, but webui is very simple to build. It has one .c file. You can build webui by simply cloning and running make. So, asking all developers to install Zig is an overkill.
On the other hand, some developers want to integrate webui as a submodule in their repo, so some need Zig, others need Cmake, Ninja... that's why it is a good thing to have those build systems as well.
To fix glibc issue, you can re-compile webui. But I guess to officially support the old glibc version, we should modify linux.yml from ubuntu-latest to ubuntu-18.04, this way we will be sure that webui will work with old glibc version and also the latest one.

Any updates on this? I use python version of webui2 and I really need this. E.g. on newly installed ubuntu 20.04 even with installing the updates, you still get the glibc 2.31 and webui2 fails. I need users to be able to use my app out of the box just by installing the python packages and not the operating system dependencies.

To fix glibc issue, you can re-compile webui. But I guess to officially support the old glibc version, we should modify linux.yml from ubuntu-latest to ubuntu-18.04, this way we will be sure that webui will work with old glibc version and also the latest one.

Long term fix

Creating a new PR where linux.yml change ubuntu-latest to ubuntu-18.04
Wait until next stable release of WebUI comes, so Python-WebUI PyPi will be updated
Upgrade your webui2 local Python package

Quick fix / Workaround

Clone WebUI and run make to build it in your Ubuntu
Clone Python WebUI
Copy your local compiled webui-2.so and webui.py into your Python project
Make your project use the local webui.py instead of the installed PyPi package
Thanks a ton, I am going to try these tomorrow, it is 1am here. Two more questions:
1-Do you think that this should work on all x86_x64 linux systems or would it only work on ubuntu? (I did some google research, most people say compiled files shouldn't work on all linux systems but I also researched for so file format, it looks like it is a common format for linux systems, so I wanted to ask maybe it is somehow possible)
2-If you don't mind, could you please share when would be your prediction for the approximate date when the next stable release to take place?

Thank you very very much for responding in such a short time, really.

1 - The webui-2.so file is a dynamic library, it depend only on the standard GNU C library glibc that it is installed in all Linux systems by default, the only issue is the version, so if your Ubuntu has glibc v2.31, then your compiled webui-2.so will look for this version when used in other x86_x64 machines, normally Ubuntu has the new and some of old glibc to support new and old softwares.
2 - I don't know, this is a open source project managed by the community. When majority of open issues get fixed and all new features get tested then a new version should be released, so maybe in a couple of months. I suggest you do the quick around solution for now.
Your main Python script --> include webui.py which it will auto load webui-2.so in the same folder.
├── main.py
├── webui.py
└── webui-linux-gcc-x64
    └── webui-2.so

Thank you Albert. I am going to do something like the following but I am a little confused right now. From what I understand(Please forgive my ignorance) the linux.yml builds the app probably with CI pipeline after a new release comes around.   My question is that even though this builds the files for the whole Linux ecosystem, it uses ubuntu-latest(or in the future possibly ubuntu 18.04), so if I write my code like the following, i.e. only for Ubuntu, does this make sense? Since it looks like that regardless of the linux OS, it uses the Ubuntu builds anyway(it is most likely that I am mistaken though).  In short, should I use number one or number two:
1.
from sys import platform

if platform.startswith('ubuntu'):
# the one that I import as you described
   import webui.py
else:
   # the remote package from pip
    from webui import webui

import platform

if platform..system() == 'Linux':
# the one that I import as you described
   import webui.py
else:
   # the remote package from pip
    from webui import webui

When linux.yml build for Ubuntu, it means it build for all Debian based Linux ditro, not only Ubuntu.
The issue we have with linux.yml it's not Ubuntu itself, but, the issue is it use ubuntu-latest which use also the latest glibc v2.33, that's means the compiled webui-2 will work in all Debian based distro but only if glibc v2.33 is installed. Old Ubuntu/Debian still have glibc v2.31.
Your project should simply be like:
# Import local `webui.py`
import webui
MyWindow = webui.window()
MyWindow.show('<html><head><script src=\"webui.js\"></script></head> Hello World ! </html>')
webui.wait()

Files:
├── main.py
├── webui.py
└── webui-linux-gcc-x64
    └── webui-2.so

How to get webui-2.so?
git clone https://github.com/webui-dev/webui.git cd webui make
Your webui-2.so will be in /webui/dist/webui-2.so

Thanks again, I already did what you mentioned above and it is already running. I just wanted to ask regarding importing but I understand from your message already that it is fine to just use the glibcv2.31 version for if sys.platform == 'linux' since it is fine for all debian. I did the following since I still want to use the remote pip package for other operating systems, e.g. Windows and MacOS. Summary: Thank you a million, everything works now, I am going to create a pull request for the next release too as you mentioned but I never did such thing before, so I am going to learn how to do it meanwhile:
if platform == 'linux':
# I renamed the `webui.py` file as `webui_linux.py`
    import webui_linux as webui
else:
    from webui import webui


Use DiagnosticListner for middleware logging

I was well off the mark with my original thoughts around logging, after reading https://andrewlock.net/understanding-your-middleware-pipeline-with-the-middleware-analysis-package/ it turns out that you are able to to "listen" to when a middleware starts and ends, instead of having to remeber to log within the middleware itself.
This PR takes Andrew Lock's default implementation and hooks it up to the DiagnosticListener.

@MarcDenman looks good, I'll take a proper look asap!

@MarcDenman thanks for your help on this! I got round to finishing it off myself! Much appreciated :D


Reference images by filename only

In the current version, the HTML template references images by their public url, as retrieved from the AWS SDK through the property public_url. However, now that the images are stored in the same folder as index.html, they could be reference by their filename only.
A little backstory behind this PR: while we use Amazon S3 to store the snapshot image testing artefacts, we do not want them to be publicly available. Hence, we use a private bucket and only expose this bucket through a service that adds HTTP Basic Authentication. This won't work if images are referenced by their public path, as there is none in our case.

Cool, makes sense! I'll merge this manually later today so I can fix our test. Thanks for the PR!


fix(repeatWhen): support empty notifier

Description:
This PR is an attempt at fixing #3444. However, in making the changes, I found some conflict between a test, the documentation and the current behaviour. My changes were made in favour of the docs and the behaviour. In particular, this test attempts to assert that the observable repeats when an empty notifier is used:
it('should retry when notified and complete on returned completion', (done: MochaDone) => {
  const expected = [1, 2, 1, 2];
  Observable.of(1, 2)
    .map((n: number) => {
      return n;
    })
    .repeatWhen((notifications: any) => Observable.empty())
    .subscribe((n: number) => {
      expect(n).to.equal(expected.shift());
    }, (err: any) => {
      done(new Error('should not be called'));
    }, () => {
      done();
    });
});

However, it does not repeat. The test still passes, as there is no expectation to assert that all four values are received. The docs have this to say:

If the source Observable calls complete, this method will emit to the Observable returned from notifier. If that Observable calls complete or error, then this method will call complete or error on the child subscription.

I read that as meaning that an empty notifier that completes should not effect a repeat.
The change itself is trivial, it just checks to see whether or not the subscriber isStopped as it's possible for it to become so during the subscription to the notifier. See the explanation in this comment.
Given the conflict between the docs - at least by my reading of them - and the tests, it will be interesting to hear opinions as to whether or not this is a breaking change. Fun stuff. At any rate, the changes I've made to the tests should be useful, even if the solution is not appropriate.
Related issue (if exists): #3444

The test is wrong. It should only repeat when next is notified, complete should cause completion.

It seems like there's a breaking change here, so we want to make sure that the breaking change is documented in the commit message.

I don't know that there is a breaking change - or at least, I can't see it - but fighting with sinon in an attempt to stub/spy on Subscriber.prototype.error has done my head in.
I felt that it would be a breaking change if the behaviour were to be aligned with the test, but if the test is wrong, perhaps it's not a breaking change?
I've not been able to find a scenario where a complete from the notifier effects a repetition, but I've not looked too hard.
Also, there seems to be a problem - in 5.5.7, I expect the error will be swallowed in the beta - with notifiers that emit a value and then complete synchronously, like this:
repeatWhen(() => Rx.Observable.of(1))

It explodes on this line as retriesSubscription is null.

@benlesh Appologies for changing the PR after you'd approved it, but I had another look at it this morning and I think this fix is better.
The problem was with synchronous notifiers - empty or otherwise.
The PR now includes a failing test for a non-empty, synchronous notifier.
With an empty notifier that was empty, it would explode because this.notifications would be nulland with a non-empty notifier, it would explode becausethis.retriesSubscriptionwould beundefined- as the completion notification, etc. would occur beforesubscribeToResult` returned the subscription.
If the test I mentioned in the PR's details is wrong, I don't think there are breaking changes - the PR just fixes errors that would have been thrown in 5.5.6 and 5.5.7 and swallowed in other versions (including the beta).

Thank you, @cartant!


ClickOnce Installation

It would be good to create a ClickOnce installation that checks the online repository for updates.
In this way for a user would be much easier to install Housekeeper and get automatic updates.
With local resources, it works great and it is the way I distribute software in my network, I have never done it with an online repository but it's sure possible, SeSpy works this way.

Very cool!  I'll read up on it.

I followed this tutorial to do it; it seems to work even if sometimes the update at open doesn't trigger, haven't figured out it yet
https://stackoverflow.com/questions/13512029/is-it-possible-to-offer-a-clickonce-installer-on-github

On hold for now.

Closing for now.


Cropping fails with TypeError

Running wraith capture config, I get the following after it goes through a bunch of "cropping images" messages:
/Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/crop.rb:45:in `initialize': can't convert nil into String (TypeError)
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/crop.rb:45:in `open'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/crop.rb:45:in `find_heights'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/crop.rb:24:in `compare_height'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/crop.rb:12:in `crop'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/crop.rb:32:in `crop_images'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/cli.rb:60:in `crop_images'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/lib/wraith/cli.rb:89:in `capture'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/lib/ruby/gems/1.9.1/gems/wraith-1.1.4/bin/wraith:7:in `<top (required)>'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/bin/wraith:23:in `load'
        from /Users/trodrigues/.rbenv/versions/1.9.3-p429/bin/wraith:23:in `<main>'

My config looks like this:
#Headless browser option
browser:
  webkit: "phantomjs"
  # gecko: "slimerjs"

#If you want to have multiple snapping files, set the file name here
snap_file: "javascript/snap.js"

# Type the name of the directory that shots will be stored in
directory:
  - 'shots'

# Add only 2 domains, key will act as a label
domains:
  production: "https://www.contentful.com"
  development: "http://www.localdevelopmentdomain.com:8888"

#Type screen widths below, here are a couple of examples
screen_widths:
  - 320
  - 600
  - 768
  - 1024
  - 1280

#Type page URL paths below, here are a couple of examples
paths:
  home: /
  tour: /tour
  plans: /plans
  blog: /blog
  team: /team
  jobs: /jobs
  contact: /contact
  terms: /terms
  privacy: /privacy

# If you don't want to name the paths explicitly you can use a yaml
# collection as follows, and names will be derived by replacing / with _
#
# paths:
#  - /imghp
#  - /maps

#Amount of fuzz ImageMagick will use
fuzz: '20%'

#Set the number of days to keep the site spider file
spider_days:
  - 10

I am still experiencing this issue. Any idea why?

Using chrome and having the same problems when running wraith latests history_config.yml.
$ wraith info
DEBUG: #################################################
DEBUG:   Command run:        info
DEBUG:   Wraith version:     4.2.3
DEBUG:   Ruby version:       ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
DEBUG:   ImageMagick:        Version: ImageMagick 7.0.8-12 Q16 x86_64 2018-09-23 https://imagemagick.org
DEBUG:   PhantomJS version:  2.1.1
DEBUG:   chromedriver version:  ChromeDriver 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38)
DEBUG:   CasperJS version:   CasperJS not installed
DEBUG: #################################################

and my history_config.yml file…
##############################################################
##############################################################
# This is an example configuration provided by Wraith.
# Feel free to amend for your own requirements.
# ---
# This particular config is intended to demonstrate how
# to use Wraith in 'history' mode, which is best suited to
# making sure your site's appearance remains consistent over
# time.
#
# `wraith history history.yaml` # generate base screenshots
# `wraith latest history.yaml`  # take new shots and compare
#
##############################################################
##############################################################

# (required) The engine to run Wraith with. Examples: 'phantomjs', 'casperjs', 'slimerjs'
# browser: "phantomjs"
# browser: "slimerjs"
browser: "chrome"

# (required) The domain to take screenshots of.
domains:
  acompalia: 'https://domain.com'

# (required) The paths to capture. This particular config is using casperjs, so we can take screenshots of selectors rather than the entire page.
paths:
  home: /
  esp_home: /es

# (required) Screen widths (and optional height) to resize the browser to before taking the screenshot.
screen_widths:
  - 320
  - 600
  - 768
  - 1024
  - 1280

# (optional) Resize to each screen width (efficient), or reload at each screen width (costly). Default: 'reload'
resize_or_reload: 'resize'

# (required for history mode, otherwise optional) The directory that your base screenshots will be stored in.
history_dir: 'shots_base'

# (required) The directory that your latest screenshots will be stored in
directory: 'shots_postupdates'

# (required) Amount of fuzz ImageMagick will use when comparing images. A higher fuzz makes the comparison less strict.
fuzz: '20%'

# (optional) The maximum acceptable level of difference (in %) between two images before Wraith reports a failure. Default: 0
threshold: 5

# (optional) Specify the template (and generated thumbnail sizes) for the gallery output.
gallery:
  template: 'slideshow_template' # Examples: 'basic_template' (default), 'slideshow_template'
  thumb_width:  400
  thumb_height: 400

# (optional) Choose which results are displayed in the gallery, and in what order. Default: alphanumeric
# Options:
#   alphanumeric - all paths (with or without a difference) are shown, sorted by path
#   diffs_first - all paths (with or without a difference) are shown, sorted by difference size (largest first)
#   diffs_only - only paths with a difference are shown, sorted by difference size (largest first)
# Note: different screen widths are always grouped together.
mode: diffs_first

# (optional) Color to highlight the image diff. Default: 'blue'
highlight_color: red

========
Results in…
Config validated. No serious issues found.
Creating Folders
SAVING IMAGES
COPYING BASE IMAGES
Copying shots_base/home to shots_postupdates
Copying shots_base/donate to shots_postupdates
Copying shots_base/volunteers to shots_postupdates
Copying shots_base/members to shots_postupdates
Copying shots_base/news to shots_postupdates
Copying shots_base/grief_support to shots_postupdates
Copying shots_base/esp_home to shots_postupdates
Copying shots_base/esp_donate to shots_postupdates
Copying shots_base/esp_volunteers to shots_postupdates
Copying shots_base/esp_members to shots_postupdates
Copying shots_base/esp_news to shots_postupdates
Copying shots_base/esp_grief_support to shots_postupdates
CROPPING IMAGES
/Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/crop.rb:48:in `initialize': no implicit conversion of nil into String (TypeError)
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/crop.rb:48:in `open'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/crop.rb:48:in `image_dimensions'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/crop.rb:26:in `crop_if_necessary'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/crop.rb:19:in `block in crop_images'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:486:in `call_with_index'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:455:in `process_incoming_jobs'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:437:in `block in worker'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:428:in `fork'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:428:in `worker'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:419:in `block in create_workers'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:418:in `each'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:418:in `each_with_index'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:418:in `create_workers'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:358:in `work_in_processes'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:264:in `map'
        from /Library/Ruby/Gems/2.3.0/gems/parallel-1.12.1/lib/parallel.rb:217:in `each'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/crop.rb:18:in `crop_images'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/cli.rb:87:in `block in crop_images'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/helpers/utilities.rb:4:in `within_acceptable_limits'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/cli.rb:84:in `crop_images'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/cli.rb:161:in `block in latest'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/helpers/utilities.rb:4:in `within_acceptable_limits'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/lib/wraith/cli.rb:155:in `latest'
        from /Library/Ruby/Gems/2.3.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
        from /Library/Ruby/Gems/2.3.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
        from /Library/Ruby/Gems/2.3.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
        from /Library/Ruby/Gems/2.3.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
        from /Library/Ruby/Gems/2.3.0/gems/wraith-4.2.3/bin/wraith:5:in `<top (required)>'
        from /usr/local/bin/wraith:22:in `load'
        from /usr/local/bin/wraith:22:in `<main>'


SSW.Rules Production build is not working

@taineriley1 @bradystroud
Our production build stopped working after merging content this morning. I believe the issue is due to an extra space in a category as per the linting issue #514 and the previous occasion the build broke #500
AB#63233

I raised https://github.com/SSWConsulting/SSW.Rules.Content/pull/1474 which will hopefully fix this problem

It looks like it has solved the problem so I am closing this issue.


Converting Gradle Groovy -> Gradle Kotlin DSL for libraries

Note that this does not include the .gradle files in the gradle directory. I will convert these too at a later point. But let me know what you think.

Would be nice if the conversion was split into 2 commits: the first with file renames from ".gradle" to ".gradle.kts" without changing the content; the second with the file content conversion. This will allow to preserve history of the build files.

Thank you for the PR, I will review it and merge if it's ok during the next 2–3 weeks.


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

github.com/gruntwork-io/terratest
require
patch
v0.47.1 -> v0.47.2

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.39.4 -> v1.39.7

go (source)
toolchain
patch
1.23.1 -> 1.23.2

Release Notes

gruntwork-io/terratest (github.com/gruntwork-io/terratest)
v0.47.2
Compare Source
Modules affected

ssh
terraform

Description

Updated logging line in ssh module
Refined terraform output by removing unnecessary info lines
Update rexml dependency

Related links

https://github.com/gruntwork-io/terratest/pull/1440
https://github.com/gruntwork-io/terratest/pull/1437
https://github.com/gruntwork-io/terratest/pull/1445

Full Changelog: https://github.com/gruntwork-io/terratest/compare/v0.47.1...v0.47.2

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.39.7
Compare Source
Bug Fixes

deps: update gomod (#874) (f8fa2c3)

v1.39.6
Compare Source
Bug Fixes

Add custom Logger and implement for projects tests(#873) (78d99dc)

v1.39.5
Compare Source
Bug Fixes

add documentation for projects test (#872) (06ff82d)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: tests/go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

3 additional dependencies were updated

Details:

Package
Change

golang.org/x/crypto
v0.27.0 -> v0.28.0

golang.org/x/sys
v0.25.0 -> v0.26.0

golang.org/x/text
v0.18.0 -> v0.19.0

/run pipeline

/run pipeline

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

GitHub release
v1.10.23

Your semantic-release bot :package::rocket:


division of two numbers

Why:
I have completed the division of two numbers in c
Closes  #336
What's being changed:

added a new folder which contains a c file with the division code and a readme file

Check off the following:

I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).

For content changes, I have completed the self-review checklist.

Hey @giftcup
Thanks for contributing to this open source project 😃
This PR will be reviewed and merged shortly

Preview : https://codinasion--pr33-dev-mef9n8f9.web.app/programme/divide-two-numbers/
(expires Wed, 16 Mar 2022 12:15:07 GMT)

LIVE : https://codinasion.web.app/programme/divide-two-numbers/


Update Kafka cluster hosts

Remember to update https://confluence.esss.lu.se/pages/viewpage.action?pageId=396791870 and other relevant pages


Stuck on "Attempting to fix the json of launch.json..."

Apparently mine got stuck on Attempting to fix the json launch.json.
I'm on a M1 Pro Mac.
Searching with fast-glob found nothing. (Sometimes isn't bug)
*.uproject file was found!

Extension "UE Intellisense Fixes" 3.5.0 is now active!

Found Unreal Engine v5.1.0

Fixing compiler paths in compile commands.

[...]

Attempting to fix UE workspace(Add empty tag parser).
UE's tag parser includes are set to empty array for performance.
The setting limitSymbolsToIncludedHeaders is already set to true.
End fix UE workspace(Add empty tag parser).

Attempting to fix wrong cppStandard.
Info : UE4 should be default c++14 (it can be c++17 with some special configuration)
Info : UE5 should be c++17
Extension's cppStandard setting was set to empty string.
Intellisense will use cpptools cppStandard setting instead of this extension's setting.
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
End fix wrong cppStandard.

Fixing launch.json.

Attempting to fix the json of launch.json...

Unfortunately it did not, algo was it suppose to modify my c_cpp_properties.json? Because it didn't. Many I'm doing something wrong.

Nope, it should be fixing launch.json in your project's .vscode folder.
Actually I should've been paying more attention to the log. You're on UE 5.1  and using a Mac m1. You shouldn't have to fix anything in launch.json so it should just check and skip over everything in the launch fix. Strange...
I'll have to create an update, with detailed logs, to see exactly where it stops. I'll do that later today.

I decided to not do detailed logs, yet.
I did go through all my code and found/fixed more async/await errors. Hopefully this is the reason for your errors.
Let me know if it fixes it or what the logs show now.

Still not working. Here is the full log in case it helps:
Searching for *.uproject file...
Searching with fast-glob found nothing. (Sometimes isn't bug)
*.uproject file was found!

Extension "UE Intellisense Fixes" 3.5.2 is now active!

Found Unreal Engine v5.1.0

Fixing compiler paths in compile commands.
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_MyProject.json
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_Default.json
Done fixing compiler paths.

Fixing compiler path in c_cpp_properties.json.
End fix c_cpp_properties compiler path.

Fixing invalid paths in response files.
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
End fixing invalid paths in response files.

Fixing *.generated.h files!
Searching with fast-glob found nothing. (Sometimes isn't bug)
Correct *.generated.h files are found! Note: This extension doesn't test if all *.generated.h files have been created.
For Intellisense, you'll need to Build any newly created project files with the 'Editor' suffix config (e.g. MyProjectNameEditor (platform) Development Build).
All response files have the correct *.generated.h path!
End fixing *.generated.h

Fixing missing compile command files.
No missing file paths found. No fixes needed.
No missing file paths found. No fixes needed.
End fix missing compile commands.

Warning about Public/Private directory
Searching with fast-glob found nothing. (Sometimes isn't bug)

** Warning **: Public/Private folders found in your Source directory.
*** Make sure to reset(Generate Project Files) your project, only once, to add these folders to the correct config files.
End warn Public/Private Directory

Attempting to fix UE workspace(Add empty tag parser).
UE's tag parser includes are set to empty array for performance.
The setting limitSymbolsToIncludedHeaders is already set to true.
End fix UE workspace(Add empty tag parser).

Attempting to fix wrong cppStandard.
Info : UE4 should be default c++14 (it can be c++17 with some special configuration)
Info : UE5 should be c++17
Extension's cppStandard setting was set to empty string.
Intellisense will use cpptools cppStandard setting instead of this extension's setting.
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
End fix wrong cppStandard.

Fixing launch.json.

Attempting to fix the json of launch.json...

And here is the log when I delete the launch.json file from my project:
Searching for *.uproject file...
Searching with fast-glob found nothing. (Sometimes isn't bug)
*.uproject file was found!

Extension "UE Intellisense Fixes" 3.5.2 is now active!

Found Unreal Engine v5.1.0

Fixing compiler paths in compile commands.
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_MyProject.json
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_Default.json
Done fixing compiler paths.

Fixing compiler path in c_cpp_properties.json.
End fix c_cpp_properties compiler path.

Fixing invalid paths in response files.
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
End fixing invalid paths in response files.

Fixing *.generated.h files!
Searching with fast-glob found nothing. (Sometimes isn't bug)
Correct *.generated.h files are found! Note: This extension doesn't test if all *.generated.h files have been created.
For Intellisense, you'll need to Build any newly created project files with the 'Editor' suffix config (e.g. MyProjectNameEditor (platform) Development Build).
All response files have the correct *.generated.h path!
End fixing *.generated.h

Fixing missing compile command files.
No missing file paths found. No fixes needed.
No missing file paths found. No fixes needed.
End fix missing compile commands.

Warning about Public/Private directory
Searching with fast-glob found nothing. (Sometimes isn't bug)

** Warning **: Public/Private folders found in your Source directory.
*** Make sure to reset(Generate Project Files) your project, only once, to add these folders to the correct config files.
End warn Public/Private Directory

Attempting to fix UE workspace(Add empty tag parser).
UE's tag parser includes are set to empty array for performance.
The setting limitSymbolsToIncludedHeaders is already set to true.
End fix UE workspace(Add empty tag parser).

Attempting to fix wrong cppStandard.
Info : UE4 should be default c++14 (it can be c++17 with some special configuration)
Info : UE5 should be c++17
Extension's cppStandard setting was set to empty string.
Intellisense will use cpptools cppStandard setting instead of this extension's setting.
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
End fix wrong cppStandard.

Fixing launch.json.

** Error **: Error reading /Users/admin/Projects/MyProject/.vscode/launch.json. Message: Unable to read file '/Users/admin/Projects/MyProject/.vscode/launch.json' (Error: Unable to resolve nonexistent file '/Users/admin/Projects/MyProject/.vscode/launch.json')

** Error **: Could not read launch.json, path: /Users/admin/Projects/MyProject/.vscode/launch.json
End fix launch.json.

Start fix wrong intellisense mode
Cpu: Apple M1 Pro

** Error **: Couldn't update extension setting intellisenseMode!
End fix wrong intellisense mode.

Attempting to fix UE workspace optimization.

** Warning **: Optimization of UE is enabled!
Enabling UE optimization disables red squiggle compiling for the Unreal Engine source code.
This does not affect your project's source code (it still can have red squiggles).
You can disable this optimization in this extension's settings.
End fix UE optimization.

No need to write MyProject CCppProperties. It was unchanged.

Writing /Users/Shared/Epic Games/UE_5.1/.vscode/c_cpp_properties.json to file.

*** Number of error messages: 3
*** Number of warning messages: 16
If you get any errors you can try restarting VSCode to check if they've been fixed.

Extension is done.

I get the same error on UE4.27.

Alright thanks for testing. Pretty strange as it seems like a async/await bug. I'll get out a logging update soon.

Oh and you do need a launch.json. That's the config that lets you debug your project with breakpoints when you need to.

I updated the extension to 3.6.0 because along with more logs I changed the way reading/writing of files worked.
Let me know!

It ran all the way this time, but with some errors. Not sure if they are suppose to happened.
Searching for *.uproject file...
Searching with fast-glob found nothing. (Sometimes isn't bug)
*.uproject file was found!

Extension "UE Intellisense Fixes" 3.6.0 is now active!

Found Unreal Engine v5.1.0

Fixing compiler paths in compile commands.
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_MyProject.json
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_Default.json
Done fixing compiler paths.

Fixing compiler path in c_cpp_properties.json.
End fix c_cpp_properties compiler path.

Fixing invalid paths in response files.
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
End fixing invalid paths in response files.

Fixing *.generated.h files!
Searching with fast-glob found nothing. (Sometimes isn't bug)
Correct *.generated.h files are found! Note: This extension doesn't test if all *.generated.h files have been created.
For Intellisense, you'll need to Build any newly created project files with the 'Editor' suffix config (e.g. MyProjectNameEditor (platform) Development Build).
All response files have the correct *.generated.h path!
End fixing *.generated.h

Fixing missing compile command files.
No missing file paths found. No fixes needed.
No missing file paths found. No fixes needed.
End fix missing compile commands.

Warning about Public/Private directory
Searching with fast-glob found nothing. (Sometimes isn't bug)

** Warning **: Public/Private folders found in your Source directory.
*** Make sure to reset(Generate Project Files) your project, only once, to add these folders to the correct config files.
End warn Public/Private Directory

Attempting to fix UE workspace(Add empty tag parser).
UE's tag parser includes are set to empty array for performance.
The setting limitSymbolsToIncludedHeaders is already set to true.
End fix UE workspace(Add empty tag parser).

Attempting to fix wrong cppStandard.
Info : UE4 should be default c++14 (it can be c++17 with some special configuration)
Info : UE5 should be c++17
Extension's cppStandard setting was set to empty string.
Intellisense will use cpptools cppStandard setting instead of this extension's setting.
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
End fix wrong cppStandard.

Fixing launch.json.

Attempting to fix the json of launch.json...

** Error **: Replace all exception!

** Error **: e.replace is not a function

** Error **: Will use original launch file string...
No fixes need for malformed json!
Checking for deprecated external console...
There was nothing to fix!
End fix launch.json.

Start fix wrong intellisense mode
Cpu: Apple M1 Pro

** Error **: Couldn't update extension setting intellisenseMode!
End fix wrong intellisense mode.

Attempting to fix UE workspace optimization.

** Warning **: Optimization of UE is enabled!
Enabling UE optimization disables red squiggle compiling for the Unreal Engine source code.
This does not affect your project's source code (it still can have red squiggles).
You can disable this optimization in this extension's settings.
End fix UE optimization.

No need to write MyProject CCppProperties. It was unchanged.
No need to write UE5 CCppProperties. It was unchanged.

*** Number of error messages: 4
*** Number of warning messages: 16
If you get any errors you can try restarting VSCode to check if they've been fixed.

Extension is done.

Updated to 3.7.0
You also have another bug in there with the updating of intellisenseMode. I added log messages and reworked where the setting is stored. Let me know if this bug is fixed or the improved error message it gives.

Nice, now It ran with no errors. Only some warnings.
Searching for *.uproject file...
Searching with fast-glob found nothing. (Sometimes isn't bug)
*.uproject file was found!

Extension "UE Intellisense Fixes" 3.7.0 is now active!

Found Unreal Engine v5.1.0

Fixing compiler paths in compile commands.
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_MyProject.json
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_Default.json
Done fixing compiler paths.

Fixing compiler path in c_cpp_properties.json.
End fix c_cpp_properties compiler path.

Fixing invalid paths in response files.
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
End fixing invalid paths in response files.

Fixing *.generated.h files!
Searching with fast-glob found nothing. (Sometimes isn't bug)
Correct *.generated.h files are found! Note: This extension doesn't test if all *.generated.h files have been created.
For Intellisense, you'll need to Build any newly created project files with the 'Editor' suffix config (e.g. MyProjectNameEditor (platform) Development Build).
All response files have the correct *.generated.h path!
End fixing *.generated.h

Fixing missing compile command files.
No missing file paths found. No fixes needed.
No missing file paths found. No fixes needed.
End fix missing compile commands.

Warning about Public/Private directory
Searching with fast-glob found nothing. (Sometimes isn't bug)

** Warning **: Public/Private folders found in your Source directory.
*** Make sure to reset(Generate Project Files) your project, only once, to add these folders to the correct config files.
End warn Public/Private Directory

Attempting to fix UE workspace(Add empty tag parser).
UE's tag parser includes are set to empty array for performance.
The setting limitSymbolsToIncludedHeaders is already set to true.
End fix UE workspace(Add empty tag parser).

Attempting to fix wrong cppStandard.
Info : UE4 should be default c++14 (it can be c++17 with some special configuration)
Info : UE5 should be c++17
Extension's cppStandard setting was set to empty string.
Intellisense will use cpptools cppStandard setting instead of this extension's setting.
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
End fix wrong cppStandard.

Fixing launch.json.

Attempting to fix the json of launch.json...
Returning fixed launch file string.
No fixes need for malformed json!
Checking for deprecated external console...
There was nothing to fix!
End fix launch.json.

Start fix wrong intellisense mode
Cpu: Apple M1 Pro
End fix wrong intellisense mode.

Attempting to fix UE workspace optimization.

** Warning **: Optimization of UE is enabled!
Enabling UE optimization disables red squiggle compiling for the Unreal Engine source code.
This does not affect your project's source code (it still can have red squiggles).
You can disable this optimization in this extension's settings.
End fix UE optimization.

No need to write MyProject CCppProperties. It was unchanged.

Writing /Users/Shared/Epic Games/UE_5.1/.vscode/c_cpp_properties.json to file.

*** Number of error messages: 0
*** Number of warning messages: 16
If you get any errors you can try restarting VSCode to check if they've been fixed.

Extension is done.

I closed the project and opened again and it gave me a different log:
Searching for *.uproject file...
Searching with fast-glob found nothing. (Sometimes isn't bug)
*.uproject file was found!

Extension "UE Intellisense Fixes" 3.7.0 is now active!

Found Unreal Engine v5.1.0

Fixing compiler paths in compile commands.
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_MyProject.json
Below is the compile commands first entry command. (WARNING) If getting errors and the compiler path is unexpected reset your UE project.
command/arguments[0]: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
File write: /Users/admin/Projects/MyProject/.vscode/compileCommands_Default.json
Done fixing compiler paths.

Fixing compiler path in c_cpp_properties.json.
End fix c_cpp_properties compiler path.

Fixing invalid paths in response files.
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 6 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 203 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 8 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 12 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 14 paths that don't exist. Is this on purpose?
No invalid paths returned. No fixes needed.

** Warning **: Epic Games has included 201 paths that don't exist. Is this on purpose?
End fixing invalid paths in response files.

Fixing *.generated.h files!
Searching with fast-glob found nothing. (Sometimes isn't bug)
Correct *.generated.h files are found! Note: This extension doesn't test if all *.generated.h files have been created.
For Intellisense, you'll need to Build any newly created project files with the 'Editor' suffix config (e.g. MyProjectNameEditor (platform) Development Build).
All response files have the correct *.generated.h path!
End fixing *.generated.h

Fixing missing compile command files.
No missing file paths found. No fixes needed.
No missing file paths found. No fixes needed.
End fix missing compile commands.

Warning about Public/Private directory
Searching with fast-glob found nothing. (Sometimes isn't bug)

** Warning **: Public/Private folders found in your Source directory.
*** Make sure to reset(Generate Project Files) your project, only once, to add these folders to the correct config files.
End warn Public/Private Directory

Attempting to fix UE workspace(Add empty tag parser).
UE's tag parser includes are set to empty array for performance.
The setting limitSymbolsToIncludedHeaders is already set to true.
End fix UE workspace(Add empty tag parser).

Attempting to fix wrong cppStandard.
Info : UE4 should be default c++14 (it can be c++17 with some special configuration)
Info : UE5 should be c++17
Extension's cppStandard setting was set to empty string.
Intellisense will use cpptools cppStandard setting instead of this extension's setting.
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current VSCode/cpptools cppStandard is:  (Can be blank)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
Current c_cpp_properties.json's cppStandard is: c++17 (Overrides VSCode/cpptools if not undefined)
End fix wrong cppStandard.

Fixing launch.json.

Attempting to fix the json of launch.json...
Returning fixed launch file string.
No fixes need for malformed json!
Checking for deprecated external console...
There was nothing to fix!
End fix launch.json.

Start fix wrong intellisense mode
Cpu: Apple M1 Pro
This extension set MAIN workspace c_cpp_properties.json's intellisenseMode to macos-clang-arm64
This extension set MAIN workspace c_cpp_properties.json's intellisenseMode to macos-clang-arm64
This extension set UE workspace c_cpp_properties.json's intellisenseMode to macos-clang-arm64
This extension set UE workspace c_cpp_properties.json's intellisenseMode to macos-clang-arm64
End fix wrong intellisense mode.

Attempting to fix UE workspace optimization.

** Warning **: Optimization of UE is enabled!
Enabling UE optimization disables red squiggle compiling for the Unreal Engine source code.
This does not affect your project's source code (it still can have red squiggles).
You can disable this optimization in this extension's settings.
End fix UE optimization.

Writing /Users/admin/Projects/MyProject/.vscode/c_cpp_properties.json to file.

Writing /Users/Shared/Epic Games/UE_5.1/.vscode/c_cpp_properties.json to file.

*** Number of error messages: 0
*** Number of warning messages: 16
If you get any errors you can try restarting VSCode to check if they've been fixed.

Extension is done.

These are the diffs after the first and the second time I opened the project. The ones I didn't print were only whitespaces.
https://ibb.co/0J7y6zn
https://ibb.co/zbrtysM
https://ibb.co/nPBJsQ5

Updated to 3.7.1 to fix the small bug that made you have to restart.
Intellisense should work now with 0 errors (red squiggles).
If not you can check 2 things:

In this extension's compiler.path setting it explains about Macs and what to set the setting to if you're getting errors.
/usr/bin/clang++
You maybe accidently using the wrong cpptools extension version. You can download the native m1 version manually and install it like you installed this extension here.  https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
On the right is Download Extension and you want the MacOS Apple Silicon version. Make sure to uninstall the current cpptools extension first.

It work flawlessly now, no more squigly lines! Thanks a lot! The only thins is that the auto complete is very slow, it takes about 10 seconds to show up. But I suppose this is standard with the combo VSCode + Unreal, right?

It'll be slow in header files but should be decently fast in source files once it loads.
I'm currently creating a clangd/unreal project creator extension. Its intellisense is decently fast in both header and source. Not sure how good it is though but I was going to thoroughly test it after I finished the extension.
UE 5.1 made it a little easier since they fixed a lot of bugs they had in the clang database that unreal creates (at least for Windows). Still has a small bug, that needs to be fixed by my extension, but works nicely.

Nice, I'll be checking this one out too. Let me now if there is anything I can help you with. Again, thanks a lot for the fixes!


Allow for empty @argument, @return, and other tags

Currently the parser for docs complains about empty @argument, @return, and possible other tags where it expects some kind of body. Maybe we can allow for this without the parser complaining and simply not have a description for those that are empty

I'm adding a @return to my comments but not seeing that return being parse. The markdown generates a return block but my text isn't picked when the parsing is done.

IdeaFeatureFlagSelector
APIVERSION: 55
STATUS: ACTIVE
"Selector" Class for querying Feature Flag Custom Metadata Records.
Author IDEA Development Team
See https://andyinthecloud.com/2013/09/09/apex-enterprise-patterns-selector-layer/
Fields
sObjectFields → List<Schema.SObjectField>
The below list of fields are always returned whenever this class is instantiated

Methods
static isValidQuery(String query)
Static method that checks whether a provided query is a valid query or not
Parameters

Param
Description

query
Query to validate against

Return
Type
Boolean
Description
Boolean if whether or not provided query is valid
getSObjectType()
Returns the sObject type of this selector
Return
Type
Schema.SObjectType
Description
sObject type
getSObjectFieldList()
Returns the "default" list of fields that this selector class returns
Return
Type
List<Schema.SObjectField>
Description
List<Schema.SObjectField>List of IDEA_Feature_Flag__mdt fields
addSObjectFields(List<Schema.SObjectField> sObjectFields)
Adds additional sObject fields to query (outside of "default" set)
Parameters

Param
Description

sObjectFields
List of IDEA_Feature_Flag__mdt fields

generateQueryString()
Generates a query string from the sObject fields contained in this class
Return
Type
String
Description
Base query string
setQueryCondition(String queryString, String queryCondition)
Appends a condition to a query
Parameters

Param
Description

queryString
Base query string

queryCondition
Conditional string for a query

Return
Type
String
Description
Query string with a provided condition
selectByComponent(Set<String> componentApiNames)
Returns a list of Feature Flag records based on API names of LWCs
Parameters

Param
Description

componentApiNames
Set of API names of LWC components

Return
Type
List<IDEA_Feature_Flag__mdt>
Description
List of Feature Flag records

Classes
IDEAQueryException

Thanks @carrera328
I'll look into this

@carrera328 From your second comment I see the return information there

Is the issue that the text doesn't match what you have or that the current format is not clear?

Hey @cesarParra I see now, my mistake I misunderstood the format. Thanks for clearing this up for me.