Is The odata.continue-on-error preference still not supported by the web API?

Hi Power Platform Team,
In the old D365 (v8.0) docs, there was a hint that  "The odata.continue-on-error preference is not supported by the web API".
Is this still true for v9.1/v9.2 (On-Premises/Cloud)? The new documentation does not indicated that the header is not supported, and it seems to work. A clarifiation would be great :)

https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/mt607719(v=crm.8)#batch-requests
BR
Martin
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6db53047-327d-6eec-e6a8-4d9dae98f362
Version Independent ID: 31b3ebbd-9070-db30-cc4e-cec4b41373b8
Content: Execute batch operations using the Web API (Microsoft Dataverse) - Power Apps
Content Source: powerapps-docs/developer/data-platform/webapi/execute-batch-operations-using-web-api.md
Service: powerapps
GitHub Login: @JimDaly
Microsoft Alias: jdaly

To add more confusion from our side:
It seems that v8.2 (On-Premises, <IP_ADDRESS>) is proccessing the whole batch, even when an error occurs,
v9.1 On-Premises ( 9.1.0001.0914) will stop the processing of the remainder of the batch, when an error occurs. After setting the "odata.continue-on-error" preference, v9.1 will process the whole batch, even in the event of an error.
We are currently migrating form v8.2 to 9.1 and our interface guy's did stumbled across this issue

@JimDaly Can you please respond to this question.

@phecke & @martintoelk
I'll look at this .

I added a new section to the topic to describe this behavior. See Handling errors

@JimDaly Hi Jim, why isn't this header respected when using Microsoft Business Central and related plugins? The response back from the server indicate that they use OData Web API 4.0. Is the header not respected because it's introduced in 5.7? https://docs.microsoft.com/en-us/odata/webapi/continue-on-error

@socketopp
I'm not familiar with Business Central and related plug-ins. Web API doesn't behave differently for different clients.
OData has two current versions: 4.0 and 4.01. Dataverse uses v4.0. The docs you are linking to are about building your own OData service and the OData libraries involve versions like OData Web API V5.7.
The headers should be respected as documented for Dataverse. If not, please contact technical support.

Hi Team,
I am trying batch API with "Prefer: odata.continue-on-error" header but its not working as expected for neither v8.2 nor v9.2. Could you please mention which version has support for "odata.continue-on-error". Any error that occurs in the batch it stopping the processing of the remainder of the batch.

@vijendraIntrop
The version is irrelevant.
It should work for you. We don't have any sample dedicated to $batch, but it is used in some of our C# samples via the WebApiService class library See Batch for details.
What language are you using?
Can you capture the HTTP traffic and post examples of the requests here?

Hi @JimDaly,
thanks for quick reply.
Here is the example, used "Prefer: odata.continue-on-error" request header.
Error occurred for a request within a batch, the error for that request returned for the batch request and stopped the processing of the remainder of the batch.
As used continue-on-error it should process remaining changesets but it didnt and retuned only single failed changeset.
I am using .NET 4.6 but even I tried in Postman and got same response.
``
HTTP Request
{Method: POST, RequestUri: 'https://ourfoo-test.crm4.dynamics.com/api/data/v9.1/$batch', Version: 2.0, Content: System.Net.Http.ByteArrayContent,
Headers:
{
Authorization: Bearer <!============token======================!>
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.continue-on-error
Content-Type: multipart/mixed; boundary=batch_gZNj8h
}}
Request body
--batch_kMJv3c
Content-Type: multipart/mixed;boundary=changeset_WwZNCN
--changeset_WwZNCN
Content-Type: application/http
Content-Transfer-Encoding:binary
Content-ID: 1
PATCH https://ourfoo-test.crm4.dynamics.com/api/data/v9.1/accounts(20b7517a-5a52-xxxx-xxxx-000d4aa87do8) HTTP/1.1
Content-Type: application/json;type=entry
Accept: application/json
<EMAIL_ADDRESS>--changeset_WwZNCN
Content-Type: application/http
Content-Transfer-Encoding:binary
Content-ID: 2
PATCH https://ourfoo-test.crm4.dynamics.com/api/data/v9.1/accounts(cf4fb96b-21a5-xxxx-xxxx-000d4a3a8e9d) HTTP/1.1
Content-Type: application/json;type=entry
Accept: application/json
<EMAIL_ADDRESS>--changeset_WwZNCN--
--batch_kMJv3c--
Response
--batchresponse_d36f7ca6-4a4e-44c8-a0a3-489d7f4c3f5c
Content-Type: multipart/mixed; boundary=changesetresponse_29268a32-305c-4b58-8253-34d275338ab0
--changesetresponse_29268a32-305c-4b58-8253-34d275338ab0
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 1
HTTP/1.1 400 Bad Request
REQ_ID: aee7bb77-9ac6-4547-b22e-69334c7a34f7
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{"error":{"code":"0x80048d19","message":"Error identified in Payload provided by the user for Entity :'', For more information on this error please follow this help link https://go.microsoft.com/fwlink/?linkid=2195293  ---->  InnerException : Microsoft.Crm.CrmException: Invalid property 'emailaddrezz1' was found in entity 'Microsoft.Dynamics.CRM.account'. ---> Microsoft.OData.ODataException: Does not support untyped value in non-open type.\r\n   at System.Web.OData.Formatter.Deserialization.DeserializationHelpers.ApplyProperty(ODataProperty property, IEdmStructuredTypeReference resourceType, Object resource, ODataDeserializerProvider deserializerProvider, ODataDeserializerContext readContext)\r\n   at Microsoft.Crm.Extensibility.CrmODataEntityDeserializer.ApplyStructuralProperty(Object resource, ODataProperty structuralProperty, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)\r\n   --- End of inner exception stack trace ---\r\n   at Microsoft.Crm.Extensibility.CrmODataEntityDeserializer.ApplyStructuralProperty(Object resource, ODataProperty structuralProperty, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)\r\n   at System.Web.OData.Formatter.Deserialization.ODataResourceDeserializer.ApplyStructuralProperties(Object resource, ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)\r\n   at Microsoft.Crm.Extensibility.CrmODataEntityDeserializer.ApplyStructuralProperties(Object resource, ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)\r\n   at System.Web.OData.Formatter.Deserialization.ODataResourceDeserializer.ReadResource(ODataResourceWrapper resourceWrapper, IEdmStructuredTypeReference structuredType, ODataDeserializerContext readContext)\r\n   at System.Web.OData.Formatter.ODataMediaTypeFormatter.ReadFromStream(Type type, Stream readStream, HttpContent content, IFormatterLogger formatterLogger)."}}
--changesetresponse_29268a32-305c-4b58-8253-34d275338ab0--
--batchresponse_d36f7ca6-4a4e-44c8-a0a3-489d7f4c3f5c--

@vijendraIntrop
Sorry for the delay in responding. Thanksgiving holiday here in the US.
Please see the attached batch-continue-on-error-test.txt showing the result of this code using the WebAPIService BatchRequest class:
Config config = App.InitializeApp();
var service = new Service(config);

List<HttpRequestMessage> changeSet1Requests = new()
{
    new CreateRequest("accounts", new JObject { { "name", "Test Account 1" } }),
    new CreateRequest("accounts", new JObject { { "name", "Test Account 2 name is way too long. Tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong" } })
};

List<HttpRequestMessage> changeSet2Requests = new()
{
    new CreateRequest("accounts", new JObject { { "name", "Test Account 3" } }),
    new CreateRequest("accounts", new JObject { { "name", "Test Account 4" } })
};

List<ChangeSet> changes = new()
{
    new ChangeSet(changeSet1Requests),
    new ChangeSet(changeSet2Requests)
};

BatchRequest request = new(service.BaseAddress)
{
    ContinueOnError = true,
    ChangeSets = changes
};

BatchResponse response = await service.SendAsync<BatchResponse>(request);

response.HttpResponseMessages.ForEach(async resp => {

    if (resp.IsSuccessStatusCode)
    {
        Console.WriteLine(resp.As<CreateResponse>().EntityReference.Id);
    }
    else
    {
        ServiceException error = await Service.ParseError(resp);
        Console.WriteLine(error.Message);
    }

});

Output is like this:
A validation error occurred.  The length of the 'name' attribute of the 'account' entity exceeded the maximum allowed length of '160'.
a4384e07-b56e-ed11-9562-000d3a9933c9
a7384e07-b56e-ed11-9562-000d3a9933c9

You can see that Prefer: odata.continue-on-error is working here. While the first changeset fails, the second completes.
I also tested by using an invalid property name like you did, and I got the same result.
ChangeSet is a transaction grouping, so if any one of the items fails, all the items in the changeset must fail.
Please take a look at the attached example and let me know if this helps.

@vijendraIntrop
Changesets are only required when you need all the operations within them to be performed in a single transaction.
You can send requests without changesets if you don't require them all to succeed as a group.
See attached continue-on-error-no-changeset.txt
Action item for me: Provide some examples in the docs that are not using change sets.
The only limit is 1000 requests per batch.
That old community post seems to be referring to case where you use the OData client libraries.

Thanks @JimDaly,
Got it, change-set not required if there is not dependent/interrelated entity operation (in a one transaction) and batch request should be without change-set for this scenario.
Your attached sample batch request and response helped me to understand.

Thanks @JimDaly
It work as expected.

I've got my workitem to add examples without changesets, so closing this.

I have completed the workitem created for this issue. Major changes to Execute batch operations using the Web API will be published soon.


Fixed crash bug in latest Brunch

The current version of brunch and current version of jaded-brunch crash on compiling a .static.jade file. The cause of this is not passing the second parameter into callback on successful execution of the compile function.

On second thoughts, this is a Brunch bug not a jaded-brunch bug. Passing null as a second parameter to the callback used to be supported as a way of emitting no source for a compiled asset, not that's broken. I'll submit a PR to Brunch instead.

@BernieSumption If they come back to you saying that it's not brunch's problem then can you let me know? They don't seem to be very fair in their reasoning for closing PRs, so I expect this issue to become a jaded-brunch issue even if it's really an undocumented API change in brunch.
I've stopped using brunch, but I want to make sure that this project is still in working order. Thanks a ton for submitting this PR.

Not to worry, my PR has been merged already. Might take a small while to get into an npm release.


Now can't use?  composite key   ctrl+ I/K/J/L  to up down left right

Now can't use?  composite key   ctrl+ I/K/J/L  to up down left right
On   macOS Sierra 10.12.2

+1

+1

+1

+1

+1

+1

+1

+1,  also want the feature s+ I/K/J/L to up down left right

😞


Feature/docusaurus post launch

Adding styling updates from Andrew Larbi.
Changing the term "Documentation" to "User guide" in the upper left area next to the wordmark logo "PLUTUS".
@ana-pantilie and @effectfully
I suspect that this branch here, intended only to push changes to the doc site, has somehow pulled in some of your code. If we need to avoid that, I want to find a fix rather than push your code through this branch pull request. I'll add you as a reviewer so that you can let me know if we need to stop this PR and approach it differently.

Well, actually, in that case it's probably simply git revert 5e29c87.


Safari extension should be made too

I just think safari extension should exist too. I'll be happy to contribute for the safari version.

Sure, you can raise a PR

closing since there's no response


Lock/Unlock plug menu items

This makes the Plug::ReadOnly flag (that we've had behind the scenes for a long time) user visible for the first time, via a menu item for locking/unlocking the plug.

I've pushed a commit fixing the label editability. It's actually odd that you can even edit the name at the API level. The problem is that flags exist only at the Plug level, and the name edits happen at the GraphComponent level. We actually need the concept of read-onliness for nodes as well (for nodes inside a reference), so I suspect at some point we'll need to move the concept up to GraphComponent, and probably extend the idea so that read-onliness is inherited down the hierarchy of nodes and plugs as well...

Needs a rebase

Rebased.


HIVE-24347: Fix failing test: TestMiniLlapLocalCliDriver.testCliDriver[cardinality_preserving_join_opt2]

@kasakrisz , could you take a quick look? Thanks


2

A reference to a related issue in your repository.
A description of the changes proposed in the pull request.
@mentions of the person or team responsible for reviewing proposed changes.

1


Enable connect-engine support

Not quite sure if it's working that way - the first Time I do a MariaDB Spec-File update ... so please review critically ... thx ;-)

well ... guess it's not working as expected ... no idea why ... :-(
2020-01-09 17:53:00 0 [ERROR] mysqld: Can't open shared library '/usr/lib64/mariadb/plugin/ha_connect.so' (errno: 0, undefined symbol: _Z10XMLColumnsP7_globalPcS1_P22ha_table_option_structb)

maybe @carlwgeorge got a spare Minute or 2? ;-)

The spec file changes look good now, but I don't know what to do about that error.  I was able to reproduce it by trying to load the plugin manually (this normally happens automatically via the /etc/my.cnf.d/connect.cnf file).
# mysql -e "INSTALL SONAME 'ha_connect';"
ERROR 1126 (HY000) at line 1: Can't open shared library '/usr/lib64/mariadb/plugin/ha_connect.so' (errno: 2, undefined symbol: _Z10XMLColumnsP7_globalPcS1_P22ha_table_option_structb)

I'm not able to reproduce the error on Fedora 31 (mariadb-connect-engine-10.3.21-3.fc31.x86_64) or with the upstream MariaDB repos on CentOS 7 (MariaDB-connect-engine-10.3.22-1.el7.centos.x86_64).  I'll need some more time to try to resolve this.

I spoke too soon!  Comparing the Fedora and IUS spec files, I ran across an extra build requirement that was added with 10.3.21.
https://src.fedoraproject.org/rpms/mariadb/c/42251457ba8e232fa353b3292a67214153f99581
More details can be found in the upstream bug report.
https://jira.mariadb.org/browse/MDEV-21450
Add that as part of this pull request with another commit (preferably in the same spot as the Fedora spec file), and I'll squash all the commits together when I merge it.

@carlwgeorge sigh ... guess you nailed it (once again) ... ;-)
Commited Change and waiting for CI to finish build ...

The changes look good, and the CI passed.  Try out those latest RPM artifacts, and if they work for you I'll merge this and get it published to the repos.

if they work for you I'll merge this and get it published to the repos.

working as expected ... let's go! ;-)

I've published mariadb103-10.3.21-2 to the testing repos.  I'll move them to the main repos next week.

mariadb103-10.3.21-2 has been pushed to the main repos.


Add support for templating in response bodies

I have added support for using text/template engine in the response body.
This change allows users to declare dynamic responses using templating from path parameters, query parameters and in a limited way the request body.
If a template response uses the request body, the request currently needs to be a JSON and contain the "Content-Type": "application/json" header.

I feel like this code is now ready for round two. Re-requesting review.

@joanlopez just bumping this in case you missed it. No hard feelings if you don't have the time.


Cannot set property 'title' of undefined at BrowserDomAdapter.setTitle

Seems that we need to make sure we're patching the Title service correctly. Might need to look into if the Meta service is doing the same.
To repro:
this.title.setTitle(' blow up the server :) ')
BrowserDomAdapter.prototype.setTitle = function (doc, newTitle) { document.title = newTitle || ''; };

Hi @MarkPieszak, thank you for this report. This should be resolved in the latest version of the library. Would you mind verifying so I can close this ticket?


about Multiple Device Sync Issues

I have run two kinects (K4A) in one program with external synchronized units. But the two kinects just can run for a while and then the program crashed. At the sametime, the terminal give me the following information:
[2019-10-31 08:56:02.662] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/allocator/allocator.c (118): k4a_capture_t_get_context(). Invalid k4a_capture_t (nil)
[2019-10-31 08:56:02.662] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/allocator/allocator.c (295): Invalid argument to capture_dec_ref(). capture_handle ((nil)) is not a valid handle of type k4a_capture_t
[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/depth_mcu/depth_mcu.c (158): depthmcu_get_serialnum(). depthmcu_get_serialnum found non-printable serial number (character 0 is ASCII value 1)
[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/depth/depth.c (349): depthmcu_get_serialnum(depth->depthmcu, serial_number, serial_number_size) returned failure in depth_get_device_serialnum()
[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/sdk/k4a.c (958): depth_get_device_serialnum(device->depth, serial_number, serial_number_size) returned failure in k4a_device_get_serialnum()
Failed to get serial number length
Segmentation fault (core dumped)
the environment for my program:
hardware:
cpu i7
ram 16G
GPU nvidia gtx 1070
the software enviroment:
os: ubuntu18.04
sdk1.3.0
Device Serial Number:<PHONE_NUMBER>12
Current Firmware Versions:
RGB camera firmware:      1.6.102
Depth camera firmware:    1.6.75
Depth config file:        6109.7
Audio firmware:           1.6.14
Build Config:             Production
Certificate Type:         Microsoft
I have set usbfs_memory_mb=1000 according to https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/485
Could someone know why, and what does mean the above error message means?
Thank you very much!

A guess, you need to set synchronized_images_only to true, or NULL check your images to ensure you received valid images.
Get Outlook for Androidhttps://aka.ms/ghei36

From: nonlinear1<EMAIL_ADDRESS>Sent: Wednesday, October 30, 2019 7:13:07 PM
To: microsoft/Azure-Kinect-Sensor-SDK<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [microsoft/Azure-Kinect-Sensor-SDK] about Multiple Device Sync Issues (#867)
I have run two kinects (K4A) in one program with external synchronized units. But the two kinects just can run for a while and then the program crashed. At the sametime, the terminal give me the following information:
[2019-10-31 08:56:02.662] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/allocator/allocator.c (118): k4a_capture_t_get_context(). Invalid k4a_capture_t (nil)
[2019-10-31 08:56:02.662] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/allocator/allocator.c (295): Invalid argument to capture_dec_ref(). capture_handle ((nil)) is not a valid handle of type k4a_capture_t
[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/depth_mcu/depth_mcu.c (158): depthmcu_get_serialnum(). depthmcu_get_serialnum found non-printable serial number (character 0 is ASCII value 1)
[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/depth/depth.c (349): depthmcu_get_serialnum(depth->depthmcu, serial_number, serial_number_size) returned failure in depth_get_device_serialnum()
[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/sdk/k4a.c (958): depth_get_device_serialnum(device->depth, serial_number, serial_number_size) returned failure in k4a_device_get_serialnum()
Failed to get serial number length
Segmentation fault (core dumped)
the environment for my program:
hardware:
cpu i7
ram 16G
GPU nvidia gtx 1070
the software enviroment:
os: ubuntu18.04
sdk1.3.0
Device Serial Number:<PHONE_NUMBER>12
Current Firmware Versions:
RGB camera firmware: 1.6.102
Depth camera firmware: 1.6.75
Depth config file: 6109.7
Audio firmware: 1.6.14
Build Config: Production
Certificate Type: Microsoft
I have set usbfs_memory_mb=1000 according to #485https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F485&data=02|01|Wes.Barcalow%40microsoft.com|978fd0b4251346b8fe4808d75da7df6a|72f988bf86f141af91ab2d7cd011db47|1|0|637080847898261338&sdata=b7EfgI1%2BRKCtMu4a4AQLUGBjLNhg1qY6ugvOQrs5aR4%3D&reserved=0
at the same time if I run the two kinect in k4aviewer in syn mode, the two k4aviewer don't crash.
Could someone know why, and what does mean the above error message means?
Thank you very much!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F867%3Femail_source%3Dnotifications%26email_token%3DACVJTJKFJY5WQXBYEFQOSFTQRI5LHA5CNFSM4JHDBBBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HVT4PSQ&data=02|01|Wes.Barcalow%40microsoft.com|978fd0b4251346b8fe4808d75da7df6a|72f988bf86f141af91ab2d7cd011db47|1|0|637080847898261338&sdata=bgIvgZEGTtU7FHntqsKrlWjLow8r3g78pSURVN%2BhZjU%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVJTJP5DQIPTLPNIBIR4C3QRI5LHANCNFSM4JHDBBBA&data=02|01|Wes.Barcalow%40microsoft.com|978fd0b4251346b8fe4808d75da7df6a|72f988bf86f141af91ab2d7cd011db47|1|0|637080847898271333&sdata=myCtGfUAFChAVspxT4%2FUFdcM7TOW%2B7T4n%2Bdm4v8wVGE%3D&reserved=0.

Thank you for your help. In fact, I have set synchronized_images_only = true.  the question is my program carshed and  has the following information:
"[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/sdk/k4a.c (958): depth_get_device_serialnum(device->depth, serial_number, serial_number_size) returned failure in k4a_device_get_serialnum()
Failed to get serial number length
Segmentation fault (core dumped)"
It don't give me any null image and just carshed, I have nothing to do, for the error message comes from k4a sdk.

Your app crashed so you are going to need to get it on the debugger. In your first post there is an error about a NULL capture_t, so you should try to figure out where that is coming from. Definitely focus on the first error your are seeing, not the one before the crash.
Get Outlook for Androidhttps://aka.ms/ghei36

From: nonlinear1<EMAIL_ADDRESS>Sent: Wednesday, October 30, 2019 8:29:36 PM
To: microsoft/Azure-Kinect-Sensor-SDK<EMAIL_ADDRESS>Cc: Wes Barcalow<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [microsoft/Azure-Kinect-Sensor-SDK] about Multiple Device Sync Issues (#867)
Thank you for your help. In fact, I have set synchronized_images_only = true. the question is my program carshed and has the following information:
"[2019-10-31 08:56:02.676] [error] [t=12454] /__w/1/s/extern/Azure-Kinect-Sensor-SDK/src/sdk/k4a.c (958): depth_get_device_serialnum(device->depth, serial_number, serial_number_size) returned failure in k4a_device_get_serialnum()
Failed to get serial number length
Segmentation fault (core dumped)"
It don't give me any null image and just carshed, I have nothing to do, for the error message comes from k4a sdk.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FAzure-Kinect-Sensor-SDK%2Fissues%2F867%3Femail_source%3Dnotifications%26email_token%3DACVJTJJVC7YV6K7JHLKZZLDQRJGKBA5CNFSM4JHDBBBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECWONOQ%23issuecomment-548202170&data=02|01|Wes.Barcalow%40microsoft.com|ffcb5ba16ac347c5620908d75db28e7c|72f988bf86f141af91ab2d7cd011db47|1|0|637080893779856198&sdata=EoF0ZthYzf5smtWQLEfcCLazO%2BkNObmuUQxrCqOl6wM%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACVJTJIKLTTAGQQO7RUJV2DQRJGKBANCNFSM4JHDBBBA&data=02|01|Wes.Barcalow%40microsoft.com|ffcb5ba16ac347c5620908d75db28e7c|72f988bf86f141af91ab2d7cd011db47|1|0|637080893779866221&sdata=Dpg62fKCeD7Jlkn1fQuSehm1ZRyHnFoEmOhHouVHLcs%3D&reserved=0.

Thank you very much

＠wes-b
Just now, I put my program into the examples folder in Azure-Kinect-Sensor-SDK. Then I build the Azure-Kinect-Sensor-SDK with debug build "cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug". Then I use gdb to run my program. My program run for a while, and then crashed. the terminal give me the following information:
[device.c:914/uvc_release_if] reattached kernel driver to interface 0
[device.c:923] end uvc_release_if (0)
[device.c:1746/_uvc_status_callback] libusb_submit_transfer() = -1
[device.c:1748] end _uvc_status_callback
[device.c:837] begin uvc_unref_device
[Thread 0x7fffdbfff700 (LWP 31071) exited]
[device.c:845] end uvc_unref_device
[device.c:1516] begin uvc_free_devh
[device.c:419] begin uvc_free_device_info
[device.c:459] end uvc_free_device_info
[device.c:1526] end uvc_free_devh
[device.c:1564] end uvc_close
[device.c:837] begin uvc_unref_device
[device.c:845] end uvc_unref_device
[Thread 0x7fffb4ec0700 (LWP 31087) exited]
[Thread 0x7fffb5ffc700 (LWP 31086) exited]
[Thread 0x7fffb67fd700 (LWP 31085) exited]
[Thread 0x7fff8dffb700 (LWP 31096) exited]
[Thread 0x7fff8e7fc700 (LWP 31095) exited]
[Thread 0x7fff8effd700 (LWP 31094) exited]
[Thread 0x7fff8f7fe700 (LWP 31093) exited]
[Thread 0x7fff8ffff700 (LWP 31092) exited]
[Thread 0x7fffa4ffb700 (LWP 31091) exited]
[Thread 0x7fffa57fc700 (LWP 31090) exited]
[Thread 0x7fffc60b4700 (LWP 31082) exited]
[Thread 0x7fffc6ffd700 (LWP 31081) exited]
[Thread 0x7fffc77fe700 (LWP 31080) exited]
[Thread 0x7fffc7fff700 (LWP 31079) exited]
[Thread 0x7fffd1486700 (LWP 31078) exited]
[Thread 0x7fffd1c87700 (LWP 31077) exited]
[Thread 0x7fffda8f4700 (LWP 31076) exited]
[Thread 0x7fffdb0f5700 (LWP 31075) exited]
[Thread 0x7fffe0dc4700 (LWP 31064) exited]
[Thread 0x7fffe17ae700 (LWP 31061) exited]
[Thread 0x7ffff7f9c580 (LWP 31056) exited]
[Inferior 1 (process 31056) exited with code 0377]
(gdb) bt
No stack.
(gdb)
No stack, I cann't find any information about the reason of crash.
Could you have any suggestion? Thanks a lot.

I have solve this problem! Thank you webs-b

Hi,
can you tell what was the issue and how you solved it? I ran into the same problems.

@wirthual
First, you shoud update your firmware to the latest one!
second, you should check "k4a_capture_release", this release the object is right?
for me the k4a_capture_release release the object , which is no capture.

Hi, I also encountered the same problem, but I don’t understand your solution very well. Can you tell me more about it? This is my mistake.
[2021-02-03 16:01:40.184] [error] [t=17228] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (118): k4a_capture_t_get_context(). Invalid k4a_capture_t 000002698D1926B0
[2021-02-03 16:01:40.184] [error] [t=17228] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (344): Invalid argument to capture_get_color_image(). capture_handle (000002698D1926B0) is not a valid handle of type k4a_capture_t


crash when trying to delete a (deployed) function via VS Code

Repro steps:
right click on a deployed Azure function in VS Code. select delete. wait. crash.
Action: azureFunctions.deleteFunction
Error type: InternalServerError
Error Message: {"error":{"code":"InternalServerError","message":"System.IO.IOException: Invalid access to memory location.\r\n\r\n   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)\r\n   at System.IO.FileSystemInfo.set_Attributes(FileAttributes value)\r\n   at System.IO.Abstractions.DirectoryInfoWrapper.set_Attributes(FileAttributes value)\r\n   at Kudu.Core.Infrastructure.FileSystemHelpers.DeleteFileSystemInfo(FileSystemInfoBase fileSystemInfo, Boolean ignoreErrors) in C:\Kudu Files\Private\src\master\Kudu.Core\Infrastructure\FileSystemHelpers.cs:line 403\r\n   at Kudu.Core.Infrastructure.FileSystemHelpers.DeleteDirectorySafe(String path, Boolean ignoreErrors) in C:\Kudu Files\Private\src\master\Kudu.Core\Infrastructure\FileSystemHelpers.cs:line 338\r\n   at Kudu.Core.Functions.FunctionManager.DeleteFunction(String name, Boolean ignoreErrors) in C:\Kudu Files\Private\src\master\Kudu.Core\Functions\FunctionManager.cs:line 257\r\n   at Kudu.Services.Functions.FunctionController.Delete(String name) in C:\Kudu Files\Private\src\master\Kudu.Services\Functions\FunctionController.cs:line 156\r\n   at lambda_method(Closure , Object , Object[] )\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.b__9(Object instance, Object[] methodParameters)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)\r\n   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()"}}
Version: 0.13.0
OS: darwin

By default, new Function Apps will have WEBSITE_RUN_FROM_PACKAGE set to true. This has performance benefits, but means the functions are read-only and we can't delete them. It's recommended to just remove the function from your local project and deploy again
In any case, closing as duplicate of #652


chore(demo): update collapse to use prefix

There was a deprecation warning all day long and I thought that it was for a directive I haven't update yet. Ended being the demo file :P

LGTM


Linkedin Share via node.js

I need to share my message from my linkedin app through node.js

Please follow these links:
To share as company:
https://github.com/ArkeologeN/node-linkedin/blob/001f6e5229ef17782c7a2310e880e5e0ded272d4/specs/services/companies_spec.js#L101
To share as an individual:
https://github.com/ArkeologeN/node-linkedin/blob/8802eacd73c81accf25d5c7cb7abb01e1d00b3ad/specs/services/people_spec.js#L45
Pardon for not having the README available.

I need solution to logout from linkedin,twitter passport oauth through node.js


electrum: updater: use keys from source github repository

Description of changes
According to https://r.ryantm.com/log/electrum/, autoupdater never worked before. Retrieved key was never imported with a note:
gpg: key 2BD5824B7F9470E6: new key but contains no user ID - skipped

also, for some time, electrum sources are signed with multiple keys.
This patch fetches the keys from the source repository.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

maintainers: @joachifm, @np, @pavol

Can we import only these 3 keys?

https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/ThomasV.asc
https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/sombernight_releasekey.asc
https://raw.githubusercontent.com/spesmilo/electrum/master/pubkeys/Emzy.asc

Only these three are listed on Electrum.org website

Can we import only these 3 keys?

yes, done.
@prusnak


Grobid, get the page number for the references

Hi I am trying to get the page number for references in sections and in citations as well. I turn on the TEI coordinates in the process_fulltext_document.  Iam not sure how to get the coordinates using Beautiful soup.
parsed_article = BeautifulSoup(r.content, 'lxml')
if article.find('text') is not None:
references = article.find('text').find('div', attrs={'type': 'references'})
references = references.find_all('biblstruct') if references is not None else []
reference_list = []
for reference in references:
print(reference['coords'])
When I try to do this I get an error that attribute is not there.  do you know how can I fix it ?

Hi @rabia0001 !

First have a look at the returned XML document (r.content) to check the @coord is present as expected, if yes it means that the problem is your usage of BeautifulSoup

Replace references.find_all('biblstruct') by references.find_all('biblStruct'), XML is case-sensitive

For more robust BeautifulSoup code, you can use has_attr() to avoid the error (although there should not be an error!)

I also point the documentation on coordinate format to get the page number -> https://grobid.readthedocs.io/en/latest/Coordinates-in-PDF/


npm run build doesn't seem to work for the examples

Following the instructions of cloning, npm install, and then running npm run build fails on lint:
Error: /Users/andy/code/rescape_ramble/react-mapbox-gl/.eslintrc:
Configuration for rule "react/jsx-uses-react" is invalid:
Value "error" is the wrong type.
at validateRuleOptions (/usr/local/lib/node_modules/eslint/lib/config/config-validator.js:102:15)
at /usr/local/lib/node_modules/eslint/lib/config/config-validator.js:148:13
at Array.forEach (native)
at Object.validate (/usr/local/lib/node_modules/eslint/lib/config/config-validator.js:147:35)
at Object.load (/usr/local/lib/node_modules/eslint/lib/config/config-file.js:390:19)
at loadConfig (/usr/local/lib/node_modules/eslint/lib/config.js:74:33)
at getLocalConfig (/usr/local/lib/node_modules/eslint/lib/config.js:177:23)
at Config.getConfig (/usr/local/lib/node_modules/eslint/lib/config.js:272:22)
at processText (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:203:27)
at processFile (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:270:18)

I've just tested the build process after doing a clean install (rm -rf node_modules; npm i), and it seems to pass the linting correctly. Are you sure you have the correct version of eslint and eslint-plugin-react installed? An npm ls of both eslint and the plugin should yield:
<EMAIL_ADDRESS><EMAIL_ADDRESS>

Thanks, that explained it.


Toggletip vs. Tooltip Docs Guidance Update

Acceptance criteria

We need to do some research on how we want to structure Tooltip and its variants versus Toggletip.
There have been discussions about removing the "Standard" Tooltip variant, but also concern if people actually need that use case still and use it in code. We need to first see if we can find valid use cases for this before making the decision of removing it.

Ref: a11y Tooltip ombnibus issue
Ref: a11y Toggletip omnibus issue

There were also discussions from a11y about only using the information icon in Toggletips and not at all in Standard tooltips, is this valid or are there instances where using the information icon could be used in Tooltips?

### Tasks
- [ ] Research and find use cases of toggletips and different tooltip variants
- [ ] Playback findings to design and a11y team
- [ ] Take feedback from playback and align on one direction to move forward with for Toggletip and Tooltip variants
- [ ] Update or create issues to make any changes to toggletip and tooltip, link them here?
- [ ] Will there be kit work? TBD
- [ ] Will there be dev work? TBD

@mattrosno can we get metrics on Tooltip usage? variants of tooltip & toggletip.

I found another place where the guidance must be updated in https://carbondesignsystem.com/patterns/forms-pattern/#offering-help
I believe that pretty much everything covered under "Tooltip" here is actually for toggletip. Some of the info under Helper text should also be reviewed.

Here's another great implemented example of how the two are being confused.
https://react.carbondesignsystem.com/?path=/story/components-formlabel--with-tooltip
Two identical looking "i" buttons with completely different behaviour (for mouse, keyboard and touch).
As previously argued, the first, using a tooltip, should not exist. A tooltip's primary (only?) purpose is to expose the name of an icon-only button --that already takes focus in order to allow a user to perform its primary role. This first button does nothing  on click, which makes no sense.
In addition, it is also bewildering to a touch user, who is going to click on this first i button and nothing is going to happen.
The second i button works sensibly as a toggletip, operable and understandable to all modalities.
Just changing the border of the i button -- which I think is what is proposed here? -- only partially resolves this basic conflation of two interactions.

Okay, this topic was brought up again today. I think we need to refine our definitions of tooltip and toggle tip. Most of our docs don't align with @mbgower's proposal, which states that the info icon only triggers a toggle-tip. Could differently icons other than a info or help icon trigger a tooltip. Here is an example we have in docs. Because I'm kind of wondering what's the purpose of the default tooltip component if the icon-button tooltip and definition tooltip exist as separate components? Is it just a primitive now? And if so how is it different than popover?

And then there's the ultimate question: can a toggletip use a tooltip? Like this Help Button. Tooltip is the prompt so the user knows to click on it.
(This is the same problem that also came up with the AI Labe and wither it should have a tooltip even though it already triggers a popover).

Could different icons other than an info or help icon trigger a tooltip?

@aagonzales Yes, any icon button can trigger a tooltip. For that matter, any target can trigger a tooltip. In fact, the title property, which causes the browser tooltip (as opposed to Carbon's) can be put on anything, whether it is operable or not. This last, however, immediately causes a challenge for a keyboard user (who can never reach something that does not get focus).

can a toggletip use a tooltip?
Yes, the target for the toggletip (the i icon) can have a tooltip --  just like any other control -- and also trigger a toggletip content area.

At the risk of muddying the waters, there are examples of a few overlays in the current github UI worth mentioning, since they help illustrate both trigger considerations as well as questions about the nature of tooltips.
I think when we talk about tooltips, we're talking about a behaviour more than the nature of the information, but there does seem to me to also be an informational divide.
What do I mean? Behaviourly, tooltips appear on hover as well as on focus (if they're accessible). It is in some ways an 'unintentional' user action (in that the tooltip appears not because the user necessarily intended to show it, but because their input device encountered a trigger).  Informationally,  I think we'd get common agreement that a text-based piece of information resulting from hover is a tooltip. But what if a megamenu appears when I hover over a link in the Header UI Shell (a common behaviour less than a decade ago)? I wouldn't call that a tooltip. I'd call that a poorly implemented component. But there are forms of hover-triggered content which I'd still consider a tooltip, even though it is no longer strictly text.
Some examples on this page...
First, if you hover over the tag that says "Member" in the upper right corner of this post, you'll see that it has a tooltip that says "This user is a member of the carbon-design-system organization." That is not operable by keyboard (or touch) because there is no actual interaction there, it's just a static tag. I think everyone would agree that this presents as a tooltip (both its styling and the fact it is text-based). It's not giving the name of the tag, since that it is already labelled "Member". So this text is arguably description -- an elaboration of something one can extract from the context. As such, although this tooltip cannot be operated by keyboard, I'd consider it a pretty "lite" failure.

A different form of what could be called 'tooltip' exists on this page if you hover over the link below Lauren's prior post, which reads "Toggletip resolve a11y concerns #4358".

Even though I cannot make this information appear with a keyboard, I can activate the page and get that information. So IMO, this is allowable in 2.1. 1 Keyboard, because there is a keyboard method of getting the same information.
Would I call this preview a tooltip? Probably. It's a descriptive tooltip rather than a name. Then of course the question arises, how is a descriptive tooltip any different than an informational toggletip? The only difference to me is behavioural (how it is operated).


Ajv fails to validate schema for Object with "propertyNames" from "enum"

What version of Ajv are you using? Does the issue happen if you use the latest version?
latest / 8.11.2
Ajv options object
Using defaults
JSON Schema
{
    "type": "object",
    "propertyNames": {
        "enum": ["Foo","Bar"]
    },
    "patternProperties": {
        ".*": {
            "type": "number"
        }
    }
}

{
    "Foo": 123,
    "Bar": 456
}

Your code
    const schema = ajv.addSchema(schema_Test);
    console.log(schema.validate(schema_Test, json_test));
    console.error(schema.errorsText());

Validation result, data AFTER validation, error messages
false
data must be equal to one of the allowed values, data property name must be valid

What results did you expect?
I expected this to successfully validate. A leading JSON Schema validator for .Net does successfully validate the JSON against the JSON Schema.
Are you going to resolve the issue?
No.

If anyone is wondering about the use case for this, in my actual schema I have a few different enums that are used in multiple ways. For example, the enum is used for the set of valid values in a REST API request, but the response will include an object where the possible properties are also defined by the same enum.  By sharing the enum any changes for the request/response are made in one place, just add/edit/delete items in the enum.


bugfix: 修复版本标签更新指向版本无效的问题 (closed #1476)

Codecov Report

Merging #1477 (a2cb07a) into v2.3.1-dev (4346e95) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           v2.3.1-dev    #1477      +/-   ##
==============================================
- Coverage       73.79%   73.77%   -0.02%
==============================================
  Files             369      369
  Lines           25148    25148
==============================================
- Hits            18558    18553       -5
- Misses           6590     6595       +5

Impacted Files
Coverage Δ

apps/core/tag/views.py
95.34% <ø> (ø)

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add a generic status code for 404 object not found

with parameters to indicate what the object is not found for the key. This can be used by anyone and avoid creating too many similar 404 status codes.

 Add a generic status code for 404 object not found light-4j master


How to switch to other languages

Question: (How to change the name of the right-click menu to Chinese)
ScottPlot Version: (5.0.36)

Requirement: Only modify the language, keep the functionality unchanged
Thanks

Also, https://scottplot.net/demo/5.0/#custom-context-menu


Updating the openssl version to match inspec

Description
Does this help me get chef-19 to load openssl properly? (the branch is mis-named)
Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

@johnmccrae we have to have 3.0.9 because of FIPS.

@johnmccrae  inspec has reverted its openssl from 3.0.11 to 3.0.9 to support fips in their latest pr merge
https://github.com/inspec/inspec/pull/7174/files#diff-1e338770ffc163cbef1f22fbfea51d98baaffa1bd1f9048033928676b5bad1e2R8


Public Staticman server is hitting GitHub API limits

I would like to raise awareness about recent issues me and others have experienced with Staticman.
The first is that it is becoming almost impossible to get an 'OK' back when adding the bot as a repository collaborator: https://github.com/eduardoboucas/staticman/issues/227.
The second is that some comments might possibly get lost due to the public instance (api.staticman.net) hitting GitHub API limits: https://github.com/eduardoboucas/staticman/issues/222
The solution to those problems is to allow people to define a custom URL for their own deployment of Staticman. But I also believe some awareness about the potential issues should be present in the documentation.
Another idea could be that the theme transparently uses its own deployment of Staticman. It would greatly reduce the simplicity if we had one instance to host N users, rather than N users paying for and setting up one instance individually. But somebody's got to handle it at the end of the day, and that would have to be well organized.
Any thoughts?
PS: this is an excellent theme and a great framework! I wish I had joined the party sooner.

Thanks for bringing it up. Not sure on the best path forward.
I guess anyone who relies on the public instance probably needs a backup plan. Kind of comes with the territory when using "free" stuff.

Would you be OK with a PR that opens the endpoint URL to possible configuration?

Yeah I'd be cool with that. Could probably do something like {{ site.staticman.endpoint | default: 'https://api.staticman.net/v2/entry/' }} to fallback to the public instance if one isn't specified in _config.yml.


No possibility to replay the tutorial

There is no button to replay the tutorial

Thanks for the feedback!
The button was once present in the in-game menu. I'll add it back when rewriting it (https://github.com/bstnfrmry/hanabi/issues/172)


Replace reAct with reWOO

Why Don't You Incorporate reWOO into superagi. It Reduce token consumption by 2-4% while having 4% accuracy over reAct at finishing task.
For More Info:

Here's a thread from author: https://twitter.com/billxbf/status/1663713374910251009?s=20
Paper: https://arxiv.org/abs/2305.18323
Repo: https://github.com/billxbf/ReWOO

@TheFaheem great! we will check it out.

If you do so, that would be awesome.


WAMP subscription retries

Story
We need to implement reconnect on WAMP subscriptions as mentions here.

We should prioritize this task as backend get stuck with message unreachable, probably on wamp disconnect.

We don't use WAMP anymote


travis: Download libvirt and devmapper instead of building

Currently each run on Travis builds both devmapper and libvirt because the version of Ubuntu on Travis doesn't have new enough packages. This adds 3-5 minutes to the test run.
Ideally we'd download a tarball or .deb of the dependencies and use that instead of compiling them every time.

Irrelevant due to #801.


broken link

in the following paragraph the link to the  Office 365 URLs and IP address ranges is broken:
Go to Office 365 URLs and IP address ranges for a detailed and up-to-date list of the URLs, IP addresses, ports, and protocols that must be correctly configured for Teams. Microsoft is continuously improving the Office 365 service and adding new functionality, which means the required ports, URLs, and IP addresses may change over time. We recommend that you subscribe via RSS to receive notifications when this information is updated or changed.
here is the failing link:
https://support.office.com/article/8548a211-3fe7-47cb-abb1-355ea5aa88a2#bkmk_teams
it used to work fine a week ago.
thank you.

@agenadro  Can you tell me the topic you are looking at? I can then pass it on and get it fixed. Thanks, Tony


Hext Language Server

While not a very complicated format, it would still be nice to have some color in hext files. Here is some information on language servers: https://code.visualstudio.com/api/language-extensions/language-server-extension-guide

We don't need a language server. The format is simple enough and I just found out how to syntax highlight without one. "Why would syntax highlighting require a language server" I don't know, it was late. VSCode TextMate Docs


Don't hide the "go get" output from the normal output

I don't know what the background is here, so I'm looking for feedback.  The cookbook currently redirects all output from go get to temporary files.  So when go get fails, you don't see any output in the normal chef client log.  I think this is pretty inconvenient.  Is the output too bulky, or confidential?  I haven't seen that sort of thing so far.
So my suggestion is to tee the output to the file, for those who like that, and to the normal output.

@NOX73 any chance to merge this ?


Synchronize Persian language with the latest base version

style: synchronize Persian language with the latest base version

@MrTechHunter great, thanks! :+1:


Unable to sattisfy challenge using DNS

Per title and related to my ticket on local certs (#81), if it was possible to use DNS challenge instead of the HTTP challenge I could at least make local only certs that don't need an endpoint serving data.
The only requirement for a certificate as I understand it is to prove ownership of the domain. http is only one of many possible ways.
Making this line configurable should solve this problem. https://github.com/jc21/nginx-proxy-manager/blob/a72811ee256796ae72fc36441858d70ab9633300/src/backend/internal/certificate.js#L722

1 - This project doesn't handle dns letsencrypt options because it inhibits the user experience. This is an entry level project, for people who don't want to know more than they have to about the internet. Whil there might be a workflow to accomplish this for configured hosts, at this time I'm not planning to work on it.
2 - Even with a dns challenge for letsencrypt, if you're wanting a cert for foo.home you need to own that domain and have public dns configured. From what you've been saying in #81, you don't "own" foo.home domain.

I realise that is the case which is why I’ve since purchased a domain.
According to your first point I should now purchase and maintain an endpoint that will respond to the challenges because setting up a single dns entry “inhibits user experience”?
It seems to me that changing http in the code I’ve linked to http,dns Is all that is required. Probably even better would be dns,http so that it does not timeout waiting for a http request. Hardly requires working on as it’s already supported by the certbot.

The goal of this project is to allow people who expose their home-hosted services to the internet simply and securely. You want to use this to host your private services but still want free SSL. I guess you don't trust your private network traffic.
You are welcome to make the change if you so feel. When you create a PR then CI will even create a docker image based on it for testing.

I also want to expose my home hosted service to the internet, but will be doing so behind a VPN.
I trust private traffic to some extent, but am tired of having to accept SSL errors for the various apps I use so putting them behind a valid certificate will remove that pain.
I'll see if I have some time tonight to test out the change.

I've tried to run this new image but its completely different to what I was running. In docker hub it says to run the following which is what I have.
    --name=nginx-proxy-manager \
    -p 8181:8181 \
    -p 8080:8080 \
    -p 4443:4443 \
    -v /docker/appdata/nginx-proxy-manager:/config:rw \
    jlesage/nginx-proxy-manager```

Now it seems mysql is ripped out and all the files have moved around as docker-compose says ```    volumes:
      - ./data:/data
      - ./data/letsencrypt:/etc/letsencrypt
      - .:/app
      - ./rootfs/etc/nginx:/etc/nginx```

Nowhere in this github repo or on my Dockerhub page does it mention to use the jlesage/nginx-proxy-manager docker image. That's someone else using my project with their own docker builds and the PR test docker images are not built with that.

Explains some things, I'll spin up a new docker env to test it.

See #85 and #120


wget gives certificate error for dotnet.microsoft.com

On Fedora 34:
$ wget https://dot.net/v1/dotnet-install.sh
--2021-10-21 14:14:23--  https://dot.net/v1/dotnet-install.sh
Resolving dot.net (dot.net)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to dot.net (dot.net)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh [following]
--2021-10-21 14:14:23--  https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
Resolving dotnet.microsoft.com (dotnet.microsoft.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2620:1ec:46::67, ...
Connecting to dotnet.microsoft.com (dotnet.microsoft.com)|<IP_ADDRESS>|:443... connected.
ERROR: The certificate of ‘dotnet.microsoft.com’ is not trusted.

cc @leecow

We had a similar thread before where we couldn't determine why dot.net wasn't working. @ChrisSfanos helped with this before for the dot.net redirection service.
Do you also have issues if you use the dotnet.microsoft.com URL?

Tagging @terrimorton as well

So we just did an ECR and rotated the certificates.  Do we have a mismatch somewhere?  Is the older cert still in use on FrontDoor?

On a machine that repos, are you able to see the certificate it's grabbing? If so, can you share the first 5 characters of the thumbprint?

Here's what I get:
$ echo -n | openssl s_client -connect dotnet.microsoft.com:443 | openssl x509 -fingerprint
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root G2
verify return:1
depth=1 C = US, O = Microsoft Corporation, CN = Microsoft Azure TLS Issuing CA 06
verify return:1
depth=0 C = US, ST = WA, L = Redmond, O = Microsoft Corporation, CN = dotnet.microsoft.com
verify return:1
DONE
SHA1 Fingerprint=6A:45:41:56:9D:97:33:C4:4E:B5:1E:FB:BA:F9:45:98:8D:4D:CA:E5
-----BEGIN CERTIFICATE-----
MIIIUDCCBjigAwIBAgITMwAcSpNXY6QTeMcfxgAAABxKkzANBgkqhkiG9w0BAQwF
ADBZMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
[...]

Thanks - I checked and that certificate is the latest one (rotated into place on 10/7).
When I visit dotnet.microsoft.com in the browser, that is also the certificate I get the full path is valid.  So I admit I'm not sure what is going on in this case yet

@rzio I've added your comment to the gnu_tls bugzilla ticket: https://bugzilla.redhat.com/show_bug.cgi?id=2003363.

RFC 5019 which standardizes "The Lightweight Online Certificate Status Protocol (OCSP) Profile for High-Volume Environments" states that only SHA1 should be supported.

I think this is not relevant; the RFC only states:

Clients MUST use SHA1 as the hashing algorithm for the CertID.issuerNameHash and the CertID.issuerKeyHash values.

and nothing else, while we are talking about SHA1 usage in signatures. Also note that it is a distro-wide decision to disable SHA1 signatures by default, not a decision by the single TLS library; the detailed rationale can be found at the change proposal.

:/

That is https://bugzilla.mozilla.org/show_bug.cgi?id=1745600 (and https://bugzilla.mozilla.org/show_bug.cgi?id=966856#c8).

Is addition of '--no-check-certificate' to the script too insecure to be feasible?

More appears to be occuring than merely this. How are you managing to compile PowerShell?
wget --no-check-certificate https://dotnet.microsoft.com/download/dotnet-core/scripts/v1
--2022-03-26 01:53:03--  https://dotnet.microsoft.com/download/dotnet-core/scripts/v1
Resolving dotnet.microsoft.com (dotnet.microsoft.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2620:1ec:bdf::64, ...
Connecting to dotnet.microsoft.com (dotnet.microsoft.com)|<IP_ADDRESS>|:443... connected.
WARNING: The certificate of ‘dotnet.microsoft.com’ is not trusted.
HTTP request sent, awaiting response... 302 Found
Cookie coming from dotnet.microsoft.com attempted to set domain to dotnetwebsite.azurewebsites.net
Cookie coming from dotnet.microsoft.com attempted to set domain to dotnetwebsite.azurewebsites.net
Location: /en-US/download/dotnet-core/scripts/v1 [following]
--2022-03-26 01:53:04--  https://dotnet.microsoft.com/en-US/download/dotnet-core/scripts/v1
Reusing existing connection to dotnet.microsoft.com:443.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: /en-us/download/dotnet-core/scripts/v1 [following]
--2022-03-26 01:53:04--  https://dotnet.microsoft.com/en-us/download/dotnet-core/scripts/v1
Reusing existing connection to dotnet.microsoft.com:443.
HTTP request sent, awaiting response... 404 Not Found
Cookie coming from dotnet.microsoft.com attempted to set domain to dotnetwebsite.azurewebsites.net
Cookie coming from dotnet.microsoft.com attempted to set domain to dotnetwebsite.azurewebsites.net
2022-03-26 01:53:04 ERROR 404: Not Found.

This prevents compilation of PowerShell.

Is addition of '--no-check-certificate' to the script too insecure to be feasible?

Yes, this is a no-go. When you add this, you can't consider anything that happens next to be secure/trusted.

Update from the OneOCSP side: Due to a new CAB forum requirement, OneOCSP will switch the algorithm to SHA-256 by 2022-5-31.


Publisher verification - Unable to add publisher

Hi, I have a few hundred customers trying to link their outlook calendars and this publisher verification is blocking me - it's extremely critical I get this solved.   I'm trying to verify my app with an MPN ID, and whether I do it through the azure portal, or the https://graph.microsoft.com/v1.0/applications/{applicationId}/setVerifiedPublisher api I get the following response:
{
"error": {
"code": "UserUnableToAddPublisher",
"message": "You are unable to add a verified publisher to this application. Please contact your administrator for assistance.",
"innerError": {
"date": "2021-02-18T13:00:31",
"request-id": "99907955-ac9b-40e3-b713-42767cc2d326",
"client-request-id": "96f0a345-e648-5922-2e9b-a25e767da175"
}
}
}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: df11cb03-70da-7df3-4941-3c2f8ea022f8
Version Independent ID: 96cd8eec-ed94-05bf-1288-86b6ef3db105
Content: Troubleshoot publisher verification - Microsoft identity platform
Content Source: articles/active-directory/develop/troubleshoot-publisher-verification.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@biologistbrian
Thanks for your feedback! We will investigate and update as appropriate.

Awesome! Thanks @JamesTran-MSFT

@biologistbrian
Thanks for your time and patience throughout this issue.
When it comes to the error message you received, were you able to look at our Troubleshoot publisher verification documentation, specifically UnableToAddPublisher error message?
Additional related issues:
https://github.com/MicrosoftDocs/azure-docs/issues/62877
https://github.com/MicrosoftDocs/azure-docs/issues/66693#issuecomment-769494754

Yep, I looked.  It wasn't helpful.  I have gone over and over the requirements and have absolutely no idea why I'm getting the error.

@biologistbrian
Thank you for the quick response!
I've reached out to our PG team to see if they can provide any guidance, because it sounds like this issue should've been resolved.

@biologistbrian
I just wanted to reach out and let you know that I'm still waiting for a response from our engineering team. However, if this is urgent and if you'd like to work with our support engineers on this issue, please let me know.
If you have any other questions, please let me know.
Thank you for your time and patience throughout this issue.

@biologistbrian
Thank you for your time and patience throughout this issue!
Since I haven't received an update from our engineering team, and this issue is currently blocking a few hundred of your customers, I'd recommend creating a support request so our engineers can take a closer look into your environment to get this issue resolved.
Can you please email me with the info below:
Email<EMAIL_ADDRESS>Subject: ATTN - James Tran
Body:
Azure Subscription ID
Link to this issue
I'll go ahead and close out this issue and keep an eye out for your email. Additionally, if I do receive a response from our engineering team I'll post it here.
Thank you again!

It's fixed =)
A support ticket took care of it.
Absolutely no idea what the issue was, but it's working beautifully.
On Mon, Feb 22, 2021 at 2:37 PM James Tran-MSFT<EMAIL_ADDRESS>wrote:

@biologistbrian https://github.com/biologistbrian
Thank you for your time and patience throughout this issue!
Since I haven't received an update from our engineering team, and this
issue is currently blocking a few hundred of your customers, I'd recommend
creating a support request so our engineers can take a closer look into
your environment to get this issue resolved.
Can you please email me with the info below:
Email<EMAIL_ADDRESS>Subject: ATTN - James Tran
Body:
Azure Subscription ID
https://wmatthyssen.com/2019/09/06/azure-tip-how-to-quickly-find-your-azure-subscription-id-guid/
Link to this issue
I'll go ahead and close out this issue and keep an eye out for your email.
Additionally, if I do receive a response from our engineering team I'll
post it here.
Thank you again!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/70851#issuecomment-783621789,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZYNSHWU3OFA5VUKJ6E46LTAKW7FANCNFSM4X2K4QLQ
.

@biologistbrian
Thank you for the quick response and I'm glad that your issue was resolved!

I am currently experiencing this issue, I have opened a support request.
Is there no other way to correct this problem?

Same problem here. We meet the pre-requisites. No idea what's going on.  I opened a ticket in Azure and was directed to open one in the partner center.  Two open tickets, no progress...

I have come across this today. We have tried to create a new application and to create a new user with all of the requisite permissions (through the UI), but this is not working and we are still blocked on the same message. What's more - the "raise a support request" form in Azure does not even have the correct options so it is impossible to create one for this issue.
Please advise.

It's amazing that the same issue has been there for over 5 years, and no one at Microsoft or elsewhere knows what the issue is or how to fix it.
Typical Microsoft.

Maybe one of their amazing AI buddies can help. /s


[P3] Tests in src/test-fbp failed to run in minnowboard

sha1:c63851b3d79dd89cf421874fc826494b1e886618
fbp tests contained in soletta/src/test-fbp failed to run and returned the following type of output:
'Couldn't resolve type name'
The complete list of error messages is listed in the link below:
http://pastebin.intel.com/view/6b4c1888
Thank you.

Retested and the expected issue was not found. Everything worked normally.


proposal: cmd/go: structured deprecated block in go.mod

Proposal Details
Abstract
This proposal introduces a deprecated {} block within the go.mod file of Go modules. Its goal is to provide a structured, automated, and backward-compatible way for module maintainers to communicate package deprecations, including details like the last usable version, the reason for deprecation, and an optional new import path for continued development.
Rationale
The current Go module system offers deprecation notices through comments (// Deprecated: ...) and the retract {} section in go.mod. However, these approaches have limitations in terms of visibility and automation. This proposal enhances this mechanism by introducing a dedicated, structured, and easily parseable method for declaring package deprecations.
Comparison with Current Mechanism

Approach
Description
Pros
Cons

Current (// Deprecated: ..., retract {})
Manual deprecation notices in comments or go.mod.
Simple to implement.
Limited visibility and automation; lacks a standard format.

Proposed (deprecated {})
Structured block in go.mod for deprecation details.
Standardized, machine-readable format; enables automated handling of deprecated packages; detailed deprecation info and migration paths.
-

Proposed Syntax Enhancements
The deprecated {} block in go.mod could allow both detailed and shorthand declarations:
Table of Fields

Field
Required/Optional
Description

version
Required
The last usable version of the package or versions since package has been deprecated.

message
Optional
Explanation of why the package is deprecated.

newpath
Optional
New import path if package development has moved.

Shorthand Declaration Example
module github.com/example/mypackage

go 1.23

require (
    other/package v1.0.0
)

deprecated "v1.5.2" // Last usable version

Detailed Declaration Example
module github.com/example/mypackage

go 1.23

require (
    other/package v1.0.0
)

deprecated {
    version "v1.5.2"
    message "Package deprecated due to XYZ reasons. Please migrate to the new version."
    newpath "github.com/newowner/newpackage"
}

Impact on Tooling
This feature can be integrated into tools like go get and go list, providing warnings or recommendations when using deprecated packages. IDE integrations could also leverage this feature to alert developers during coding.
Addressing Potential Concerns

Backward Compatibility: The deprecated {} block should be backward compatible, ignored by older Go versions.
Future Extensions: This feature could pave the way for more automated deprecation handling and better integration with dependency management tools.

Note this isn't backwards compatible with older versions of Go.
version seems like redundant information, once deprecated there's generally no version that's supported, nor does it seem wise to reencode the version of the module itself in go.mod
newpath seems very restrictive, deprecation may include painting users to various other modules
tooling generally already alerts users when using deprecated modules, this does not appear to enable anything new.
see also #32816

Note this isn't backwards compatible with older versions of Go.
version seems like redundant information, once deprecated there's generally no version that's supported, nor does it seem wise to reencode the version of the module itself in go.mod
newpath seems very restrictive, deprecation may include painting users to various other modules
tooling generally already alerts users when using deprecated modules, this does not appear to enable anything new.
see also #32816

I'd like to provide some clarifications regarding the points raised:

Version Field: The version field is intended to pinpoint the specific last working version of a package, offering a clear cut-off point for deprecation without relying on the retract field. This could be particularly useful in scenarios where only certain versions of a package are deprecated, but repo recieves new tags.

Backward Compatibility: While backward compatibility is indeed a concern, one possible solution could be to patch earlier versions of Go to recognize this new syntax. This approach would uphold Go's backward compatibility promise and lay a foundation for future enhancements.

Newpath Field: The newpath field is designed to provide an immediate redirection to a new import path, if available, following a package's deprecation. It's meant to be a straightforward, optional field that can be updated in future releases as needed.

I believe these features, with their specific purposes and flexibility, could significantly enhance the way deprecations are handled in the Go ecosystem. I'm open to further discussion and suggestions to refine these aspects of the proposal.

CC @matloob

I agree with @seankhliao. It doesn't seem like this adds

Version Field: The version field is intended to pinpoint the specific last working version of a package, offering a clear cut-off point for deprecation without relying on the retract field. This could be particularly useful in scenarios where only certain versions of a package are deprecated, but repo recieves new tags.

If versions are introduced after a deprecation happens then I think that retractions are the right way to handle them. I'm not sure why new versions of a module would be tagged after deprecation for a reason other than to add retract directives.

Backward Compatibility: While backward compatibility is indeed a concern, one possible solution could be to patch earlier versions of Go to recognize this new syntax. This approach would uphold Go's backward compatibility promise and lay a foundation for future enhancements.

Patching earlier versions of Go is not an option for new features like this. We support the most recently released version of go as well as the previous release but we only make minor releases for "security issues, serious problems with no workaround, and documentation fixes". (See https://go.dev/wiki/MinorReleases)

Newpath Field: The newpath field is designed to provide an immediate redirection to a new import path, if available, following a package's deprecation. It's meant to be a straightforward, optional field that can be updated in future releases as needed.

If the purpose is to print a message, isn't it enough to put the new module information in the deprecation message? How would the new module field be used other than to display a message?


Request an item: Journey map

Objectives
To document the current workflow of requesting an item online and in-library and highlight potential opportunities to improve the process for the users and internal team.
(part of #4199)
Tasks

[x] Interview @pollecuttn to understand current workflow
[x] Observe manual request process and shadow library members
[x] Collect existing user insight for online request experience
[ ] Sketch user journey map (draft)
[ ] Review user journey map with the team
[ ] Digitise the user journey map

Notion documentation: https://www.notion.so/wellcometrust/4582-Online-Request-46f03c1e3b8143e99e3e17d2449697ce


Cmake updates

Summary of changes
Fixed

Minimum required CMake version properly set to 2.8.12
SOVERSION & VERSION properties of library (Required property VERSION was not set)

Added

Package config module generation
Allows lonking ogg library with simple commands:find_package(Ogg 1.3.3 REQUIRED)
target_link_libraries(<YOUR-TARGET> PRIVATE Ogg::Ogg)

Tests.
Set standard option BUILD_TESTING to enable it
Docs installation
Basic CPack support
Simplifies creation of packages (RPM, ZIP, ...). See example in .travis.yml.

Thanks, I was exactly seeking for that to compile for Android. I hope this gets merged anytime soon :)

Related to issue #9.

@rillian , can you review it?
This PR is really important, because it adds package config module. For Windows platform it is critical.


Explorer: Wrong hyperlink for smiles

On https://explorer.openphacts.org/compounds?uri=http%3A%2F%2Fwww.conceptwiki.org%2Fconcept%2F13b4b707-8df0-4131-84b4-5433659e6ccf - the hyperlink for SMILES goes to https://explorer.openphacts.org/compounds/draw?smiles=undefined instead of the correct url using the URL encoded version of CN1[C@H]2CC[C@@H]1[C@H]([C@H](C2)OC(=O)C3=CC=CC=C3)C(=O)OC - is some thing with = going wrong here?

Even a very simple molecule as ethanol is returning undefined here: https://explorer.openphacts.org/compounds?uri=http%3A%2F%2Fwww.conceptwiki.org%2Fconcept%2F5d27706e-ed87-43f7-b621-fb6b12fc00c1. So it's not the = sign.

Probably caused by the Ember 1.11 upgrade. They changed how you pass params from the model to the template. I missed this one. Sorry.

Thanks - already live on http://heater.cs.man.ac.uk:3001/compounds?uri=http%3A%2F%2Fwww.conceptwiki.org%2Fconcept%2F8a9f8f82-e5f2-4568-8387-4e48377de498 :)


using angular builds and getting: ERROR in<EMAIL_ADDRESS>(34,44): error TS2314: Generic type 'Type' requires 1 type argument(s).

This error is due to the latest commit on the master when using angular builds: https://github.com/angular/angular/commit/b96869afd2bdd3ad8c5b7477da647af628e383aa
On button.d.ts line 34 export declare const MD_BUTTON_DIRECTIVES: Type[];
needs to be changed to Type<any>[] .

This was fixed with https://github.com/angular/material2/commit/97d3ed3b1efbae517d594180b6257a03d786f520

okay, thanks.


Unable to create map using Gmapping

ISSUE TEMPLATE ver. 0.4.0

Which TurtleBot3 platform do you use?

[ ] Burger
[ ] Waffle
[x] Waffle Pi

Which ROS is working with TurtleBot3?

[ ] ROS 1 Kinetic Kame
[ ] ROS 1 Melodic Morenia
[x] ROS 1 Noetic Ninjemys
[ ] ROS 2 Dashing Diademata
[ ] ROS 2 Eloquent Elusor
[ ] ROS 2 Foxy Fitzroy
[ ] etc (Please specify your ROS Version here)

Which SBC(Single Board Computer) is working on TurtleBot3?

[ ] Intel Joule 570x
[ ] Raspberry Pi 3B+
[ ] Raspberry Pi 4
[x] etc (Please specify your SBC here)

Which OS you installed on SBC?

[ ] Raspbian distributed by ROBOTIS
[x] Ubuntu MATE (16.04/18.04/20.04)
[ ] Ubuntu preinstalled server (18.04/20.04)
[ ] etc (Please specify your OS here)

Which OS you installed on Remote PC?

[ ] Ubuntu 16.04 LTS (Xenial Xerus)
[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[x] Ubuntu 20.04 LTS (Focal Fossa)
[ ] Windows 10
[ ] MAC OS X (Specify version)
[ ] etc (Please specify your OS here)

Specify the software and firmware version(Can be found from Bringup messages)

Software version: [x.x.x]
Firmware version: [x.x.x]

Specify the commands or instructions to reproduce the issue.

$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

Copy and Paste the error messages on terminal.

ERROR: cannot launch node of type [gmapping/slam_gmapping]: gmapping
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/home/mohammad.saad/catkin_ws/src
ROS path [2]=/opt/ros/noetic/share

Please describe the issue in detail.

I am trying to make the map using gmapping but unable to do it due to error mentioned above. I am following the tutorial from
https://emanual.robotis.com/docs/en/platform/turtlebot3/slam_simulation/

Please check if the following is fulfilled:

turtlebot 3 SLAM packages are installed and updated properly
workspace is sourced and built properly
rosev=nvironment variables are sourced properly
check if the launch file has any errors

If all is good, please share a SS of the ~/.bashrc file and the gmapping launch file

hi @saad2121
Thank you for sharing the details of the issue. It seems that the gmapping package might not be installed or there may be an issue with the installation.
Please try reinstalling the gmapping package by running the following command:
sudo apt-get install ros-noetic-gmapping

After reinstalling, relaunch the SLAM process and see if the issue is resolved. Let us know if you continue to encounter problems.

@saad2121 This issue will be closed due to prolonged inactivity.  if the issue persists, feel free to reopen it.


Fix errors when multiple bacalhau are running

Doesn't the use of the lock file prevent this?  I've certainly seen devstack complain after a crash that it won't run because of the port/pid files.

the problem is that the error (as printed) is unusable. that's what this fixed.

Has the PR addressing this been merged? If not should we move this back to 'Ready' as this issue is still open?
Couple things to consider when running more than one bacalhau node on a host:

Their ports can collided which will produce an error on startup.
They could be configured to use different ports via flags, but share a repo and related on-disk stores, this should probably be a different error and we could prevent it from happening with a lock file. Sounds like we already have a lock file somewhere?

i think it's merged


Please fix cells/xschem/symbols/vnpn_10x10.sym: S (substrate) terminal incorrectly named B

Diff attached:
diff --git a/cells/xschem/symbols/vnpn_10x10.sym b/cells/xschem/symbols/vnpn_10x10.sym
index e679a98..54ceaec 100644
--- a/cells/xschem/symbols/vnpn_10x10.sym
+++ b/cells/xschem/symbols/vnpn_10x10.sym
@@ -33,7 +33,7 @@ L 4 0 -10 20 -30 {}
 B 5 17.5 -32.5 22.5 -27.5 {name=C dir=inout pinnumber=3}
 B 5 -22.5 -2.5 -17.5 2.5 {name=B dir=in pinnumber=1}
 B 5 17.5 27.5 22.5 32.5 {name=E dir=inout pinnumber=2}
-B 5 17.5 -2.5 22.5 2.5 {name=B dir=in pinnumber=1}
+B 5 17.5 -2.5 22.5 2.5 {name=S dir=in pinnumber=4}
 P 4 4 20 30 13.75 13.75 3.75 23.75 20 30 {fill=true}
 T {m=@m} 22.5 11.25 0 0 0.2 0.2 {layer=13}
 T {@model} 22.5 -15 0 0 0.2 0.2 {}

Fixed with #102


Mutable sets

This PR adds mutable Set collections implementation.

[x] mutable.HashSet
[x] mutable.BitSet
[x] mutable.TreeSet

If we take concat as an example, I think there are valid use cases where one appends (say) two array buffers into a new array buffer. So I guess we want to keep such an operation in the common class.
I am more ambivalent about single element append such as Seq :+ or Set +. One mutable collections these will likely introduce a linear factor in complexity. So one could make an argument that the collections design should guard against that.

If we take concat as an example, I think there are valid use cases where one appends (say) two array buffers into a new array buffer. So I guess we want to keep such an operation in the common class.

We can do that as follows: xs.clone() ++= ys or (xs.view ++ ys).to(ArrayBuffer)
In my opinion mixing mutating operations and operations returning a new collection is confusing. We should help users to follow the most straightforward path.

fwiw, I agree with Julien. beginners run afoul of this too easily. the direct availability of these copying methods is a trap for the unwary. I think we should bite the bullet and take them away.
I thought reducing this excessive overlap between the mutable and immutable APIs was one of the major motivations that we started with.

I think it is even more important for a typical beginner to have things "just work" than to avoid a use case that might have suboptimal performance.  For instance, this is easy to write now in a way that at least works:
/** Pick out the even numbers and return them as strings, with a header */
def evenToStrings(xs: Iterable[Int]) =
  "evens:" +: xs.filter(_ % 2 == 0).map(_.toString)

Now, suppose you don't have +: and so on on collection.mutable, but you want this method to work on whatever collection you happen to have.  What do you do that isn't astoundingly more awkward?

use case that might have suboptimal performance

it isn't about performance. it isn't about whether something is O(1) or O(n). it's about beginners getting totally bonkers bewildering unexpected behavior.
whether something gets copied or not isn't mainly about performance. it's mainly about whether the original changes or not.

What do you do that isn't astoundingly more awkward

I think using +: on arbitrary Iterables is something we should be discouraging, not trying to make easier

We can make a very simple set of rules for mutable collections (which is already pretty much the case in the strawman):

If the operation exists on an immutable collection, it acts the same way as there: the original is not modified and a new independent copy is returned.  (This may be more expensive if the collection is mutable, but the behavior is identical.)
If the operation mutates, it either ends in InPlace or is an operator ending in =.  There are no exceptions.

Now you have two ways to predict behavior of mutation vs. not.  Isn't this straightforward enough so we don't need to make it difficult for people who want to use mutable collections in a straightforward way?

For instance, this is easy to write now in a way that at least works: […]

I don’t want to make it easy to write such kind of code.

I don’t want to make it easy to write such kind of code. I mean, I don’t think it’s helpful.

Can you explain why?

In addition to what Seth and I have already explained, I would add that it brings more complexity to the collections: that’s more methods to implement, more methods listed in the scaladoc, etc.
And, again, most of these methods have InPlace equivalent, so instead of writing xs ++ ys (where xs is a mutable collection) you would write xs.clone() ++= ys, instead of xs.filter(p) you would write xs.clone().filterInPlace(p), etc. I think it is a good think to make the distinction between immutable and mutable operations more explicit and the syntactic overhead is acceptable.

I think it is a good thing to make the distinction between immutable and mutable operations more explicit

yes, this is the heart of the matter. the fact that some things will require more characters to express _isn't bad _. those extra characters carry information that are a positive asset to readability, learnability, and maintainability
you could make it so a car's steering wheel turns the car when you touch it with your left hand, and acts as a throttle when you touch it with your right hand... but you shouldn't. better to have separate pedals

There are two separate issues here.

What is an ideal design for collections?
What is an ideal design for a replacement for the Scala standard collections?

These two things aren't the same.  With (1), you have wide latitude to choose from the spectrum of powerful-but-unforgiving-of-errors to very-hard-to-get-wrong-but-sometimes-awkward.  We're not really in the position to do (1), though.  We're in case (2).
Right now, people can and already have written code like I showed above.  People have already used +: and ++ as convenience methods on mutable collections to easily do what they need as part of an overall processing scheme that includes mutability.  Even if we can get a rewriting tool to mangle the existing cases into a form that compiles, it isn't going to be nearly so nice to read any more, people will have to retrain themselves how to do things the new way when they really just want something quick that works, and the rewritten code is in danger of having various performance and behavioral gotchas.  The cost is high.
That is fine if the corresponding benefit is even higher, but "newbies sometimes get confused" when we're already making it less confusable doesn't sound like a correspondingly big benefit.  Neither does "the implementation is easier", because that just means we the library writers are pushing the work off onto the entire rest of the Scala community, which is exactly the opposite of what should happen: you have libraries to save people work, not to make them work more.
There are ways to ameliorate the downsides (e.g. annotation-based warnings suppressed by a language.mutableCollectionOperations import; or make the strawman an optional opt-in library and then see if usage patterns shift enough to make it the standard library in another major release or two), but before that I think it's important to resolve how much retraining and reworking of code and introduction of potential performance changes are acceptable given that we're in situation (2) not (1).

you could make it so a car's steering wheel turns the car when you hold it on the left side, and acts as a throttle when you hold it on the right side... but you shouldn't. better to have separate pedals

@SethTisue - The analogy here is different: you shouldn't have a steering wheel in both cars and airplanes because you might get confused about whether you're in a car or an airplane and use the controls wrong; airplanes should use a different steering interface.
(Your analogy would be more accurate if you could switch between in-place and rebuilding behavior on the basis of an implicit or boolean flag.)

The analogy here is different

ok fair :-)
and, your "we can't change this right now, because compat" argument is convincing (more so than the "this is actually good" argument, anyway, to me)
@julienrf what do you think about deprecate-then-remove here?

Yeah, in that case we could use a deprecated implicit decorator providing these methods.

How do you get the implicit decorator to provide the same underlying collection as now (i.e. the same collection as the RHS) with the same performance characteristics as now?  I don't think this is enough unless you put in so many hooks that you may as well have the method on the class itself.

It's a conundrum. I agree with @ichoran that it's too drastic to remove
immutable operations on mutable collections now. That violates our
constraints of backwards compatibility because some of these operations are
not so uncommon. So the most drastic thing we are allowed do is keep them
and consider a deprecation. For the record, I am still on the fence whether
we should deprecate them or not.
On the other hand, we would like to verify if the collections framework
would accommodate us taking these operations away from common collections.
That's also not so easy. It might force an additional distinction of the
baseclass structure which introduces complexity by itself.
On Wed, May 3, 2017 at 7:34 PM, Ichoran<EMAIL_ADDRESS>wrote:

How do you get the implicit decorator to provide the same underlying
collection as now (i.e. the same collection as the RHS) with the same
performance characteristics as now? I don't think this is enough unless you
put in so many hooks that you may as well have the method on the class
itself.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/scala/collection-strawman/pull/64#issuecomment-298981114,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAwlVgSD1DrsT58aRX6B-gQXN9mf3Y5lks5r2LqZgaJpZM4NImHd
.

--
Martin Odersky
EPFL and Lightbend

@Ichoran I would do the same as we currently do with String and Array.
@odersky You mean “away” also for immutable collections?

@odersky You mean “away” also for immutable collections?

No, just not in the base collection types. That's hard enough to achieve. We need quite a few more baseclasses and the ripple-through effect could be significant.

Now that we've established, I think, that compatibility compels us to retain the collection-building methods on mutable collections, I want to address whether these are even in principle a good idea.
The issue is primarily one of convenience vs. safety, with performance a secondary consideration.
In reviewing my own use of mutable collections, there are many places where I use methods that make copies of the mutable collection instead of modifying it in place.  There are a variety of reasons:

Often the operation is simply impossible to do in place, but I started by building a collection mutably, and I want to modify it more after the operation.  For instance, grouped and partition necessarily create new collections and map can change the element type.
Often the operation is possible to do in place but is highly inefficient.  For instance, if I am searching for a terminator that I know occurs soon, using takeWhile to build a new collection is better than trying to throw away the entire tail.
Often I just don't care any more whether the collection is mutable; I'm going to consume it all soon anyway and it's just easier to use what I've got.
Occasionally I don't want to care whether a collection is mutable or not and I don't want to go through the hassle of builders; I just want to take any type of collection and extract what I need.
Occasionally I'm refactoring from mutable to immutable collections or vice versa; it is easier when you use common operations when otherwise the in-place vs. rebuilding decision is unimportant.
Occasionally it doesn't matter at all whether I rebuild the collection and the API of the rebuilding version is clearer (e.g. x +: xs), so I prioritize clarity.

These are not rare use cases for me.  This is normal.  None of them are quite as common as merely using a, say, mutable hash map to build some representation of something, but together they account for roughly 50% of my use of mutable collections.  And I don't think this is a use style that should be discouraged, either.  It's done that way for good reason, usually with mutability encapsulated, and makes the code easier to understand and maintain, and more expressive without being confusing.
If these operations are to be retained at all in any form, it is also important that they be of adequately high performance.  Many mutable collections have arrays backing them, for instance.  Trying to do a ++ off an iterator is substantially slower than doing an array copy, and any indirection through other methods (except fully inlined value classes) reduce performance which was probably much of the reason why mutable collections were used in the first place.  So a "convert and opt-in" option is not an effective solution to the problem of wanting fast yet powerful operations.
The problems that have been brought up as reasons to drop the operations from mutable collections have other decent partial solutions.  Consistent naming is one: it has historically been difficult to determine whether a method on a mutable collection operates in place or not; that can be and is being fixed.  Accidental misuse by inexperienced users is another, but we already have a feature used for that: language imports.  If we think that feature gating is an important consideration and we don't want to clutter the interface with required implicits, we can give libraries access via annotation to the same kind of warnings that you normally get with language imports: @warnUnless(scala.collection.mutable.EnableRebuildingOps) or somesuch (this would take some thought to get right, but the availability of language imports for core language features but not libraries goes against Scala's custom of moving as much as practical into the library rather than language level).
Thus, I think that even if one was designing a perfect library from scratch, one would still want these methods to be easily available.  If one was redesigning the entire language from scratch to, say, greatly emphasize correctness over other concerns (ease of use, performance, etc.), then no, one ought not; but we're not redesigning the language in that way.

@ichoran You making quite a persuasive argument here. One other thought: If we are objecting to some immutable operations on mutable collections because of their inefficiency, we should also target other uses. It's just as bad to use xs :+ x on a list xs than to use xs + x on a list buffer xs. Same goes for last and init, or most uses of apply on List.
So, maybe one could envision a performance linter for collection operations? Of course, one could also simply use a profiler, but maybe some people would value advice writing programs before they are tested under load.

If we are objecting to some immutable operations on mutable collections because of their inefficiency

performance is of course important, but IMO whether something gets copied or not isn't mainly a question of performance. it's mainly a question of whether the original changes or not. this, rather than whether something is O(1) or O(n), is my main area of concern here for beginning users

You don't think the rule "It changes if and only if it ends in InPlace or =" is clear enough, @SethTisue ?

A small comment about this rule: it has been broken in this commit for the sake of having an API more similar to the Java APIs (where the add method is not suffixed with InPlace and yet mutates the collection in place).

@julienrf - Is it worth it, given that we have +=?  Would we ever recommend using the potentially-confusable add even if there were no rebuilding methods over +=?  The type of variables isn't always obvious, so xs add x could very well be taken as producing a new collection.

@Ichoran Actually IMHO that would be better to stick to addInPlace and removeInPlace.

@julienrf @ichoran There are quite a few other methods which mutate a mutable collection and don't end in InPlace. put, update, remove come to mind. So I don't think we can sustain the InPlace convention.

@odersky - That's true but any of them could be renamed.  update would be the hardest to rename because it is syntactic sugar for (_) = _, but we could @inline final def update(x): Foo = updateInPlace(x) for collections.  It does suggest that InPlace is a bit heavyweight.  Still, I think it's bad design to have to remember that update modifies in place while updated creates a new copy, while map creates a new copy and mapped doesn't exist.  It's a perpetual complexity of the interface that gets better with learning but never fully goes away.  It would be great if we could fix it, not by removing functionality so that when you forget the compiler bites you, but by making it trivial to remember because there is some regularity that you can count on.

I don't see a good reason for renaming. The current names are established and work fine. I fear we are causing major breakage to uphold a new principle, which is as yet unproven.

@odersky - I thought @SethTisue was making the point that in fact the current names were not working fine because new users, at least, were getting confused about what mutates the collection and what doesn't?  And that this problem was so bad that it was worth at least considering throwing out all of the operations that don't mutate from the mutable collections!
I have never found it terribly difficult, just slightly annoying, to remember which does which.  But I was responding as if the account of it being a serious stumbling block was accurate.  @SethTisue - How big of a problem is this?  (Compared to, say, procedure syntax, or function-vs-method confusion, or any2stringadd or some other common problem?)

About the InPlace suffix: I think that indeed in the current collections we already have several mutating operations that do not follow the InPlace convention (some of them have been mentioned by @odersky, but we also have clear or insert -- just have a look at the Buffer API). So, maybe a simpler idea is to use the InPlace suffix for operations that exist both on immutable and mutable collections and that are commonly used on immutable collections (typically, map, filter, etc.).

I added a commit that moves back the concat method to generic collections.


Failure to load in Atom 0.206 due to deprecation

This package cannot be used with Atom >=0.206 due to the deprecation of API.
Not sure how to get which API calls needs to be changed though.

Here's the weird part: Deprecation Cop shows nothing (I ran Atom with --include-deprecated-calls). I'm about to file a bug on Deprecation Cop itself.

Well, apparently, here's the deprecation that atom/deprecation-cop#52 actually found (it's not on a usual code path):

Accessing PaneView via $::view() is deprecated. Use the raw DOM node or underlying model object instead.

Here's the offending line.

I know little about Atom's APIs, so I can't really help too much.

Using 0.1.8 seems to work now. Thanks!