[Area 1] Office 365 MX update plus use cases

Addresses PCX-5552

ارسال شده از دستگاه Galaxy من
-------- پیام اصلی --------از: Kate Tungusova @.> تاریخ: ۲۰۲۳/۱/۱۱  ۲۱:۱۷  (GMT+03:30) گیرنده: cloudflare/cloudflare-docs @.> گیرنده کپی: Subscribed @.***> موضوع Re: [cloudflare/cloudflare-docs] [Area 1] Office 365 MX update plus use cases (PR #7204)
@deadlypants1973 approved this pull request.
In content/email-security/_partials/_configure-quarantine-notifications.md:

+## Configure quarantine notifications

⬇ Suggested change
-## Configure quarantine notifications

+## Configure quarantine notifications

+To configure quarantine notifications:
To avoid having a list right below a title.
In content/email-security/_partials/_configure-quarantine-notifications.md:

@@ -0,0 +1,23 @@

+---
+_build:

publishResources: false

render: never

list: never

+---

+## Configure quarantine notifications

+1. Open the Microsoft 365 Defender console
⬇ Suggested change
-1. Open the Microsoft 365 Defender console
+1. Open the Microsoft 365 Defender console.
In content/email-security/deployment/inline/setup/office-365-area1-mx/_index.md:

@@ -0,0 +1,381 @@

+---
+title: Office 365 - Area 1 as MX Record
+pcx_content_type: tutorial
+weight: 1
+layout: single
+meta:

title: Deploy and configure Microsoft Office 365 with Area 1 as MX Record

+---

+# Deploy and configure Microsoft Office 365 with Area 1 as MX Record
This title should probably change to 'as the MX Record' or 'as an MX Record' because as it is, it's missing that grammatically
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/_index.md:

+pcx_content_type: how-to

+weight: 1
+layout: single
+meta:

title: Office 365 use cases

+---

+# Office 365 use cases

+Before following our use case tutorials, read through this how-to guide related to best practices. This will show you how to prepare your Area 1 dashboard and enable options such as tagging and defanging emails, as well as Email Link Isolation, before setting up Office 365.

+1. Log in to the Area 1 dashboard.

+2. Go to Settings (the gear icon).

+3. Navigate to Email Configuration > Email Policies > Link Actions.
⬇ Suggested change
-3. Navigate to Email Configuration > Email Policies > Link Actions.
+3. Go to Email Configuration > Email Policies > Link Actions.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/_index.md:

+meta:

title: Office 365 use cases

+---

+# Office 365 use cases

+Before following our use case tutorials, read through this how-to guide related to best practices. This will show you how to prepare your Area 1 dashboard and enable options such as tagging and defanging emails, as well as Email Link Isolation, before setting up Office 365.

+1. Log in to the Area 1 dashboard.

+2. Go to Settings (the gear icon).

+3. Navigate to Email Configuration > Email Policies > Link Actions.

+4. What you do next depends on if you are an Advantage or Enterprise customer:

If you are an Advantage customer:

Maybe you only want to have Advantage and Enterprise in bold here in this section?
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/_index.md:

   ![Defang suspicious emails](/email-security/static/inline-setup/o365-area1-mx/use-cases/defang-suspicious.png)

   </div>

   3. Select **Save Disposition Actions**.

If you are an Enterprise customer:

   1. Enable **Email Link Isolation**.

   <div class="large-img">

   ![Enable Email Link Isolation](/email-security/static/inline-setup/o365-area1-mx/use-cases/step4-enterprise-advantage-customer.png)

   </div>

+6. Still under Email Policies, select Text add-Ons.
⬇ Suggested change
-6. Still under Email Policies, select Text add-Ons.
+6. Under Email Policies, select Text add-Ons.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/_index.md:

   </div>

+6. Still under Email Policies, select Text add-Ons.

+7. Select Edit.

+8. Enable the following options under Add Prefix To Subject:

Malicious - Enabled

Suspicious - Enabled

Spam - Enabled

Bulk - Enabled

Spoof - Enabled

Originated Outside of Company - Optional

Contains Encrypted Content - Optional

Subject Prefix - Format as desired.

Add periods for the components above for consistency after enabled and optional
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/_index.md:

Malicious - Enabled

Suspicious - Enabled

Spam - Enabled

Bulk - Enabled

Spoof - Enabled

Originated Outside of Company - Optional

Contains Encrypted Content - Optional

Subject Prefix - Format as desired.

+9. Still in the same window, scroll down and enable the following options under Add Prefix To Body:
⬇ Suggested change
-9. Still in the same window, scroll down and enable the following options under Add Prefix To Body:
+9. In the same window, scroll down and enable the following options under Add Prefix To Body:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/_index.md:

Subject Prefix - Format as desired.

+9. Still in the same window, scroll down and enable the following options under Add Prefix To Body:

Malicious - Enabled

Suspicious - Enabled

Spam - Disabled

Bulk - Disabled

Spoof - Enabled

Originated Outside of Company - Optional

Body Prefix - Format as desired. You can use the default settings. The body prefix supports HTML tags for formatting.

same comment as above
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

@@ -0,0 +1,96 @@

+---
+title: 5 - Junk email folder and administrative quarantine
+pcx_content_type: tutorial
+weight: 5
+meta:

title: Use case 5 - Deliver Suspicious and Bulk messages to the User’s junk email Folder, and Malicious, Spam, and Spoof messages to the administrative quarantine (requires administrator release)

+---

+# Use case 5: Deliver emails to the user junk email folder and administrative quarantine
⬇ Suggested change
-# Use case 5: Deliver emails to the user junk email folder and administrative quarantine
+# Use case 5: Deliver emails to the user's junk email folder and administrative quarantine
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

@@ -0,0 +1,96 @@

+---
+title: 5 - Junk email folder and administrative quarantine
+pcx_content_type: tutorial
+weight: 5
+meta:

title: Use case 5 - Deliver Suspicious and Bulk messages to the User’s junk email Folder, and Malicious, Spam, and Spoof messages to the administrative quarantine (requires administrator release)

+---

+# Use case 5: Deliver emails to the user junk email folder and administrative quarantine

+In this tutorial you will learn to deliver Suspicious and Bulk messages to the user’s junk email folder, and Malicious, Spam, and Spoof messages to the Administrative Quarantine (requires administrator release).
⬇ Suggested change
-In this tutorial you will learn to deliver Suspicious and Bulk messages to the user’s junk email folder, and Malicious, Spam, and Spoof messages to the Administrative Quarantine (requires administrator release).
+In this tutorial, you will learn to deliver Suspicious and Bulk messages to the user’s junk email folder, and Malicious, Spam, and Spoof messages to the Administrative Quarantine (requires administrator release).
The content in the parentheses seems like an unfinished sentence? I think this could either be a new sentence or more clarity needed for the content in parentheses.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+## Configure domains

⬇ Suggested change
-## Configure domains

+## Configure domains

+To _____
We are jumping right from tutorial instruction to first step without explaining what the first step will do. Why are they configuring domains?
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+pcx_content_type: tutorial

+weight: 5
+meta:

title: Use case 5 - Deliver Suspicious and Bulk messages to the User’s junk email Folder, and Malicious, Spam, and Spoof messages to the administrative quarantine (requires administrator release)

+---

+# Use case 5: Deliver emails to the user junk email folder and administrative quarantine

+In this tutorial you will learn to deliver Suspicious and Bulk messages to the user’s junk email folder, and Malicious, Spam, and Spoof messages to the Administrative Quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
⬇ Suggested change
-3. Navigate to Email configuration > Domains & Routing > Domains.
+3. Go to Email configuration > Domains & Routing > Domains.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+meta:

title: Use case 5 - Deliver Suspicious and Bulk messages to the User’s junk email Folder, and Malicious, Spam, and Spoof messages to the administrative quarantine (requires administrator release)

+---

+# Use case 5: Deliver emails to the user junk email folder and administrative quarantine

+In this tutorial you will learn to deliver Suspicious and Bulk messages to the user’s junk email folder, and Malicious, Spam, and Spoof messages to the Administrative Quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:
⬇ Suggested change
-5. For each domain you are configuring select ... > Edit, and set the following options:
+5. For each domain you are configuring, select ... > Edit, and set the following options:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+In this tutorial you will learn to deliver Suspicious and Bulk messages to the user’s junk email folder, and Malicious, Spam, and Spoof messages to the Administrative Quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

Periods at the end of all of these.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+## Configure anti-spam policies

⬇ Suggested change
-## Configure anti-spam policies

+## Configure anti-spam policies

+To configure anti-spam policies:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+5. For each domain you are configuring select ... > Edit, and set the following options:

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

+## Configure anti-spam policies

+1. Open the Microsoft 365 Defender console
+2. Go to Email & collaboration > Policies & rules.
+3. Select Threat policies.
+4. Under Policies, select Anti-spam.
+5. Select the Anti-spam inbound policy (Default) text (not the checkbox).
+6. In the Actions section, scroll down and select Edit actions.
⬇ Suggested change
-6. In the Actions section, scroll down and select Edit actions.
+6. In Actions, scroll down and select Edit actions.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+6. In the Actions section, scroll down and select Edit actions.

+7. Set the following conditions and actions (you might need to scroll up or down to find them):

Spam: Move messages to Junk Email folder

High confidence spam: Quarantine message

   - **Select quarantine policy**: _AdminOnlyAccessPolicy_

Phishing: Quarantine message

   - **Select quarantine policy**: _AdminOnlyAccessPolicy_

- **High confidence phishing**: _Quarantine message_

   - **Select quarantine policy**: _AdminOnlyAccessPolicy_

Periods.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+## Create transport rules

⬇ Suggested change
-## Create transport rules

+## Create transport rules

+To create transport rules:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

   - **Select quarantine policy**: _AdminOnlyAccessPolicy_

- **High confidence phishing**: _Quarantine message_

   - **Select quarantine policy**: _AdminOnlyAccessPolicy_

Retain spam in quarantine for this many days: Default is 15 days. Cloudflare Area 1 recommends 15-30 days.

+8. Select Save.

+## Create transport rules

+1. Open the new Exchange admin center.
Should it be Exchange Admin Center?
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/five-junk-admin-quarantine.md:

+9. Select Add a Rule > Create a new rule.

+10. Set the following rule conditions:

Name: Area 1 Admin Managed Host Quarantine

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `MALICIOUS`, `SPAM`, `SPOOF` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following: Redirect the message to > hosted quarantine

+11. Select Next.
+12. You can use the default values on this screen. Select Next.
+13. Review your settings and select Finish > Done.
+14. Select the rule Area 1 Admin Managed Host Quarantine you have just created, and Enable.
⬇ Suggested change
-14. Select the rule Area 1 Admin Managed Host Quarantine you have just created, and Enable.
+14. Select the rule Area 1 Admin Managed Host Quarantine you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

@@ -0,0 +1,133 @@

+---
+title: 4 - User managed quarantine and administrative quarantine
+pcx_content_type: tutorial
+weight: 4
+meta:

title: Use case 4 - Deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release)

+---

+# Use case 4: Deliver emails to the user managed quarantine and administrative quarantine

+In this tutorial you will learn to deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release).
⬇ Suggested change
-In this tutorial you will learn to deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release).
+In this tutorial, you will learn to deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release).
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

@@ -0,0 +1,133 @@

+---
+title: 4 - User managed quarantine and administrative quarantine
+pcx_content_type: tutorial
+weight: 4
+meta:

title: Use case 4 - Deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release)

+---

+# Use case 4: Deliver emails to the user managed quarantine and administrative quarantine

+In this tutorial you will learn to deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release).

+## Configure domains
Same commentary as above moving forward. I never include a list without a description between the title and the list.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

+title: 4 - User managed quarantine and administrative quarantine

+pcx_content_type: tutorial
+weight: 4
+meta:

title: Use case 4 - Deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release)

+---

+# Use case 4: Deliver emails to the user managed quarantine and administrative quarantine

+In this tutorial you will learn to deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
⬇ Suggested change
-3. Navigate to Email configuration > Domains & Routing > Domains.
+3. Go to Email configuration > Domains & Routing > Domains.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

+weight: 4

+meta:

title: Use case 4 - Deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release)

+---

+# Use case 4: Deliver emails to the user managed quarantine and administrative quarantine

+In this tutorial you will learn to deliver Spam and Spoof messages to the user managed quarantine, and Malicious messages to the administrative quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:
⬇ Suggested change
-5. For each domain you are configuring select ... > Edit, and set the following options:
+5. For each domain you are configuring, select ... > Edit, and set the following options:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

⬇ Suggested change

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account.

IP Restrictions - Leave this field empty.

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

+## Create quarantine policies

+1. Open the Microsoft 365 Defender console
⬇ Suggested change
-1. Open the Microsoft 365 Defender console
+1. Open the Microsoft 365 Defender console.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

In Select release action preference: From the drop-down menu, choose Allow recipients to release a message from quarantine.

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes.

For both of these, I feel that instead of : a , would suffice.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

In Select release action preference: From the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes.

Same comment as above.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

+3. Select Add a Rule > Create a new rule.

+4. Set the following rule conditions:

Name: Area 1 User Quarantine Message

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `SPAM`, `SPOOF` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 5

+5. Select Next.
+6. You can use the default values on this screen. Select Next.
+7. Review your settings and select Finish > Done.
+8. Select the rule Area 1 User Quarantine Message you have just created, and Enable.
⬇ Suggested change
-8. Select the rule Area 1 User Quarantine Message you have just created, and Enable.
+8. Select the rule Area 1 User Quarantine Message you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/four-user-quarantine-admin-quarantine.md:

+9. Select Add a Rule > Create a new rule.

+10. Set the following rule conditions:

Name: Area 1 User Quarantine Message Admin Release

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `MALICIOUS` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 9

+11. Select Next.
+12. You can use the default values on this screen. Select Next.
+13. Review your settings and select Finish > Done.
+14. Select the rule Area 1 User Quarantine Message Admin Release you have just created, and Enable.
⬇ Suggested change
-14. Select the rule Area 1 User Quarantine Message Admin Release you have just created, and Enable.
+14. Select the rule Area 1 User Quarantine Message Admin Release you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

@@ -0,0 +1,104 @@

+---
+title: 1 - Junk email and Area 1 Admin Quarantine
+pcx_content_type: tutorial
+weight: 1
+meta:

title: Use case one - Deliver emails to junk email folder and Admin Quarantine in Area 1

+---

+# Use case 1: Deliver emails to Office 365 junk email folder and Admin Quarantine in Area 1

+In this tutorial you will learn how to deliver emails to the Office 365 junk email folder, as well as the Amin Quarantine in Area 1.
⬇ Suggested change
-In this tutorial you will learn how to deliver emails to the Office 365 junk email folder, as well as the Amin Quarantine in Area 1.
+In this tutorial, you will learn how to deliver emails to the Office 365 junk email folder and the Admin Quarantine in Area 1.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

+title: 1 - Junk email and Area 1 Admin Quarantine

+pcx_content_type: tutorial
+weight: 1
+meta:

title: Use case one - Deliver emails to junk email folder and Admin Quarantine in Area 1

+---

+# Use case 1: Deliver emails to Office 365 junk email folder and Admin Quarantine in Area 1

+In this tutorial you will learn how to deliver emails to the Office 365 junk email folder, as well as the Amin Quarantine in Area 1.

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
⬇ Suggested change
-3. Navigate to Email configuration > Domains & Routing > Domains.
+3. Go to Email configuration > Domains & Routing > Domains.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

+weight: 1

+meta:

title: Use case one - Deliver emails to junk email folder and Admin Quarantine in Area 1

+---

+# Use case 1: Deliver emails to Office 365 junk email folder and Admin Quarantine in Area 1

+In this tutorial you will learn how to deliver emails to the Office 365 junk email folder, as well as the Amin Quarantine in Area 1.

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:
⬇ Suggested change
-5. For each domain you are configuring select ... > Edit, and set the following options:
+5. For each domain you are configuring, select ... > Edit, and set the following options:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Check the MALICIOUS, SPAM and SPOOF dispositions

⬇ Suggested change

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Check the MALICIOUS, SPAM and SPOOF dispositions

Forwarding to - This should match the expected MX for each domain in your Office 365 account.

IP Restrictions - Leave this field empty.

Outbound TLS - Forward all messages over TLS.

Quarantine Policy - Check the MALICIOUS, SPAM and SPOOF dispositions.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

In Select release action preference: Choose Allow recipients to request a message to be released from quarantine

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes

⬇ Suggested change

In Select release action preference: Choose Allow recipients to request a message to be released from quarantine

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes

In Select release action preference, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages, select the Delete and Preview checkboxes.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

+8. Select Save.

+## Create transport rules

+1. Open the new Exchange admin center.
+2. Go to Mail flow > Rules.
+3. Select Add a Rule > Create a new rule.
+4. Set the following rule conditions:

Name: Area 1 Deliver to Junk Email folder

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `SUSPICIOUS`, `BULK` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 5

Some items here have periods at the end and others do not.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/one-junk-admin-quarantine.md:

+3. Select Add a Rule > Create a new rule.

+4. Set the following rule conditions:

Name: Area 1 Deliver to Junk Email folder

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `SUSPICIOUS`, `BULK` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 5

+5. Select Next.
+6. You can use the default values on this screen. Select Next.
+7. Review your settings and select Finish > Done.
+8. Select the rule Area 1 Deliver to Junk Email folder you have just created, and Enable.
⬇ Suggested change
-8. Select the rule Area 1 Deliver to Junk Email folder you have just created, and Enable.
+8. Select the rule Area 1 Deliver to Junk Email folder you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine.md:

@@ -0,0 +1,118 @@

+---
+title: 3 - Junk email and administrative quarantine
+pcx_content_type: tutorial
+weight: 3
+meta:

title: Use case 3 - Deliver Suspicious and Bulk messages to the users’s junk email folder, and Malicious, Spam and Spoof to the administrative quarantine (requires administrator release)

+---

+# Use case 3: Deliver emails to junk email and administrative quarantine
Title here is different from the metal title
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine.md:

+title: 3 - Junk email and administrative quarantine

+pcx_content_type: tutorial
+weight: 3
+meta:

title: Use case 3 - Deliver Suspicious and Bulk messages to the users’s junk email folder, and Malicious, Spam and Spoof to the administrative quarantine (requires administrator release)

+---

+# Use case 3: Deliver emails to junk email and administrative quarantine

+In this tutorial, you will learn how to deliver Suspicious and Bulk messages to the users’s junk email folder, and Malicious, Spam and Spoof messages to the administrative quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
⬇ Suggested change
-3. Navigate to Email configuration > Domains & Routing > Domains.
+3. Go to Email configuration > Domains & Routing > Domains.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine.md:

+weight: 3

+meta:

title: Use case 3 - Deliver Suspicious and Bulk messages to the users’s junk email folder, and Malicious, Spam and Spoof to the administrative quarantine (requires administrator release)

+---

+# Use case 3: Deliver emails to junk email and administrative quarantine

+In this tutorial, you will learn how to deliver Suspicious and Bulk messages to the users’s junk email folder, and Malicious, Spam and Spoof messages to the administrative quarantine (requires administrator release).

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:
⬇ Suggested change
-5. For each domain you are configuring select ... > Edit, and set the following options:
+5. For each domain you are configuring, select ... > Edit, and set the following options:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine.md:

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

⬇ Suggested change

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Do not check any dispositions

Forwarding to - This should match the expected MX for each domain in your Office 365 account.

IP Restrictions - Leave this field empty.

Outbound TLS - Forward all messages over TLS.

Quarantine Policy - Do not check any dispositions.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine.md:

In Select release action preference: From the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes.

⬇ Suggested change

In Select release action preference: From the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes.

In Select release action preference, from the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages, select the Delete and Preview checkboxes.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/three-junk-admin-quarantine.md:

+9. Select Add a Rule > Create a new rule.

+10. Set the following rule conditions:

Name: Area 1 User Quarantine Message

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `MALICIOUS`, `SPAM`, `SPOOF` > **Add** > **Save**

Apply this rule if:Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 9

+11. Select Next.
+12. You can use the default values on this screen. Select Next.
+13. Review your settings and select Finish > Done.
+14. Select the rule Area 1 User Quarantine Message you have just created, and Enable.
⬇ Suggested change
-14. Select the rule Area 1 User Quarantine Message you have just created, and Enable.
+14. Select the rule Area 1 User Quarantine Message you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

@@ -0,0 +1,132 @@

+---
+title: 2 - Junk email and user managed quarantine
+pcx_content_type: tutorial
+weight: 2
+meta:

title: Use case 2 - Deliver Suspicious and Bulk messages to the user’s junk folder, and Spam and Spoof messages to user managed quarantine

+---

+# Use case 2: Deliver emails to junk email folder and user managed quarantine
Title is different from meta title
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

+title: 2 - Junk email and user managed quarantine

+pcx_content_type: tutorial
+weight: 2
+meta:

title: Use case 2 - Deliver Suspicious and Bulk messages to the user’s junk folder, and Spam and Spoof messages to user managed quarantine

+---

+# Use case 2: Deliver emails to junk email folder and user managed quarantine

+In this tutorial, you will learn how to deliver Suspicious and Bulk messages to the user’s junk folder, and Spam and Spoof messages to the user managed quarantine.

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
⬇ Suggested change
-3. Navigate to Email configuration > Domains & Routing > Domains.
+3. Go to Email configuration > Domains & Routing > Domains.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

+weight: 2

+meta:

title: Use case 2 - Deliver Suspicious and Bulk messages to the user’s junk folder, and Spam and Spoof messages to user managed quarantine

+---

+# Use case 2: Deliver emails to junk email folder and user managed quarantine

+In this tutorial, you will learn how to deliver Suspicious and Bulk messages to the user’s junk folder, and Spam and Spoof messages to the user managed quarantine.

+## Configure domains

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:
⬇ Suggested change
-5. For each domain you are configuring select ... > Edit, and set the following options:
+5. For each domain you are configuring, select ... > Edit, and set the following options:
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Only Malicious should be checked

⬇ Suggested change

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Only Malicious should be checked

Forwarding to - This should match the expected MX for each domain in your Office 365 account.

IP Restrictions - Leave this field empty.

Outbound TLS - Forward all messages over TLS.

Quarantine Policy - Only Malicious should be checked.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

+1. Log in to the Area 1 dashboard.
+2. Go to Settings (the gear icon).
+3. Navigate to Email configuration > Domains & Routing > Domains.
+4. Make sure each domain you are onboarding has been added.
+5. For each domain you are configuring select ... > Edit, and set the following options:

Domain - <YOUR_DOMAIN>

Configured as - MX Records

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Only Malicious should be checked

+## Create quarantine policies

+1. Open the Microsoft 365 Defender console
⬇ Suggested change
-1. Open the Microsoft 365 Defender console
+1. Open the Microsoft 365 Defender console.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

In Select release action preference: Choose Allow recipients to release a message from quarantine

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes

⬇ Suggested change

In Select release action preference: Choose Allow recipients to release a message from quarantine

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes

In Select release action preference, choose Allow recipients to release a message from quarantine.

In Select additional actions recipients can take on quarantined messages, select the Delete and Preview checkboxes.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

In Select release action preference: From the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes.

⬇ Suggested change

In Select release action preference: From the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages: Select the Delete and Preview checkboxes.

In Select release action preference, from the drop-down menu, choose Allow recipients to request a message to be released from quarantine.

In Select additional actions recipients can take on quarantined messages, select the Delete and Preview checkboxes.

In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

+9. Select Add a Rule > Create a new rule.

+10. Set the following rule conditions:

Name: Area 1 User Quarantine Message

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `SPAM, SPOOF` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 9

+11. Select Next.
+12. You can use the default values on this screen. Select Next.
+13. Review your settings and select Finish > Done.
+14. Select the rule Area 1 User Quarantine Message you have just created, and Enable.
⬇ Suggested change
-14. Select the rule Area 1 User Quarantine Message you have just created, and Enable.
+14. Select the rule Area 1 User Quarantine Message you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

+3. Select Add a Rule > Create a new rule.

+4. Set the following rule conditions:

Name: Area 1 Deliver to Junk Email folder

Apply this rule if: The message headers > includes any of these words

   - **Enter text**: `X-Area1Security-Disposition` > **Save**

   - **Enter words**: `SUSPICIOUS`, `BULK` > **Add** > **Save**

Apply this rule if: Select + to add a second condition.

And: The sender > IP address is in any of these ranges or exactly matches > enter the egress IPs in the Egress IPs page.

Do the following - Modify the message properties > Set the Spam Confidence Level (SCL) > 5

+5. Select Next.
+6. You can use the default values on this screen. Select Next.
+7. Review your settings and select Finish > Done.
+8. Select the rule Area 1 Deliver to Junk Email folder you have just created, and Enable.
⬇ Suggested change
-8. Select the rule Area 1 Deliver to Junk Email folder you have just created, and Enable.
+8. Select the rule Area 1 Deliver to Junk Email folder you have just created, and select Enable.
In content/email-security/deployment/inline/setup/office-365-area1-mx/use-cases/two-junk-user-quarantine.md:

Forwarding to - This should match the expected MX for each domain in your Office 365 account

IP Restrictions - Leave this field empty

Outbound TLS - Forward all messages over TLS

Quarantine Policy - Only Malicious should be checked

"This should match the expected MX" -> "This should match the expected MX record.." ?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


Add Japokwm to README.md

I want to add my tiling wayland compositor, japokwm to the list ^^

Looks very cool - thank you for adding!


onChangeIndex callback don't response

Hello community my mistake is simple, when using the onChangeIndex prop and calling the callback it doesn't work.
attached code
const handleStepChange = (step) => {

       setActive(step);
       console.log('hello world')

    };

For example, changing the status is no problem, but if I try to print on the console its step  parameter does not.
Does anyone know why? The above is just an example, my concern is that the function does not respond to me.
<SwipeableViews onChangeIndex={handleStepChange} ... /> ...
Am I doing something wrong?

Seems so. Here's that function working in a sandbox.


Compilation fixes for Windows - codecheck patches (part 1)

This is the first part of Windows fixes to make ign-gazebo compile, commits are self-explanatory but in a summary:

Missing headers, including ones reported by codecheck
Portable setenv from ignition::common
Visibility keywords
Portability fixes for cmake

Compilation is not yet there, this is the first part of patches. Let's see how it goes for UNIX ci.

Nice! This one too, do you think it would be possible to target ign-gazebo3?

Nice! This one too, do you think it would be possible to target ign-gazebo3?

I need to check if visibility is affected somehow with these changes on top of ign-gazebo3

Nice! This one too, do you think it would be possible to target ign-gazebo3?

I need to check if visibility is affected somehow with these changes on top of ign-gazebo3

The bump to ign-msgs7 and ign-transport10 is being done in #546

Thanks, I've merge main into this PR.

The bump to ign-msgs7 and ign-transport10 is being done in #546

Thanks, I've merge main into this PR.

Nice! This one too, do you think it would be possible to target ign-gazebo3?

I ported the changes to ign-gazebo3 branch and If I did not fail during the process there are problems with ABI stability. I'm afraid that changes are too intrusive to be backported.

Nice! This one too, do you think it would be possible to target ign-gazebo3?

I ported the changes to ign-gazebo3 branch and If I did not fail during the process there are problems with ABI stability. I'm afraid that changes are too intrusive to be backported.

I'm afraid that changes are too intrusive to be backported.

Ah ok, thanks for trying. Let's keep targeting Edifice then.

I'm afraid that changes are too intrusive to be backported.

Ah ok, thanks for trying. Let's keep targeting Edifice then.


Another IndexError when opening some KAR files

Exactly a year after #42 (coincidentally), I've noticed that some of my MIDI karaoke files give an IndexError when I'm trying to open them with mido. Further "investigation" showed that these files contains some messages at the very beginning like this:
Message:
  00002c: 00  .
-> delta=0
  00002d: ff  .
  00002e: 21  !
  00002f: 01  .
  000030: 00  .

which decode to midi_port, whose data is empty, so
message.port = data[0] # midifiles/meta.py, line 250 (as of 1.2.5)

gives an IndexError because data is an empty list.
I don't know the purpose of such messages, maybe they're simply markers for some ancient player (these files are mostly Russian and created about 15-20 years ago).
So, I suggest to add a guard to this line:
message.port = data[0] if len(data) else 0 # now loading works

(Sorry for being too lazy for a pull request, and sorry another time for the bad English (my native language is Russian).)

No problem at all. A pull request is not needed for this small change. I
need do some tests with other files to make sure it doesn't break anything
but if this works out I will include it in the next version. I'll get back
to you when I've run the tests.

I have made the changes and pushed them to my master branch. Could you test and see if it works for your files?

@olemb OK, I'll test it as soon as possible (probably around 21:00 UTC+3 today), but if you've changed only this line, I could definitely say that it'll work (because I've tested it by modifying the file in 1.2.5 release)

Sounds good!
I also added some tests to ensure that it keeps working in the future.

Since I didn't hear back from you I'm assuming it works. I just released 1.2.6 which includes your fix. As you said it should work but if you have any trouble just let me know and I will reopen the issue.

@olemb Sorry, I've lost my connection to the Internet. Yes, I can assure you that it works.

Ah, I see. No problem. Thanks for reporting this.

@olemb Thank you too (for fixing).


Bugs found

Here are things that probably stopping you from running as same for me. Hope it can help you if meeting same problems.

I am using Windows and Python 3.10.11. The latest torch version (2.3.0) won't work, but previous version 2.2.2 is okay, to install the previous versions check torch installation, e.g. pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/cu121
To use pose reference, the mediapipe package needed to be installed pip install mediapipe
The file name denoising_unet-pose.pth needs to be renamed to denoising_unet_pose.pth

The first two can be fixed by modifying the requirements.txt file as follows:

torch>=2.0.1,<=2.2.2
torchvision>=0.15.2,<=0.17.2
torchaudio>=2.0.2,<=2.2.2
mediapipe
transformers>=4.38.2
diffusers==0.24.0
torchmetrics
torchtyping
tqdm
ffmpeg-python==0.2.0
facenet_pytorch==2.5.0
moviepy==1.0.3
einops==0.4.1
omegaconf==2.3.0
opencv-python
av==11.0.0
gradio

Hope the authors can fix them 🔜

Thanks a lot !!

Those bugs was fixed according to your advice, thanks for your conrtibution!

@westNeighbor
Did pose reference worked for you?
It's not working for me, any suggestions
https://github.com/BadToBest/EchoMimic/issues/36

My runs okay. How can I suggest without any error info?


Mouse input events are failing validation tests in WPT

See https://github.com/web-platform-tests/wpt/pull/42081/checks?check_run_id=16968626580
Many test cases that verify errors on invalid input are accepted by Chromium.

@jrandolf PTAL

That's currently known. Chromium/Chromium BiDi doesn't have full support for all properties right now.

Blocked on https://github.com/w3c/webdriver/pull/1800


Recovery with 15 or 18, 21 words

I'm submitting a...

[ ] Bug report
[x] Feature request

New Feature
Provide a short description of the feature:

Allow users to recover using their 15, 18, and 21 word phrases as well

What is the motivation / use case for changing the behavior?

Still BIP 39 compliant

Please detailed description of how you propose the feature could work:

Input checks can also include 15, 18, and 21 word count

https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki


Several errors using "coverage xml" on a Django project

Describe the bug

I have a Django project (also using Celery) and pytest based tests.
The Django code includes usage of the coverage API to handle collection using multiple .coverageXXX files.
The coverage combine command seems to work just fine.

Problem 1. The coverage xml command (invoked using a wrapper script, which also did the coverage combine) initially failed like this:
subprocess.CalledProcessError: Command '['coverage', 'xml']' returned non-zero exit status 1.

Unfortunately, the output was not captured.
Problem 2. When I first tried to run the command by hand, it failed like this:
$ coverage xml
No source for code: '/.../source/address1and2'.

Curiously, though I do have code with variables named address1and2, there is no source module of that name or similar.
Problem 3: In attempting to work around the issue above, I found the "-i" option. Using it results in a usable output XML file, but also emits other errors:
$ coverage xml -i
/usr/local/lib/python3.8/dist-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/.../source/address1and2': No source for code: '/.../source/address1and2'. (couldnt-parse)
  coverage._warn(msg, slug="couldnt-parse")
/usr/local/lib/python3.8/dist-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/.../source/bankdetail.account_name': No source for code: '/.../source/bankdetail.account_name'. (couldnt-parse)
  coverage._warn(msg, slug="couldnt-parse")
/usr/local/lib/python3.8/dist-packages/coverage/report.py:87: CoverageWarning: Couldn't parse '/.../source/bankdetail.account_number': No source for code: '/.../source/bankdetail.account_number'. (couldnt-parse)
  coverage._warn(msg, slug="couldnt-parse")
...several more like this...

Again, the filenames seem to correspond to variables, not classes, or modules.
To Reproduce
$ coverage debug sys
-- sys -------------------------------------------------------
               coverage_version: 6.2
                coverage_module: /usr/local/lib/python3.8/dist-packages/coverage/__init__.py
                         tracer: -none-
                        CTracer: available
           plugins.file_tracers: -none-
            plugins.configurers: -none-
      plugins.context_switchers: -none-
              configs_attempted: .coveragerc
                   configs_read: /main/srhaque/Innovatieltd/source/.coveragerc
                    config_file: /main/srhaque/Innovatieltd/source/.coveragerc
                config_contents: b'# .coveragerc to control coverage.py\n[run]\nbranch = True\nparallel = True\nomit =\n    /usr/*\n    paiyroll/migrations/*\n    test/*\nconcurrency =\n    thread\n    multiprocessing\n'
                      data_file: -none-
                         python: 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0]
                       platform: Linux-5.4.0-96-generic-x86_64-with-glibc2.29
                 implementation: CPython
                     executable: /usr/bin/python3
                   def_encoding: utf-8
                    fs_encoding: utf-8
                            pid: 233999
                            cwd: /main/srhaque/Innovatieltd/source
                           path: /usr/local/bin
                                 /usr/lib/python38.zip
                                 /usr/lib/python3.8
                                 /usr/lib/python3.8/lib-dynload
                                 /usr/local/lib/python3.8/dist-packages
                                 /usr/lib/python3/dist-packages
                    environment: HOME = /main/srhaque
                                 PYCHARM_HOME = /main/srhaque/pycharm
                   command_line: /usr/local/bin/coverage debug sys
                sqlite3_version: 2.6.0
         sqlite3_sqlite_version: 3.31.1
             sqlite3_temp_store: 0
        sqlite3_compile_options: COMPILER=gcc-9.3.0; ENABLE_COLUMN_METADATA; ENABLE_DBSTAT_VTAB
                                 ENABLE_FTS3; ENABLE_FTS3_PARENTHESIS; ENABLE_FTS3_TOKENIZER
                                 ENABLE_FTS4; ENABLE_FTS5; ENABLE_JSON1
                                 ENABLE_LOAD_EXTENSION; ENABLE_PREUPDATE_HOOK; ENABLE_RTREE
                                 ENABLE_SESSION; ENABLE_STMTVTAB; ENABLE_UNLOCK_NOTIFY
                                 ENABLE_UPDATE_DELETE_LIMIT; HAVE_ISNAN; LIKE_DOESNT_MATCH_BLOBS
                                 MAX_SCHEMA_RETRY=25; MAX_VARIABLE_NUMBER=250000; OMIT_LOOKASIDE
                                 SECURE_DELETE; SOUNDEX; TEMP_STORE=1
                                 THREADSAFE=1; USE_URI

I don't see a way to provide a reproducer, but I could provide the output of "coverage combine" in a private exchange.
Expected behavior
I expected problem-free generation of the coverage XML file, exiting with a standard 0 exit code.
Additional context
$ cat .coveragerc
# .coveragerc to control coverage.py
[run]
branch = True
parallel = True
omit =
    /usr/*
    paiyroll/migrations/*
    test/*
concurrency =
    thread
    multiprocessing

Hmm, this sounds very odd.  There are a few things I'd like to see: can you share the combined .coverage data file, and the scripts etc that you use to run coverage? Ideally, the source also.  You can mail things to me at<EMAIL_ADDRESS>if you are nervous about making them public.

Thanks for the quick reply. I'll try to keep as much in the open as possible. So:

I can confirm that the problem also occurs with the current coverage version 6.3.1.

Coverage is run using a wrapper CLI script and a wrapper around the coverage API called coverage_control. Here is how the overall procedure goes:
#
# Calls something like this:
#       coverage_control.coverage_enable(args.coverage)
#       subprocess.Popen([...django "runserver" command...]
#
./bin/start --django --coverage
#
# Invoke pytest.
#
./bin/test
#
# Calls something like this:
#       wait_for_coverage = coverage_control.coverage_enabled()
#       subprocess("kill", "-INT", django command)
#       sleep(1)
#       subprocess("kill", "-TERM", django command)
#       sleep(1)
#       subprocess("kill", "-KILL", django command)
#       sleep(1)
#       if wait_for_coverage:
#           subprocess("coverage", "combine")
#           subprocess("coverage", "xml")
#
./bin/stop --django

The intent of the coverage_control module was to try to get coverage working across the Celery boundary (i.e. across its use of "billiard" s a replacement for vanilla multiprocessing), as well as some direct use of subprocesses. It uses the presence of a well-known file to communicate the intent to run coverage or not, which the various processes are supposed to then work with like this:
def coverage_enable(enabled):
    """
    Is coverage to be enabled?
    """
    create-a-well-known-file if enabled else remove-well-known-file

def coverage_enabled():
    return os.path.exists(well-known-file)

def coverage_start():
    """
    Idempotent starting of coverage.
    """
    global _coverage_start
    if not _coverage_start:
        _coverage_start = coverage.Coverage(config_file=os.path.join(HOME_DIR, '.coveragerc'))
        _coverage_start.start()

@atexit.register
def coverage_stop():
    """
    Only a process which called coverage_start() and which calls here terminates
    coverage.

    @atexit.register calls us on Ctrl-C or SIGINT.
    """
    global _coverage_start
    if _coverage_start:
        _coverage_start.stop()
        _coverage_start.save()

As you can see/infer:

the .coveragerc file sets parallel = True.
./bin/start creates the well-known-file.
each process must test coverage_enabled() and then call coverage_start().
the coverage data is dumped using the atexit handler coverage_stop() in response to ./bin/stop.

I do have some issues with this setup in that some lines of code which are definitely run by the tests are NOT correctly recorded as having been run. (I have made several attempts to resolve this, the present issue arose with my current attempt). However, some coverage data is being collected at this point.
Access to the source might be tricky, so it would be good to see if progress is possible without. In terms of directory structure, I have a git repo that looks like this:

top level (.git etc)

"docs"
...
"source"

std django application tree  <<< bulk of files
std django project tree
"tests"
"bin" <<< contains bin/start, bin/test, bin/stop

Normally, the CWD would be "source", and so that's where the .coverage file ends up. I'll send the combined .coverage file separately.

Thanks for sending the data file. I see you have some .jinja files recorded there.  Are you using a jinja plugin of some sort?

These are the pytest plugins:
plugins: case-1.5.3, celery-0.0.0, timeout-1.4.2, anyio-3.3.4, Faker-9.8.3, subtests-0.5.0, flaky-3.7.0, cov-3.0.0, django-webtest-1.9.8

At the Django level we just use standard packaging around Jinja:
$ sudo -H pip3 list | grep -i jinja
django-jinja                      2.10.0
django-jinja-bootstrap-form       4.3.4
Jinja2                            3.0.3

Did I answer your question?

Can you provide the full output of pip freeze?

It is possible that this contains a small number of packages that are not strictly needed, but it is exactly what is installed via pip on this fully patched Ubuntu 20.04 system. There are also some packages that come with apt as part of the OS...I could probably work that out if needed.
  If you can give me a way to reproduce it myself, we might be able to solve the mystery.

OK. I'll have a look at the code and see if I can figure it out.
On Wed, 2 Feb 2022, 12:22 Ned Batchelder, @.***> wrote:

I'm sorry, I have no idea how you could get file names based on variable
names in your data file. If you can give me a way to reproduce it myself,
we might be able to solve the mystery.
—
Reply to this email directly, view it on GitHub
https://github.com/nedbat/coveragepy/issues/1318#issuecomment-1027888193,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFHWKOXF4AMUY7HWC3H43DUZEO2FANCNFSM5NKY7HRA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Feel free to re-open if you get more information.

I've been able to narrow the scope of the issue as follows. When the combined data is read, and we are on this line:
https://github.com/nedbat/coveragepy/blob/69656b0bcc5fe0488e686d7050522cf108db8e7b/coverage/sqldata.py#L782
The bad content in self._file_map, suggesting it was read from the database. However, when the data was being combined at this line:
https://github.com/nedbat/coveragepy/blob/69656b0bcc5fe0488e686d7050522cf108db8e7b/coverage/data.py#L131
new_data._file_map never had the bad entries. I'm not sure how much that helps.


Pool creation fails for bigger block devices/disks

Describe the bug
Pool creation consistently fails if the block device used to create mayastorpool is big in size.
To Reproduce
Try creating a mayastorpool for a disk 4096Gi in size.
Expected behavior
Mayastorpool creation should succeed.
** OS info (please complete the following information):**

MayaStor revision or container image : Latest develop

Additional context
I am creating a mayastor pool using a 4Ti azure managed disk. From the logs it appears that the msp operator sends the request to mayastor, but mayastor is taking a long time to init the disk which are bigger in size. Due to this the msp times out and retries.
On the retry path it appears that the mayastor already finds the vol to be present and returns EExist to the msp operator.
The msp-operator takes this as an error and eventually fails after 10 tries.
Any suggestion on how to fix this. Logs attached:

Should we consider increasing the timeout? (there are multiple timeouts set in the code, which one is at play here?)
Should msp ignore the EExist error and simply do a get on the pool if it gets EExist from mayastor?
Should mayastor return a success (i.e. import) if the pool already exists?

We can increase the timeout indeed, we'll have to determine how long it takes to create the pool as might be worth moving to an async call instead.
The develop has a bug introduced by the v1 grpc api that causes the grpc v0 pool create to return EExist when it should return ok (the current control plane uses v0); we have this fixed this - it'll get merged to develop soonish

Thanks @tiagolobocastro .  Mind telling me which timeout value would be more relevant for the pool creation call?

Those would be:
https://github.com/openebs/mayastor-control-plane/blob/1ccffced79a1253e9dd75c47a608fec5d1d12542/deploy/core-agents-deployment.yaml#L43
https://github.com/openebs/mayastor-control-plane/blob/1ccffced79a1253e9dd75c47a608fec5d1d12542/deploy/rest-deployment.yaml#L52
Unfortunately seems we've missed adding a timeout to the msp operator: https://github.com/openebs/mayastor-control-plane/blob/1ccffced79a1253e9dd75c47a608fec5d1d12542/control-plane/msp-operator/src/main.rs#L891.


Not listed yet: www.tagesschau.de

The website at this url is unlisted: https://www.tagesschau.de/

This website does not provide a consent dialog. The effort is appreciated though!


[BUG] -Memory leak

Good day.
ServicePartitionResolver has ResolveHelperAsync where it create/recreate FabricClient via delegates.
Problem: FabricClient is IDisposable and holds COM object, but it does not called anywhere in ServicePartitionResolver
Just stuff like that:
"client = (FabricClient) null;"
"this.fabricClient = this.recreateFabricClient();"

Can I work on this?


Directly open the debugger without showing the tree options

When I tried the exception in the quick-ui-tour
 'four'  + 3.
in the workspace, I cannot see the tree options windows, directly goes to the debugger.
I'm using the macOS Sierra system and the latest Cuis-Smalltalk

On Thu, 09 Aug 2018 05:32:05 -0700
Antonio Juan Querol<EMAIL_ADDRESS>wrote:

When I tried the exception in the quick-ui-tour
 'four'  + 3.
in the workspace, I cannot see the tree options windows, directly goes to the debugger.

Antonio,
Thanks much for this and the other report.
Cuis is always evolving and I have not gone through the tour in some time.
I will update it soon.
Thanks again!
-KenD

On Thu, 09 Aug 2018 05:32:05 -0700
Antonio Juan Querol<EMAIL_ADDRESS>wrote:

When I tried the exception in the quick-ui-tour
 'four'  + 3.
in the workspace, I cannot see the tree options windows, directly goes to the debugger.

OK.  Finally had time to update the Quick UI Tour:
https://github.com/Cuis-Smalltalk-Learning/Learning-Cuis/blob/master/Quick-UI-Tour.md
I made a few changes.
Anyone, please check this and make any suggestions.
Thanks much!
-KenD

Using image 3430 and it looks pretty good. The only confusing thing I ran into was a mention of using Cmd-click to get the World menu to open. This doesn't work. Not sure if you meant select-click or left-click or button1-click? Simply using button1 on its own works for me.

Tutorial changed to match code change


Send proactive message without saving Conversation reference

Is your feature request related to a problem? Please describe.
We are trying to build some automation and send messages as a bot. For example, the github PR is open for too long, send bot message to the reviewer.
I see this example to cache the conversation reference: https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/python/16.proactive-messages/bots/proactive_bot.py#L10
However, this implementation just isn't resilient. E.g., what if my bot server crashed, how to I keep the conversation references? We can certainly build something to make it fault tolerant, but that adds unnecessary complexity.
In fact, we do have the user id, but we can't construct a conversation reference from solely the user id + bot id.
Describe the solution you'd like
I'd like to have the Bot framework support creating/retrieving conversation reference on the fly given the user id. E.g.,
conversation_reference = ConversationReference(user_id=user_id, ...)
Describe alternatives you've considered
This API seems to be promising: https://docs.microsoft.com/en-us/graph/api/userscopeteamsappinstallation-get-chat?view=graph-rest-1.0&tabs=http
However, I can't get the accessToken from the SDK (it requires the TurnContext, which is again a problem for proactive scenarios)
Additional context

the following snippet works for me to send proactive messages to the user:
`
config = DefaultConfig()
adapter = CloudAdapter(ConfigurationBotFrameworkAuthentication(config))
recipient = ChannelAccount(id=${aadObjectId})
bot = ChannelAccount(id=config.APP_ID)
activity_reply = Activity(
type=ActivityTypes.message,
channel_id="msteams",
from_property=bot,
recipient=recipient,
text="Hello!",
)
conversation_params = ConversationParameters(
bot=bot,
members=[recipient],
activity=activity_reply,
channel_data={"tenant": {"id": "${tenantID}"}},
)
await adapter.create_conversation(
bot_app_id=config.APP_ID,
callback=lambda turn_context: turn_context.send_activity(activity_reply),
conversation_parameters=conversation_params,
channel_id="msteams",
service_url="https://smba.trafficmanager.net/teams/",
)
`

Yes, for Teams

Can you tell how to modify this to send a reply message on a post on teams.
(If I store the initial ids like ActivityId and any other attribute if needed in some database)

This issue should be opened in the Teams Samples repo:  https://github.com/OfficeDev/Microsoft-Teams-Samples
Closing this since I don't have the ability to transfer.  I did open an issue in that repo.


fix: Be more lenient in interpreting input args for builtin window functions

The built-in window functions Lag, Lead, NthValue, Ntile accept integer arguments. However while they should allow any integers, currently as they just use ScalarValue's try_from to convert into an i64, they actually only accept i64s. Any other argument, e.g. an  i32, would be converted into a None and ignored (for lag and lead), or throw (for ntile and nth_value).
I noticed this as Spark and Substrait defines these functions as using int32 args.
Which issue does this PR close?

Closes #.
Rationale for this change
Before - lag and lead would silently ignore the argument, ntile and nth_value would fail:
> SELECT id, lead(id, -1) OVER (ORDER BY id) AS correct, lead(id, arrow_cast(-1,'Int32')) OVER (ORDER BY id) as wrong from (values (1), (2)) as tbl(id);
+----+---------+-------+
| id | correct | wrong |
+----+---------+-------+
| 1  |         | 2     |
| 2  | 1       |       |
+----+---------+-------+

> SELECT id, lag(id, -1) OVER (ORDER BY id) AS correct, lag(id, arrow_cast(-1,'Int32')) OVER (ORDER BY id) as wrong from (values (1), (2)) as tbl(id);
+----+---------+-------+
| id | correct | wrong |
+----+---------+-------+
| 1  | 2       |       |
| 2  |         | 1     |
+----+---------+-------+

> SELECT id, nth_value(id, 2) OVER (ORDER BY id) AS correct, nth_value(id, arrow_cast(2,'Int32')) OVER (ORDER BY id) as corrected from (values (1), (2)) as tbl(id);
Execution error: Internal("Cannot convert Int32(2) to i64")

> SELECT id, ntile(2) OVER (ORDER BY id) AS correct, ntile(arrow_cast(2,'Int32')) OVER (ORDER BY id) as corrected from (values (1), (2)) as tbl(id);
Internal error: Cannot convert Int32(2) to i64.
This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker

After - all four produce expected results:
SELECT id, lead(id, -1) OVER (ORDER BY id) AS correct, lead(id, arrow_cast(-1,'Int32')) OVER (ORDER BY id) as corrected from (values (1), (2)) as tbl(id)
+----+---------+-----------+
| id | correct | corrected |
+----+---------+-----------+
| 1  |         |           |
| 2  | 1       | 1         |
+----+---------+-----------+

SELECT id, lag(id, -1) OVER (ORDER BY id) AS correct, lag(id, arrow_cast(-1,'Int32')) OVER (ORDER BY id) as corrected from (values (1), (2)) as tbl(id)
+----+---------+-----------+
| id | correct | corrected |
+----+---------+-----------+
| 1  | 2       | 2         |
| 2  |         |           |
+----+---------+-----------+

SELECT id, nth_value(id, 2) OVER (ORDER BY id) AS correct, nth_value(id, arrow_cast(2,'Int32')) OVER (ORDER BY id) as corrected from (values (1), (2)) as tbl(id)
+----+---------+-----------+
| id | correct | corrected |
+----+---------+-----------+
| 1  |         |           |
| 2  | 2       | 2         |
+----+---------+-----------+

SELECT id, ntile(2) OVER (ORDER BY id) AS correct, ntile(arrow_cast(2,'Int32')) OVER (ORDER BY id) as corrected from (values (1), (2)) as tbl(id)
+----+---------+-----------+
| id | correct | corrected |
+----+---------+-----------+
| 1  | 1       | 1         |
| 2  | 2       | 2         |
+----+---------+-----------+

What changes are included in this PR?
Try casting the scalar value args for lag, lead, ntile and nth_value into Int64 before extracting an i64 out of them.

Are these changes tested?
I've tested the fix manually (see above). Happy to add unit tests as well, any recommendations how/where? I didn't see any previous art for exactly these kind of tests.

Are there any user-facing changes?
Previously erronously ignored args, if existing, would get applied; previously throwing queries, if existing, would now succeed.

Thanks @Blizzara -- is it possible to write a test that covers this case?

Tests added in https://github.com/apache/datafusion/pull/11199/commits/356d70601c3f25dc3cba9153e318831ce20f9589

🤔  looks like a CI test is failing now

🤔 looks like a CI test is failing now

Ah, there was a test for the ntile with a value that doesn't fit into a signed i64. Dunno how valuable that is, but given it's there, I'll revert that change.
Also, the failed tests are kinda nicer than the ones I added, so I'll move the new tests over there as well.


HIPAMD builds successfully but fails to compile tests

I installed hipamd using the following CMake options. Note that I had to provide the override for ROCM_PATH since the default /opt/rocm was an old installation and I needed to use /opt/rocm-5.1.0 The use of this override was not documented in the build instructions so I had an
issue open
          cmake ..  I then tried to build the tests but that failed:
[ 10%] Building HIPCC object CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o
cd /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture && /soft/buildtools/cmake/3.22.1/bin/cmake -E make_directory /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/.
cd /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture && /soft/buildtools/cmake/3.22.1/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING=RELWITHDEBINFO -D generated_file:STRING=/home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/./directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o -P /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o.cmake
-- Removing /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/./directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o
/soft/buildtools/cmake/3.22.1/bin/cmake -E remove /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/./directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o
-- Generating dependency file: /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o.depend.pre
/home/pvelesko/space/HIPAMD/hipamd/build/bin/hipcc -M /home/pvelesko/space/HIPAMD/hip/tests/src/texture/simpleTexture3D.cpp -o /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o.depend.pre --offload-arch=gfx906 --offload-arch=gfx906 --offload-arch=gfx906 --offload-arch=gfx906 -I/home/pvelesko/space/HIPAMD/hipamd/include -I/home/pvelesko/space/HIPAMD/hip/tests/src -I/home/pvelesko/space/HIPAMD/hip/tests/unit -I/home/pvelesko/space/HIPAMD/hip/tests/performance -I/home/pvelesko/space/HIPAMD/hipamd/include -I/home/pvelesko/space/HIPAMD/hip/tests/src
clang (LLVM option parsing): Unknown command line argument '-amdgpu-early-inline-all=true'.  Try: 'clang (LLVM option parsing) --help'
clang (LLVM option parsing): Did you mean '--enable-ml-inliner=true'?
clang (LLVM option parsing): Unknown command line argument '-amdgpu-function-calls=false'.  Try: 'clang (LLVM option parsing) --help'
clang (LLVM option parsing): Did you mean '--chr-function-list=false'?
CMake Error at directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o.cmake:146 (message):
  Error generating
  /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/./directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o

Verbose hipcc output:
AMD clang version 14.0.0 (https://github.com/RadeonOpenCompute/llvm-project roc-5.1.0 22114 5cba46feb6af367b1cafaa183ec42dbfb8207b14)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/rocm/llvm/bin
Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Selected GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found HIP installation: /opt/rocm, version 5.1.20531
 (in-process)
 "/opt/rocm-5.1.0/llvm/bin/clang-14" -cc1 -triple x86_64-unknown-linux-gnu -aux-triple amdgcn-amd-amdhsa -Eonly -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name simpleTexture3D.cpp -mrelocation-model static -mframe-pointer=none -fmath-errno -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -v -fcoverage-compilation-dir=/home/pvelesko/space/HIPAMD/hipamd/build -resource-dir /opt/rocm-5.1.0/llvm/lib/clang/14.0.0 -w -dependency-file /home/pvelesko/space/HIPAMD/hipamd/build/CMakeFiles/directed_tests.texture.simpleTexture3D.dir/__/hip/tests/src/texture/directed_tests.texture.simpleTexture3D_generated_simpleTexture3D.cpp.o.depend.pre -MT simpleTexture3D.o -sys-header-deps -internal-isystem /opt/rocm-5.1.0/llvm/lib/clang/14.0.0/include/cuda_wrappers -internal-isystem /opt/rocm/include -include __clang_hip_runtime_wrapper.h -isystem /opt/rocm-5.1.0/llvm/lib/clang/14.0.0/include/.. -isystem /opt/rocm/hsa/include -isystem /gpfs/jlse-fs0/users/pvelesko/HIPAMD/hipamd/build/include -I /home/pvelesko/space/HIPAMD/hipamd/include -I /home/pvelesko/space/HIPAMD/hip/tests/src -I /home/pvelesko/space/HIPAMD/hip/tests/unit -I /home/pvelesko/space/HIPAMD/hip/tests/performance -I /home/pvelesko/space/HIPAMD/hipamd/include -I /home/pvelesko/space/HIPAMD/hip/tests/src -I/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/include -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7 -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/x86_64-suse-linux -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/backward -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7 -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/x86_64-suse-linux -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/backward -internal-isystem /opt/rocm-5.1.0/llvm/lib/clang/14.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /opt/rocm-5.1.0/llvm/lib/clang/14.0.0/include -internal-isystem /usr/local/include -internal-isystem /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O3 -std=c++11 -fdeprecated-macro -fdebug-compilation-dir=/home/pvelesko/space/HIPAMD/hipamd/build -ferror-limit 19 -fhip-new-launch-api -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -vectorize-loops -vectorize-slp -mllvm -amdgpu-early-inline-all=true -mllvm -amdgpu-function-calls=false -fcuda-allow-variadic-functions -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x hip /home/pvelesko/space/HIPAMD/hip/tests/src/texture/simpleTexture3D.cpp
clang -cc1 version 14.0.0 based upon LLVM 14.0.0git default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"

It's a bit concerning that I see multiple references to /opt/rocm since that directory didn't work for me during CMake.
Again, looking at hipconfig I see multiple references to /opt/rocm even though this should have been inherited from CMake as /opt/rocm-5.1.0 and placed in .hipvars.pm
hipconfig --full
HIP version  : 5.2.21152-4b155a06

== hipconfig
HIP_PATH     : /gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd
ROCM_PATH    : /opt/rocm
HIP_COMPILER : clang
HIP_PLATFORM : amd
HIP_RUNTIME  : rocclr
CPP_CONFIG   :  -D__HIP_PLATFORM_HCC__= -D__HIP_PLATFORM_AMD__= -I/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/include -I/opt/rocm/llvm/bin/../lib/clang/14.0.0 -I/opt/rocm/hsa/include

== hip-clang
HSA_PATH         : /opt/rocm/hsa
HIP_CLANG_PATH   : /opt/rocm/llvm/bin
AMD clang version 14.0.0 (https://github.com/RadeonOpenCompute/llvm-project roc-5.1.0 22114 5cba46feb6af367b1cafaa183ec42dbfb8207b14)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/rocm/llvm/bin
AMD LLVM version 14.0.0git
  Optimized build.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: znver2

  Registered Targets:
    amdgcn - AMD GCN GPUs
    r600   - AMD GPUs HD2XXX-HD6XXX
    x86    - 32-bit X86: Pentium-Pro and above
    x86-64 - 64-bit X86: EM64T and AMD64
hip-clang-cxxflags :  -std=c++11 -isystem "/opt/rocm-5.1.0/llvm/lib/clang/14.0.0/include/.." -isystem /opt/rocm/hsa/include -isystem "/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/include" -O3
hip-clang-ldflags  :  -L"/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/lib" -O3 -lgcc_s -lgcc -lpthread -lm -lrt

=== Environment Variables
PATH=/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/bin:/home/pvelesko/.pyenv/shims:/home/pvelesko/.pyenv/bin:/home/pvelesko/.pyenv/shims:/home/pvelesko/.pyenv/bin:/home/pvelesko/install/gdb-11.2/bin:/soft/packaging/spack-builds/linux-opensuse_leap15-x86_64/gcc-10.2.0/cmake-3.23.2-luxkr43atenuvdfpcpiwuuqy234kvtil/bin:/home/pvelesko/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/lpp/mmfs/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:/home/pvelesko/install/clang-tools/bin:/home/pvelesko/install/clang-tools/bin:/home/pvelesko/.local/bin:/home/pvelesko/bin
LD_LIBRARY_PATH=/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/lib64:/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd/lib
HIP_DIR=/gpfs/jlse-fs0/users/pvelesko/install/HIP/clang14/hipamd

== Linux Kernel
Hostname     : amdgpu00
Linux amdgpu00 5.3.18-150300.59.54-default #1 SMP Sat Mar 5 10:00:50 UTC 2022 (1d0fa95) x86_64 x86_64 x86_64 GNU/Linux
LSB Version:	n/a
Distributor ID:	openSUSE
Description:	openSUSE Leap 15.3
Release:	15.3
Codename:	n/a

I got the tests to compile:
make clean
export ROCM_PATH=/opt/rocm-5.1.0
make -j
make build_tests -j

Seems like the documentation is lacking a bit in this regard.

@pvelesko Hi, could we please close this ticket?


Nvidia and stuff fixes

Oopsies and stuff shoutout Simon Ser and ashaffer for help :)
hopefully fixes #9

merging as reported working thanks :)


Indus-Board-TouchLED Library

IndusBoardTouchLED.zip
Library to control LED using touch on Indus Board
Creator - Ashwini Kumar Sinha, Satywanti, Abhay Verma, Manjeet Vishwakarma
Link - https://indus.electronicsforu.com/
Keywords to control LED:
int readCapacitance();
bool touch();
void controlLED();

Hi @Satywanti. I'm not sure I understand the purpose of your issue.
Are you only trying to share the news of the availability of your library with the Arduino community? If so, the GitHub issue tracker is not an appropriate place for this. The issue tracker should only be used to submit formal bug reports or feature requests. The appropriate place for other communications and discussions is Arduino Forum, where we even have a dedicated "Libraries" category:
https://forum.arduino.cc/c/development/libraries/39

Or perhaps you intended to submit your library for inclusion in the Arduino Library Manager? If so, we have a formal system for submitting libraries. The instructions are here:
https://github.com/arduino/library-registry#adding-a-library-to-library-manager
Please let me know if you have any questions.
Regards, Per


[python] prepare for PyPI

type: PyPI (pypi), not pipy :)

I can do リファクタリング setup.py after merge.

@henry0312 can you refactor it base on this branch, then creat a PR to that branch?

@guolinke yes, I can, but I'll have been busy until the end of June.
So I think It's better to merge this PR for now.

@wxchan any comments?

Is it possible to remove --precompile and infer whether it's precompiled? like run find_packages first and see if it's an exception?

MANIFEST.in can be simplified a little:
warning: no files found matching '*.md'
warning: no files found matching '*' under directory 'include'
warning: no files found matching '*' under directory 'src'
warning: no previously-included files matching '*.o' found anywhere in distribution
warning: no previously-included files matching '*.obj' found anywhere in distribution
warning: no previously-included files matching '*.a' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution

build_pip.py seems not necessary? we can run python setup.py sdist directly

@wxchan
I think the default option should be re-compile since it is more safe if update the cpp codes.

ok, hope it wouldn't be confused to old users.
what is the getopt error you talked about yesterday?

@wxchan  fixed by adding this line: https://github.com/Microsoft/LightGBM/blob/ddcee1e011336d68046cde257589da2eb730a9bf/python-package/setup.py#L29

ok, no other issue.

@wxchan
after build the package, i try to install it via  pip install lightgbm-0.2a0.tar.gz.
But it shows a strange error : No files/directories in C:\Users\xxx\AppData\Local\Temp\pip-vfzusp1m-build\pip-egg-info (from PKG-INFO)
Do you have any idea about this ?


bug: IP is not loading

Issue

IP is not working actually and directly else block is invoking, also xhr.open() second argument has invalid API link.

This is an invalid issue, sorry for the inconvenienced caused.


Format error in Xcode when there are no diagnostics parsed

We sometimes receive complains from our developers due to the fact that a tool invoked through a custom rule or such fails without a descriptive error. Most of the times, this can be controlled by prefixing all error messages with error:  when being executed from inside Xcode, but in some cases it's not. For those cases, the current output in Xcode is pretty cryptic:

Many engineers don't seem to be aware that it's possible to reveal more information in the report navigator. For this reason, I propose adding an error message that suggests to do if no error was parsed in the log. The result is the following:

In case there are errors parsed instead (such as a compiler error), we don't do anything.

I'm happy to hear what people think about this change, and if others have encountered a similar problem.

I love little QoL improvements like this :heart:.


[BUG] package_general_metadata() can't find the categorical columns

Describe the bug
I am running into an issue where fitting on the training dataset and then transforming it and saving it is fine, but when I then try to transform + save the validation and test dataset, it fails.  Weirdly, it works when ran step by step in a Jupyter notebook environment, but it errors as a Job when it hits the to_parquet call with the following error.
Traceback (most recent call last):
 File "/usr/local/path/to/my/preprocess.py", line 77, in <module>
  main(sys.argv)
 File "/usr/local/path/to/my/preprocess.py", line 73, in main
  cars_preprocessor.preprocess()
 File "/usr/localpath/to/my/preprocessor.py", line 101, in preprocess
  self.fit_transform_features()
 File "/usr/local/path/to/my/preprocessor.py", line 132, in fit_transform_features
  self._transform_and_save(
 File "/usr/local/path/to/my/preprocessor.py", line 249, in _transform_and_save
  self.nvt_workflow.proc.transform(
 File "/nvtabular/nvtabular/io/dataset.py", line 897, in to_parquet
  _ddf_to_dataset(
 File "/nvtabular/nvtabular/io/dask.py", line 369, in _ddf_to_dataset
  out = client.compute(out).result()
 File "/root/.local/lib/python3.8/site-packages/distributed-2021.7.1-py3.8.egg/distributed/client.py", line 228, in result
  raise exc.with_traceback(tb)
 File "/usr/lib/python3.8/contextlib.py", line 75, in inner
  return func(*args, **kwds)
 File "/nvtabular/nvtabular/io/dask.py", line 210, in _write_subgraph
  return writer.close()
 File "/nvtabular/nvtabular/io/writer.py", line 313, in close
  _general_meta = self.package_general_metadata()
 File "/nvtabular/nvtabular/io/writer.py", line 252, in package_general_metadata
  data["cats"].append({"col_name": c, "index": self.col_idx[c]})
KeyError: 'my_categorical_column1'

The line 249 mentioned above in _transform_and_save looks like
self.nvt_workflow.proc.transform(dataset).to_parquet(
         output_path=output_path,
         out_files_per_proc=out_files_per_proc,
         shuffle=nvt.io.Shuffle.PER_PARTITION,
         dtypes=self.nvt_workflow.dict_dtypes,
         cats=self.nvt_workflow.final_cat_columns,
         conts=self.nvt_workflow.final_cont_columns,
         labels=self.nvt_workflow.label_cols,
)

I have checked that the transformed output looks correct. I have also tried setting a out_path in Categorify() but that did not have any effect. And it is especially weird because the training set is able to be transformed and saved correctly. In fact, the data itself is written out for the validation set (which I do a transform and to_parquet right after the training set), but the error comes out right after the data is written out and NVT tries to generate the metadata file for the validation set.
I have also checked that the variables being passed into dtypes, cats, conts, labels are correct. The my_categorical_column1 is the first item in the cats.
Could you provide guidance on how to debug this issue? I appreciate it a lot - thank you so much!
Environment details (please complete the following information):
Docker image built from the latest merlin-training:21.11 image released

@rnyak This sounds very similar to a problem you were running into.  Any guidance for Shoya?

@shoyasaxa Are you running any of our example notebooks and getting this error? if yes which one? if no, can you please add a simple reproducibility example with a synthetic dataset? Thanks.

Hi @rnyak! I am not running any of the example notebooks. I will try to create a synthetic dataset, but it may be hard. In the mean time, if any of the stack traces point to something wrong I may be doing - please let me know!

@shoyasaxa I am more interested in your ETL workflow script. It is hard to see what you are doing exactly in the stack above.
Can you provide a simple example code with your ETL pipeline? I need to see how you define the ops. And a simple small fake pandas or cudf dataset with 1-2 cats and conts columns would work I believe.
is the dataset in the self.nvt_workflow.proc.transform(dataset) the validation set?
Also, I am not sure how you define self.nvt_workflow.final_cat_columns, self.nvt_workflow.final_cont_columns, self.nvt_workflow.label_cols ? Note that, you wont get the final output column names from a workflow if you do not fit the workflow yet.

Hi @rnyak, after extensive testing, I found out that my out_files_per_proc I was passing into the to_parquet call was too big. Reducing it solved the problem. It is still peculiar how this worked in Jupyter notebook and not when ran as a job though.

So I think NVT somehow had a problem splitting up the validation dataset into 160 files (I set out_files_per_proc to 40 for this one, and I am using 4 GPUS so 40*4 = 160), though it had no problem splitting up and saving  the training dataset into 400 files. I think the error was saying “hey I saw thismy_categorical_column1  column in all of your other parquet part files, but I don’t see any for these last X files you want me to write out."
I understand why this would be an issue if our dataset was 159 rows and asking it to split it into 160 files, but that is not the problem here.

@rjzamora can you take a look?

Note that @jperez999 may have resolved this issue in #1301
@shoyasaxa - When you get some free time, could you let us know if you still have problems on the latest main branch?

@shoyasaxa - going to close this, let me know if this is still a problem

My apologies I missed this - and yes please feel free to close. Thank you!


Skim (not a issue )

What's the difference between fuzzy and skim. What is the benefit of skim over fuzzy?.I didn't really understand. Sorry for posting as a issue.

@RaWolFoX There is a 'Discussions' tab, not sure if you're aware, but that's best placed for questions like this. If Ellie or Conrad want to, they could convert this issue into a discussion. It's quite a cool feature, the Discussions tab, very useful for questions like yours.

They're different implementations of a similar thing, and "feel" different. Try them and see what you think!
We've released it as a bit of an experiment here, just to see whether it tends to behave better or worse

@RaWolFoX There is a 'Discussions' tab, not sure if you're aware, but that's best placed for questions like this. If Ellie or Conrad want to, they could convert this issue into a discussion. It's quite a cool feature, the Discussions tab, very useful for questions like yours.

👍🏻

How to just search exact word. Like if i search cd its shows all cd with long commands but insted just show cd only. How to do that😐🤔


Figure out worker-to-worker auth contexts

Now that @AggressivelyMeows confirmed that the cf-worker header can't be spoofed for incoming traffic, we should use this for authenticating service requests.  We should give it a different context, and as a non user role, we shouldn't allow certain permissions things, but this can start to allow us to require auth for many of the .do services ... even ones that have lots of dependencies

How should we maintain a list of zones? https://api-cf.drivly.workers.dev/zones lists all current zones and this can be imported into ctx.do, but we'll likely need to create a sync process to keep it updated. Calling the API directly probably isn't an option due to latency.

I don’t want to introduce any latency - so we probably need to add an array to ctx-do directly.  Also for space, we should maybe do an array of sld inside an array of tld … so first do and ly and then apis, and driv inside those …Sent from my iPhoneOn Apr 13, 2023, at 9:36 PM, sam-lippert @.***> wrote:
How should we maintain a list of zones? https://api-cf.drivly.workers.dev/zones lists all current zones and this can be imported into ctx.do, but we'll likely need to create a sync process to keep it updated. Calling the API directly probably isn't an option due to latency.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

https://lodash.do/get/zones/map/name/groupBy/split(.).last()/mapValues/map(split(.).first())/api-cf.drivly.workers.dev/zones
-[ ] Add list of zones to ctx.do
-[ ] Sync via github checkout v2 action

@nathanclevenger Why don't we use queues for worker-to-worker communication?

@sam-lippert I think we can - but it depends on whether the use case is sync or async ... if the caller needs a response to proceed then it needs to be blocking sync, but if the communication doesn't need the result to return it's own response - then it would definitely make sense


3D Shaders are always updating but not in 2D

Godot version
v4.1.1.stable.mono.official [bd6af8e0e]
System information
Godot v4.1.1.stable.mono - macOS 13.5.2 - Vulkan (Forward+) - integrated Apple M2 Pro - Apple M2 Pro (12 Threads)
Issue description
Shaders that have UV scrolling by time are always refreshing in 3D editor scene, but not in 2D editor scene.
Side note: I can also reproduce the bug on my Windows 10 I7-7700k 970 GTX 16Go RAM.
Steps to reproduce
You can create a simple visual shader with those nodes :

What it happens in 2D view, the material doesn't scroll, even if I move in the scene :

What it happens in 3D view, the material is always scrolling :

Actually, I don't know which behaviour is really intended. Due to performance lacks, I think the shader shouldn't update in the 3D view, or at least allow the view to refresh or not (like a "Always refresh" toggle option from the scene context top-left menu).
Minimal reproduction project
Project to reproduce the bug : GodotScrollShaderBug.zip

Is this not also related, in part, to 2D having repeat_enabled as false and  3D having repeat_enabled as true mentioned here ?


fix: Check if chart data in props is valid or not

Fixes #26325
Fixes #26548

/ok-to-test sha=3f67dac

Why do we need to perform this check on the widget, Can we do this in the validation itself?

Why do we need to perform this check on the widget, Can we do this in the validation itself?

@sbalaji1192
We have a check in the validation. But I don't why we are still getting undefined data. Last time this issue was fixed, I added checks in the validation only. The issue has regressed even then.

@rajatagrawal Let's figure out the root cause and fix this issue on the validation itself. From a widget perspective, it should always receive valid values for the properties defined in the property pane. We can ensure this by writing proper validation functions.
Ideally, the widget should not be firing sentry errors. We need to modify log.error to report the error to sentry as part of diff PR.