Composer cannot resolve an installable set of packages.

Problem 1
    - Installation request for jarednova/timber dev-master -> satisfiable by jarednova/timber[dev-master].
    - jarednova/timber dev-master requires jarednova/php-router 1.0.1 -> no matching package found.

jarednova/php-router is not in packagist, and also https://github.com/jarednova/PHP-Router does not have a tag release for 1.0.1 so I cannot force the issue with a vcs repository.
I've noted there is an explicit repository inside your composer.json but from the outside my install never gets the chance to look through it before it throws the unresolvable error

+1. This issue should be marked as a bug, as it makes timber not installable via composer.


Facebook Login problem

First of all, thanks for your project and effort. Second... sorry for my bad English.
I've tried letting the script get my token but it fails to log in, ironically Facebook detects the new Tinder session.
Now i'm trying to manually build a access_token.txt file, but i don't if i am making the syntax right or is just a script problem.
Would you mind to specify how the txt should look like?

It's a file named access_token.txt, with only the actual token string in it.
What error do you get when you try to log in?

I've also tried with my RasPi, different facebook account, and it prompts me the same result.
Traceback (most recent call last):
File "TndrAssistant.py", line 102, in
access_token = get_facebook_token(FACEBOOK_USER, FACEBOOK_PASSWORD)
File "TndrAssistant.py", line 86, in get_facebook_token
rb.submit_form(auth_form, submit=auth_form.submit_fields["CONFIRM"])
File "/usr/local/lib/python2.7/dist-packages/werkzeug/datastructures.py", line 757, in getitem
raise exceptions.BadRequestKeyError(key)
werkzeug.exceptions.BadRequestKeyError: 400: Bad Request

Just got by myself the token, now it works.


Release Google.Apps.Meet.V2Beta version 1.0.0-beta04

Changes in this release:
New features

Change netstandard2.1 target to netstandard2.0 (commit 82bea85)

Created release for Google.Apps.Meet.V2Beta-1.0.0-beta04


Invoice (and Credit) Numbers

Can we have
a) an invoice / credit number field
b) some way to setup invoice numbering (e.g. SINV_YYYY##)?
Also in many countries invoice and credit numbers need to be consecutive and and uneditable.

You can now sponsor the "Invoices support" addon from https://gravcart.com/addons


Expose ArrowWriter row group flush in public API

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
From what I have read predicate pushdown filtering in parquet works on row-group level, so in my case I should be able to optimize reads by manually closing row-group.
Describe the solution you'd like
Simply expose in ArrowWriter API flush_row_group method that flushes all buffered rows.
Describe alternatives you've considered
I have considered using SerializedFileWriter, however due to my lack of complete understanding of definition, repetition levels I would prefer to use high level API like ArrowWriter.

I don't see any issue with exposing this, more power to the user, however, some thoughts:

I wonder if you could just set the max row group size smaller if you want greater row group granularity
For compressible data, more row groups will likely lead to larger files, which might actually be slower to read
Similar to the above, the reader is designed to amortise per-row group costs over many rows. This works less well with smaller row groups
It is possible to prune at a more granular level, it just hasn't been implemented yet -  https://github.com/apache/arrow-rs/issues/1191

Really thank you for sharing your thoughts with me, I will keep it in mind.
In my case I have similar data structure to row-group and within such row-group I keep related data. In access path by manually sizing row-groups I would be able to grab exactly data that I am interested in. Maybe I would be able to achieve similar outcome with PageIndex, but it's not ready yet and I am a bit short on time.

Hi @tustvold, I wonder whether we need test case for new function or it can go without any because it has single line body that delegates all logic to the other functions ?


Deployment is failing

Describe the bug
I'm attempting to deploy the Industrial IoT resources using the following powershell command :
./deploy.cmd -authTenantId ab621f2f-3117-42c8-b171-XXXXXXXXXXXX -tenantId 10281b4c-6ed7-4b27-983a-XXXXXXXXXXXX -SubscriptionId ac3cefde-9ef5-47b1-b653-XXXXXXXXXXXX -version release/2.7.206 -resourceGroupName deaniot -resourceGroupLocation EastUS2 -applicationName deandeloitteiot
To Reproduce
Steps to reproduce the behavior:

I got the latest version using:
git clone -b release/2.7.206 https://github.com/Azure/Industrial-IoT

Execute:
./deploy.cmd -authTenantId ab621f2f-3117-42c8-b171-XXXXXXXXXXXX -tenantId 10281b4c-6ed7-4b27-983a-XXXXXXXXXXXX -SubscriptionId ac3cefde-9ef5-47b1-b653-XXXXXXXXXXXX -version release/2.7.206 -resourceGroupName deaniot -resourceGroupLocation EastUS2 -applicationName deandeloitteiot

tenant and application ids redacted

After some time power shell prompted me that the deployment failed and did I want to try again.
The error I returned was:

1:41:50 PM - The deployment 'azuredeploy' failed with error(s). Showing 3 out of 3 error(s).
Status Message: The template deployment 'platform' is not valid according to the validation procedure. The tracking id is 'c0c89f67-7dfe-4f7e-a4d1-bc24742143c3'. See inner errors for details. (Code: InvalidTemplateDeployment)
 - Validation failed for multiple resources. Check 'Error.Details[]' for more information. (Code: ValidationForMultipleResourcesFailed)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)

Status Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "error": {
    "code": "Conflict",
    "message": "A Workbook with the same name already exists within this subscription.",
    "innererror": {
      "trace": [
        "Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException"
      ]
    }
  }
} (Code:Conflict)

Status Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DeploymentFailed",
        "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
        "details": [
          {
            "code": "Conflict",
            "message": "{\r\n  \"error\": {\r\n    \"code\": \"Conflict\",\r\n    \"message\": \"A Workbook with the same name already exists within this subscription.\",\r\n    \"innererror\": {\r\n      \"trace\": [\r\n        \"Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException\"\r\n      ]\r\n    }\r\n  }\r\n}"
          }
        ]
      }
    ]
  }
} (Code:Conflict)

The first time it failed, i chose Y
After choosing Y to retry the first time powershell prompted me again that it failed and I selected N I did not want to retry.
Power shell output after I selected N:

New-AzResourceGroupDeployment : 1:41:50 PM - The deployment 'azuredeploy' failed with error(s). Showing 3 out of 3
error(s).
Status Message: The template deployment 'platform' is not valid according to the validation procedure. The tracking id
is 'c0c89f67-7dfe-4f7e-a4d1-bc24742143c3'. See inner errors for details. (Code: InvalidTemplateDeployment)
 - Validation failed for multiple resources. Check 'Error.Details[]' for more information. (Code:
ValidationForMultipleResourcesFailed)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries,
make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com
(Code:ContainerImageError)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries,
make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com
(Code:ContainerImageError)
Status Message: At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "error": {
    "code": "Conflict",
    "message": "A Workbook with the same name already exists within this subscription.",
    "innererror": {
      "trace": [
        "Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException"
      ]
    }
  }
} (Code:Conflict)
Status Message: At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DeploymentFailed",
        "message": "At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details.",
        "details": [
          {
            "code": "Conflict",
            "message": "{\r\n  \"error\": {\r\n    \"code\": \"Conflict\",\r\n    \"message\": \"A Workbook with the
same name already exists within this subscription.\",\r\n    \"innererror\": {\r\n      \"trace\": [\r\n
\"Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException\"\r\n      ]\r\n    }\r\n  }\r\n}"
          }
        ]
      }
    ]
  }
} (Code:Conflict)
CorrelationId: c75ede79-7b62-48c4-a509-e09a534d0fec
At C:\Code\Personal\IOT\Industrial-IoT\deploy\scripts\deploy.ps1:874 char:27
+ ... eployment = New-AzResourceGroupDeployment -ResourceGroupName $resourc ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-AzResourceGroupDeployment], Exception
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDep
   loymentCmdlet

Expected behavior
I expected the deployment to succeed
Screenshots
Here are the resources created at the point it failed:

Remaining items that deployed:

Desktop (please complete the following information):

Windows 10
The screen shot was from Chrome but the browser is not part of this deployment.
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Here is the entire command line output from powershell:
PowerShell 7.1.2
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.

   A new PowerShell stable release is available: v7.1.3
   Upgrade now, or check out the release page at:
     https://aka.ms/PowerShell-Release?tag=v7.1.3

PS C:\Users\derling> Disconnect-AzAccount
PS C:\Users\derling> Disconnect-AzAccount
PS C:\Users\derling> connect-AzAccount
PS C:\Users\derling> cd C:\Code\Personal\IOT\Industrial-IoT
PS C:\Code\Personal\IOT\Industrial-IoT> ./deploy.cmd -authTenantId ab621f2f-3117-42c8-b171-XXXXXXXXXXXXX -tenantId 10281b4c-6ed7-4b27-983a-XXXXXXXXXXXXXX -SubscriptionId ac3cefde-9ef5-47b1-b653-XXXXXXXXXXXXXX -version release/2.7.206 -resourceGroupName deaniot -resourceGroupLocation EastUS2 -applicationName deandeloitteiot
Az installed.
AzureAD installed.
Using 'release/2.7.206' version...
Signing in ...

WARNING: Unable to acquire token for tenant '98af6503-972e-4048-8ed9-428b2e0e9736'
WARNING: Unable to acquire token for tenant '98af6503-972e-4048-8ed9-428b2e0e9736'
WARNING: Unable to acquire token for tenant '98af6503-972e-4048-8ed9-428b2e0e9736'
To avoid logging in again next time, would you like to save your credentials? [y/n]: n
Azure subscription deanerling-subscription (ac3cefde-9ef5-47b1-b653-XXXXXXXXXXXX) selected.
Resource group 'deaniot' does not exist.
Created new resource group deaniot in eastus2.
Deployment will use 'release/2.7.206' branch in 'https://github.com/Azure/Industrial-IoT'.
Using release/2.7.206 images from mcr.microsoft.com.
Using Standard_B2ms as VM size for all edge simulation gateway hosts...
Using Standard_B1ms as VM size for all edge simulation hosts...

Registering client and services AAD applications in your tenant...
Selected Tenant 'deanerlinghotmail.onmicrosoft.com' as authority.
Created new AAD client application 'deandeloitteiot-client' in Tenant 'deanerlinghotmail.onmicrosoft.com'.
Created new AAD web app 'deandeloitteiot-web' in Tenant 'deanerlinghotmail.onmicrosoft.com'.
Created new AAD service application 'deandeloitteiot-service' in Tenant 'deanerlinghotmail.onmicrosoft.com'.
'deandeloitteiot-service' updated with required resource access, app roles and known applications.
User  already has all app roles assigned.
Admin consent granted to native client application.
'deandeloitteiot-client' updated with required resource access.
Admin consent granted to web application.
'deandeloitteiot-web' updated with required resource access.
Client and services AAD applications registered...

The following User and Password can be used to log into deployed VM's:

sandboxuser
Rf4.AZpS9GVz3rM

Starting deployment...
1:33:04 PM - The deployment 'azuredeploy' failed with error(s). Showing 1 out of 1 error(s).
Status Message: The template deployment 'platform' is not valid according to the validation procedure. The tracking id is '1517a4f0-91e9-4d0b-9301-851ad310bf98'. See inner errors for details. (Code: InvalidTemplateDeployment)
 - Validation failed for multiple resources. Check 'Error.Details[]' for more information. (Code: ValidationForMultipleResourcesFailed)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)

CorrelationId: 80f4743c-e5d6-4275-92a0-569114f8d6c2
Deployment failed.
Try again? [y/n]: y

The following User and Password can be used to log into deployed VM's:

sandboxuser
Rf4.AZpS9GVz3rM

Starting deployment...
1:39:10 PM - The deployment 'azuredeploy' failed with error(s). Showing 3 out of 3 error(s).
Status Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "error": {
    "code": "Conflict",
    "message": "A Workbook with the same name already exists within this subscription.",
    "innererror": {
      "trace": [
        "Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException"
      ]
    }
  }
} (Code:Conflict)

Status Message: The template deployment 'platform' is not valid according to the validation procedure. The tracking id is 'd14ac6a3-2d59-4e05-bbf6-202663530549'. See inner errors for details. (Code: InvalidTemplateDeployment)
 - Validation failed for multiple resources. Check 'Error.Details[]' for more information. (Code: ValidationForMultipleResourcesFailed)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)

Status Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DeploymentFailed",
        "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
        "details": [
          {
            "code": "Conflict",
            "message": "{\r\n  \"error\": {\r\n    \"code\": \"Conflict\",\r\n    \"message\": \"A Workbook with the same name already exists within this subscription.\",\r\n    \"innererror\": {\r\n      \"trace\": [\r\n        \"Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException\"\r\n      ]\r\n    }\r\n  }\r\n}"
          }
        ]
      }
    ]
  }
} (Code:Conflict)

CorrelationId: 6cdca0c9-9030-4c61-93c9-796645bbee74
Deployment failed.
Try again? [y/n]: y

The following User and Password can be used to log into deployed VM's:

sandboxuser
Rf4.AZpS9GVz3rM

Starting deployment...
1:41:50 PM - The deployment 'azuredeploy' failed with error(s). Showing 3 out of 3 error(s).
Status Message: The template deployment 'platform' is not valid according to the validation procedure. The tracking id is 'c0c89f67-7dfe-4f7e-a4d1-bc24742143c3'. See inner errors for details. (Code: InvalidTemplateDeployment)
 - Validation failed for multiple resources. Check 'Error.Details[]' for more information. (Code: ValidationForMultipleResourcesFailed)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries, make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com (Code:ContainerImageError)

Status Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "error": {
    "code": "Conflict",
    "message": "A Workbook with the same name already exists within this subscription.",
    "innererror": {
      "trace": [
        "Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException"
      ]
    }
  }
} (Code:Conflict)

Status Message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DeploymentFailed",
        "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
        "details": [
          {
            "code": "Conflict",
            "message": "{\r\n  \"error\": {\r\n    \"code\": \"Conflict\",\r\n    \"message\": \"A Workbook with the same name already exists within this subscription.\",\r\n    \"innererror\": {\r\n      \"trace\": [\r\n        \"Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException\"\r\n      ]\r\n    }\r\n  }\r\n}"
          }
        ]
      }
    ]
  }
} (Code:Conflict)

CorrelationId: c75ede79-7b62-48c4-a509-e09a534d0fec
Deployment failed.
Try again? [y/n]: n
Delete resource group? [y/n]: n
New-AzResourceGroupDeployment : 1:41:50 PM - The deployment 'azuredeploy' failed with error(s). Showing 3 out of 3
error(s).
Status Message: The template deployment 'platform' is not valid according to the validation procedure. The tracking id
is 'c0c89f67-7dfe-4f7e-a4d1-bc24742143c3'. See inner errors for details. (Code: InvalidTemplateDeployment)
 - Validation failed for multiple resources. Check 'Error.Details[]' for more information. (Code:
ValidationForMultipleResourcesFailed)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries,
make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com
(Code:ContainerImageError)
   - Repository/Tag is invalid.  Could not find the specified image name and tag combination.  For private registries,
make sure you are prepending the image name with the server hostname. https://mcr.microsoft.com
(Code:ContainerImageError)
Status Message: At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "error": {
    "code": "Conflict",
    "message": "A Workbook with the same name already exists within this subscription.",
    "innererror": {
      "trace": [
        "Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException"
      ]
    }
  }
} (Code:Conflict)
Status Message: At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details. (Code: DeploymentFailed)
 - {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "DeploymentFailed",
        "message": "At least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details.",
        "details": [
          {
            "code": "Conflict",
            "message": "{\r\n  \"error\": {\r\n    \"code\": \"Conflict\",\r\n    \"message\": \"A Workbook with the
same name already exists within this subscription.\",\r\n    \"innererror\": {\r\n      \"trace\": [\r\n
\"Microsoft.AppInsights.Nexus.ResourceStore.ResourceStoreException\"\r\n      ]\r\n    }\r\n  }\r\n}"
          }
        ]
      }
    ]
  }
} (Code:Conflict)
CorrelationId: c75ede79-7b62-48c4-a509-e09a534d0fec
At C:\Code\Personal\IOT\Industrial-IoT\deploy\scripts\deploy.ps1:874 char:27
+ ... eployment = New-AzResourceGroupDeployment -ResourceGroupName $resourc ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-AzResourceGroupDeployment], Exception
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDep
   loymentCmdlet

PS C:\Code\Personal\IOT\Industrial-IoT>

I was finally able to get it to work using the following command.
deploy.cmd -version latest
i realize now I was using the wrong value for the version.   The documentation or the name of this parameter are not very good.
However, It was still failing with the correct value in -version when I specified a the tenant id.
when I specified a tenant i was still getting the error
"A Workbook with the same name already exists within this subscription.",


need to do something about JSON.stringify() and JSON.parse()

external libraries are gonna expect JSON.stringify() and JSON.parse() to have the normal not insane api

talked to fayti
fayti suggested that we have a custom package.json flag "hackmudJSONWrapAware": true
this would mean that when looking at an imported module, we find the associated package.json and we decide what to do with the JSON.stringify() and JSON.parse() references based on the flag

for now I think I'll make hsm assume that imported modules do not know about hackmud's special JSON.stringify() and JSON.parse() and make it translate them to the o variants


[T4A4][T13-B1] Hong Bangwu

I guess I know the issue with your multiple files in the same PR. For now it is ok! No need to re-submit.
However going forward, avoid accumulating unrelated changes into a single PR.
Tip: If you are currently on branch1 and want to create a new branch2, you need to switch back to master branch before creating branch2. If not, changes in branch1 will appear in the PR created from branch2 later.

@bangwu93
Some comments added. Please ack & close the PR after reading comments.


Finding nREPL port file from your current file, not CWD, stopped working

Should be a simple fix, just comes from the recent file finding code changes which did improve things but changed this behaviour. I'll get it fixed soon!

Can't actually reproduce this in testing which is fun... 🤔


Use proc_macro::is_available() instead of panic for proc macro detection

We currently rely on a catch_unwind to detect whether Span::call_site() works, i.e. whether we are executing inside of a procedural macro as opposed to any other binary.
https://github.com/alexcrichton/proc-macro2/blob/eed1e2fe228a7b26241847c2b1a79031abab59e8/src/wrapper.rs#L77
Unfortunately this is incompatible with using proc-macro2 (or quote, syn) in a non-macro way inside of binaries that are built with panic=abort, as they will just abort on that line.
https://github.com/rust-lang/rust/issues/71436 adds a proc_macro::is_available() function to do this detection in a way that no longer relies on panicking.
Once the first 1.45-beta release is available, we should add some detection in build.rs to begin using proc_macro::is_available() on dev compiler builds.

For now, #220 allows a workaround for some of the need for this. Non-macros that want to support panic=abort can call proc_macro2::fallback::force() to bypass the panicking codepath in proc macro detection.

FYI: proc-macro2 1.033 gives me "error[E0658]: use of unstable library feature 'proc_macro_is_available'" on MacOs ARM nightly 2021-12-04.
  --> /Users/eadf/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.33/src/detection.rs:28:21
   |
28 |     let available = proc_macro::is_available();
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^

proc-macro2 1.0.32 works fine.


Correctly mark validations as full or partial

Correctly set kFullFlag in STValidation constructor
Include validation type (full or partial) in subscription stream

Current coverage is 67.56%

Merging #1595 into develop will increase coverage by +0.01% as of fb4f27f

@@            develop   #1595   diff @@
=======================================
  Files           898     898
  Stmts         65391   65393     +2
  Branches          0       0
  Methods           0       0
=======================================
+ Hit           44173   44184    +11
  Partial           0       0
+ Missed        21218   21209     -9

Review entire Coverage Diff as of fb4f27f

Powered by Codecov. Updated on successful CI builds.

Suggest: Append a colon to the end of the first line of the commit message, and make sure the second line of the commit message is a blank line.

Changes look good
:+1:

Left suggestion, not holding back. :+1:

The changes look good, but I'm concerned that reversing the flag set logic (even though it's a correction) will have unintended consequences. I can't find any, but I thought I'd mention it.

The changes look good. I echo @ximinez's concern re: flag inversion.

I did a little more digging, and as far as I can find, there are 3 calls to STValidation::isFull

In NetworkOPsImp::pubValidation. New, added by this PR.
In ValidationsImp::getValidationTypes. Not referenced / called.
In ValidationsImp::getLoadRatio. Not reference / called.

So I guess this change is safe after all, at least within the scope of rippled. Might not hurt to remove those two unused functions.

@ximinez The correction Brandon made to the ctor seems correct. As you mentioned, isFull is not used otherwise Validations may not have behaved as intended.

:+1:


[RDK-43293] L2 framework for rdkservices

Draft L2 test framework POC for rdkservices

Copyright scan failure
Commit: 4497d74987fb386223ecfdd2b830a2f1e8822d3b
Report detail: https://gist.github.com/rdkcmf-jenkins/960a9d1cd36c82dd9e78f2cbc37d622b

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 6 files pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4358/rdkcentral/rdkservices

Commit: 4497d74987fb386223ecfdd2b830a2f1e8822d3b

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4358/rdkcentral/rdkservices

Commit: ec8ee860cc67c6f37e1f91662f46f9235a270bf4

Report detail: gist

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/4358/rdkcentral/rdkservices

Commit: ec8ee860cc67c6f37e1f91662f46f9235a270bf4

Report detail: gist

Hi: The code matches are OK, but please will you insert full headers on all your new code files (including make files).
Thanks!
Martin Hughes, RDK CMF Compliance Team

Closing older PRs. Pls bring it to latest sprint/main branches if required.


RFE: egress nat gateway

Proposal / RFE
The proposal is the support egress nat gateway so the egress traffic could have a reliable source IP address.
The detailed proposal is captured in this doc: https://docs.google.com/document/d/1O0xJLy43KnBBOdjLEM-Xu6KHaRK6lb4kchnJ5nIrPmE/edit#
PRs

[x] Add ebpf map cilium_egress_v4 for egress gateway (#14712)
[x] Support Mixed Mode (tunnel, and direct-routing) (#14723)

[ ] Handle MTU adjustment for mixed mode

[x] Add ebpf datapath for egress gateway (#14830)
[x] Add CRD for egress gateway (#14998)
[x] Add watchers and reconcilers for CRD and write them to ebpf map (#15134)
[x] Add Options (agent options and helm options) and make it visible to users (#15777)
[ ] Add e2e test (#15444)
[x] Update documentation (TODO)
[ ] Add cilium bpf egress delete all (TODO)

FWIW, other previous related issues:

https://github.com/cilium/cilium/issues/9589
https://github.com/cilium/cilium/issues/13269

Thanks for adding the list of PRs @anfernee! This will be great to track the high-level overview as we review and merge the PRs :rocket:

Add ebpf datapath for egress gateway

I would recommend to send this piece as soon as possible. If we ever run into complexity issues, it will take some time to resolve.

Support Mixed Mode (tunnel, and direct-routing)

For that item, I suspect it will be as easy as just setting up the cilium_vxlan device if tunneling OR egress gateway are enabled.

Add VIP to gateway mapping

What is this referring to? I assumed the VIP to gateway mapping was already stored in the BPF map.
Is there any of the above PRs which you don't know yet how to approach? We're happy to provide additional pointers into the code if that helps.

Thanks for adding the list of PRs @anfernee! This will be great to track the high-level overview as we review and merge the PRs :rocket:

Add ebpf datapath for egress gateway

I would recommend to send this piece as soon as possible. If we ever run into complexity issues, it will take some time to resolve.

Support Mixed Mode (tunnel, and direct-routing)

For that item, I suspect it will be as easy as just setting up the cilium_vxlan device if tunneling OR egress gateway are enabled.

Add VIP to gateway mapping

What is this referring to? I assumed the VIP to gateway mapping was already stored in the BPF map.
Is there any of the above PRs which you don't know yet how to approach? We're happy to provide additional pointers into the code if that helps.

Thanks for adding the list of PRs @anfernee! This will be great to track the high-level overview as we review and merge the PRs 🚀

Add ebpf datapath for egress gateway

I would recommend to send this piece as soon as possible. If we ever run into complexity issues, it will take some time to resolve.
This will come soon. Probably over the weekend.

Support Mixed Mode (tunnel, and direct-routing)

For that item, I suspect it will be as easy as just setting up the cilium_vxlan device if tunneling OR egress gateway are enabled.
Yes, it is. #14723 is a preparation to the change.

Add VIP to gateway mapping

What is this referring to? I assumed the VIP to gateway mapping was already stored in the BPF map.
Yes, it is. Besides that, on the gateway side, the VIP needs to be programmed on external NIC, so the return traffic knows how to get back.

Is there any of the above PRs which you don't know yet how to approach? We're happy to provide additional pointers into the code if that helps.
@MasterZ40 and I have gone through the code base. I think we have a good idea. If we need help, we'll ping you on slack. Thanks for the offer.

Thanks for adding the list of PRs @anfernee! This will be great to track the high-level overview as we review and merge the PRs 🚀

Add ebpf datapath for egress gateway

I would recommend to send this piece as soon as possible. If we ever run into complexity issues, it will take some time to resolve.
This will come soon. Probably over the weekend.

Support Mixed Mode (tunnel, and direct-routing)

For that item, I suspect it will be as easy as just setting up the cilium_vxlan device if tunneling OR egress gateway are enabled.
Yes, it is. #14723 is a preparation to the change.

Add VIP to gateway mapping

What is this referring to? I assumed the VIP to gateway mapping was already stored in the BPF map.
Yes, it is. Besides that, on the gateway side, the VIP needs to be programmed on external NIC, so the return traffic knows how to get back.

Is there any of the above PRs which you don't know yet how to approach? We're happy to provide additional pointers into the code if that helps.
@MasterZ40 and I have gone through the code base. I think we have a good idea. If we need help, we'll ping you on slack. Thanks for the offer.

I think we'll also need a Helm flag for the EnableEgressGateway agent flag introduced in https://github.com/cilium/cilium/pull/14723. It's lower priority though.

Have we thought at all about the fact that different cloud providers have built-in egress gateways for their services?

Have we thought at all about the fact that different cloud providers have built-in egress gateways for their services?

I've thought about it. Some have this, most don't, and it's not available at all in a bare metal or private cloud environment. If you're running services in a cloud provider that has this support (AWS VPC with a NAT gateway, for example), then cool. Same if you're running Istio. But if you're not in that environment and you need this feature, then you still need the feature. It does nothing to say that it's available in a location where your systems are not located.
Even if you are in that environment, it doesn't preclude the need to control where in the Kubernetes cluster the traffic exits to the LAN in general. It's a perfect use case for the CNI to handle.

Originating  from https://github.com/cilium/cilium/pull/15134#issuecomment-806281492
Here are the list of items we are planning to improve on the egress nat control plane post v1.10:

[ ] Collate lower level error cases and log msgs to give user a clearer messaging. (addressed)
[ ] Combine similar logic and data structure for EgressNATPolicy and LocalRedirectPolicy
[ ] Add unit tests for egresspolicymanager callbacks
[ ] Investigate and possibly switch to endpoint watcher callbacks to avoid watching for pod data globally and improve on scaling performance.

We're still missing the end-to-end tests, so not stale.

Since we now have e2e tests, maybe worth closing this and tracking individual remaining tasks? (Also not sure we really need bpf egress delete all)


Blueprint for weather

Enhance the current BP_Sky in CARLA by optimizing it and adding new features such as volumetric clouds

Currently, it's on hold because we believe the new BP is essentially replicating the functionality of the previous one, and the changes made can also be applied to the old BP_Sky. We need to talk to Marcel to ensure that the new BP_Sky isn't actually introducing anything new that the previous one can't also incorporate.


SetupTools overwriting accounts.js settings when in bypass

SetupTools configuration is still used even tho it is in bypass mode. This is necessary to support passive features built on SetupTools.
After loading in the configuration, if SetupTools is disabled it should replay the accounts.js settings over the client configuration if they exist.

Pushed to master in v0.8.1-3.


Performance of block_order_op_nodes

What is the expected feature or enhancement?
Scheduling/padding passes which use the block_order_op_nodes function are significantly slower than those that do not. In particular, this block is particularly slow, due to repeated calls of dag.descendants and isinstance.
In this 20 qubit by 20 depth example:

transpiling with the standard qiskit scheduling/padding passes takes about 0.5s, whereas
transpiling with the qiskit-ibm-runtime equivalents takes 13.4s.

The profiling figures below suggest that the difference is due to the block_order_op_nodes function, which is needed for block synchronization.
Running with qiskit-ibm-runtime's passes

Running with qiskit passes

Acceptance criteria

I've also tried running it on a similar 50q example, the standard qiskit passes took 5s, and the qiskit-ibm-runtime ones have been running for 15m.. ⏳

@mtreinish @jakelishman


Changelog is generated even if an external file is specified

Steps to Reproduce

Set an external changelog file in a GitHub release section

Expected Behaviour
No changelog should be generated.
JReleaser should check that the external file exists during dry-run.
Actual Behaviour
Changelog is generated.
JReleaser doesn't check that the external file exists during dry-run.

I can't replicate this error with JReleaser 1.2.0.

git clone https://github.com/aalmiray/foobar.git
edit jreleaser.yml so that the release section looks like this

release:
  github:
    overwrite: true
    sign: true
    discussionCategoryName: Announcements
    changelog:
      external: CHANGELOG.md
      preset: conventional-commits
      formatted: ALWAYS
      format: '- {{commitShortHash}} {{commitTitle}}'
      contributors:
        format: '- {{contributorName}}{{#contributorUsernameAsLink}} ({{.}}){{/contributorUsernameAsLink}}'

Create a file named CHANGELOG.md at the root with

## Changelog

 - Fixed stuff

Run jreleaser changelog -g

[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2022-09-24T14:57:11.769714-05:00
[INFO]  HEAD is at 4df324c
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Reading changelog from CHANGELOG.md
[INFO]  Generating changelog: out/jreleaser/release/CHANGELOG.md
[DEBUG] ## Changelog

 - Fixed stuff

[INFO]  Calculating checksums

Run jreleaser release --dry-run.

The changelog at out/jreleaser/release/CHANGELOG.md matches the content of CHANGELOG.md at the root.

In my config, I use the jreleaser-maven-plugin in a module of a multi-module Maven project.
The external changelog is located on parent/root project and is specified like that:
<external>${project.basedir}/../CHANGELOG.md</external>

Aha, then I guess what could happen is that the value of <external> is resolved to a blank string but that would be really hard given the explicit value you've shown. The maven plugin uses the same model classes as core (in `v1.2.0) thus testing on CLI should yield the same results as testing with the maven plugin. Something else may be at play here.

After some digging, I think that the changelog is generated by the ChangelogWorkflowItem whatever the content of JReleaserContext.

I'm unable to reproduce the problem with 1.2.0.

Strange.
Here is a way to reproduce the problem from a real project:

clone the project https://github.com/nbbrd/picocsv
set the env var JRELEASER_GITHUB_TOKEN to a dummy value such as 123
run the command mvn clean install -DskipTests -Pfull-release -Djreleaser.dry.run
the generated changelog target\jreleaser\release\CHANGELOG.md is different from the expected changelog target\CHANGELOG.md

Note that the GitHub release page has the expected changelog.

Found the issue. Thank you for the reproducer! 😅

Released in v1.3.0 -> https://github.com/jreleaser/jreleaser/releases/tag/v1.3.0


Duplicate URLs are wrong

When regenerating URLs for duplicate categories, it throws an error like this:
Duplicated url for store ID 0, category 1278 (Sale & Auslaufartikel) - URL key for specified store already exists. Generated URLs:
sale-auslaufartikel/_1

Shouldn't this duplicate URL be sale-auslaufartikel_1 instead of sale-auslaufartikel/_1?

Hard to say without knowing the categories. It looks like its creating a subcategory with the slug _1. I guess you're referring to the way Magento handles duplicate URLs by adding a counter at the end, but in that case it would be a dash (-) instead of an underscore before the number.

We have two categories with the same name and the same url (Sale & Auslaufartikel) in our db. It generates the URL for the first category and the throws the error above and doesn't put the url it said it generated (sale-auslaufartikel/_1) into the database.
It seems like this url gets generated somewhere in Console/Command/RegenerateCategoryUrlCommand.php:185.

Well the only thing this extension does is trigger the regeneration, not actually regenerate the URLs. That's Magento's responsibility so I think you should look a bit deeper for the true cause.

Closing for now.


[tool_crash] FileSystemException: Cannot delete file, OS Error: Permission denied, errno = 13

Command
flutter run

Steps to Reproduce

...
...
...

Logs
FileSystemException: Cannot delete file, OS Error: Permission denied, errno = 13
#0      _File.throwIfError (dart:io/file_impl.dart:635:7)
#1      _File._deleteSync (dart:io/file_impl.dart:298:5)
#2      FileSystemEntity.deleteSync (dart:io/file_system_entity.dart:408:7)
#3      ForwardingFileSystemEntity.deleteSync (package:file/src/forwarding/forwarding_file_system_entity.dart:70:16)
#4      ForwardingFileSystemEntity.deleteSync (package:file/src/forwarding/forwarding_file_system_entity.dart:70:16)
#5      ErrorHandlingFileSystem.deleteIfExists (package:flutter_tools/src/base/error_handling_io.dart:82:12)
#6      Target.clearStamp (package:flutter_tools/src/build_system/build_system.dart:166:29)
#7      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:857:19)
<asynchronous suspension>
#8      FlutterBuildSystem.buildIncremental (package:flutter_tools/src/build_system/build_system.dart:669:16)
<asynchronous suspension>
#9      ResidentRunner.runSourceGenerators (package:flutter_tools/src/resident_runner.dart:928:18)
<asynchronous suspension>
#10     HotRunner.run (package:flutter_tools/src/run_hot.dart:325:7)
<asynchronous suspension>
#11     RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:656:26)
<asynchronous suspension>
#12     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1043:27)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     CommandRunner.runCommand (package:args/command_runner.dart:196:13)
<asynchronous suspension>
#15     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:284:9)
<asynchronous suspension>

[✓] Flutter (Channel stable, 2.2.3, on macOS 12.1 21C52 darwin-arm, locale zh-Hans-CN)
    • Flutter version 2.2.3 at /usr/local/flutter
    • Framework revision f4abaa0735 (6 months ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/zhangzaocha/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /usr/local/opt/android-sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.2.1, Build version 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.32.0

[✓] Connected device (4 available)
    • LND AL30 (mobile)           • 73EBB18702229140                     • android-arm64  • Android 8.0.0 (API 26)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 12 (API 31)
      (emulator)
    • iPhone 13 (mobile)          • 4D455D7A-7831-496E-B3EC-01F78A939016 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome
      97.0.4692.71

• No issues found!

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: f4abaa0735eba4dfd8f33f73363911d63931fe03

@zaocha321
Can you upgrade to latest stable and try again to see if you still get same exception ?


$response->result return null

sometimes $response->result  return null.

Thanks! New release tagged


Casting nullable fields

Perhaps casting types should support nullable fields in order not to change the expected output value.
Issue

Casting nullable fields to integer, real, float or double changes the output value to 0 (zero);
Casting nullable fields to stringchanges the output value to "" (empty).

Scenario
Consider you have the model below that is a representation of a mobile phone, where the null "carrier_id" represents there is a job pending to find the phone's carrier.
{
    "id": 1,
    "carrier_id": null,
    "country_id": 55,
    "area": 11,
    "number": 987654321
}

Using the following casts:
protected $casts = [
    'id' => 'integer',
    'carrier_id' => 'integer',
    'country_id' => 'integer',
    'area' => 'integer',
    'number' => 'integer'
];

When you output your model (without the suggested changes) you will get:
{
    "id": 1,
    "carrier_id": 0,
    "country_id": 55,
    "area": 11,
    "number": 987654321
}

With the suggested changes you will get the correct expected output:
{
    "id": 1,
    "carrier_id": null,
    "country_id": 55,
    "area": 11,
    "number": 987654321
}

Interesting. Could you add some tests please?

I have some points here:

The change should be done for all types, not only int, float and string.
There are different points of view on this issue - Personally, I don't like this change because we do not describe our schema in $casts property.
We describe how we want to cast our data instead.
And if we explicitly asked to cast data to int why should we get null?
I can also propose this making casting behaviour configurable per model and/or globally. Not sure if it's a good idea or not

Or something like this to describe nullable?
'carrier_id' => 'integer|null',

@barryvdh 's solution would seem more inline to me with how Laravel usually declares rules (like for validation) etc

@barryvdh Yup, even better :+1:

FYI, this is how it was done in jsonmapper: https://github.com/netresearch/jsonmapper/commit/c83043716f5be254a2a46d4816ade2ccc313589c
Not sure if there are more efficient ways.

My point was not mutate the value, only represent it as it is on database.
If an integer fields should not support null as @Arrilot mentioned, then the field should not be nullable on the database in the first place.
The situation I represented covers the scenario when you are reading from the database and needs to make sure the values are represented properly.
If in some situations you need to mutate the value then a mutator should be created.

@GrahamCampbell, I've added some tests.

@barryvdh using integer|null seams to be an alternative. In my point of view it's not necessary because a believe you should restrict fields to not accept null on database.
As a said before, my idea was only to represent the correct value the model got from the database.

@GrahamCampbell done

i'm afraid of being annoying, but ...

My point was not mutate the value, only represent it as it is on database. If in some situations you need to mutate the value then a mutator should be created.

@rwillians Your point of view diverges from the official documentation http://laravel.com/docs/5.0/eloquent#attribute-casting

The change should be done for all types, not only int, float and string.

This is still valid.
protected $casts = ['some_field_that_is_null' => 'string']; => null

protected $casts = ['some_field_that_is_null' => 'array']; => []

This is really inconsistent
And, btw this whole implementation is a decent BC break and should probably go to 5.1 branch
@barryvdh 's proposal is BC friendly
cheers

@Arrilot, I sincerely don't see how this diverges from the official cast documentation (or at least its purpose). I might be wrong but in my understanding "cast" should help you change a value's type not the value itself, but that's what is happening (please read the scenario described in the proposal).
You made me thinking and in my conclusion you're right about being inconsistent handling nulls only for integer, float and string. I will implement my proposal to handle it for boolean as well (not necessary handle for array since the json_encode/json_decode already does that).
My point (again) is: converting a null into a 0 or an "" (empty) is changing the value and not the value's type and doesn't represents the real value stored on the database. That's what my proposal is fixing.
I'm sorry my ignorance but I don't see how this breaks BC.

I think if do it this way, then we should return null as is for everything: check for null before the switch statement, and if it's null return it.

@rwillians I'm glad I helped you a little

I'm sorry my ignorance but I don't see how this breaks BC

Some ppl (like me) may think that the current behavior is correct and if they for some reason have strict checks in their code e.g.
if ($user_id !== 0) {...}

their code will be broken after composer update.
Not the biggest problem in the world ofc, but should be taken in consideration imho

@Arrilot I see your point, thank you.
I just think you meant:
if ($user_id != 0) {...}

Right?
Because if you are actually expecting integer 0 (zero) it would be your logic error not Laravel's, therefore this PR wouldn't break BC. And if you meant != it would still work with null.
What do you think?

@JosephSilber agreed.

@rwillians why would !== be an error in user-code logic?
If you know you'll be dealing with an integer, doing a strict type check seems quite reasonable.

@JosephSilber because the scenario this PR is fixing if for a field that can be nullable.
If @Arrilot meant !== in my point of view it is his logic fault not handling the null situation.
If he meant != there will be no BC break and will work perfectly.

For the record, I do like this solution more than @barryvdh's. But being that this is a BC breaking change, it should go to 5.1.
This is actually what I've been doing in my own base model class:
protected function castAttribute($key, $value)
{
    if (is_null($value)) return null;

    return parent::castAttribute($key, $value);
}

This looks good now, but...

There's no need for this completely new test file. You can just add the null tests to this.
Your whitespace is again wrong. There should be no spaces inside the parentheses of the conditional.
Squash those 11 commits down into 1.
Close this PR and  open a new one against master.

Good luck!

@mattwells' solution #7531 (as well suggested before by @barryvdh) seems to be a nicer solution since it would not break BC. Therefore, I'm closing this PR.
Thanks for the help!

@taylorotwell while I love this feature (and currently use it myself), this is a BC breaking feature that I think should go to 5.1

It's a bug fix.
On Fri, Feb 20, 2015 at 10:24 AM, Joseph Silber<EMAIL_ADDRESS>wrote:

@taylorotwell https://github.com/taylorotwell while I love this feature
(and currently use it myself), this is a BC breaking feature that I think
should go to 5.1
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/7507#issuecomment-75266309.


PHP 7.2 + QA Tools + Docs - follow up #5, #8, #9

Close #5
Close #8
Close #9
Resolves #12
Dropped PHP 5.5 and HHVM, added PHP 7.1 and 7.2.

Changes Unknown when pulling c2881f471feaea0a28038c390076108d8b8d523a on webimpress:updates into ** on zendframework:develop**.

Changes Unknown when pulling 76a22f1c91c6b84ba439d8dc8eb0bdad43caa997 on webimpress:updates into ** on zendframework:develop**.

Changes Unknown when pulling 23631d4fd6db29fa47de8dad711652bb9b9aed40 on webimpress:updates into ** on zendframework:develop**.

Changes Unknown when pulling 122c6d502bd9cea4382e108b62b014aa98a14dc6 on webimpress:updates into ** on zendframework:develop**.

Changes Unknown when pulling 8f6fb1df062572521998138d205f7e161bb086c8 on webimpress:updates into ** on zendframework:develop**.

Thanks, @webimpress!


No ReceiveBeginPlay event in subclasses

I notice there is no way to implement a begin_play event call in python in a subclass of Actor.
I am using python2.7 64bit version.
    import unreal_engine as ue
    from unreal_engine.classes import Character
    class MyCharacter(Character):
         def __init__(self):
               #Exception: unable to find property ReceiveBeginPlay
               self.bind_event("ReceiveBeginPlay", self.begin_play)

              #no "ReceiveBeginPlay" in this list
              ue.log(self.properties())

         # not working because no property called "ReceiveBeginPlay"
         # LogPython: unable to add function
         # 'module' does not have attribute 'signatuer'            //inspect.signature only available in python3
         def ReceiveBeginPlay(self):
               self.begin_play()

         def begin_play(self):
               ue.log("MyCharacter.begin_play")

Hi, subclassing only works in python3 (it requires type annotations). For python2 you have to use the classic proxy pattern

but it kind of works in python2 after manually add qualname_ to the class, except for not being able to do add_function. bind_event should work , but it couldn’t find ‘ReceiveBeginPlay’ as property.
I’ll try changing ReceiveBeginPlay in AActor from protected to public.
发自我的 iPhone

在 2018年9月12日，23:46，Roberto De Ioris<EMAIL_ADDRESS>写道：
Hi, subclassing only works in python3 (it requires type annotations). For python2 you have to use the classic proxy pattern
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Exactly, you cannot add functions.


refactor(assets): API cleanups

BREAKING CHANGE: AssetProps.packaging has been removed and is now automatically discovered based on the file type.

assets: ZipDirectoryAsset has been removed, use Asset.
assets: FileAsset has been removed, use Asset.
lambda: Code.directory and Code.file have been removed. Use Code.asset.

Pull Request Checklist

[x] Testing

Unit test added (prefer not to modify an existing test, otherwise, it's probably a breaking change)
CLI change?: coordinate update of integration tests with team
cdk-init template change?: coordinated update of integration tests with team

[x] Docs

jsdocs: All public APIs documented
README: README and/or documentation topic updated
Design: For significant features, design document added to design folder

[x] Title and Description

Change type: title prefixed with fix, feat and module name in parens, which will appear in changelog
Title: use lower-case and doesn't end with a period
Breaking?: last paragraph: "BREAKING CHANGE: <describe what changed + link for details>"
Issues: Indicate issues fixed via: "Fixes #xxx" or "Closes #xxx"

[x] Sensitive Modules (requires 2 PR approvers)

IAM Policy Document (in @aws-cdk/aws-iam)
EC2 Security Groups and ACLs (in @aws-cdk/aws-ec2)
Grant APIs (only if not based on official documentation with a reference)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

We're basically blocking all opportunities to extend Assets by bringing you own implementation... Conversely, this means Docker images can no longer be assets... I'm not sure this is a big deal or not, but somehow I'd really like those based off of the same mechanisms...

A good point about semantics... Docker images are still assets from the cloud assembly perspective, but you are right that calling this class Asset makes this confusing. I am wondering if perhaps we should rename this to S3Asset, since basically that's the point - it's a local file that is uploaded to S3... Maybe this means that we need to rename the module as well?

I'm favorable to renaming here if we want to tighten up the semantics. We still will need the staging behavior to be shareable... Anything that copies directories to the staging area needs to have the same inclusion/exclusion/symlink behavior...

@RomainMuller @rix0rrr please take another look. I've reorganized the assets modules to:

@aws-cdk/assets: core types related to assets such as filesystem operations and staging
@aws-cdk/aws-s3-assets: file assets deployed to s3
@aws-cdk/aws-ecr-assets: docker assets deployed to ecr
@aws-cdk/assets-docker: deprecated


AERIE-2041 - TS convert functional programing UNIT to {}

Tickets addressed: AERIE-2041
Review: By commit
Merge strategy: Merge (no squash)

Description
In the mission model, the activity's effect model that doesn't return a computed attribute (aka void run() method of the activity) uses UNIT which represents a non-null empty value. This is used internally by AERIE
https://en.wikipedia.org/wiki/Unit_type
This UNIT value will be exposed to our users when command authoring. Our users are not functional programmers so this causes confusion.
This will change the computed attribute to {} which makes more sense to the user.
Verification
Ran the command expansion test locally without any issues
Documentation
None
Future work
None

I learned a lot from this ticket. Now I found the code-gen part of Merlin. This gets propagated down to the command expansion part now and will show up as:
declare global {
	interface ThrowBanana {
		readonly type: 'ThrowBanana';
		readonly duration: Temporal.Duration;
		readonly startOffset: Temporal.Duration;
		readonly startTime: Temporal.Instant;
		readonly endTime: Temporal.Instant;
		readonly attributes: {
			readonly arguments: {
				readonly speed: number;
			}
			readonly computed: {
			};
		}
	}
	type ActivityType = ThrowBanana;
}

export {};


added a question in freecodecamp-quiz

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Closes #XXXXX

I Did the suggested changes.


add Batch method to Rater

Happy new year!!!
This commits introduces follow features:

EnableAutoUpdate and DisableAutoUpdate method to engine, with this
methods the user can manager the engine auto update similars and
suggestions status.

Update method to engine, now users can update the similars and
suggestions to a user manually.

Batch method to rater, now users can rater things in batch,
maybe this commit resolve part of the https://github.com/hjr265/too/issues/1

In addition to the new API the batch operations is faster than normal
operations, follow a Benchmark
$ go test -bench .
PASS
BenchmarkNoBatch              20          53301558 ns/op
BenchmarkUsingBatch        10000            187824 ns/op

The previous benchmark is wrong :disappointed: I found a bug in my first implementation, follow the correct benchmark:
$ go test -bench .
PASS
BenchmarkNoBatch              20          68577540 ns/op
BenchmarkUsingBatchWithoutAutoUpdate<PHONE_NUMBER> ns/op
BenchmarkUsingBatchWithAutoUpdate<PHONE_NUMBER>2 ns/op
ok      github.com/hjr265/too   6.890s

The previous benchmark is wrong :disappointed: I found a bug in my first implementation, follow the correct benchmark:
$ go test -bench .
PASS
BenchmarkNoBatch              20          68577540 ns/op
BenchmarkUsingBatchWithoutAutoUpdate<PHONE_NUMBER> ns/op
BenchmarkUsingBatchWithAutoUpdate<PHONE_NUMBER>2 ns/op
ok      github.com/hjr265/too   6.890s

@dukex This is a really cool pull request! Thanks.. I will take a look at it and merge it asap :smile:


a lot of previously written code has import with outdated module name

the module name has been changed as below
despiegk.crystallib -> freeflowuniverse.crystallib
These changes are due to a change previously made to the module author name.
now, when you install the v module, it goes to ~/.vmodules/freeflowuniverse/crystallib, not to the old path.
now, I have seen some code and scripts have a workaround by copying the content of the module to despiegk directory where the code with the outdated import is expected to find the module. but this seems very wrong and looks ugly.
should we do a clean to the old code base to change import to point to the correct module name? instead of having duplicated files in two different directories, and a non-standard way to install our crystallib v module and other the modules that depends on it.

please make the change on development_refactor...


Cannot retrieve getResumableFilesData() and cannot use retry()

Hi there,
yesterday we started using fineuploader (Version: 5.2.2).
We're using Chromium 41.0.2272.76 on Ubuntu 15.04 (64-bit).
Our essential goal was to wrap the S3 (direct multipart upload to S3) inside of a react.js component.
This is our configuration:
{
   "autoUpload":true,
   "debug":false,
   "objectProperties":{
      "acl":"public-read",
      "bucket":"<ourBucket>"
   },
   "request":{
      "endpoint":"https://<ourBucket>.s3.amazonaws.com",
      "accessKey":"<myAmazonAccessKey>"
   },
   "signature":{
      "endpoint":"<our signature endpoint url>"
   },
   "uploadSuccess":{
      "params":{
         "isBrowserPreviewCapable":true
      }
   },
   "cors":{
      "expected":true
   },
   "chunking":{
      "enabled":true
   },
   "resume":{
      "enabled":true
   },
   "deleteFile":{
      "enabled":true,
      "method":"DELETE",
      "endpoint":"<our delete endpoint>"
   },
   "session":{
      "endpoint":null
   },
   "validation":{
      "itemLimit":1,
      "sizeLimit":"25000000000"
   },
   "messages":{
      "unsupportedBrowser":"
Upload is not functional in IE7 as IE7 has no support for CORS!
"
   },
   "multiple":true,
   "retry":{
      "enableAuto":true
   },
   "callbacks":{
     // our callback functions, JSON.stringify swallowed them
   }
}

We're using the basic version of fineuploader.
The upload of a file works fine, though when we initialize new fineUploader.s3.FineUploaderBasic(config) and add files via addFiles(files), we can only submit a list (FileList) that contains one File.

Though, the real problem emerges when we try to implement resumable/session-independent uploads.
We already noticed that when uploading a large file with fineuploader, it splits it into chunks and after finishing the first chunk, the progress data is saved in the browsers local storage.
Here is an example that shows, that this is working for us:
Key: qqs3resume5.0-skype-ubuntu-precise_<IP_ADDRESS>-1_i386.deb-20112698-5242880-https://ascribe0.s3.amazonaws.com
Value:
{
   "name":"skype-ubuntu-precise_<IP_ADDRESS>-1_i386.deb",
   "size":20112698,
   "uuid":"dd0580c5-9d4c-4b71-9260-5664e72db404",
   "key":"<our S3 bucket path>",
   "chunking":{
      "enabled":true,
      "parts":4,
      "remaining":[
         1,
         2,
         3
      ],
      "inProgress":[

      ],
      "uploadId":"bLrrana26qJ_fIGejD6oCAkK392nIq.E4.Sah4bT2q51IDZ9ZGovb3w3IvshxnLPRZzBxqH4tRPVgwsOCPiwXc6ZJaaP.Xasf_P9iMs03VA-",
      "etags":[
         {
            "part":1,
            "etag":"\"aa1bae573170c8396c44d6e72c79c53d\""
         }
      ]
   },
   "loaded":5242880,
   "lastUpdated":1434092821127
}

However, we can not retrieve this information using getResumableFilesData() since we're only getting an empty array back.
So we looked into the source code and found something interesting:
_iterateResumeRecords: function(callback) {
            if (resumeEnabled) {
                qq.each(localStorage, function(key, item) {
                    if (key.indexOf(qq.format("qq{}resume-", namespace)) === 0) {
                        var uploadData = JSON.parse(item);
                        callback(key, uploadData);
                    }
                });
            }
        },

The if statement actually only matches local storage keys that start with qqs3resume-, though our fineuploader version stores keys with the schema qqs3resume5.0-.
Are we doing something wrong or is this a bug in fineuploader?
Another thing we tried to do was to set the retry option to:
{
    enableAuto: true
}

Though, when listening to onAutoRetry, onRetry, onManualRetry we don't get any messages that would proof that retry.enableAuto = true is working.
Any suggestions on what we're doing wrong?

It sounds like you are reporting three unrelated issues in the same case. If this is true, please split them up.
Your first issue (I think) - only able to submit one file - is expected as you are setting the fileLimit option to 1.
I'll have to investigate the getResumableFilesData() issue a bit.
Regarding the callback issue or auto retry issue you are reporting (not sure exactly what issue you are having here) - retrying and the associated callbacks definitely work without any issues that I am aware of. If you are seeing something different, you'll need to provide specific reproduction steps and a clear description of the issue.

Ok, yeah totally missed the fileLimit option. Now multiple uploads are working fine.
I think the main problem is essentially that getResumableFilesData() is not retriving results from the browsers local storage.
Therefore - of course - nothing can be autoRetired as for the library, there is nothing.

Thanks. I'll look into this further and will update when I have a question or resolution.

Good morning,
@rnicholus Any updates on the issue yet?

Sorry, haven't had a chance to look into this yet. I should be able to get
to this on Thursday.
On Mon, Jun 15, 2015 at 1:32 AM Tim Daubenschütz<EMAIL_ADDRESS>wrote:

Good morning,
@rnicholus https://github.com/rnicholus Any updates on the issue yet?
—
Reply to this email directly or view it on GitHub
https://github.com/FineUploader/fine-uploader/issues/1425#issuecomment-111949516
.

I found the issue with getResumableFilesData(). Indeed it is not returning any results, but this issue is localized to the logic associated with looking up resumable file records for the user-facing API method and deleting them after they have expired. The resume feature itself works and is not affected as far as I can tell.
If you are having retry or resume issues, the problem is elsewhere, perhaps specific to your environment or integration code. There is a bug in the getResumableFilesData public accessor method though, and this will be fixed in the next release, perhaps even a hotfix release. The issue with this API method is caused by an error in the internal _iterateResumeRecords method of the xhr.upload.handler.js file. The start of the localStorage key does not end with a '-', which is resulting in zero records. Two things call this internal method - the API method that returns resume records, and the code that attempts to remove all old records from localStorage.

This fix is currently staged in the hotfix/5.2.3 branch - version 5.2.3-1.


Poll connection to check the status

this might not be required, closing this for the time being @NileshPant1999


Large avatar image on profile pages is not replaced

Viewing the profile page of a user shows the avatar they've set, and doesn't replace it with one of the images bundled in the extension.
Perhaps this is due to a recent change.

Actually, quite a few things seem to have broken recently… I'll see what I can do

[ ] Avatar on profile page
[ ] Avatar and Name when hovering over a username
[ ] Names in Issue list


Remove the rules keyword

The rules keyword in section 6.1 and 6.2 the rules keyword is defined. However in case there is only rule included or excluded from the test the rules keyword would imply there is more than one
rule mentioned in the list.
I would be feasible to use rule and rules keyword depending on the number of rules in the list, but that would be hassle for test writers. Instead leave out the rules keyword entirely from section 6.1 and 6.2.

Migrated from BitBucket.


Create hail batch script to generate eQTLs from scRNA-seq data

moved to tob-wgs branch: https://github.com/populationgenomics/tob-wgs/pull/95


Scrolling

The side-panel and the article section should have their own Scroll area.There should be no horizontal scrolling in these areas: Remove horizontal scrolling from content listing #6761

Link to designs in Figma: https://www.figma.com/file/6XcxaUdad2RkjpEqnVHKAG/Education-docs-redesign?node-id=2228%3A11441


Update docs for v3.0

Chipping away at #401. I've updated the list there with more TODOs.

Move build instructions out of README
Add instructions for installing debian packages on ubuntu (doesn't work yet since packages aren't public yet)

There are probably some typos/errors in here. I'll merge it tomorrow if I don't get any feedback, but I expect this still needs a little work (in addition to the other docs TODOs).

Whoops, closing to re-open against digits-3.0 branch...


Using in gulp task

I want to build an extension in an gulp task. Is there already a gulp plugin or node module available to build the extension? I see that the tfx utility build on top of vso-node-api but it still seems like quite a bit of logic involved in tfx.

I wrote a little script that uploaded all the tasks I had
https://github.com/saucelabs/vso-sauce-ondemand-plugin/blob/master/bin/upload_all.js
Its not the prettiest thing, but does work

Thanks @halkeye. Where does tfx-cli/exec/build-tasks-upload come from? I couldn't find the corresponding code in tfx.
I see that you use vset for creating the extension. This utility seems to be deprecated and replaced with tfx (see https://github.com/Microsoft/vso-extension-tools), therefore I try to achieve the same with tfx.

Yea tfx is rapidly evolving so my code may not work anymore. It was stuff I
used pre launch.
On Nov 30, 2015 12:00 AM, "Pascal Berger"<EMAIL_ADDRESS>wrote:

Thanks @halkeye https://github.com/halkeye. Where does
tfx-cli/exec/build-tasks-upload come from? I couldn't find the
corresponding code in tfx.
I see that you use vset for creating the extension. This utility seems to
be deprecated and replaced with tfx (see
https://github.com/Microsoft/vso-extension-tools), therefore I try to
achieve the same with tfx.
—
Reply to this email directly or view it on GitHub
https://github.com/Microsoft/tfs-cli/issues/59#issuecomment-160549848.

If you look in app/exec/extension you can find all of the extensions-related logic. Easiest thing to do I think is require app/exec/extension/create and call createExtension() with your mergeSettings and packageSettings. It will handle the rest.

I'm going to close the issue; let me know if you still need help -<EMAIL_ADDRESS>


io: use posix_fadvise() instead of readahead()

readahead() is a Linux-specific system call, and many C libraries (e.g.
Android's Bionic) do not declare it by default. A more-portable alternative is
to use posix_fadvise() with POSIX_FADV_WILLNEED. This is functionally
equivalent to readahead() on Linux.
Additionally, on FreeBSD, Dispatch is currently using fcntl() with F_RDAHEAD.
This is not exactly equivalent to Darwin's F_RDADVISE. Using posix_fadvise()
should work better here too.

@swift-ci please test

I think that this is the right approach to make this more portable.  Any opinions @MadCoder or @parkera?

@swift-ci please test

@swift-ci please test

@MadCoder  - okay to merge?

@ktopley-apple - okay to merge this as well?


Black screen on Chrome

Hey, thank you for creating an issue. We will normally respond within 24 hours.

Try clearing cache or loading in incognito


Math migration

Introduces many of the functions currently living in purescript-math. Closes #17. See also purescript/purescript-math#31.

Checklist:

[x] Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
[X] Linked any existing issues or proposals that this pull request should close
[X] Updated or added relevant documentation
[X] Added a test for the contribution (if applicable)

@hdgarrood Over on purescript/purescript#2980 you express hesitancy on polyfills that mutate the Math object. This repo contains a polyfill for sign that reads:
exports.sign = Math.sign ? Math.sign : function(x) {
  return x === 0 || x !== x ? x : (x < 0 ? -1 : 1);
};

That doesn't look to me like it mutates the Math object but I'm certainly no expert on Javascript. If you have concerns over sign we can remove the Javascript implementation and implement sign directly in Purescript, at some (theoretical) performance cost?

No, that looks fine! That won’t mutate Math, it’ll just use Math.sign if it exists and otherwise it’ll use the polyfill.

One final tweak. I've switched trunc to work that same way as sign -- using the Math object if available with a polyfill backup.

:ping_pong: @thomashoneyman This should be ready to go now.

I haven't been involved in these discussions, so I'd appreciate if perhaps @hdgarrood could take another look. If not, I can review, but I don't necessarily have the correct background to make these decisions.


Fix on Scene Inventory + add animation family for publish

Changelog Description

[x] Fix the scene inventory not shown up + removing/updating assets in loader
[x] Add animation family as part of the publishing families

Additional Info

Use the development mode for testing first as there is some issue for installing addon with this repo.

@iLLiCiTiT if there are further code tweaks required, we can open another PR and continue.
I just merged this first and make the repository public.


Tests: remove redundant tests

@dshil
Strictly speaking they are not tests. What about the following commit message:

Remove some test stubs
The stubs are not supposed to be implemented.

Also It seems to me that test_cap_smso_rev should be removed here as well. I saw you had removed it in one of the latest PRs, but I feel it should be done here.

Also I think we have to remove the test_cap_dch1 stub since dch1 is only dch with input parameter 1, so we can check both dch and dch1 in test_cap_dch.

ping @eugulixes, about deleting the test_cap_dch1. I don't like the idea.
There are 2 bad cases:

cap_dch will be changed and cap_dch1 has stopped be a special case of a cap_dch.
cap_dch1 will be changed and we'll not have a corresponding test.

@dshil, agreed.


Move LogicalPlan to datafusion-expr crate

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
I am trying to implement support for the expression EXISTS (<subquery>) and this requires having a new Expr variant that refers to a LogicalPlan. However, this is not possible because LogicalPlan is in the core datafusion crate which depends on the datafusion-expr crate that contains Expr, and therefore it is not possible to reference LogicalPlan from Expr.
Describe the solution you'd like
LogicalPlan and Expr should live in the same crate IMO so I propose moving LogicalPlan into the datafusion-expr crate.
Describe alternatives you've considered
None
Additional context
See the discussion in https://github.com/apache/arrow-datafusion/issues/2181 for more context

Would it make sense to call this crate 'datafusion-logical-plan' after this change? At least to me it wouldn't be immediately obvious that logical plan was there from naming. But maybe that's just me.

Would it make sense to call this crate 'datafusion-logical-plan' after this change? At least to me it wouldn't be immediately obvious that logical plan was there from naming. But maybe that's just me.

Yes, that would make more sense to me too.

So this doesn't look like it can work. The logical plan depends on the datasource module, which depends on the physical plan :disappointed:
It might be better just to move the expressions back into the core crate.

We need to address https://github.com/apache/arrow-datafusion/issues/2247 before we can make progress on this issue

Would it make sense to call this crate 'datafusion-logical-plan' after this change? At least to me it wouldn't be immediately obvious that logical plan was there from naming. But maybe that's just me.

+1
[minor] given we also have physical-expr, maybe we call it logical-expr?


Doesn't work on edge chromium. Stuck on 0%.

Doesn't work on edge chromium. Stuck on 0%.

Post the version number of the software and extension.


Optional exit code support

This began as a merge resolution of #266 with some whitespace formatting fixes in README, exposed definition of default "success" and "error" exit codes, and style change from .*Fn$ to .*Func$ func type names.  Based on discussion below, the patch is evolving:

[x] switch from int in return signature to optional custom error type
[ ] does it blend?

Changed

The App.Action and Command.Action now expect a signature of func(*cli.Context) error, as defined by cli.ActionFunc.  If a non-nil error is returned, there may be two outcomes:

If the error fulfills cli.ExitCoder, then os.Exit will be called automatically
Else the error is bubbled up and returned from App.Run

Deprecated

App.RunAndExitOnError, as this functionality is now available via App.Run when returning an error type that fulfills cli.ExitCoder.

Closes #266

@meatballhat overall :+1:, I like the idea of allowing the centralization of error handling.
Did you also consider this approach in comparison to having Actions return an err? I don't have a strong opinion yet, but I was just curious if you had any thoughts.

tbh I feel weird about Action returning an int, and the switch to multi-returns in general.  I'd rather keep single-return error signatures everywhere and provide a helper func to allow folks to bubble up their own exit code, but only if they want to, e.g.:
// ...
app.Action = func(ctx *cli.Context) error {
    // ... bleep bloop
    return cli.NewExitError("invalid blooping", 3)
}

... which we would handle internally a la:
err := app.Action(ctx)
if exitErr, ok := err.(*ExitError); ok {
    // do stuff maybe
    os.Exit(exitErr.Code)
}
// else don't os.Exit...

whaddya think?

I am a big fan of this approach over the int

@txgruppi Please jump in and let us know your thoughts! 😻

@meatballhat I like the idea of having an error that can bubble up the exit code. 😄

@txgruppi @jszwedko what are your thoughts on using reflection to ease migration such that folks can continue to use Action = func(ctx *cli.Context) { } but will get a deprecation warning?  I'm thinking about anyone who's using this library without version pinning tools.

@meatballhat for sure it will be great, I believe the great majority of the users don't use any type of versioning for Go packages. Sadly I am one of them 😞
I'm not sure about performance costs of using reflection but I believe it doesn't apply to this package

@txgruppi yep, I have a few projects kicking around that don't version pin 😺   I seriously doubt this will have any performance impact 🔬

@txgruppi @jszwedko ready for review!

ftr I removed the v2.0.0 milestone as this PR no longer introduces backward-incompatible API changes.

@meatballhat nice, I really like the use of reflection to support backwards compatibility.

I left one comment that may need action taken, but otherwise this is great. I like that you were able to preserve backwards compatibility (at the cost of type safety, but I think it is acceptable in this case). We can remove support for the deprecated signature in the future.
The only other way I can think of preserving backwards compatibility is to add another field on the struct, but I think this would introduce a more complexity into the code (thus causing bugs) so I think your approach is appropriate.

:shipit:


Add the Pull Request Template

Aim
Creating a pull request template so that the contributors can give appropriate message while creating the PRs.
Steps to create

create a folder with the name .github in the root directory of the project
create a file with the name pull_request_template.md inside the .github folder
add appropriate template for the PR

I would like to work on this issue.


[Chore] Remove references to if not PY2

We are only running py3 now...

All references removed in 0.6.0


Be careful with latest tag on GitHub Container Registry

The "latest"-tagged image might not correspond to the main branch. Maybe I should edit the workflow to add the branch as a tag as well, so the image with "main" as the tag is the latest build of the main branch.

Given that I'm manually selecting the commit hash in deployment, this isn't really an issue any more.


add contibuting.md

Hi, I would like to work on this. Please assign me this issue.

@Muskan2404 done, looking forward to your pr.


OS: Added support for MinGW

Description
Self-explained.

Here's an example/proof of MinGW being successfully supported, if you're into having/keeping track those types of things.
http://prntscr.com/esojnb


Empty comments -> No validation for "ENTER" keypress

Huge empty comment space

How to reproduce?

@debloper
[1] Add a comment with some characters
[2] Erase the comments by pressing Backspace
[3] Press enter
You will get a huge empty comment space.


use relative path for socket.io

This Pull Request fix #1934

It changes the javascript include path of the /socket.io/socket.io.js to a relative one, like all the other scripts
It appends the path of the current window to the path of the socket.io endpoint

@MichMich should I rebase the PR?

@MichMich  can we get this merged before the new release next week? Or why are you hesitating?

Merged.

I don't understand what you mean by "Remove additional slash from path" below I'm tasing my socket client.js
var MMSocket = function(moduleName) {
var self = this;
    if (typeof moduleName !== "string") {
            throw new Error("Please set the module name for the MMSocket.");
    }

    self.moduleName = moduleName;

    // Private Methods
    self.socket = io("/" + self.moduleName, {
            path: window.location.pathname + "socket.io"
    });
    var notificationCallback = function() {};

    var onevent = self.socket.onevent;
    self.socket.onevent = function(packet) {
            var args = packet.data || [];
            onevent.call(this, packet); // original call
            packet.data = ["*"].concat(args);
            onevent.call(this, packet); // additional call to catch-all
    };

    // register catch all.
    self.socket.on("*", function(notification, payload) {
            if (notification !== "*") {
                    notificationCallback(notification, payload);
            }
    });

    // Public Methods
    this.setNotificationCallback = function(callback) {
            notificationCallback = callback;
    };

    this.sendNotification = function(notification, payload) {
            if (typeof payload === "undefined") {
                    payload = {};
            }
            self.socket.emit(notification, payload);
    };

};

@MichMich @RoadRunnr1469 I created a PR #1976 which reverts the path to its old default, but it can be changed in the config.


Generate Python Data Structures for TX EBCDIC Files defined by Cobol data grammar.

Hello there.
Goal was to generate python data structures to read TX EBCDIC files that are defined by Cobol grammars.
Not done yet but have made enough progress to share with public.
The process:

use the PDF file, copy/paste the COBOL data definition into a legal Cobol program
use ANTLR and the Cobol85.g4 grammar file to generate Lexer, Parser and Listener
customize Listener to act on the data definition section and its children to build a symbol table
use the symbol table (and COBOL syntactic rules about REDEFINES and OCCURS) to generate python structures for reading fixed length EBCDIC records

Theoretically a new PDF can just be copy/pasted into a program file (Step 1) and generate the python data structure parsing code.

this has been opened instead on a new (non-master) branch on the forked repo.


Support uni-app

Codecov Report

Merging #25 (47104b9) into master (4531da1) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #25   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           49        49
  Lines          970       970
  Branches       223       223
=========================================
  Hits           970       970

Flag
Coverage Δ

root
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4531da1...47104b9. Read the comment docs.


Invariant BSC fork test fails: "fuzz: failed to inspect: Database error: failed to get account for 0x0000000000000000000000000000000000001d2F: Deserialization error: EOF while parsing a value at line 1 column 0"

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[x] Foundryup

What version of Foundry are you on?
forge 0.2.0 (3df3e0c 2024-03-04T00:16:13.254227572Z)
What command(s) is the bug in?
forge test --mt invariant --fork-url $BSC_RPC_URL
Operating System
Windows
Describe the bug
When trying to run an invariant fork test on BSC I get "fuzz: failed to inspect: Database error: failed to get account for 0x00000000000000000000000000000000000004cB: Deserialization error: EOF while parsing a value at line 1 column 0":

However, unit tests do work alright. It says "This is a bug. Consider reporting it at https://github.com/foundry-rs/foundry" so here I am :-) I didn't find any responses to this on the forum.
Thanks for any help provided.

Relevant line https://github.com/foundry-rs/foundry/blob/c9ae920ae3e215a02e77384d1fc0b2eb4a5d0d96/crates/evm/evm/src/executors/invariant/mod.rs#L219
We should get rid of unwrap and expect calls when calling the evm because it can still fail when forking. cc @grandizzy


[Grid] Deprecation package says justifyContent=flex-start is invalid

[x] The issue is present in the latest (deprecation) release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
When setting justifyContent to flex-start, an error displays in the console stating the following:

Warning: Failed prop type: Invalid prop justifyContent of value flex-start supplied to ForwardRef(Grid), expected one of ["center","flex-end","space-between","space-around","space-evenly"].

I see no indication that it should be disallowed, not to mention this value is within the migrated code.
Expected Behavior 🤔
Well...no error, to put it simply.
Steps to Reproduce 🕹
https://codesandbox.io/s/material-ui-deprecations-grid-issue-f9epl?file=/src/Demo.js
Your Environment 🌎

`npx @material-ui/envinfo`
  System:
    OS: macOS 11.2
  Binaries:
    Node: 15.6.0 - ~/.nvm/versions/node/v15.6.0/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.4.0 - ~/.nvm/versions/node/v15.6.0/bin/npm
  Browsers:
    Chrome: 88.0.4324.96 <= Using
    Edge: Not Found
    Firefox: 85.0
    Safari: 14.0.3
  npmPackages:
    @material-ui/core: 4.11.3 => 4.11.3-deprecations.1
    @material-ui/styles:  4.11.3-deprecations.1
    @material-ui/system:  4.11.3-deprecations.1
    @material-ui/types:  5.1.0
    @material-ui/utils:  4.11.2
    @types/react:  17.0.0
    react: 17.0.1 => 17.0.1
    react-dom: 17.0.1 => 17.0.1

Hi. I can reproduce this error too. I have looked at Grid component, the reason for this error is that the justifyContent value is flex-start by default so the proptypes doesn't expect that value. If we want to remove this error, I can give this a try, this would be my first contribution to MUI.

Oh wow, it's surprising. It got removing in v4-deprecations (it's here in v4). In this case, I would suggest the following diff on the v4-deprecations branch:
diff --git a/packages/material-ui/src/Grid/Grid.js b/packages/material-ui/src/Grid/Grid.js
index ccb3d38687..03389c8064 100644
--- a/packages/material-ui/src/Grid/Grid.js
+++ b/packages/material-ui/src/Grid/Grid.js
@@ -305,7 +305,7 @@ Grid.propTypes = {
    * @deprecated Use `justifyContent` instead, the prop was renamed
    */
   justify: deprecatedPropType(
-    PropTypes.oneOf(['center', 'flex-end', 'space-between', 'space-around', 'space-evenly']),
+    PropTypes.oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around', 'space-evenly']),
     'Use `justifyContent` instead, the prop was renamed.',
   ),
   /**
@@ -313,6 +313,7 @@ Grid.propTypes = {
    * It is applied for all screen sizes.
    */
   justifyContent: PropTypes.oneOf([
+    'flex-start',
     'center',
     'flex-end',
     'space-between',

@DukeManh It's all yours, it's important to fix this false positive to ease the migration to v5.

Hey @vinyldarkscratch,
I want to contribute, can u explain the issue.

@Gauravkain The problem is already taken, #24788.

Bug fixed in #24788.

Hi there - I'm not sure if this is the same issue, but I think it is: I'm also getting an error when I attempt to use justifyContent on an MUI Grid container at all... I don't have this issue when I use JSX alone with MUI, but my current position requires I use Typescript. I'm getting the following error:
No overload matches this call.
  Overload 1 of 2, '(props: { component: ElementType<any>; } & Partial<Record<Breakpoint, boolean | GridSize>> & { alignContent?: GridContentAlignment | undefined; ... 7 more ...; zeroMinWidth?: boolean | undefined; } & CommonProps<...> & Pick<...>): Element', gave the following error.
    Property 'component' is missing in type '{ children: Element[]; container: true; direction: "row"; justifyContent: string; alignItems:
"center"; }' but required in type '{ component: ElementType<any>; }'.
  Overload 2 of 2, '(props: DefaultComponentProps<GridTypeMap<{}, "div">>): Element', gave the following error.
    Type '{ children: Element[]; container: true; direction: "row"; justifyContent: string; alignItems: "center"; }' is not assignable to type 'IntrinsicAttributes & Partial<Record<Breakpoint, boolean | GridSize>> & { alignContent?: GridContentAlignment | undefined; ... 7 more
...; zeroMinWidth?: boolean | undefined; } & CommonProps<...> & Pick<...>'.
      Property 'justifyContent' does not exist on type 'IntrinsicAttributes & Partial<Record<Breakpoint, boolean | GridSize>> & { alignContent?: GridContentAlignment | undefined; ... 7 more ...; zeroMinWidth?: boolean | undefined; } & CommonProps<...> & Pick<...>'.

Things are fine when I use, say, style={{justifyContent: 'center'}} or something to that effect instead, but using the justifyContent prop itself isn't working.


Validation

Have you thought about a validate command that checks the changelog?

I have not, but that would definitely be of interest. I'm marking this as "help wanted", in case anyone wants to take it up.


int2text or text2int

I believe implementing these self-explanatory functions could make for good perturbations. Though, I am not quite sure which category they'd go under. @rajaswa and @someshsingh22, thoughts?
I'll implement this in whichever section required

This will fall under the paraphrasing category for which we have decided to implement a new module as discussed in #34

Which functions? Please send the source.

@someshsingh22, if by source you mean a research paper, I don't think I have seen this in a research paper. However, I did see this somewhere in a medium article on data augmentation, which led me to think that this might be a good addition. I'll try and find that medium article again, I am sure they would've cited a source.

There are already packages present for this https://github.com/akshaynagpal/w2n and https://github.com/savoirfairelinux/num2words @parantak

So, should we not implement this? @rohts-patil
It would make sense if the user had an all-encompassing package.

We can implement this. But I think it is not wise to reinvent the wheel. Just expose a wrapper class and call the methods from the above packages. @parantak

Assigning to @rohts-patil
we can use the already existing packages for this

@rohts-patil we can even use the inflect package for this. For num2words.


Keys are not generated as secring.pgp and pubring.pgp anymore

GnuPG doesn't generate keys the same way as before...
I tried to follow the tutorial but I can't since there are not pubring.pgp and secring.pgp.
Is there any way to make it work ?

I am experiencing the same issue. Is there a way to make License3j work with GnuPG 2.1 ?
Thanks

It is not really a License3j issue, but I will look at it.

Hi Peter,
Thanks for getting back to me.
I've sorted it out, generating .gpg files only requires two extra commands:
gpg --export > pubring.gpg
gpg --export-secret-keys > secring.gpg
Kind Regards,
Leopoldo
Il giorno ven 15 dic 2017 alle 08:23 Peter Verhas<EMAIL_ADDRESS>ha scritto:

It is not really a License3j issue, but I will look at it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/verhas/License3j/issues/24#issuecomment-351932791,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ag4-D4DvEhUNhUwArUfzYRmjJb2gW4htks5tAh5WgaJpZM4HURoG
.


New model and its detail route

Hello,
I´ve created a new Model called Webhook(basically a copy of User) and userDetail model.
Listing works fine but route details does not, I can see the request being made to mock server and the response is successfull nevertheless the route is not displayed and a generic error page is displayed instead.
What I done so far :

Create a Webhook service
Create a Webhook model
Create a Webhook/detail model namespaced 'webhookDetail'
Create both Webhook and Webhooks mocks
Add route inside router

// src/router.js
{
          path: 'webhook/:id',
          getComponent (nextState, cb) {
            require.ensure([], (require) => {
              registerModel(app, require('models/webhook/detail'))
              cb(null, require('routes/webhook/detail'))
            }, 'webhook-detail')
          },
        }

// src/models/webhook/detail.js
/* global location */
import pathToRegexp from 'path-to-regexp'
import { query } from '../../services/webhook'

export default {

  namespace: 'webhookDetail',

  state: {
    data: {},
  },

  subscriptions: {
    setup ({ dispatch, history }) {
      history.listen(() => {
        const match = pathToRegexp('/webhook/:id').exec(location.pathname)
        if (match) {
          dispatch({ type: 'query', payload: { id: match[1] } })
        }
      })
    },
  },

  effects: {
    * query ({
      payload,
    }, { call, put }) {
      const data = yield call(query, payload)
      const { success, message, status, ...other } = data
      if (success) {
        yield put({
          type: 'querySuccess',
          payload: {
            data: other,
          },
        })
      } else {
        throw data
      }
    },
  },

  reducers: {
    querySuccess (state, { payload }) {
      const { data } = payload
      const reducer = {
        ...state,
        data,
      }
      console.log('webhookDetail.querySuccess reducer', reducer)
      return reducer
    },
  },
}

// src/routes/webhook/detail/index.js
import React from 'react'
import PropTypes from 'prop-types'
import { connect } from 'dva'
import styles from './index.less'

const Detail = ({ webhookDetail }) => {
  const { data } = webhookDetail
  const content = []
  for (let key in data) {
    if ({}.hasOwnProperty.call(data, key)) {
      content.push(

{key}

{String(data[key])}

)
    }
  }
  return (

      {content}

)
}

Detail.propTypes = {
  webhookDetail: PropTypes.object,
}

console.log('WebhookDetail.route before connect')

export default connect(({ webhookDetail, loading }) => {
  console.log('WebhookDetail.connect', webhookDetail, loading.models.webhookDetail)
  return ({ webhookDetail, loading: loading.models.webhookDetail })
})(Detail)

When I navigate to http://localhost:8000/webhook/150000201012227442 I see a 404 error page, but the request to the mock server is performed.
¿Does anyone knows what I´m missing something here?

here

Thanks!!