Inbound parse webhook missing information

Hello,
I think the inbound parse webhook is missing a lot of information to implement it right. I had to run many tests to get this information so I think it's worth sharing it. I might not have it all right and if you spot something wrong or I'm missing something, feel free to comment.
Main documentation page: https://sendgrid.com/docs/for-developers/parsing-email/setting-up-the-inbound-parse-webhook/
Additional documentation page: https://sendgrid.com/docs/API_Reference/Parse_Webhook/inbound_email.html#-Character-Sets-and-Header-Decoding
Expected content

all fields are well documented with an optional/always tag;
there is a very clear difference between Default parameters and Raw parameters;
there is a clear difference between spam check enabled and disabled.

Actual content

there is no optional/always tag and it is unsure which fields can be omitted (or which ones are always present) inside the payload ;
the difference between Default parameters and Raw parameters is not clear: some parameters documented in the Raw parameters are also present in the Default parameters but not documented there such as cc and text ; I would suggest one table with parameters present in both payloads and then one table specific to one payload so we can better understand the difference ;
additional parameters enabled by spam check are not obvious: it is for spam_report and spam_score though they are undocumented and it is less obvious for dkim and SPF which are even included without spam check

Suggested modification
Present in both payload

Fields
Always
Description
Example

envelope
true
JSON string of the SMTP envelope with 2 keys: from is an email, to is an array of strings
{"to":[<EMAIL_ADDRESS><EMAIL_ADDRESS>]<EMAIL_ADDRESS>

sender_ip
true
IP Address of the SMTP client connected to Sendgrid server
<IP_ADDRESS> | TODO IPv6

charsets
true
JSON string of an object ; the key is the name of the field and the value is the corresponding encoding charset
{"to":"UTF-8", "cc":"UTF-8", "subject":"UTF-8", "from":"UTF-8", "text":"iso-8859-1"}

from
true
decoded value of email from header, empty string if header is not present
Name<EMAIL_ADDRESS>

to
true
decoded value of email to header, empty string if header is not present
Name<EMAIL_ADDRESS><EMAIL_ADDRESS>

cc
false
decoded value of email cc header, not present if header is not present
Name<EMAIL_ADDRESS><EMAIL_ADDRESS>

subject
true
decoded value of email subject header, empty string if header is not present
Newsletter

dkim
true
DKIM check status per domain
none | {@domain : pass} | {@domain : fail (message has been altered)} | {@domain : fail (message has been altered<EMAIL_ADDRESS>: fail (message has been altered)}

SPF
true
SPF check status
none | fail | pass

Present if spam check is enabled

Fields
Always
Description
Example

spam_score
true
SpamAssassin score
0 | 0.011 | 1.189

spam_report
true
SpamAssassin report
See below

Spam detection software, running on the system "mx0048p1mdw1.sendgrid.net", has
identified this incoming email as possible spam.  The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email.  If you have any questions, see
@@CONTACT_ADDRESS@@ for details.

Content preview: [...]

Content analysis details:   (1.2 points, 5.0 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
 0.0 FREEMAIL_FROM          Sender email is freemail (email[at]hotmail.com)
 1.2 FORGED_HOTMAIL_RCVD2   hotmail.com 'From' address, but no 'Received:'

:warning:
There is currently an encoding issue affecting the Content preview included in the spam_report. In this part, you can end up with invalid characters. I opened a support ticket but I suggest you to strip the Content preview for now to avoid any problem in your database.

Pesent if send raw is disabled

Fields
Always
Description
Example

headers
true
Raw email headers
See below

html
false
present if html content is present in the email

This is a test

text
false
present if text content is present in the email
This is a test

attachments
true
number of attachments to the email
0 | 3

content-ids
false
JSON string of attachment content ids to attachment key, present only if attachment in the message
{"ii_1562e2169c132d83":"attachment1"}

attachment-info
false
JSON string of attachments information, present only if attachment in the message
{ "attachment2": { "filename":"DockMcWordface.docx", "name":"DockMcWordface.docx", "type":"application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, "attachment1": {  "filename":"MG_2359.jpg", "name":"_MG_2359.jpg", "type":"image/jpeg", "content-id":"ii_1562e2169c132d83" } }

headers example:
Received: by mx0032p1mdw1.sendgrid.net with SMTP id rOkt2xLLKV Tue, 19 Jul 2016 15:06:29 +0000 (UTC)
Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [<IP_ADDRESS>]) by mx0032p1mdw1.sendgrid.net (Postfix) with ESMTPS id 26D6080397 for<EMAIL_ADDRESS>Tue, 19 Jul 2016 15:06:22 +0000 (UTC)
Received: by mail-it0-f45.google.com with SMTP id f6so93587860ith.1 for<EMAIL_ADDRESS>Tue, 19 Jul 2016 08:06:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.com; s=ga1; h=mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=c1I/LcqHEJklmAThWr9Z8NKlTPHUlE/8sDSpK382fJtIQcGdUtczG0pijnUHegrFVt FDr4NehtJDD9KFvXLXboLCtObsu5HTN99ckUCCZTibZseA+J8U3jjCqTdj1fmUage5C7 //Iwi0Ndioonzhm18J7KStap66yZ69ED7UxPk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=lgmLXnmmpNcQMckjshsZsa2/8OjFZzntWYSG5XZo0fi32KHLuBLSHuNDFXn0V4ICp1 1xuT2fZCyhBSgNBiWNbjqFspdemzrBjaI1Tgm/Zz8Fv6wW2XdjpoANNQzJxfdhnecPd5 HvZ5P8+KTqjr4tAa9RmLthDc3UqhV9NRnCnhbW/AZaVQLB8eoJus92tD1GeXpBQml5XF m6vPUGrWGZWNugINkRKxIpk+2uECglAjNm4NpZIi9j7N94CxA18RC4NJ59WIsSybtIer hbCgT1Q13rvGEzvnp6FfFQVbE3DOibNqd0bh/EvZCagFVbnenNc/Q+qHtU9KqFlisSOp xh0w==
X-Gm-Message-State: ALyK8tINVaZIP8YCgQbpg5ya8EnqQo76uxkXUPpDnM+kAyAQQzehFU10EgyuAe2fAmWf/muBiFDy0JDU74Eclp1/
X-Received: by <IP_ADDRESS> with SMTP id a16mr4479786itb.77.1468940781988; Tue, 19 Jul 2016 08:06:21 -0700 (PDT)
MIME-Version: 1.0
Received: by <IP_ADDRESS> with HTTP; Tue, 19 Jul 2016 08:06:21 -0700 (PDT)
From: Sender Name<EMAIL_ADDRESS>Date: Tue, 19 Jul 2016 09:06:21 -0600
Message-ID<EMAIL_ADDRESS>Subject: Hello
To<EMAIL_ADDRESS>Content-Type: multipart/mixed; boundary=001a11447dc881e40f0537fe6d5a

Present if send raw is enabled

Fields
Always
Description
Example

email
true
Raw SMTP email received
See below

email example:
Received: by mx0032p1mdw1.sendgrid.net with SMTP id rOkt2xLLKV Tue, 19 Jul 2016 15:06:29 +0000 (UTC)
Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [<IP_ADDRESS>]) by mx0032p1mdw1.sendgrid.net (Postfix) with ESMTPS id 26D6080397 for<EMAIL_ADDRESS>Tue, 19 Jul 2016 15:06:22 +0000 (UTC)
Received: by mail-it0-f45.google.com with SMTP id f6so93587860ith.1 for<EMAIL_ADDRESS>Tue, 19 Jul 2016 08:06:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.com; s=ga1; h=mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=c1I/LcqHEJklmAThWr9Z8NKlTPHUlE/8sDSpK382fJtIQcGdUtczG0pijnUHegrFVt FDr4NehtJDD9KFvXLXboLCtObsu5HTN99ckUCCZTibZseA+J8U3jjCqTdj1fmUage5C7 //Iwi0Ndioonzhm18J7KStap66yZ69ED7UxPk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=lgmLXnmmpNcQMckjshsZsa2/8OjFZzntWYSG5XZo0fi32KHLuBLSHuNDFXn0V4ICp1 1xuT2fZCyhBSgNBiWNbjqFspdemzrBjaI1Tgm/Zz8Fv6wW2XdjpoANNQzJxfdhnecPd5 HvZ5P8+KTqjr4tAa9RmLthDc3UqhV9NRnCnhbW/AZaVQLB8eoJus92tD1GeXpBQml5XF m6vPUGrWGZWNugINkRKxIpk+2uECglAjNm4NpZIi9j7N94CxA18RC4NJ59WIsSybtIer hbCgT1Q13rvGEzvnp6FfFQVbE3DOibNqd0bh/EvZCagFVbnenNc/Q+qHtU9KqFlisSOp xh0w==
X-Gm-Message-State: ALyK8tINVaZIP8YCgQbpg5ya8EnqQo76uxkXUPpDnM+kAyAQQzehFU10EgyuAe2fAmWf/muBiFDy0JDU74Eclp1/
X-Received: by <IP_ADDRESS> with SMTP id a16mr4479786itb.77.1468940781988; Tue, 19 Jul 2016 08:06:21 -0700 (PDT)
MIME-Version: 1.0
Received: by <IP_ADDRESS> with HTTP; Tue, 19 Jul 2016 08:06:21 -0700 (PDT)
From: Sender Name<EMAIL_ADDRESS>Date: Tue, 19 Jul 2016 09:06:21 -0600
Message-ID<EMAIL_ADDRESS>Subject: Hello
To<EMAIL_ADDRESS>Content-Type: multipart/mixed; boundary=001a11447dc881e40f0537fe6d5a

--001a11447dc881e40f0537fe6d5a
Content-Type: multipart/alternative; boundary=001a11447dc881e40b0537fe6d58

--001a11447dc881e40b0537fe6d58
Content-Type: text/plain; charset=UTF-8

This is a test email with 1 attachment.

--001a11447dc881e40b0537fe6d58
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

This is a test email with 1 attachment.
<=
div>

--

--001a11447dc881e40b0537fe6d58--

--001a11447dc881e40f0537fe6d5a
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document;
	name="DockMcWordface.docx"
Content-Disposition: attachment; filename="DockMcWordface.docx"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_iqtleujy0

[TRUNCATED_BASE64_CONTENT]

--001a11447dc881e40f0537fe6d5a--

Do you have an example of how to handle messages?
I'm using StrongGrid but it doesn't work https://github.com/Jericho/StrongGrid/blob/develop/Source/StrongGrid/WebhookParser.cs


Makefile: Add targets docker_bootstrap_test and docker_bootstrap_push.

Running a single target is simpler than a series of commands.
@enisoc

This change is

LGTM


Migration ignored some code @component

Hello
The tool ignored some vue code during the migration.
Here's a visualisation of the changes made by the tool, using git diff. You can see the @Component didn't change but the modelValue field yes.

Is it because of the code is in a script tag inside a .vue file or something like that ?

This is mostly an upstream problem. ast-types doesn't support class decorators yet, so vue-upgrade-tool can't traverse into class decorators.
https://github.com/benjamn/ast-types/issues/938

Are you using CRLF line endings? looks like vue-metamorph might have a bug around that too


Request for license adaptation for distribution.

Hello,
I discussed with my legal department the license enhancement regarding public domain usability in areas where public domain is not recognized. Thanks for having this point mentioned.
"This software is in the public domain. Where that dedication is not recognized, you are granted a perpetual, irrevocable license to copy and modify this file as you see fit."
Is it possible to add the distribution point to the enhancement to ensure we can distribute this code further. This could look like:
"This software is in the public domain. Where that dedication is not recognized, you are granted a perpetual, irrevocable license to copy, modify and distibute this file as you see fit."
Thanks in advance.
Siegfried Oesterreicher

Also isn't this file wrong as this library isn't header only anymore? :-)


write variable type BOOL

Hello,
How can I write a binary variable of type BOOL;
{attribute 'qualified_only'}
VAR_GLOBAL
   output1 : BOOL;
END_VAR

const res = await this.client.writeSymbol( "GVL_Test.output1", "0")
const res1 = await this.client.writeSymbol( "GVL_Test.output1", "true")

it doesn't work for me...
thank you, Víctor.

solution:
const res = await this.client.writeSymbol( "GVL_Test.output1", 1)
merry christmas


[BUG] WhatsApp send Template function validation restrict numbers on the template name

Describe the bug
In our company we create some WhatsApp templates with the following structure: template_event_name_version where version is a number. It works to create the template on Infobip and works to send messages using the API but when we try to send the same message with the SendTemplate function we get this error: Field validation for 'templateName' failed on the 'templatenamenotsnakecase' tag
To Reproduce
Steps to reproduce the behavior:

Create the request with models.WATemplateMsgs.
Set the templateName as lider_whatsapp_test_infobip_10.
Use client.WhatsApp.SendTemplate function to send the message.
See error: Field validation for 'templateName' failed on the 'templatenamenotsnakecase' tag

Expected behavior
The SDK should send the message with that template name, because the API send the same message.
Desktop (please complete the following information):

Version v3.3.1 I belive on GitHub says 3.1.1

Additional context
We need to have the version number on the name of the templates because they are always changing.

I want to complement that I think the error is because the templateName has a number because if I send a message with a templateName lider_whatsapp_test_infobip the function sends the message.

Thank you for spotting the bug @godinezseba! I'll soon upload a fix.

Hi @godinezseba The fix is implemented in the PR linked above, waiting for a review. ETA Monday, Dic 4.


The speed between sum and average

I found an interesting result in your paper. The speed of sum operation is slower compared with the average operation by a huge margin. Could you please explain the reason for this phenomenon? Thank you!

Hi @peterzpy,
Are you referring to the CUDA-native or the PyTorch in-place versions?

Hi @peterzpy,
Are you referring to the CUDA-native or the PyTorch in-place versions?

I mean the results reported in the table1 of your paper. I get no idea which version you have reported. Besides, why the baseline of ResNet50 has just 72.9% in term of accuracy? The standard ResNet50 should have got an accuracy of about 76%+ on ImageNet. Looking forward to your reply, thx!

I mean the results reported in the table1 of your paper. I get no idea which version you have reported. Besides, why the baseline of ResNet50 has just 72.9% in term of accuracy? The standard ResNet50 should have got an accuracy of about 76%+ on ImageNet. Looking forward to your reply, thx!

The speeds for sum and average pooling are based on the current Tensorflow/PyTorch implementations available. While there are native implementations for average pooling in both libraries, there aren't any for sum pooling. Therefore, we created our own. In general, we considered two different approaches:

Option 1 was to use conv_xd with kernel values of 1.
Option 2 was to use avg_pool and then performing in-place multiplication by the kernel number (similar to how we did for SoftPool on the non-CUDA-native version).

On average, we found that the time-related tests favoured Option 2 better, agreeing with a previously related StackOverflow question [link].
In terms of the small accuracy difference between our base models and the ones reported in the literature (for example as of PyTorch's website 76.15% for ResNet50), that is due to our experiment environment and conditions ( mainly the batch size as we used a single machine with 4x2080Tis). The training script is also exactly the same as the one used by PyTorch with only some very minor modifications [link].
Best,
Alex

The speeds for sum and average pooling are based on the current Tensorflow/PyTorch implementations available. While there are native implementations for average pooling in both libraries, there aren't any for sum pooling. Therefore, we created our own. In general, we considered two different approaches:

Option 1 was to use conv_xd with kernel values of 1.
Option 2 was to use avg_pool and then performing in-place multiplication by the kernel number (similar to how we did for SoftPool on the non-CUDA-native version).

On average, we found that the time-related tests favoured Option 2 better, agreeing with a previously related StackOverflow question [link].
In terms of the small accuracy difference between our base models and the ones reported in the literature (for example as of PyTorch's website 76.15% for ResNet50), that is due to our experiment environment and conditions ( mainly the batch size as we used a single machine with 4x2080Tis). The training script is also exactly the same as the one used by PyTorch with only some very minor modifications [link].
Best,
Alex

We have also tested using a learning rate of 1e-2 as the starting point with overall worse accuracy performance. I believe that such changes in performance based on batch sizes are more attributed to greater problems (e.g. no free lunch theorem) as having mini-batches w/ decreased sizes that are balanced/representational for the target classes is especially challenging for cases as such (1K classes).

We have also tested using a learning rate of 1e-2 as the starting point with overall worse accuracy performance. I believe that such changes in performance based on batch sizes are more attributed to greater problems (e.g. no free lunch theorem) as having mini-batches w/ decreased sizes that are balanced/representational for the target classes is especially challenging for cases as such (1K classes).

Thanks again, I have no more questions now and you can close this issue. : )

Thanks again, I have no more questions now and you can close this issue. : )


⚠ Slack has degraded performance

In 2485e95, Slack (https://status.slack.com/api/v2.0.0/current) experienced degraded performance:

HTTP code: 200
Response time: 155 ms

Resolved: Slack performance has improved in 0c20f5b after 1 hour, 2 minutes.


Security 2.3: Enforcement of 800-level security points

The relevant security points are as follows. Note that 850 is additional to those specified in the design plan.
Design premise: Only send data to the Model level that the user is allowed to update. Security point verification happens primarily in app_server.py.

Security point
Description

800
Can access Manage Users activity

810
Can activate new and inactive users

820
Can inactivate users

830
Can modify non-admin security points of any user

840
Can modify admin security points of any user

850
Can delete a user

800 Tasks

Modify base.html to limit link visibility based on security point
Add sec pt verification to beginning of /editUserAdmin app route.
Create HTML 403 page

800 Test Plan

Can see the Manage Users link iff security point is present.
Can load the Manage Users page iff security point is present (either activity or 403 page loads)
Above conditions are met when security point is restricted while user is still logged in
Test with multiple users.

810 Tasks

If 810 is not present, remove 'activated' key from form_data if it's value is 1.
Flash message indicating that value is not changed

820 Tasks

If 820 is not present, remove 'activated' key from form_data if it's value is 0.
Flash message indicating that value is not changed

810 and 820 Test Plan

User has 810 and 820: can change and remove activation status; messages show updated successfully; changes are applied to the database
User has 810 but not 820: can activate but not inactivate; messages are appropriate for either case; changes are applied to the database only when appropriate
User has 820 but not 810: can inactivate but not activate; messages are appropriate for either case; changes are applied to the database only when appropriate
User has neither 810 nor 820: cannot change activation status from either state; messages are appropriate; no database changes are possible
Above conditions are met when security points are restricted while the user is still logged in
Works with multiple users

Admin menu is only visible if there is at least one visible activity within it.
Above tests - SUCCESS!

NEXT STEPS
850 Tasks

app_server.py: At line 580, add validation code similar to Line 521 + flash message

850 Test Plan

User has 850: can delete a user; message shows up successfully; change is applied to database
User does not have 850: cannot delete a user; message shows up successfully; no db change possible
Above conditions are met regardless of status of security points 810, 820, 830, or 840

Manage Users Form Disabling

Disable checkbox based on sec point and current value
Test that flash message is not displayed for checkbox when submitted from disabled form (need to distinguish between disabled and off state)
Disable sec point options based on security points
Disable sec point selector based on security points

Final Tests

When development is complete, repeat all test plans in this ticket and ensure that form messages and control behavior is appropriate in each case

Final Tests

When development is complete, repeat all test plans in this ticket and ensure that form messages and control behavior is appropriate in each case

All tests successful.


Firebase obfuscation Error

Instead of this dialog, just-in-time debugging (JIT) is called.
For more information on how, see the latter part of this message.
************** Exception text *********
System.ArgumentNullException: StringReference is not set as an instance of a string.
Parameter name: s
Location: System.DateTimeParse.Parse (Strings, DateTimeFormatInfodfi, DateTimeStyles)
Location: System.DateTime.Parse(Strings)
Location: Kakao Story Solution.Form2.a.f()
--- End of stack tracking at the previous location where the exception was rolled ---
Location: System.Runtime.CompilerServices.Async MethodBuilderCore.<>c.b__6_0 (Object state)
************** Loaded assembly ***********
mscorlib
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4470.0 build by: NET48REL1LAST_C
Codebase: file://C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
Kakao Story Solution.
Assembly version: <IP_ADDRESS>
Win32 version: <IP_ADDRESS>
Code base: file://C:/Users/SongSengHyun/Desktop/%EC%A0%95%EB6%AC/%EA%B0%9C%EC%9D%B8/%ED%81%AC%EB%AA%B/C%23/%EC%A0%95%EB9%EB9%EBC95%
Microsoft.VisualBasic
Assembly version: <IP_ADDRESS>
Win32 version: 14.8.4084.0 build by: NET48REL1
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dllllllll
System
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4488.0 build by: NET48REL1LAST_C
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/System/v4.0_4.0.0__b77a5c561934e089/System.dll
System.Core
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4470.0 build by: NET48REL1LAST_C
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/System.Core/v4.0_4.0.0_4.0.0__b77a5c561934e089/System.Core.dll
System.Windows.Forms
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4488.0 build by: NET48REL1LAST_C
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0_4.0.0__b77a5c561934e089/System.Windows.Forms.dll
System.Drawing
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4390.0 build by: NET48REL1LAST_C
Codebase: file://C:/Windows/Microsoft.Net/ACT_MSIL/System.Drawing/v4.0_4.0.0__b03f5f7f11d50a3a/System.Drawing.dll
System.Configuration
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4190.0 build by: NET48REL1LAST_B
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/System.Configuration/v4.0_4.0.0__4.0.0__b03f5f7f11d50a3a/System.Configuration.dll
System.Xml
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4084.0 build by: NET48REL1
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/System.Xml/v4.0_4.0.0_4.0.0__b77a5c561934e089/System.Xml.dll
System.Runtime.Remoting
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4084.0 build by: NET48REL1
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/System.Runtime.Remoting/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Runtime.Remoting.dll
WebDriver
Assembly version: <IP_ADDRESS>
Win32 version: <IP_ADDRESS>
Code base: file://C:/Users/SongSengHyun/Desktop/%EC%A0%95%EB6%AC/%EA%B0%9C%EC%9D%B8/%ED%81%AC%EB%AA%B/C%23/%EC%A0%95%EB9%EB9%EBC95%
FireSharp
Assembly version: <IP_ADDRESS>
Win32 version: 1.1.0
Code base: file://C:/Users/SongSengHyun/Desktop/%EC%A0%95%EB6%AC/%EA%B0%9C%EC%9D%B8/%ED%81%AC%EB%AA%B/C%23/%EC%A0%95%EB9%EB9%EBC95%
RestSharp
Assembly version: <IP_ADDRESS>
Win32 version: <IP_ADDRESS>
Code base: file://C:/Users/SongSengHyun/Desktop/%EC%A0%95%EB6%AC/%EA%B0%9C%EC%9D%B8/%ED%81%AC%EB%AA%B/C%23/%EC%A0%95%EB9%EB9%EBC95%
mscorlib.resources
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4084.0 build by: NET48REL1
Codebase: file://C:/Windows/Microsoft.Net/assumbly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0_<IP_ADDRESS>_ko_b77a5c561934e089/mscorlib.resources.dllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
System.Windows.Forms.resources
Assembly version: <IP_ADDRESS>
Win32 version: 4.8.4084.0 build by: NET48REL1
Code base : file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_<IP_ADDRESS>_ko_b77a5c561934e089/System.Windows.Forms.resources.dll
************** **************, debugging jit
Jit (just in time) To use the debugging of the application or machine.
(a machine config) File config of the value of the jitdebugging
System windows, forms should be set in the section.
Debugging applications can also be compiled.
I am doing.
E.g.

All exceptions are not processed, the debugging jit.
This dialog box, not been processed and registered in the computer jit.
Be sent to the debugger.

Without a sample project, it is impossible to guess what might be wrong.


Compile comparison operators to ES Harmony egal

ES6 has a nice is / isnt operator that is aliased as Object.is / Object.isnt. It fixes === bugs, such as 0 === −0 (which is really false because 1/0 !== 1/-0) and NaN !== NaN (which is obviously true).
It doesn't break much backwards compatibility, but it would be something nice to have, because it's quite frustrating every time to write helpers.
More info: http://wiki.ecmascript.org/doku.php?id=harmony:egal

So you're suggesting we add a helper
__is = Object.is || function(a, b) {
  if (a === b) {
    return a !== 0 || 1 / a === 1 / b;
  } else {
    return a !== a && b !== b;
  }
}

and compile every a is b/a == b to __is(a, b)? I think you should write your own egal helpers and use them when you want that behaviour. Most people wouldn't want the extra verbose output, since most comparisons aren't done between 0/-0 or NaN/NaN.
It's great that these operators exist in harmony, but we just can't target that yet. One day, a CS compiler will have multiple compilation targets. And that will be the reason everyone abandons this single-target compiler and starts using that one.

So you're suggesting we add a helper

Yep, exactly.
You're right, the output will be sort of verbose and I don't think it's worth implementing in current coffee state. Although I think it's worth considering. Perhaps, we can make a list of ideas for the multiple-targets thing.

Well, plenty of changes would be made when switching from IE6-JS (our current target) to ES5 or harmony. Maybe it's more appropriate for a wiki page though. Closing this as frozen, since there won't be anything we can do about it for a long, long time.

see https://github.com/jashkenas/coffee-script/wiki/Multiple-compilation-targets

Yep -- not even "frozen" really, which means that we're blocked waiting for something that we're expecting to happen soon. I'd put the odds of ES6 shipping in a reasonable timeframe -- or at all -- fairly low.


Add alert route for indexing and seeing details about alerts

Right now this just sends out all the alerts and alert histories for the current team, which is probably not ideal. The goal is to generate a page that shows what alerts have been created and what their current status is i.e. alarmed or OK, possibly with a small sparkline history of green/red for each alert.

Since the backend API work is minimal (mongo queries only), I'd imagine we also want to throw some design / frontend components there

OK I think this is ready for final review 👍


Links look bad in dark theme in extension README

Testing #8215

June to investigate

High contrast shares the same link color.


chuffiness, actinochemistry (logical-conflict)

This pull request was generated by the 'mq' tool

/trunk merge


Filter out the collections from the file listing

fixes #1142

coverage: 83.376%. remained the same
when pulling c41dbee92e058ea3b06c145d44ce77ae79573f86 on filter-collections
into 11270b1b45bb35620e9859972bac9f5a6774368c on main.


Update should technically overwrite all fields

Insert {'id': id}, then everything else? But how to clear the other fields...?

I debated keeping this, but am deprecating it, as it seems unnecessary. If anybody disagrees, comment below, and I will reopen it.


[ci] Print SAM3X firmware version for FPGA jobs

This PR prints the SAM3X firmware version before running FPGA tests. This is useful even for hyperdebug tests as we still program the bitstream etc through the SAM3X.

You might want to just add a || true after the command so that transports that don't support it don't break the test.


gede: 2.0.4 -> 2.6.1, fix ctags dependency

Motivation for this change
Closes #39162 .
/cc @dtzWill
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

My hero! swoons
LGTM!

Success on x86_64-linux (full log)
Attempted: gede
Partial log (click to expand)
Start it by running gede
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/m7q84a278hcf5925hxb2122zv0k596fs-gede-2.6.1
shrinking /nix/store/m7q84a278hcf5925hxb2122zv0k596fs-gede-2.6.1/bin/.gede-wrapped
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/m7q84a278hcf5925hxb2122zv0k596fs-gede-2.6.1/bin
patching script interpreter paths in /nix/store/m7q84a278hcf5925hxb2122zv0k596fs-gede-2.6.1
checking for references to /build in /nix/store/m7q84a278hcf5925hxb2122zv0k596fs-gede-2.6.1...
/nix/store/m7q84a278hcf5925hxb2122zv0k596fs-gede-2.6.1

Success on aarch64-linux (full log)
Attempted: gede
Partial log (click to expand)
Start it by running gede
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/jm8fzzng7pmxlnhg2i99g7b3j5cff716-gede-2.6.1
shrinking /nix/store/jm8fzzng7pmxlnhg2i99g7b3j5cff716-gede-2.6.1/bin/.gede-wrapped
strip is /nix/store/j7d4mr0ikv974ig7yzhknpsq288js4bs-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/jm8fzzng7pmxlnhg2i99g7b3j5cff716-gede-2.6.1/bin
patching script interpreter paths in /nix/store/jm8fzzng7pmxlnhg2i99g7b3j5cff716-gede-2.6.1
checking for references to /build in /nix/store/jm8fzzng7pmxlnhg2i99g7b3j5cff716-gede-2.6.1...
/nix/store/jm8fzzng7pmxlnhg2i99g7b3j5cff716-gede-2.6.1


Add miter limit for line builder

Adds back the previously lost miter limit functionality for polyline builders. The miter limit converts miter joins to bevels when the join angle is very sharp, specifically when the miter join length is longer than the ratio of the miter_limit to the width of the line.  See SVG miter limit for reference.
Exposes as miter_limit in lines style, default miter limit is 3., e.g.:
draw:
   lines:
      color: red
      width: 5px
      miter_limit: 2

Examples from Hong Kong paths:
Miter limit 3 (default)

Miter limit 2

Miter limit 1.5

@patriciogonzalezvivo I pulled this out from the more involved polyline builder branch. Can you check to make sure it looks OK on the current code base?

:+1: Looks great. Way clear and elegant : )

Nice! Setting the limit on some road classes at mid zooms could improve their rendering quite a bit, would adjusting this in the scene file cause a perf hit?

On Jan 12, 2016, at 08:01, Patricio Gonzalez Vivo<EMAIL_ADDRESS>wrote:
Looks great. Way clear and elegant : )
―
Reply to this email directly or view it on GitHub.

@nvkelso I wouldn't worry about that, technically the bevel is an extra triangle but it's not like a full rounded triangle fan and only happens on long miters anyway (also it looks like we're doing more work than necessary for bevels but @patriciogonzalezvivo is going to address that).


[cloudflared] - Add support for loglevel

Description

Allow for cloudflare tunnel loglevel to be customized

Implements #16

Updated @nushkovg
I was looking for documentation around that part but couldn't find any 😅
Thanks for the quick review!


Docker

Add creation of docker details. Therefore a Dockerfile, a buildAndRun.sh and a README.md file are generated if docker is enabled.

Add creation of docker details. Therefore a Dockerfile, a buildAndRun.sh and a README.md file are generated if docker is enabled.


Bot Continuously Downloads Music From Autoplaylist.

I have savevideos off, but, while music is playing, it shows in the console, music being downloaded all time. I think it happening when savevideos was on aswell. http://imgur.com/arHQCpm
It isn't even saving the videos to the cache, it is just downloading them. http://imgur.com/EZ5BF6w

Are there videos in your audio cache @

This is what is going on in the audio cache. https://www.youtube.com/watch?v=6Cf4mAhPV2g&feature=youtu.be

I do t think this is an issue if the bot is playing music. It's just downloading the song playing it then deleting it

No, it downloads, and completes a video every second.

Alright, it does not constantly download music when savevideos is ON.

I just noticed something like this happening with the demo bot.  I'll look into this a bit more.

I don't remember why this happened but I probably fixed it.


support independent 'extensions-dir' for extension debugging

I'm trying to decouple the extensions directory used for extension debugging from the extensions directory of the "outer" VS Code instance. The goal is to allow the existing --extensions-dir command line flag in a launch config like this:
{
    "name": "Run Extension",
    "type": "extensionHost",
    "request": "launch",
    "args": [
        "--extensions-dir=/tmp/foobar/extensions",
        "--extensionDevelopmentPath=${workspaceFolder}"
    ],
    // ...
}

This does not work out of the box (see #126737).

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


HBASE-26821 Bump dependencies in /dev-support/git-jira-release-audit

Bumps urllib3 from 1.25.8 to 1.26.5 to resolve two dependabot warnings

CRLF injection (Moderate) urllib3 (pip) · dev-support/git-jira-release-audit/requirements.txt

Catastrophic backtracking in URL authority parser when passed URL containing many @ characters (High) urllib3 (pip) · dev-support/git-jira-release-audit/requirements.txt

Bumps cryptography from 2.8 to 3.3.2 to resolve one dependabot warning

RSA decryption vulnerable to Bleichenbacher timing vulnerability (Moderate) cryptography (pip) · dev-support/git-jira-release-audit/requirements.txt

Lame but I get this after enabling depandabot warnings on my hbase repo fork.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 11s
Maven dependency ordering for branch

_ Patch Compile Tests _

+0 :ok:
mvndep
0m  3s
Maven dependency ordering for patch

_ Other Tests _

1m 34s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4193/1/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4193

Optional Tests

uname
Linux 944a3040e0e1 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 10471944bd

Max. process+thread count
28 (vs. ulimit of 30000)

modules
C:  U:

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4193/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 39s
Docker mode activated.

-0 :warning:
yetus
0m  2s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for branch

_ Patch Compile Tests _

+0 :ok:
mvndep
0m  4s
Maven dependency ordering for patch

_ Other Tests _

1m 45s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4193/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4193

Optional Tests

uname
Linux 1e048fe74a72 5.4.0-1043-aws #45~18.04.1-Ubuntu SMP Fri Apr 9 23:32:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 10471944bd

Max. process+thread count
44 (vs. ulimit of 30000)

modules
C:  U:

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4193/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m  4s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+0 :ok:
mvndep
0m 17s
Maven dependency ordering for branch

_ Patch Compile Tests _

+0 :ok:
mvndep
0m  5s
Maven dependency ordering for patch

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

_ Other Tests _

+0 :ok:
asflicense
0m  0s
ASF License check generated no output?

2m 30s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4193/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4193

Optional Tests
dupname asflicense

uname
Linux 98d42c77bb24 5.4.0-1025-aws #25~18.04.1-Ubuntu SMP Fri Sep 11 12:03:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 10471944bd

Max. process+thread count
33 (vs. ulimit of 30000)

modules
C:  U:

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4193/1/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

I'm reminded that we never wired this up to our nightlies.

@ndimiduk Not sure I would advise this. One of the warnings is
Improper Restriction of XML External Entity Reference in jackson-mapper-asl
org.codehaus.jackson:jackson-mapper-asl (Maven) · hbase-shaded/hbase-shaded-testing-util-tester/pom.xml
"A flaw was found in org.codehaus.jackson:jackson-mapper-asl:1.9.x libraries. XML external entity vulnerabilities similar to https://github.com/advisories/GHSA-hmq6-frv3-4727 also affects codehaus jackson-mapper-asl libraries but in different classes."
There is no fix for this until we are only up on Hadoop 3 and Hadoop fully excises Codehaus Jackson from their dependencies. It's required transitively for old Jersey/Jetty underpinning the servlet stack in Hadoop 2 so is quite important and not easily dislodged.
If we did wire it up, there would always be one unresolvable high severity warning produced for every precommit check.

I was not speaking of security scans (though we should figure this out too), I meant wire up use of this auditing tool to detect missing back ports.


Update core bindings 110322

Fixes issue #1399
Brief summary of changes
Update java files from latest opensim-core, delete stale files that were failing to compile.
Testing I've completed
Run ci
CHANGELOG.md (choose one)

no need to update because internal

@AlbertoCasasOrtiz you may want to use this branch or wait for build to finish and merged to retest your build scripts

@aymanhab This branch is working for me. Since it passed CI, I think we should merge this so CI doesn't still failing on Github Actions.

Sure, thanks for the update @AlbertoCasasOrtiz Merging


Prepare for release v1.7.7

Related: #12752

I assume the extra commit about etcd is intentional.

I had to rebase. Refresh the page :-)


ng serve returns 200 for non-existent files in the assets folder instead of 404 - user gets redirected to the default route

🐞 Bug report

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

Is this a regression?
Y - Was fixed as part of https://github.com/angular/angular-cli/issues/2989
Currently running Angular CLI 6.1.5 for an Angular 6 project and experiencing the same issues
Description
When running ng serve if an image file doesn't exist eg http://localhost:4200/assets/img/filedoesnotexist.jpg instead of returning a 404 response the @angular-devkit/build-angular:dev-server returns a 200 response and redirects to the '' route
I think I need to use a custom builder or if there's another fix I'd love to know but at present it is like the webpack dev server doesn't serve anything in the assets as a static file so it runs through routing
The fix appears to force accept HTML headers option to webpack dev server.
https://github.com/angular/angular-cli/issues/2989
I have the exact issue where if I request a missing image instead of 404ing it returns 200 and tries to redirect to index.html
I was wondering how to use this in my angular.json I'm using angular 6 and CLI version 6.1.5
Or if someone knows of a fix
I'd love someone to run up a quick sample project with a few routes and some images and have some assets return 404
🔬 Minimal Reproduction
To test open the ng-test.zip file:
https://www.dropbox.com/s/5f9putxrny4kfrk/ng-test.zip?dl=0

Run npm i

Run ng serve

Navigate to http://localhost:4200/assets/icons/trafficlight.png

You'll see the image served

Navigate to http://localhost:4200/assets/icons/nonexistentfile.png

Instead of a 404 you get routed to the home screen

🔥 Exception or Error
🌍 Your Environment

Angular CLI 6.1.5

Can also reproduce in Angular CLI: 9.1.9 and subsequent latest packages

Anything else relevant?
Running "builder": "@angular-devkit/build-angular:dev-server", in angular.json
I don't know if the intention of the team is to have people run a custom dev-server instead?
I couldn't find anything in the 200 headers returned for a missing asset file to indicate an error or anything it just looks like a normal 200

Here's an example of the fact the dev server a non-existent jpg file as html and returns a 200

Hi @owlyowl following a chat @clydin, this is a caused by another fix #2168. This fixed an issue were valid routes with dots would return 404.
Unfortunately, there is nothing that we can from our end, since by fixing this issue we'll break something else.


Quadratic curve inaccuracy

There is a problem with the quadratic Bezier curves... The code below (copy-paste in browser demo) draws the same path twice, the second time in the reverse direction. The two paths should overlap perfectly and there should not be any visible red in the document. However, the image below shows it's not the case : there is a significant gap between the two paths.
var doc = new PDFDocument();
var stream = doc.pipe(blobStream());

doc.rect(60,60,480,480).stroke('grey')
   .path('M60,540 Q60,60 540,60')
   .stroke('red')
   .path('M540,60 Q60,60 60,540')
   .stroke('green');

doc.end();
stream.on('finish', function() {
  iframe.src = stream.toBlobURL('application/pdf');
});

I think that the problem is in the quadraticCurveTo function. According to the PDF reference the z operator draws a kind of non-quadratic bezier curve, but I couldn't find the correct operator...


DeepFace.find is not accurate somtimes

hi,when I run the DeepFace.find, it offen incorrectly recognize faces as someone else in face db,below is my codes,please help me,did i use it in a wrong way?
DeepFace.find('/home/ray/Desktop/facedb/3847.jpg', '/home/ray/Desktop/facedb', model=vggface_model, model_name='VGG-Face', detector_backend='ssd', distance_metric='euclidean_l2')

We also found the same problem here. Inputting the face will find the wrong object. Is it possible to add a Face feature comparison model like insightface in the API?

Setting detector_backend to mtcnn will increase face detection and alignment accuracies. However, this issue does not help me to solve the issue. Could you share your input image and database images?

The ssd model does not have face alignment. Understand, it is better to change to mtcnn

ssd is very successful at face detection but legacy haar cascade performs face alignment within opencv.
on the other hand, mtcnn provides both face detection and eye locations (face alignment)


Support for [Orion Heater]

name: Orion Heater
primary_entity:
  entity: climate
  dps:
    - id: 1
      type: boolean
      name: hvac_mode
      mapping:
        - dps_val: true
          value: "heat"
        - dps_val: false
          value: "off"
    - id: 2
      type: integer
      name: temperature
      range:
        min: 18
        max: 45
    - id: 3
      type: integer
      name: current_temperature
    - id: 5
      type: string
      name: preset_mode
      mapping:.
        - dps_val: "1"
          value: "1000 W"
        - dps_val: "2"
          value: "2000 W"
        - dps_val: "auto"
          value: "Auto"
        - dps_val: "off"
          value: "off"
secondary_entities:
   - entity: select
     name: Timer
     icon: "mdi:timer"
     category: config
     dps:
       - id: 19
         type: string
         name: option
         mapping:
           - dps_val: "cancel"
             value: "none"
           - dps_val: "1h"
             value: "1 Hour"
           - dps_val: "2h"
             value: "2 Hours"
           - dps_val: "3h"
             value: "3 Hours"
           - dps_val: "4h"
             value: "4 Hours"
           - dps_val: "5h"
             value: "5 Hours"
           - dps_val: "6h"
             value: "6 Hours"
           - dps_val: "7h"
             value: "7 Hours"
           - dps_val: "8h"
             value: "8 Hours"
   - entity: switch
     name: Window
     category: config
     dps:
       - id: 101
         type: boolean
         name: switch
   - entity: switch
     name: Swing
     category: config
     dps:
       - id: 101
         type: boolean
         name: switch

The name does not seem descriptive enough.  I can find a few different "Orion" heaters, none of which seem to match the features of this one (one is a mock fireplace, so should have lighting effect control, another is a panel heater that does not have any swing control).

Orion OWH-PTC2000

Support added in 2023.2.3


Xamarin Mac - PlatformNotSupported exception

When trying to create a new BluetoothClient, I get this exception:
System.PlatformNotSupportedException: Operation is not supported on this platform.   at InTheHand.Net.Sockets.BluetoothClient..ctor () [0x0000e] in <94af572180da485e94ec3b79bdd26b9c>:0   at BrainBluetoothDetection.AppDelegate.DidFinishLaunching (Foundation.NSNotification notification) [0x00001] in /Users/gabriel/Projects/BrainBluetoothDetection/BrainBluetoothDetection/AppDelegate.cs:16   at at (wrapper managed-to-native) AppKit.NSApplication.NSApplicationMain(int,intptr)   at AppKit.NSApplication.Main (System.String[] args) [0x00048] in /Library/Frameworks/Xamarin.Mac.framework/Versions/<IP_ADDRESS>/src/Xamarin.Mac/AppKit/NSApplication.cs:119   at BrainBluetoothDetection.MainClass.Main (System.String[] args) [0x00007] in /Users/gabriel/Projects/BrainBluetoothDetection/BrainBluetoothDetection/Main.cs:10
I am on MacOS Ventura 13.0.1. I have the NuGet packages IOBluetooth, .Net.Bluetooth, .IOBluetoothUI, and Bluetooth.Permissions installed. I'm using Visual Studio for Mac. You can have a look at my project here:
Archive.zip
Unfortunately, I have had a ton of trouble with all this, and as a result, there may be things like duplicate SDKS on my computer. I specifically remember installing Xamarin multiple times, had to reinstall XCode quite a few times, as well as Android Studio. I also tried initially with JetBrains rider but it just didn't work (frameworks weren't found).

Bluetooth Classic is not currently implemented for macOS. The underlying IOBluetooth binding library is available so you can use the low level API at a push.

Ah, that's unfortunate. I made a PRQ to clarify that in the README, assuming that it's available on Linux too.

Reopening just to ask: do you know of any good Bluetooth libraries (C# or other lang) for making a bluetooth application from Mac? I found jSerialComm but I'm not sure if that's ideal.


Adding systems and components dynamicly?

How would I got about dynamically adding new systems and components to the main loop without needing to modify it?
Take this for example...
    public static void Main(string[] args)
    {
        var deltaTime = 0.05f; // This is mostly given by engines, frameworks

        // Create a world and a group of systems which will be controlled
        var world = World.Create();
        var _systems = new Group<float>(
            new MovementSystem(world),   // Run in order
            new MyOtherSystem(...),
            ...
        );

        _systems.Initialize();                  // Inits all registered systems
        _systems.BeforeUpdate(in deltaTime);    // Calls .BeforeUpdate on all systems ( can be overriden )
        _systems.Update(in deltaTime);          // Calls .Update on all systems ( can be overriden )
        _systems.AfterUpdate(in deltaTime);     // Calls .AfterUpdate on all System ( can be overriden )
        _systems.Dispose();                     // Calls .Dispose on all systems ( can be overriden )
    }

Is there a way I can do something like this?
public static void Main(string[] args)
{
      var world = World.Create();
      world.Run();
}

public static partial class Plugins
{
     [Plugin]
     public void AddMovementSystem(World world)
     {
            world.AddSystem(Systems.MovementSystem);
     }
}

or maybe something like this...
public static void Main(string[] args)
{
      var world = World.Create();
      world.Run();
}

public static partial class Systems
{
    //SystemAttribute automatically adds it to the main world.
    [System][Query][MethodImpl(MethodImplOptions.AggressiveInlining)]
    public static void MoveEntities([Data] in float time, ref Position position, ref Velocity velocity)
    {
        position.X += velocity.X * time;
        position.Y += velocity.Y * time;
        position.Z += velocity.Z * time;
    }
}

Thats possible, but not build in yet. Could come in the future tho, for now you need to manage that yourself... or you write such a generator yourself ^^


Entity Store Export to Data Lake Gen2 and Consumption via Power BI

Hi everyone, we are having issues getting the entity store -> data lake gen2 -> power bi option to work. The core issue, in my opinion, is that when exporting data from D365FO to the data lake gen2 the data lake must not have the hierarchical namespace enabled. But when connecting the power bi with the data lake gen2 (with dataflows) it needs to have the hierarchical namespace enabled. Any ideas on how to resolve this?
Best, Jonas

@jharbering, thanks for posting this! Your comment is not directed toward a specific topic, which is the intent of this feedback site. This is not a support site. To get product help you can contact Support using one of the options described here: Support contact options. In particular, you might want to go to the Dynamics 365 for Finance and Operations community page to get help with your questions from the Dynamics community.


#1 Adding LABEL to allow auto build

Currently, because the Caddy URL does not have a version number, this LABEL should help you trigger a build automatically. It will also allow someone in INSPECT see what version Caddy is.

Thanks :+1:


syslinux > chainload / apply this patch

Hello.
Thanks for gorgeous work.
I just want to figure out how it would be possible to include apple_set_os.efi into syslinux boot.
Pasting apple_set_os.efi into the EFI folder is not an issue.
I just have no idea how to include it into syslinux.cfg file so that it applies this patch during boot.
Best regards,
novea

Hi!
You are very welcome :).
I think  syslinux isn't able to chainload other EFI programs:
http://bugzilla.syslinux.org/show_bug.cgi?id=17
Greetings,
Bruno

Hello here.
Reading that it's not possible to chainload over syslinux,
is there ANY way how to apply this patch with SYSLINUX bootloader?
a.k.a how to apply this .efi patch when using syslinux.
Or would we need to choose another bootloader?
.veasl

Since we do not need chainloader, we just need to apply this patch.
But if chainloader is requried to apply it, we are probably screwed.

edit://
Since we do not need chainloader, we just need to apply this patch.
But if chainloader is requried to apply it, we are probably screwed.

Hello too!
Theoretically it should be possible to apply this hack to syslinux, but as far as I see it must be programmed as a separate syslinux module.
Can I ask why are you using syslinux?


Making a django app within the Django project

Making a Django app named "VigyBag" within the Django Project and shifting HTML and CSS files that follow the proper django structure.
I've made projects using Django and will be to do this.

there is also no manage.py file in the backend folder

i have update it so you can clone it again and create proper apps for development.

i have update it so you can clone it again and create proper apps for development.

is there any specific app name I have to follow?

Is this structure proper?

Yeah, this is proper structure.

I am done with the file structure. Should I add/copy current HTML and CSS files in this, or will that be done afterward?

I have done the app for the project.

https://github.com/codervivek5/VigyBag/assets/63519479/aee47c89-68b5-425e-985f-21e7ad6d717b
preview


Diego/fix infinite recursion crash

Task/Issue URL:
Tech Design URL:
CC:
Description
Fixes an infinite recursion crash.
Testing:
Do a long press in the blank space between favorites (in the favorites overlay), and make sure it doesn't crash.
The same steps should make develop crash.
Copy Testing:

[ ] Use of correct apostrophes in new copy, ie ’ rather than '

Orientation Testing:

[ ] Portrait
[ ] Landscape

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPhone 14 Pro
[ ] iPad

OS Testing:

[ ] iOS 14
[ ] iOS 15
[ ] iOS 16

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template

I'm closing this as I'm not convinced the workaround is better than the issue it resolved.


How to programatically go to any viewcontroller ?

lets say i use a UIButton on first view controller and now i want to go to next controller on its action method.
Thanks
Ritesh Malik

http://stackoverflow.com/questions/7208871/is-it-possible-to-turn-page-programmatically-in-uipageviewcontroller


Add GuildID to GuildMemberUpdate.

Guild Member Update event includes a guild_id, see here: https://discord.com/developers/docs/topics/gateway-events#guild-member-update
This PR simply adds to the GuildMemberUpdate struct in the same way as GuildMemberAdd.
This is tested working, as I'm now allowed to see the guild ID from within the GuildMemberUpdate handler.

Fixes #56

@pauldemarco Sorry for missing this last week. I was homeless. An update to disgo will occur soon.

@pauldemarco An update has occurred on July 4th, 2023. Use go get github.com/switchupcb/disgo@update to import it.
Shard management and cache management likely close too.


Regex returns true for strings that it should not match

Please answer these questions before submitting your issue. Thanks!
What did you do?
Tried to construct a regex pattern that matches whitespaces between words, so as to validate names. The pattern should match only letters and whitespaces but seems to return true for other characters as well.
https://play.golang.org/p/3LoX8_haM_6
What did you expect to see?
The program to return false
What did you see instead?
The program returned true
Does this issue reproduce with the latest release (go1.9.4)?
System details
go version go1.9 linux/amd64
GOARCH="amd64"
GOBIN="/home/arunvm/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/arunvm/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build814277393=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOROOT/bin/go version: go version go1.9 linux/amd64
GOROOT/bin/go tool compile -V: compile version go1.9
uname -sr: Linux 4.11.12-100.fc24.x86_64
LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 24 (Twenty Four)
Release:	24
Codename:	TwentyFour
/lib64/libc.so.6: GNU C Library (GNU libc) stable release version 2.23, by Roland McGrath et al.
gdb --version: GNU gdb (GDB) Fedora 7.11.1-86.fc24

You're missing the $ at the end, otherwise you get a partial match: https://play.golang.org/p/FJrDA4jlNHE
Always assume that the error is in your code before thinking there is a bug in the standard library. You should also try the forums to ask questions first: https://golang.org/wiki/Questions.


Fix typo, behvior -> behavior

@duianto : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Oh... I was just using a very localized dialectical spelling of the word behavior.
;)  Just kidding. Thanks @duianto. Merged!


Feature: glob ignore/include

It would be cool to be able to include/ignore files in createZipArchive/addDir with an optional glob-pattern:
Like this would include all top-level files in myfiles/, but exclude .DS_Store files:
createZipArchive("myfiles/*", "file.zip", ".DS_Store")

Or include all files in current directory recursively, except zip files:
createZipArchive("**/*", "file.zip", "*.zip")

If there is interest, I can PR for it.

Hi and thanks for suggestion. Creating zip archives needs to be redone and is much more complex to do correctly than reading. I do not want to make any changes or new promises around the current zip archive creation. Thanks for the offer though.


[2.8] update composer.lock

on the 2.8 branch I have this message when i run a composer install :
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
I propose to run a composer update.

Closing as there is a PR.


Can't get the plugin to work with lspconfig.

Describe the bug
I followed all the steps in readme but it doesn't seems to work.
To Reproduce
Here are my configs:
http://ix.io/45zd
Expected behavior
I expected the plugin to highlight the words.

That is not a minimal init.lua.


controller hanging unexpectedly with no error present

happened at least 4 times on loltards, it is reproducible in daemon mode (npm run daemon), but not in normal launch mode (npm run start). no error is output in the log, so debuggin is impossible idk how to fix

lies lies lies! no new version until this is fixed!!

this is still not fixed i dont even know at this point

very bad

#214


Godot can have an error with classes

Godot version
v4.2.beta1.official [b1371806a]
System information
Godot v4.2.beta1 - macOS 11.7.10 - Vulkan (Mobile) - integrated Intel HD Graphics 5000 - Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz (4 Threads)
Issue description
Godot can break a project and force people to restart it or get an older version due to class name issues. This can make people resort to deleting .godot. and that has lots of issues causing further damage.
This restarted my project and made someone else pull an older version.
Steps to reproduce
This is very hard to reproduce as there is a small chance of happening, The easiest way to reproduce is built in scripts.
Minimal reproduction project
N/A

I have found out this affects ANY VERSION THAT IS 4.0 OR ABOVE

Please provide information about what happens, you have not provided any information about what goes wrong or how it shows up

Error messages can includes errors about custom classes not being found and issues saying "ClAsS iS NoT VaLiD"

Then please provide that information, what happened, etc.

The game couldn't run and would crash when any script ran that mentioned custom classes. Deleting .godot to trying to fix the issue made it worse to the point where godot can barely load the project and quickly corrupted scenes.

Unfixed since godot 4.0.0

Please add more details on what error values are shown, complaining about how it hasn't been fixed won't help :)

Please try, or we can't do anything I'm afraid


Readiness probe failed event observed after the rhods upgrade

/kind bug
What steps did you take and what happened:
[A clear and concise description of what the bug is.]

Create a cluster
Install rhods 1.32 rc7 from embedded channel
Deploy Model and query it
Take nightly build from  rhods 1.33 (17) and update the catalog
Wait for the Upgrade to be available
Approve the install plan and upgrade rhods

What did you expect to happen:
Model should respond without any issue
What's the InferenceService yaml:
[To help us debug please run kubectl get isvc $name -n $namespace -oyaml and paste the output]
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"serving.kserve.io/v1beta1","kind":"InferenceService","metadata":{"annotations":{"serving.knative.openshift.io/enablePassthrough":"true","sidecar.istio.io/inject":"true","sidecar.istio.io/rewriteAppHTTPProbers":"true"},"name":"flan-t5-small-caikit","namespace":"watsonx"},"spec":{"predictor":{"minReplicas":1,"model":{"modelFormat":{"name":"caikit"},"runtime":"caikit-runtime","storageUri":"s3://ods-ci-wisdom/flan-t5-small/"},"serviceAccountName":"models-bucket-sa"}}}
    serving.knative.openshift.io/enablePassthrough: "true"
    sidecar.istio.io/inject: "true"
    sidecar.istio.io/rewriteAppHTTPProbers: "true"
  creationTimestamp: "2023-09-04T12:56:57Z"
  finalizers:
  - inferenceservice.finalizers
  generation: 1
  name: flan-t5-small-caikit
  namespace: watsonx
  resourceVersion: "73428"
  uid: 27d2d5cd-c81e-4d9d-965e-3ef0e42eb0cb
spec:
  predictor:
    minReplicas: 1
    model:
      modelFormat:
        name: caikit
      name: ""
      resources: {}
      runtime: caikit-runtime
      storageUri: s3://ods-ci-wisdom/flan-t5-small/
    serviceAccountName: models-bucket-sa
status:
  address:
    url: http://flan-t5-small-caikit-predictor.watsonx.svc.cluster.local
  components:
    predictor:
      address:
        url: http://flan-t5-small-caikit-predictor.watsonx.svc.cluster.local
      latestCreatedRevision: flan-t5-small-caikit-predictor-00001
      latestReadyRevision: flan-t5-small-caikit-predictor-00001
      latestRolledoutRevision: flan-t5-small-caikit-predictor-00001
      traffic:
      - latestRevision: true
        percent: 100
        revisionName: flan-t5-small-caikit-predictor-00001
      url: https://flan-t5-small-caikit-predictor-watsonx.apps.aerds-vw2-pool-srbls.gcp.rhods.ccitredhat.com
  conditions:
  - lastTransitionTime: "2023-09-04T13:09:35Z"
    status: "True"
    type: IngressReady
  - lastTransitionTime: "2023-09-04T13:09:34Z"
    severity: Info
    status: "True"
    type: LatestDeploymentReady
  - lastTransitionTime: "2023-09-04T13:09:34Z"
    severity: Info
    status: "True"
    type: PredictorConfigurationReady
  - lastTransitionTime: "2023-09-04T13:09:35Z"
    status: "True"
    type: PredictorReady
  - lastTransitionTime: "2023-09-04T13:09:35Z"
    severity: Info
    status: "True"
    type: PredictorRouteReady
  - lastTransitionTime: "2023-09-04T13:09:35Z"
    status: "True"
    type: Ready
  - lastTransitionTime: "2023-09-04T13:09:35Z"
    severity: Info
    status: "True"
    type: RoutesReady
  modelStatus:
    copies:
      failedCopies: 0
      totalCopies: 1
    states:
      activeModelState: Loaded
      targetModelState: Loaded
    transitionStatus: UpToDate
  observedGeneration: 1
  url: https://flan-t5-small-caikit-predictor-watsonx.apps.aerds-vw2-pool-srbls.gcp.rhods.ccitredhat.com

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

Kiali: v1.65.7
Service Mesh:v2.4.2
KServe Controller: v0.11.0
Jager : v1.42.0-5+0.1687199951.p
Serverless: v1.29.1
Open Data Hub version:RHODS 2.2.0
Deployment Environment:[cloud (aws|gcp|ibm|azure), on prem, edge ] GCP
OpenShift version: (use kubectl version):
OS (e.g. from /etc/os-release):

flan-t5-small-caikit-predictor-00001-deployment-78d5b449f6hkw2g-istio-proxy.log
flan-t5-small-caikit-predictor-00001-deployment-78d5b449f6hkw2g-kserve-container.log
flan-t5-small-caikit-predictor-00001-deployment-78d5b449f6hkw2g-queue-proxy.log

`takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
After Upgrade:
[takumar@fedora ~]$ oc cluster-info
Kubernetes control plane is running at https://api.aerds-vw2-pool-srbls.gcp.rhods.ccitredhat.com:6443
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does skin burn"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil in celius?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does water boil in celius?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does liquid Nitrogen boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
[takumar@fedora ~]$ grpcurl -d '{"text": "At what temperature does liquid Nitrogen boil?"}' -H 'mm-model-id: flan-t5-small-caikit' -insecure flan-t5-small-caikit-predictor-watsonx.apps.ods-qe-02.rhods.ccitredhat.com:443 "caikit.runtime.Nlp.NlpService/TextGenerationTaskPredict"
{
"generated_text": "74 degrees F",
"generated_tokens": "5",
"finish_reason": "EOS_TOKEN",
"producer_id": {
"name": "Text Generation",
"version": "0.1.0"
}
}
`

After upgrade observed that kserve-controller image change from digest to tag;
Before(1.32):
quay.io/modh/kserve-controller@sha256:87876990f0c65080ba9b62c4f71a09e2501e795b1366473d5ab89742aef4fabb
After: (1.33)
quay.io/opendatahub/kserve-controller:v0.11.0

[takumar@fedora Downloads]$ oc get installplan -n redhat-ods-operator NAME            CSV                    APPROVAL    APPROVED install-6sp5h   rhods-operator.2.1.0   Automatic   true install-rfb5z   rhods-operator.2.2.0   Manual      true

@tarukumar it's happening also out from RHODS upgrade scenario.

@tarukumar Repro steps mention 1.32 and 1.33, but the embedded channel does not have such versioning. Did you mean 2.1 and 2.2?.
And, BTW, given this ticket is 1 month old, I wonder if you still observed this issue after fixing the images for 1.33?

@bdattoma @tarukumar I was able to observe one failed event on the readiness probe. I can say that this doesn't seem to be related to upgrades, because the failures I got happened before the upgrade.
When doing the upgrade from 2.1 to 2.2, only the controllers are restarted, and the model deployment remains untouched. So, it is hard to say that there is a relationship between the upgrade and the probe failures.
After looking closely, the failures are on KNative queue proxy and on Istio's sidecar. My guess for such failures is that are caused because of node pressure.
I'll ping @bartoszmajsak to check if he can give more insight about the readiness probe failure on the Istio sidecar. Also, I'll ping @retocode, hoping he can comment about the probe failure on KNative queue proxy.
In any case, my thinking is that both are minor failures and may be ignored -- but let's wait for answer from @bartoszmajsak and @retocode

@tarukumar @bdattoma And, BTW, here in my testing the model still replies without problems despite the failures on the probes.

Looking at the logs provided above, there seems to be an issue from Queue-Proxy to the model server:
Queue-Proxy is up from 2023-09-04T13:09:15.809494412Z and tries to call the backing container 202 times but always gets connection refused on port 8085.
The model server logs "Caikit Runtime is serving on port: 8085" at 2023-09-04T13:09:28.132125, not sure why it would not respond to http calls from Queue-Proxy. As I don't know how that server works its a bit hard to say why. Is the SERVR-GRPC also responding to http1 traffic on that port 8085?
Also, could you provide the YAMLs of the KnativeService and the corresponding Deployments?

cc @Xaenalt

Closing it because we were unable to replicate it.

@heyselbi at least in all my recent deployments I always see failed probes in the model pod
Readiness probe failed: Get "http://<IP_ADDRESS>:15020/app-health/queue-proxy/readyz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

@israel-hdez and @Xaenalt fyi

@dtrifiro is it something you were working?

Queue proxy indicates that it's somewhere in Istio


man: podman-mount: only vfs in rootless mode

Document that rootless podman-mount only works with vfs.  The error
message from podman-mount only states that the current driver != vfs
does not work.  The man page seems a proper place to tell users what is
supported.
Signed-off-by: Valentin Rothberg<EMAIL_ADDRESS>

@giuseppe @TomSweeneyRedHat @rhatdan PTAL

Don't merge, see https://github.com/containers/libpod/pull/3122#discussion_r283805947.

podman unshare has been merged, @vrothberg What do you want to do with this PR?

This one slipped through after my vacations in June. Going to close.


chore: add some missing fields in Chain actor

Signed-off-by: Peng Chen<EMAIL_ADDRESS>I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
fix #6290
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)

Some tests of dynamic filter failed, let me find the problem


Generalize FASTQ input formats to multiline FASTQ

Currently, our FASTQ input formats only support single line FASTQ records. This is generally sufficient for Illumina reads, but is not necessarily sufficient for longer read technologies like PacBio or Oxford Nanopore. To add this support, we need to perform look-ahead parsing when picking splits and reading.

Closed by #551.

Dose adam convertor/pasor suppor to readh fastq format directly, it seems I didn't see fastq2adam conversion. but I sam adam2fastq. what is consideration here?

Hi @cuericlee!
You can convert single FASTQ files or interleaved FASTQ to ADAM using the transform command. You may want to see https://github.com/bigdatagenomics/adam/pull/831, which expands the transform command to support paired FASTQ.

@fnothaft and @ryan-williams
ok, thanks, let me give an try to convert fastq output from illumina instrument to adam with transform function and api on my spark cluster.


The example "Activate using class name instead of checkbox" does not work

This example is not working:
https://daisyui.com/components/swap/#activate-using-class-name-instead-of-checkbox

It's showing the correct content based on the swap-active class name. Take a look at the code:

🥵

🥶

🥳

😭

and you can see for the first swap, swap-off is visible. for the second one, swap-on is visible because it's active.

It will be better to add a button or a click event to show how we can swap.

I agree with @msh2050


The concept of "-" minus feels weird

Testing #85972
The concept of removing a fontStyle is super weird.
For example:
"*.static": {
  "fontStyle": "italic"
},
"*.abstract": {
  "fontStyle": "underline-italic"
}

That just reads as if I asked for underline and italic, but it means underline, remove italic if set. IMHO this is super complex and foreign coming from TM grammars / CSS styling...

Also, the none appears to be broken:

        "*.static": {
            "fontStyle": "italic"
        },
        "*.abstract": {
            "fontStyle": ""
        },

I see wht you say. I chose that as plural makes sense for the styling, in the settings.
we already have
	"editor.tokenColorCustomizations": {
		"comments": "#FF0000",
		"keywords": "#FF0000",
		"strings": "#FF0000",
		"types": "#FF0000",
		"functions": "#FF0000",
		"numbers": "#FF0000",
		"variables": "#FF0000"
	},

and my goal is to bring this together.


Please update Infer release usage instructions

A downloaded infer-linux64-v0.6.0.tar.xz tarball linked from https://github.com/facebook/infer/releases/tag/v0.6.0 passed SHA256 checks but when trying to use
./build-infer.sh clang
results in the following message:
initializing opam...
preparing build...

  Warning: you are not using a release of Infer. The C and
  Objective-C analyses require a custom clang to be compiled
  now. This step takes ~30-60 minutes, possibly more.

  To speed this along, you are encouraged to use a release of
  Infer instead:

  http://fbinfer.com/docs/getting-started.html

  If you are only interested in analyzing Java programs, simply
  run this script with only the "java" argument:

  ./build-infer.sh java

Are you sure you want to compile clang? (y/N)

Poking around the problem was because the shasum utility was not present on Fedora 23. Installing perl-Digest-SHA solved the problem.
Next up the following message was printed during the build:
checking for OCaml findlib package atdgen version 1.6.0... not found
configure: error: missing dependency: ocamlfind.

If you are using opam, please run

  opam update
  opam pin add --yes --no-action .
  opam install --deps-only infer

Unfortunately running opam install --deps-only infer just resulted in the error message
[ERROR] No package named infer found.

Running opam install --deps-only infer-linux64-v0 seemed to work though.
Could the instructions be updated to say there's a perl-Digest-SHA requirement (at least on Linux) and that opam dependencies might need a different name to the one displayed?

Hi @sitsofe, thanks for reporting this.
We'll change the error message when shasum is not present, good catch!
The second problem you raise is fixed in master (the script now suggests opam pin add --yes --no-action infer .), but isn't included in a release yet.


WIP: reaper: Add a periodic reaper funcion

This commit adds a periodic reaper function that is intended
to be used when the go process uses the os/exec package to
launch child processes. The period argument could be adjusted
according to how long the os/exec calling code waits to
gather exit status from child processes.
Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

@smarterclayton ptal. If we can confirm that this works well with router, I can optimize the code further for parsing /proc. Also, we can consolidate both types of reaping with ReaperOptions and a single function or keep it separate like the current approach.

/hold
Can you test vendor this into a router PR and look at the log output?  If this fixes it, we should get none of the "can't wait for process anymore"

@smarterclayton sure, I can do that.

Opened https://github.com/openshift/router/pull/111

Updated.

I have a couple of logs remaining that I will take out after one more round of testing on the router PR.

Updated the PR. This is ready.

@smarterclayton could you take another look?

/lgtm

/hold cancel


Typo a need to be changed to an (article) in "such as when you’ve deployed a Azure Databricks ..."

[Enter feedback here]

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

ID: 718ff743-7dad-3f77-a283-3f174b468661
Version Independent ID: fdd9b051-88e0-5222-783e-59b101f2fd26
Content: Azure Databricks architecture overview - Azure Databricks
Content Source: databricks/getting-started/overview.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

Hi @GouravGit ,
Thanks for sharing your observation. We will work on the same and update.

Hi @mssaperla ,
Could we please get this article "a" changed to "an" at the link [https://docs.microsoft.com/en-us/azure/databricks/getting-started/overview#feedback]

Thanks for your dedication to our documentation. Unfortunately, we have been unable to review your issue and apologize for the delayed response. The requested updates have not yet been made. The timeline for resolution varies based on resourcing. We've created an internal work item (DOC-7163) to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary.
#please-close

#please-close


Move Plaso image_export to imagetools

As part of the effort to make parts of Plaso more reusable, move Plaso image_export to the imagetools project

[ ] determine if artifact filter and pre-processing logic should be moved to a separate project
[x] filter based on artifact definitions
[ ] filter based on date and time range
[ ] filter based on YAML filter file

filter based on filename extension

[ ] filter based on signatures
[ ] hashes.json output

Maybe as a first step have Plaso image_export script use dfImageTools


receive: Let forward requests run until timeout

Signed-off-by: Kemal Akkoyun<EMAIL_ADDRESS>We have observed increase in forward error rate, even though no increase in incoming error rates.
This happens because we cancel the request as soon as we reach the quorum.
This PR lets forward requests run for replication until it actually timeouts.

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Cancel request context only an error occurred and let it optimistically run until it timeouts.

Verification

make test-local

cc @brancz @squat

@brancz @squat Can someone rerun the checks? They failed because of quay incident.

Lgtm let's gooooo


example_interactive.ipynb  3. Predict P/S-phase picks using PhaseNet seems does not work

when i run this part, the result is <Response [500]>
req = {"id": [data_id],
       "timestamp": [timestamp],
       "vec": [data.tolist()]}
resp = requests.post(f'{PHASENET_API_URL}/predict', json=req)
print(resp)
# print('Picks', resp.json())

something wrong happened in requests.post

Hi, "Response [500]" usually means the data format is wrong. Are you running the default notebook or using your own data. I can run the default notebook on my laptop.

Thank you for your help, Dr. Zhu. Maybe my conda env did not set up
------------------ 原始邮件 ------------------
发件人:                                                                                "wayneweiqiang/PhaseNet"                                                                                @.>;
发送时间: 2022年4月28日(星期四) 凌晨4:14
@.>;
<EMAIL_ADDRESS>主题: Re: [wayneweiqiang/PhaseNet] example_interactive.ipynb  3. Predict P/S-phase picks using PhaseNet seems does not work (Issue #46)
Hi, "Response [500]" usually means the data format is wrong. Are you running the default notebook or using your own data. I can run the default notebook on my laptop.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Hi, I've also run into issues when running the default notebook.
I'm getting a "Response [502]" when running on the Quakeflow API, along with this error:
JSONDecodeError: Expecting value: line 2 column 1 (char 1)
When running on my local machine, the program is unable to establish a connection with my port and throws this error:
HTTPConnectionPool(host='<IP_ADDRESS>', port=8000): Max retries exceeded with url: /predict (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc006c21a50>: Failed to establish a new connection: [Errno 61] Connection refused'))
I was able to run the demo notebook on a version of PhaseNet downloaded onto a different Mac early in the year. Any insight would be greatly appreciated.
Thanks!

My server seems to be dead. I have restarted the server. It should work now.

Thanks for the response. Running with the Quakeflow API works now, though I still can't connect to my local port.


Could hyperbeam replace STUN servers for WebRTC calls?

Been testing https://github.com/mafintosh/hyperphone, which works 1-1.
We've used https://jam.systems/ which uses STUN servers to do this stuff and make the experience work browser-to-browser via webrtc
Would this work in the browser? We have a use case for that in @kodadot

👋 @yangwao i think RangerMauve/hyperswarm-web is a really interesting option for more easily deployable servers you could use to facilitate the connections :)


Heroku postdeploy execution timed out

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Heroku via https://dashboard.heroku.com/new?template=https://github.com/chakki-works/doccano/
Python version:
3.6

Describe the problem
Deploying a new Heroku app with https://dashboard.heroku.com/new?template=https://github.com/chakki-works/doccano/ is failing on the 'Run scripts & scale dynos' step.  Everything before that with the environment setup and building appear to be succeeding.  It could be related to https://github.com/chakki-works/doccano/issues/236 and https://github.com/chakki-works/doccano/pull/237 ?
Source code / logs
Here's how far the 'Run scripts & scale dynos' step gets before timing out:
Operations to perform:
  Apply all migrations: admin, api, auth, contenttypes, sessions, social_django
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying api.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying sessions.0001_initial... OK
Applying social_django.0001_initial... OK
Applying social_django.0002_add_related_name... OK
Applying social_django.0003_alter_email_max_length... OK
Applying social_django.0004_auto_20160423_0400... OK
Applying social_django.0005_auto_20160727_2333... OK
Applying social_django.0006_partial... OK
Applying social_django.0007_code_timestamp... OK
Applying social_django.0008_partial_timestamp... OK

We already confirm this phenomenon. It is caused by collectstatic that took a long time after the project structure changed.

Is there a solution to this? I'm also running into the same bug when deploying to Heroku.

Does anyone happen to know if https://doccano.herokuapp.com is running the latest code from the master branch, and if so, what steps we can take to deploy updates on Heroku too?

If I am able to successfully build+deploy on Heroku with the updated code, it looks like I'm running into the 30sec timeout limit for the workers.  I tried using one of the 2x dynos with 1GB RAM as well, but that didn't appear to help.
19:23:58.034769+00:00 heroku[web.1]: Starting process with command `gunicorn --pythonpath app app.wsgi`
19:24:01.022847+00:00 heroku[web.1]: State changed from starting to up
19:24:00.554213+00:00 app[web.1]: [2019-07-10 19:24:00 +0000] [4] [INFO] Starting gunicorn 19.9.0
19:24:00.555087+00:00 app[web.1]: [2019-07-10 19:24:00 +0000] [4] [INFO] Listening at: http://<IP_ADDRESS>:54038 (4)
19:24:00.555239+00:00 app[web.1]: [2019-07-10 19:24:00 +0000] [4] [INFO] Using worker: sync
19:24:00.559621+00:00 app[web.1]: [2019-07-10 19:24:00 +0000] [10] [INFO] Booting worker with pid: 10
19:24:00.571011+00:00 app[web.1]: [2019-07-10 19:24:00 +0000] [11] [INFO] Booting worker with pid: 11
19:24:21.030113+00:00 heroku[web.1]: Process running mem=533M(104.1%)
19:24:21.030113+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)
19:24:31.079567+00:00 app[web.1]: [2019-07-10 19:24:30 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:10)
19:24:31.084623+00:00 app[web.1]: [2019-07-10 19:24:31 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:11)
19:24:31.089634+00:00 app[web.1]: [2019-07-10 19:24:31 +0000] [10] [INFO] Worker exiting (pid: 10)
19:24:31.092828+00:00 app[web.1]: [2019-07-10 19:24:31 +0000] [11] [INFO] Worker exiting (pid: 11)

https://doccano.herokuapp.com is not running the latest code.

Getting the same issue. Is there a specific commit to reset to that's recommended for Heroku?

@kbst9 I'm running https://github.com/chakki-works/doccano/commit/801baf37ec07977b07ecea63b7176e58f58f8b56 but if there's anything newer that works that would be helpful too.

Thanks @john-dugan! Trying a few others after that then, will keep you updated.


Team Management Consolidation

Description:
Compile everything we know to date about Team Management into a detailed brief. This includes (but not limited to) user needs, pain points, feedback from stakeholders, design considerations, technical constraints, and any relevant research. The goal is to provide a comprehensive resource for the Discovery team to kickstart work in the new year.
Acceptance Criteria:

[x] Review all existing documentation, research, and feedback related to Team Management
[ ] Summarize findings into a cohesive brief
[ ] Include any open questions or gaps to be addressed during the Discovery phase
[ ] Share with the team for feedback and finalize the brief

Link to Document:
https://docs.google.com/document/d/1BRFynqVg2ok2ntz8eBJPbMUNiGonDXLyGYPU9R4UD-8/edit?tab=t.0

Gathered information from:

[ ] AirTable
[ ] GitHub
[ ] Demos
[ ] FreshDesk
[ ] Research
[ ] Drive

Added everything pertaining to Unified Accounts.
The research and designs surround the over-arching idea of "Workspaces" for all of platform accounts. I think it is ok to think about how our team management solution could scale to a wider Platform account permissions process. However, we do not need to build for it in this initial iteration.


Move HostReachabilityType dependency to a var, to allow for subclassing

Originally https://github.com/danthorpe/Operations/pull/208
Sorry for the noise. Turns out we do still need to do something, since we need to store properties. Another solution, which I suspect you won't like!, is to make the reachability property into an (internal) var, defaulting to ReachabilityManager(DeviceReachability()), and remove it from the initializer entirely. This is still testable, by setting the var.
Not super elegant, but I think this solves our immediate need. Please let me know what you think.
Thanks!

Hi @itsthejb - I'm just catching up on this - looks really interesting, this is actually the sort of sophisticated stuff that I have hoped this framework would enable!
Okay, basically, the issue here is that I really want to keep these "reachability" types internal at the moment, and I need to be able to set them on things to make them testable.
 I know that there is an issue with using the designated initialiser to accomplish these things. So... I guess the ultimate goals is...

Keep some of these reachability types internal.
Fully support subclassing & configuration by consumers
Unify the injection process for setting & getting the reachability types across the framework.

So... I actually think your solution here is pretty pragmatic and ticks most of the boxes. But what I'd like to do is apply it consistently across the framework.
So... if at the moment you're okay to work off your fork & branch, then you're not blocked by this - which is great for me. I can go through your changes, which I'll merge and then quickly update all the other types to keep consistency. I'm super busy this week unfortunately so probably won't get done until the weekend.
Let me know how you get on with your throttling stuff. It sounds really interesting. Also, not sure if this will help, but NegatedCondition might help a little bit - it'll reverse the condition for you? Wondering if that will help with detecting WWAN?
Also - you've certainly raised an interesting idea of some like of CompoundCondition which has got me thinking!

Hi!
Yes, no problem working off our fork. Since we're working pretty fast over here, main priority is any (minimal!) changes necessary to serve any urgent needs. Tidy up can come later!

Thanks for this @itsthejb  - sorry it took so long to merge!

:+1: