Cognito update attribute failure when running amplify push

How did you install the Amplify CLI?
yarn
If applicable, what version of Node.js are you using?
v18.19.1
Amplify CLI Version
12.10.1
What operating system are you using?
macOS
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Describe the bug
When attempting to run amplify push, if there has been a failure somewhere (e.g. There was a GraphQL error for example), after correcting this, running it again will cause this failure:
🛑 The following resources failed to deploy:
Resource Name: UserPoolClientWeb (AWS::Cognito::UserPoolClient)
Event Type: update
Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest)
URL: <url>

Resource Name: UserPoolClient (AWS::Cognito::UserPoolClient)
Event Type: update
Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest)
URL: <url>

🛑 Resource is not in the state stackUpdateComplete
Name: UserPoolClientWeb (AWS::Cognito::UserPoolClient), Event Type: update, Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest), IsCustomResource: false

Name: UserPoolClient (AWS::Cognito::UserPoolClient), Event Type: update, Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest), IsCustomResource: false

If I then make a whitespace change to amplify/backend/auth/<app>/override.ts, and run amplify push again, things work as expected.
I have these settings in amplify/backend/auth/<app>/override.ts
export function override(resources: AmplifyAuthCognitoStackTemplate) {
  resources.userPool.schema = [
    {
      name: "email",
      required: true,
      mutable: true,
    },
    {
      name: "name",
      required: true,
      mutable: true,
    },
    {
      name: "company",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
    {
      name: "jobrole",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
    {
      name: "agreetcs",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
    {
      name: "marketing",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
    {
      name: "level",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
    {
      name: "marketsource",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
    {
      name: "created",
      required: false,
      mutable: true,
      attributeDataType: "String",
    },
  ];

  // set readable attributes
  resources.userPoolClient.readAttributes = [
    "address",
    "birthdate",
    "custom:agreetcs",
    "custom:company",
    "custom:created",
    "custom:jobrole",
    "custom:level",
    "custom:marketing",
    "custom:marketsource",
    "email",
    "email_verified",
    "family_name",
    "gender",
    "given_name",
    "locale",
    "middle_name",
    "name",
    "nickname",
    "phone_number",
    "phone_number_verified",
    "picture",
    "preferred_username",
    "profile",
    "updated_at",
    "website",
    "zoneinfo"
  ];

  resources.userPoolClientWeb.readAttributes =
    resources.userPoolClient.readAttributes;

  // set writable attributes
  resources.userPoolClient.writeAttributes = [
    "address",
    "birthdate",
    "custom:agreetcs",
    "custom:company",
    "custom:created",
    "custom:jobrole",
    "custom:level",
    "custom:marketing",
    "custom:marketsource",
    "email",
    "family_name",
    "gender",
    "given_name",
    "locale",
    "middle_name",
    "name",
    "nickname",
    "phone_number",
    "picture",
    "preferred_username",
    "profile",
    "updated_at",
    "website",
    "zoneinfo"
  ];

  resources.userPoolClientWeb.writeAttributes =
    resources.userPoolClient.writeAttributes;

  resources.userPool.emailConfiguration = {
    emailSendingAccount: "DEVELOPER",
    from: "<app-email>",
    sourceArn: "<arn>",
  };

I understand this is to do with Cognito thinking there's something off with the write attributes, but if I simply refresh override.ts with no functional changes, the deployment will succeed. It seems Amplify somehow gets into a bad state, and this can be fixed by making a simple change to override.ts
Expected behavior
amplify push works reliably without needing to modify amplify/backend/auth/<app>/override.ts after a failed deployment (after the original issue is resolved)
Reproduction steps

Run amplify push with auth settings specified in override.ts
Make a GraphQL change that is invalid (say a @connection that isn't correct potentially)
Run amplify push
See failure with stack deployment
Revert GraphQL change
Run amplify push again
See Cognito failure mentioned above

Project Identifier
6ea7243cd01dc9d083f59ce9c38bb874
Log output

🛑 The following resources failed to deploy:
Resource Name: UserPoolClientWeb (AWS::Cognito::UserPoolClient)
Event Type: update
Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest)
URL: <url>

Resource Name: UserPoolClient (AWS::Cognito::UserPoolClient)
Event Type: update
Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest)
URL: <url>

🛑 Resource is not in the state stackUpdateComplete
Name: UserPoolClientWeb (AWS::Cognito::UserPoolClient), Event Type: update, Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest), IsCustomResource: false

Name: UserPoolClient (AWS::Cognito::UserPoolClient), Event Type: update, Reason: Resource handler returned message: "Invalid write attributes specified while updating a client (Service: CognitoIdentityProvider, Status Code: 400, Request ID: <id>)" (RequestToken: <token>, HandlerErrorCode: InvalidRequest), IsCustomResource: false

Additional information
N/A
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey @pr0g, could you zip the amplify folder and email at<EMAIL_ADDRESS>From the project identifier did notice the project cli.json is currently missing some feature-flags and the @connection indicates the application is utilizing graphQL transformer v1. Could add the following to cli.json
{
  "features": {
    "graphqltransformer": {
      "addmissingownerfields": true,
      "improvepluralization": false,
      "validatetypenamereservedwords": true,
      "useexperimentalpipelinedtransformer": true,
      "enableiterativegsiupdates": true,
      "secondarykeyasgsi": true,
      "skipoverridemutationinputtypes": true,
      "transformerversion": 2,
      "suppressschemamigrationprompt": true,
      "securityenhancementnotification": false,
      "showfieldauthnotification": false,
      "usesubusernamefordefaultidentityclaim": true,
      "usefieldnameforprimarykeyconnectionfield": false,
      "enableautoindexquerynames": true,
      "respectprimarykeyattributesonconnectionfield": true,
      "shoulddeepmergedirectiveconfigdefaults": false,
      "populateownerfieldforstaticgroupauth": true
    },
    "frontend-ios": {
      "enablexcodeintegration": true
    },
    "auth": {
      "enablecaseinsensitivity": true,
      "useinclusiveterminology": true,
      "breakcirculardependency": true,
      "forcealiasattributes": false,
      "useenabledmfas": true
    },
    "codegen": {
      "useappsyncmodelgenplugin": true,
      "usedocsgeneratorplugin": true,
      "usetypesgeneratorplugin": true,
      "cleangeneratedmodelsdirectory": true,
      "retaincasestyle": true,
      "addtimestampfields": true,
      "handlelistnullabilitytransparently": true,
      "emitauthprovider": true,
      "generateindexrules": true,
      "enabledartnullsafety": true,
      "generatemodelsforlazyloadandcustomselectionset": false
    },
    "appsync": {
      "generategraphqlpermissions": true
    },
    "latestregionsupport": {
      "pinpoint": 1,
      "translate": 1,
      "transcribe": 1,
      "rekognition": 1,
      "textract": 1,
      "comprehend": 1
    },
    "project": {
      "overrides": true
    }
  },
  "debug": {}
}

Hi @ykethan,
Thanks very much for following-up. I don't have the issue reproducing at the moment so can't easily zip up our amplify folder. Should we hit this again I'll make sure to do that and add a note here for context.
I'm afraid we are still currently using GraphQL Transformer v1, we're hoping to upgrade in the coming months.
I can share our cli.json as it currently looks if that would help? Right now I don't think we can easily switch to transformer v2 without making a lot of changes to use the new API (@hasMany etc... instead of @connection in GraphQL for example).
Thanks very much for your time,
I'll do my best to reply as soon as this issue happens again

@pr0g The transformer version is expected to not cause an issue with the auth override. do let us know if run into this.

Thanks for following up @ykethan, that's good to know.
This may be tangentially related but I was very recently trying to add a custom resolver to provide the ability to append to an array in a DynamoDB record (see the SO answer).
amplify push worked once, but I think the auth rules I set were potentially wrong, but when I then try to update (make a change to GraphQL and do amplify push) it now is failing to redeploy and I get the error that the custom resource already exists (with the ARN of the resolver in AppSync).
The steps I followed are very similar to this doc page - https://docs.amplify.aws/javascript/tools/cli-legacy/overwrite-customize-resolvers/ where I add a new resource to CustomResource.json along with the GraphQL changes and vtl files.
I can send a zip of the amplify folder for that if that would help.
I haven't tried with the changes you suggested to cli.json, it's possible that might also make a difference.
If you have any suggestions I'd really appreciate it.
Thanks! 🙂

This is the error I see for reference (<name-of-custom-resource> is the name used in stacks/CustomResources.json)
🛑 The following resources failed to deploy:
Resource Name: <name-of-custom-resource> (AWS::AppSync::Resolver)
Event Type: create
Reason: Resource handler returned message: "Resource already exists: arn:aws:appsync:eu-west-2:<id>:apis/<id>/types/Mutation/resolvers/<resolver-name>" (RequestToken: <id>, HandlerErrorCode: AlreadyExists)

🛑 Resource is not in the state stackUpdateComplete
Name: <name-of-custom-resource> (AWS::AppSync::Resolver), Event Type: create, Reason: Resource handler returned message: "Resource already exists: arn:aws:appsync:eu-west-2:<id>:apis/<id>/types/Mutation/resolvers/<resolver-name>" (RequestToken: <id>, HandlerErrorCode: AlreadyExists), IsCustomResource: false

Resource looks like this:
"<ResolverName>": {
      "Type": "AWS::AppSync::Resolver",
      "Properties": {
        "ApiId": {
          "Ref": "AppSyncApiId"
        },
        "DataSourceName": "SourceFileTable",
        "TypeName": "Mutation",
        "FieldName": "<function-name>", # same name used in GraphQL schema
        "RequestMappingTemplateS3Location": {
          "Fn::Sub": [
            "s3://${S3DeploymentBucket}/${S3DeploymentRootKey}/resolvers/Mutation.<function-name>.req.vtl",
            {
              "S3DeploymentBucket": {
                "Ref": "S3DeploymentBucket"
              },
              "S3DeploymentRootKey": {
                "Ref": "S3DeploymentRootKey"
              }
            }
          ]
        },
        "ResponseMappingTemplateS3Location": {
          "Fn::Sub": [
            "s3://${S3DeploymentBucket}/${S3DeploymentRootKey}/resolvers/Mutation.<function-name>.res.vtl",
            {
              "S3DeploymentBucket": {
                "Ref": "S3DeploymentBucket"
              },
              "S3DeploymentRootKey": {
                "Ref": "S3DeploymentRootKey"
              }
            }
          ]
        }
      }
    }

Thanks!

@pr0g from the error message the issue appears to be occurring on a GraphQL API resource. I'm going to transfer this over to our API repository for better assistance.


Support Jianshu

Roughly supported.
d738841
jianshu.com has weird local img mapping making the parse difficult, as directly access https:// results in 403.


Updates readme

Updates readme based on
https://github.com/cfpb/open-source-project-template.
Adds LICENSE and screenshot.

@ascott1 Ready for review n merge! Thx!

Great changes! Thanks @anselmbradford!


Character counter in TextInput

Use this template if you want to request a new feature, or a change to an existing feature.
If you are reporting a bug or problem, please use the bug template instead.
Summary
A character counter could be displayed to the bottom right side of the text field which reflect the number of allowed characters in the field.
Justification
This is a requirement in our project from the UX side. Earlier we made use of ap-components which has this character counter similar to the one in the pic.

Specific timeline issues / requests
Do you want this work within a specific time period? Is it related to an upcoming release?
Yes, It is related to an upcoming release.  November.

Hi 👋 thank you for reporting! We'll see if there is a bigger interest in team/consumers in this area. Meanwhile, you may want to use onChange() prop in our <TextInput> so you can create your own counter UI and update it.

Let's track the effort in carbon-design-system/carbon-components#1672 for now.


zsh functions not in italics

It's probably something in my configuration, but when I am in a zsh buffer (filetype=zsh) function names don't appear in italics like as set in the nightfox configuration and how they appear in bash.
Is this expected?

Once I know the highlight group being applied, how do I then add it to my nightfox configuration?

In nvim 0.9+ they introduced the :Inspect command to print the highlight groups that are being applied. Once you have found the highlight group that is being applied you can then configure that with nightfox by:
require("nightfox").setup({
  groups = {
    all = { -- Apply to all colorschemes
      ["@property"] = { fg = "palette.cyan" },
    },
  },
})

See Customize palettes and groups for more information.


add calicovpp fv tests

Description
This PR is a first draft for fv tests in calico vpp.
A number of tests related to vpp are added to the fv test suite.
These tests require to have a running vpp instance and a running calicovpp agent server to receive Felix messages and configure vpp.
The general idea is to have these tests enabled by an env var for calicovpp testing, and disabled by default in calico fv test suite.

/sem-approve


BUG 2268860: rebase: bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3

Bumps github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: github.com/go-jose/go-jose/v3 dependency-type: indirect ...

Signed-off-by: Niels de Vos<EMAIL_ADDRESS>(cherry picked from commit f11769dd13898c0235cfa199e31c19a83acace81)

/bugzilla refresh

Planned for inclusion in ODF-4.15.3

/bugzilla refresh

/retitle BUG 2268909: rebase: bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3


[Bug][sql] fix mysql create sentence bug

Purpose of the pull request
fix #6138 Create t_ds_task_instance mysql table error
Associate PR #6140
Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

Merging #6148 (7e7d815) into dev (dd5acfb) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##                dev    #6148   +/-   ##
=========================================
  Coverage     39.52%   39.52%
  Complexity     3381     3381
=========================================
  Files           650      650
  Lines         25975    25975
  Branches       2871     2871
=========================================
  Hits          10266    10266
  Misses        14768    14768
  Partials        941      941

Impacted Files
Coverage Δ

...server/master/runner/task/CommonTaskProcessor.java
0.00% <0.00%> (ø)

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 dd5acfb...7e7d815. Read the comment docs.


The sidebar menu should initially appear collapsed

It is desired that the menu for each module in the initial sidebar is initially collapsed, in order to have visibility of all provided modules.
Actual result

Expected Result

Duplicated in https://github.com/wazuh/wazuh-packages/issues/2654


router: Store certificate SHA-256 as binary not hex

The hex-encoded hash can be too wide for the index, it appears to be variable length before this patch. Store it as a shorter bytea field.
 ERROR: index row size 2792 exceeds maximum 2712 for index \"certificates_cert_sha256_idx\" (SQLSTATE 54000)

LGTM


Use @inject with @pipe decorators

Talking with @skrawcz and @elijahbenizzy on Slack about a use case @skrawcz discovered experimenting that using @inject decorator in conjunction with @pipe decorator does not work.
Current behavior
@skrawcz Please add more description here about the current behavior
Expected behavior
The decorators should work in conjunction.

Stack trace:
Traceback (most recent call last):
ValueError: Cannot call NodeExpander: <class 'hamilton.function_modifiers.expanders.inject'> on more than one node. This must be called first in the DAG. Called with [<A_processed {'module': 'functions'}>, <A_processed.with_echo {'module': 'functions'}>, <A_processed.with_echo_1 {'module': 'functions'}>]

Code:
# functions.py - declare and link your transformations as functions....
import pandas as pd

from hamilton.function_modifiers import extract_fields, inject, source, pipe, step

@extract_fields(
    {
        "col1 == 'A' and col2 =='B'": pd.DataFrame,
        "col1 == 'B' and col2 =='C'": pd.DataFrame,
    }
)
def dataframe_partition(partitions: list[str], df: pd.DataFrame) -> dict:
    # get a dict by grouping
    # return dict of name to dataframe
    return {"col1 == 'A' and col2 =='B'": pd.DataFrame({'a': [1,2,3]}),
            "col1 == 'B' and col2 =='C'": pd.DataFrame({'b': [1,2,3,]})}

def _echo(value: pd.DataFrame, v: int) -> pd.DataFrame:
    print(v)
    return value

@pipe(
    step(_echo, v=1),
    step(_echo, v=2),
)
@inject(A=source("col1 == 'A' and col2 =='B'"))
# A should be applied on "A White Horse" Dataframe
def A_processed(A: pd.DataFrame) -> pd.DataFrame:
    print("I've just done a ton of transformations, each one of which is a node in the DAG")
    return A # it gets passed the result of transforming them

#run.py
# And run them!
import functions
from hamilton import driver
dr = driver.Driver({}, functions)
dr.display_all_functions(
   "graph.dot", orient="TB", show_legend=False)

@elijahbenizzy I think what's required here is a target_= parameter, but that would require changing parameterize for inject since inject subclasses it?

@elijahbenizzy I think what's required here is a target_= parameter, but that would require changing parameterize for inject since inject subclasses it?

inject should not subclass @parameterize -- implementing it correctly would probably be the fix here. It was a quick hack to get it to work.
What it should do is modify the node that takes in the desired parameter to take in a new parameter (either fixed or from another node) -- I think this means implementing NodeModifier


Desync on trade

Trading, via caravan or bulk trader, causes desync.

Follow up -
When hosting a game that has experienced this issue and turning off arbiter to assure localhost, the trade menu pops up for a frame, then disappears.

As another addendum, when trying to form a caravan after this occurs, selecting colonists will show that they are enabled with a green checkmark, but the walking speed remains 0, carry load remains 0, and trying to choose route give an error about non-downed colonists (both were fine)

Note - Dev tools enabled with "Select everything" causes the caravan to load all items, but deselecting, enabling/disabling through the UI does nothing.

The reset button also works after Dev: select everything

Last message - Debug log gives an Null Ref for Multiplayer.Client.TradingWindow, logs attached:
https://git.io/fhSOy

Okay, so I REALLY didn't intend to leave all these comments, but probably maybe last comment no promises anymore.
Quitting to OS and restarting fixed everything.

Making caravane when you have at least 1 caravane already in activity or have 2 colonies makes the other player than host can't add stuff/people/beast in the new caravane
We was playing in fully vanilla

I have run into this one also but only once so far - I remember during the caravan trade (while the trade window was open) and a couple of automatic saves invoked, then the dsynce occured. Trying to resync caused the game to hang on both host and client.
Desync-01.zip


Frontend Template Scripts

Is your feature request related to a problem? Please describe.
Create scripts that generate frontend templates
Describe the solution you'd like
These scripts will alter the initial setup to use Gleam or JS frontends
Additional context
I think it will be interesting due to some people may want to do the frontend on JS frameworks / Vanilla JS or Gleam.

For Gleam it will use Lustre framework


gitFittest & gitAverage are sync functions calling async ones.

As a precursor, I'm willing to make these changes myself. But want to make sure there is not a reason for these functions to be the way they are before doing so.
Description
In neat:
getFittest and getAverage both call the async method evaluate while being sync methods. This causes unexpected behavior when calling getFittest or getAverage. Seems this was an issue back in neataptic too.
See wagenaartje/neataptic#137
and wagenaartje/neataptic#100
Files
You can see the function I am talking about here.
To Reproduce
Just call getFittest, or getAverage.
Tasks
Include specific tasks in the order they need to be done in. Include links to specific lines of code where the task should happen at.

Make getFittest async, and have it await the evaluate function
Make getAverage async, and have it await the evaluate function

@missionz3r0 thanks for writing such a well articulated issue; this was an issue that we noted but seemed to slip through the cracks as we were working on the codebase. I'll merge your PR now 👍

@christianechevarria Thank you very much.
It was something I noticed in neataptic a couple days ago before I realized Carrot was a thing. Was surprised when the same issue was over here as well. Though, if not for the issue in neataptic I would not have known carrot was a thing. So all is well that ends well.

@missionz3r0 Welcome to the community then! 😄 We have a few projects going on, as of late we are working to refactor the library and migrate to TS to make it more maintainable in preparation to add more features + new algo implementations


admin password reset

Hello. Tried to reset admin password but get the same view with form.
IMHO because of wrong route in (would it be route('password.email') ? ):
https://github.com/adr1enbe4udou1n/laravel-boilerplate/blob/d983ee6e053b4c79b85dc9be8c68bac39dda7bcc/resources/views/auth/admin/email.blade.php#L11

fixed


cat: minor cleanups

In our code review group we found a few minor simplifications :)

what is a review group ? :)
please run rustfmt on it

what is a review group ? :)

Together with a few people we meet once a week to review code. This is our first project to look into :)

please run rustfmt on it

Sorry :see_no_evil: - of course I will do that

@sylvestre I am not sure how it is usually handled with force-pushing vs. append-only in this project and I couldn't find anything in CONTRIBUTING.md. I hope with this small patch-set it is relatively easy to look at anyways...

Both are fine. If you force push we can merge it directly and if you add commits we'll probably squash and merge.

Thank you!

Thank all of you for maintaining this great project! :tada:


Limit Istio to only perform stuff on a given certain set of namespaces

In previous versions a user was able to label namespaces to let Istio (istiod) know to not "touch" those namespaces.
In a concrete example is istio-ca-root-cert being deployed in every namespace.
https://github.com/istio/istio/blob/10b00462d6274dcff6b63042a95ea0bb3b432e41/security/pkg/k8s/controller/workloadsecret.go#L52
The scenario is that our k8s provider makes kube-system namespace protectected by admin policies. Therefore, istiod keeps trying to deploy the certs in that namespaces, failing and retrying endlessly.
@howardjohn suggested me to bring this topic to the attention @lei-tang and @myidpt .
Thank you guys for your help.
[ X ] Configuration Infrastructure
[ X ] Docs
[ X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ X ] Security
[ ] Test and Release
[ X ] User Experience
[ ] Developer Infrastructure
Additional context

Since I will be OOO starting next week, the issue is assigned to @myidpt for triage.

We've got into the issue that's also related to this inability to set the list of namespaces managed with istio (not just as a list of namespaces, but using regular expressions for example).
In our case we 200+ namespaces in the cluster with 2k+ pods. The single namespace that is running spark jobs those are not having istio sidecars (there's any label on the namespace). Due to activity in that namespace istiod is creating new configs for envoys and sends them constantly to all sidecars. Actually it's just sending the same config. This makes istiod to consume all CPU (in our case it skyrocketed to 50+) and huge bandwidth.
This happened to disregard the fact that annotations networking.istio.io/exportTo set for all services in the namespace to '.' (only this namespace).


{AzureDataProtection} fixes Azure/azure-rest-api-specs#21183

fixes Azure/azure-rest-api-specs#21183
The enum values for the storage settings are listed in the latest API as ArchiveStore, SnapshotStore, VaultStore.
However while providing SnapshotStore value it fail with BMSUserErrorInvalidInput error. Also while trying the same from PS cmdlet using

New-AzDataProtectionBackupVaultStorageSettingObject -DataStoreType SnapshotStore -Type LocallyRedundant

Error:
Error: "Unable to match the identifier name
SnapshotStore to a valid enumerator name. Specify one of the following enumerator names and try again:
ArchiveStore, OperationalStore, VaultStore"

This PR fixes the enum value of storage setting
ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo.  If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

@umpatel Could you please review this PR once you get a chance ?


htex caching return values unexpectedly, which may cause problems with mutable return values

Describe the bug
In some circumstances, htex with return the same object from multiple invocations of an app. This is undesirable when return objects are mutable (for example lists). This behaviour would be acceptable when memo/app caching is enabled, but not otherwise.
It looks like this happens because deserialize is wrapped with lru_cache in parsl.serialize.base:
        self.deserialize = functools.lru_cache(maxsize=maxsize)(self.deserialize)

Removing that line makes this test case work with htex.
This test case does not fail with thread local or the WQ executor.
This was found by Sander Vandenhout.
To Reproduce
Run this pytest case with --config parsl/tests/configs/htex_local.py
@parsl.python_app
def return_range(x):
    return list(range(x))

@pytest.mark.skip("this demonstrates an issue, by failing")
def test_range_identities():
    # these don't necessarily make sense with caching turned on so beware.
    x = 3

    fut1 = return_range(x)
    res1 = fut1.result()

    fut2 = return_range(x)
    res2 = fut2.result()

    assert(fut1 != fut2)
    assert(id(fut1) != id(fut2))
    assert(id(res1) != id(res2))

Steps to reproduce the behavior, for e.g:

Setup Parsl 0.8.0 with Python 3.6 on cluster
Run a test script
Wait 5 mins
See error

Expected behavior
Without caching/memoisation turned on, python objects returned by different tasks should be distinct.

Could by any chance this help? I was following the path of submitting a job and came out here:
https://github.com/Parsl/parsl/blob/7a71fc516fae91626c30f651a3bb5c4cc0593fba/parsl/dataflow/dflow.py#L610-L615
I think one should return a deepcopy of the cached result. Me, not knowing anything about this project, would think -- as a general guideline from CS -- that returning a non-const reference to a mutable object stored in an in-memory cache, is wrong.
Eg:

import copy

 memo_fu = self.memoizer.check_memo(task_record)
 if memo_fu:
     logger.info("Reusing cached result for task {}".format(task_id))
     task_record['from_memo'] = True
     assert isinstance(memo_fu, Future)
     return copy.deepcopy(memo_fu) # returning from a cache should never allow the cache to be modified.

@mcourteaux the bit I was looking at was elsewhere, where the result deserializer is wrapped in a lru_cache (sometimes) and performs caching without user opt-in.
I think it's wrong in general to be doing that - my gut feeling is that it would be better to not cache deserialization at all, rather than paying the cost of caching and then duplicating the object afterwards anyway with deepcopy.
The end effect would mostly be the same.
But, the bit of code you pasted is only when a user has chosen to turn on memoization for their parsl functions - it wouldn't make a deep copy when the default of non-memoization is happening. That deepcopy would also only fire on the 2nd and subsequent returns of values, so if a user mutates the result from the first time it comes back, then all subsequent deep copies will be of that mutated result. You'd have to, I think, always copy the result object when memoization was turned on, even if it turns out that result object is only used once.
For the cases where a user has chosen to turn on memoization, I'm happy for parsl to impose stricter rules about what you're allowed to do with the result: you chose to share results. Dealing with sharing mutable objects is a regular part of Python - we aren't programming a pure functional language.

@yadudoc do you have any opinions on removing the lru_cache decorator from the deserialize in this code? It's dangerous when deserializing mutable objects.
An alternative is to force this cached-deserialization only on callables, which is less dangerous (but not entirely mutability free) by implementing a second serialisation type (rather than sharing the same serialization methods between "code" and "data). I would prefer to avoid that complexity without performance evidence that it's worth it.

fixed by #2794


Using \multicolumn in a row inside a matrix

Issue Summary
Hi nice people working in MathJax!!!
I'm doing my work using Jupyter, and in one point I have a bunch of matrices that have one row with one element, and ideally this element should be centralized. I know that Jupyter is using MathJax to render the equations, so, here I'm asking if I'm doing it wrong or if MathJax has a better way to do this or if this is something new!
Steps to Reproduce:
This is what I'm  doing:
$$
\begin{bmatrix}
    w_{11}x_1 + w_{12}x_2 + \cdots + w_{1n}x_n \\
    w_{21}x_1 + w_{22}x_2 + \cdots + w_{2n}x_n \\
    \multicolumn{1}{c}{\vdots} \\
    w_{n1}x_1 + w_{n2}x_2 + \cdots + w_{nn}x_n
\end{bmatrix}
$$

This is what I got:

This is what I expected:

MWM in LaTeX:
\documentclass[preview,border=2pt,varwidth,convert={true,density=300,size=600x400,outext=.png}]{standalone}

\usepackage{amsmath}

\begin{document}

\begin{equation*}
    \begin{bmatrix}
        w_{11}x_1 + w_{12}x_2 + \cdots + w_{1n}x_n \\
        w_{21}x_1 + w_{22}x_2 + \cdots + w_{2n}x_n \\
        \multicolumn{1}{c}{\vdots} \\
        w_{n1}x_1 + w_{n2}x_2 + \cdots + w_{nn}x_n
    \end{bmatrix}
\end{equation*}

\end{document}

Technical details:
Sorry but I don't know how to figure out the MathJax version being used by Jupyter, but looking the HTML to the web interface I see several files named Main.js and there I can read:
/*
 *  /MathJax/jax/output/HTML-CSS/fonts/STIX-Web/Arrows/Regular/Main.js
 *
 *  Copyright (c) 2009-2018 The MathJax Consortium
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

MathJax.OutputJax["HTML-CSS"].FONTDATA.FONTS.STIXMathJax_Arrows = {

. . .

MathJax Version: unknown
Client OS: Mac OS X 10.15.4
Browser: Jupyter Notebook 4.4.0 (latest) under Safari 13.1
Python: 3.7.3

MathJax currently does not support the \multicolumn macro.  Fortunately, your array is only one column wide, so you really don't need to use \multicolumn here.  You can just do
$$
\begin{bmatrix}
    w_{11}x_1 + w_{12}x_2 + \cdots + w_{1n}x_n \\
    w_{21}x_1 + w_{22}x_2 + \cdots + w_{2n}x_n \\
   \vdots \\
    w_{n1}x_1 + w_{n2}x_2 + \cdots + w_{nn}x_n
\end{bmatrix}
$$

in this case.

Unfortunately my example had one column, but, nonetheless would be nice to have support to multicolumns, I think...
Coud be closed if you guys don't plan to work on it in a foreseable future!
Sheers,


Update README and installation/deployment instructions

readme file doesn't contain startup instructions, requirments.txt missing

added instructions adn description, added requirments.txt


The DEPTH option "1,noroot" should be added

Hi,
The plugin as I see currently only supports options to fetch properties for resource itself, resource + children and the infinite one.
In a situation where I need to fetch the files tree I want to fetch only children for each call and that can be done with "1,noroot" depth setting.
For clarification, at the moment when I fetch the "Images" folder props I get => Images folder, image1.jpg, image2.jpg etc. I want only the images, not the selected folder.

https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2003/aa142960(v%3Dexchg.65)

Thank you for reporting this.
I didn't know about 1,noroot, it turns out to be an extension from Microsoft and not a part of the original spec (as well as infinity,noroot).
I marked it as up-for-grabs, so I could accept a Pull Request for this.
Could be worked around by sending a custom Depth header
Headers = new List<KeyValuePair<string, string>>
{
  new KeyValuePair<string, string>("Depth", "1,noroot")
}

Thanks for the response. I'll be glad to make a PR for this.

Sure, here is an example:
var propfindParams = new PropfindParameters
{
  Headers = new List<KeyValuePair<string, string>>
  {
    new KeyValuePair<string, string>("Depth", "1,noroot")
  }
};
var response = await client.Propfind("__URL__", propfindParams);

I checked that a request with this header is sent but I cannot check that it actually works since I don't have a WebDAV server that supports this header.
I wonder why the server returns 400 in your case, probably there's error details in the response body. Fiddler or other HTTP debugging tools could help here.


Parser with passive input?

PEGTL allows to parse data by chunks (partial input) but it's only possible when parser drives the input, i.e. doing active reads when it needs more data to parse. It works fine for files but consider HTTP or similar when data comes from a socket and we can't do blocking read of that socket. Instead we can only read some chunks of data when it's received and pass a chunk to the parser.
For now I had to split HTTP grammar in 2 parts - head and body, and detect end of head externally then pass whole chunk of input received for head to head-parser, then do even more nasty stuff for body because of problems with chunks.
Perhaps it's possible for PEGTL to support a special mode when it would parse a given chunk of data till it can and then return the size of data not parsed and preserve state of parser so that when more data arrives a user could pass the data not parsed on previous step with additional data chunk just received.

The state of the parser consists of the State arguments and the current call stack with all of its automatic variables. This makes it rather impossible to return from a partial parsing run so that it can be resumed later. The classical way to achieve this kind of producer-consumer coupling is with coroutines (or with proper continuations, if available, which of course make everything easy). As soon as C++20 coroutines are fully functional in GCC or Clang I'll check them out in detail and hopefully they'll allow us to put something together.

Thanks, Colin. I expected major problems but thought it might be possible to identify (even with help of a user, e.g. like in Lua with yield but it supports couroutines natively) some points where state could be collapsed to a managable size. But if everything is hold on stack then no way of course...
And yet if you ever consider implemeting this even with coroutines I'd be even more thankful that I am now. :) Thanks!

I'm very much looking forward to my compiler implementing standard coroutines, and this will be the first thing I'll use them for.


edge cases fail with --generate-unit-tests

Snakemake version
6.6.1
Describe the bug
I've been running into issues when I try to run snakemake --generate-unit-tests on my pipeline.

--generate-unit-tests will mistakenly create tests for rules with files that are marked as pipe(). This results in the following error when Snakemake looks for the file, even though it doesn't exist.

FileNotFoundError: [Errno 2] No such file or directory

--generate-unit-tests uses shutil.copytree(), which raises errors when the target directory already exists

FileExistsError: [Errno 17] File exists

My Snakefiles make use of config files. However, the unit test files generated by Snakemake do not copy the config files into the temporary working directory in which they operate. As a result, the tests fail with the following message when I execute them with py.test:

FileNotFoundError:
[Errno 2] No such file or directory: 'configs/config.yaml'
  File "Snakefile", line 7, in <module>

This issue has already been well documented in #843
Sorry, but I don't have minimal working examples for these issues, although I think it would be easy to create them. I might get a chance to do this later next week.

By the way, here's an attempt I made at getting around issues 1 and 2

Bumping this. 1. still seems to be an issue in 7.20.0

Another edge case arises with files marked as temp(), the rule will throw a file not found error with --generate-unit-tests.

Still an issue in v8.12.0, but now (@andrewfullard) an error message says:
No job with all input files present for rule {}. Consider re-executing the workflow with --notemp in order have all input files present before generating unit tests.


Bluetooth: GMAP: Add initial implementation of GMAP

Add initial implementation of GMAP.
This comes with the implementation of all GMAP roles, as well as BSIM and shell support.
Samples are not yet implemented, but may be added as part of this PR or a subsequent PR.

The implementation of TMAP in https://github.com/zephyrproject-rtos/zephyr/pull/56686 and this should be made similar. TBD which changes to be done by either.

@MariuszSkamra @kruithofa @larsgk could you please review?

@Thalley rebase required.
@larsgk please re-review

@fredrikdanebjer @kruithofa @cvinayak @MariuszSkamra @Casper-Bonde-Bose it would good to get this (experimental) feature into 3.5 if possible - If you can please review ASAP before the feature freeze tomorrow.


SAK-41665 use innerText instead of deprecated nodeValue

The old code doesn't work at all in most recent Chrome. No error, just a null nodeValue

@ottenhoff  It's a weird one - the info online about it is really vague.


Dark theme problematic status update box

Example: https://gr.ps/compraventasbsas (do not enter dummy content)

Fixed. It will be active in the next commit.


Update job.js

When executing more than one query at a time, tasks should be used;
Tasks are most readable when used with generators;
self is a better way to refer to this safely, as you jump call context
Simplifying the code

P.S. Since you are executing updates, perhaps it is wide to use tx instead of task, which you can replace ;)

I have updated it - replaced task with tx, for data integrity ;)

Thank you very muchly!


Import error when running surface_currents.ipynb on Binder

Dear all,
I discovered your notebook to learn about batch generation with xarray datasets for machine learning.
Sadly, I am not able to run the first cell in surface_currents.ipynb:
import xarray as xr

ImportError: cannot import name 'TypedDict' from 'typing' (/srv/conda/envs/notebook/lib/python3.7/typing.py)

Possible solution
The binder environment currently uses Python 3.7. Switching to Python 3.8 or newer should solve the import error.
If I can change the Python version of the Binder environment myself, I would be grateful for a hint!
Thank you,
Luis

I'm seeing this too.
@brian-rose Could you transfer this issue to the right repo?

@cmdupuis3 I don't think there's a better place for this issue, if it pertains to the Binder image for this cookbook.
Let's try modernizing the environment file in this repo and see if that gets us anywhere.

@cmdupuis3 After merging #13, there's a new Binder image running Python 3.10. The import error is gone, but some new errors are popping up farther down in the notebook. Maybe you can try running on the Binder and take a look? I don't know much about the actual contents of this cookbook.

😬 At a first glance, I believe it's a problem related to the intake library. Maybe the syntax changed or something, but I'm actually not that familiar with the library.
from intake import open_catalog
cat = open_catalog("https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/ocean/CESM_POP.yaml")
cat['CESM_POP_hires_control']

I also tried it in python 3.12, but it seems there's also a dependency on distutils, which is deprecated in 3.12.

Interesting, I see that our Intake Cookbook is also failing. Maybe related? I'll open an issue over there.

As I noted over at https://github.com/ProjectPythia/intake-cookbook/issues/33, Intake 2.0 was released in Feb 2024 and there seem to be some backwards incompatible changes. That's about as far as I can get right now.


Voyager support for Laravel 5.6

Laravel Version: 5.6.*
Voyager Version: 1.0.17
PHP Version: 7.1.15
Database Driver & Version:

Description:
Voyager gives this error when tried to install
 Problem 1     - Conclusion: remove laravel/framework v5.6.15     - Conclusion: don't install laravel/framework v5.6.15     - tcg/voyager 1.0.x-dev requires illuminate/support ~5.4.0|~5.5.0 -> satisfiable by laravel/framework[5.4.x-dev, 5.5.x-dev], illuminate/support[5.4.x-dev, 5.5.x-dev, v5.4.0, v5.4.13, v5.4.17, v5.4.19, v5.4.27, v5.4.36, v5.4.9, v5.5.0, v5.5.16, v5.5.17, v5.5.2, v5.5.28, v5.5.33, v5.5.34, v5.5.35, v5.5.36, v5.5.37, v5.5.39, v5.5.40].
Steps To Reproduce:
In my laravel app
issued this command:
composer require tcg/voyager

Please search before opening a new issue

Oh, I apologize being an idiot.

what is the pros and cons of voyager laravel


Mostly fixed broken links

There were several broken links in README.md, MIDIPlayer.html and WhitneyMusicBox.html.
Also fixed the canvas.style.height property in WhitneyMusicBox.html.

Thanks for the fixes @sinkswim!


REFACTOR sticky footer

When content height is smaller than screen height, the footer is
floating in the middle of the screen in a disgracious way.

Made it stick to the bottom of the page instead.

Thx!! :)


Explicitly listing a symlink shows only the target, without the link name

When you call lsd on a directory without specifying any patterns, symlinks are shown as expected, with an arrow pointing from the link name to the target:
% lsd -l
.rw-r--r-- user users 0 B Wed Jun 26 11:17:09 2019 file
lrwxrwxrwx user users 4 B Wed Jun 26 11:17:17 2019 link ⇒ file

But if you use any kind of patterns to narrow down the list, the command only shows the target of symlinks:
% lsd -l *
.rw-r--r-- user users 0 B Wed Jun 26 11:17:09 2019 file
.rw-r--r-- user users 0 B Wed Jun 26 11:17:09 2019 file

It would be useful to see the name of the link in the second case as well.

I just noticed this behavior as well on my two main systems. An 2012 iMac and 2018 MacBook Pro. Both running Mojave. OS may not matter for this bug but @elpres system(s) are you seeing this on?

@runeimp Linux


The build should use the version 0.1.3-SNAPSHOT of bdg-utils-metrics:jar

Issue
Currently maven looks for version 0.1.2-SNAPSHOT, but apparently this artefact cannot be found.
Steps to reproduce:

Fetch master branch
mvn package

Error Output
[ERROR] Failed to execute goal on project avocado-core: Could not resolve dependencies for project org.bdgenomics.avocado:avocado-core:jar:0.0.3-SNAPSHOT: The following artifacts could not be resolved: org.bdgenomics.bdg-utils:bdg-utils-metrics:jar:0.1.2-SNAPSHOT, org.bdgenomics.bdg-utils:bdg-utils-misc:jar:tests:0.1.2-SNAPSHOT: Could not find artifact org.bdgenomics.bdg-utils:bdg-utils-metrics:jar:0.1.2-SNAPSHOT in Sonatype (http://oss.sonatype.org/content/repositories/snapshots/) -> [Help 1]
Potential resolution
Use the new version that is available: https://oss.sonatype.org/content/repositories/snapshots/org/bdgenomics/bdg-utils/bdg-utils-metrics/
Change line 26 of pom.xml as follows:
<utils.version>0.1.3-SNAPSHOT</utils.version>

Ah, yes! Thanks for catching this; we made a new release of bdg-utils two days ago, so the 0.1.2-SNAPSHOT is not still available.

Closed by #145.


The SCTE35 "section_length" value is always 3 bytes less than the actual size

I'm learning SCTE35 staff and I can't figure out one thing. Why is the length of "section_length" always less than 3 bytes from the actual size?
Example:
>>> test_raw = "/DAlAAAAAAAAAP/wFAUAAAZ5f+/+AAAAAH4Ae5igAAAAAAAA5nk27g=="
>>> test_cue = Cue(test_raw)
>>> test_cue.decode()
>>> test_cue.show()

"section_length": 37,

But if I will check  len(test_cue.bites) will see 40:
>>> len(test_cue.bites)
40

I've already checked the documentation but did not find answer:

https://wagtail-prod-storage.s3.amazonaws.com/documents/SCTE_281-1_2023.pdf
https://wagtail-prod-storage.s3.amazonaws.com/documents/SCTE_281-2_2023.pdf
https://alexzambelli.com/blog/wp-content/uploads/SCTE-35 In-Band Event Signaling (Seattle Video Tech - Dec 2018).pdf

Probably some "header" that is not included in the "section_length".  From the source of the lib i see that "section_length" calculation like this - # 11 bytes for info section + command + 2 descriptor loop length  + descriptor loop + 4 for crc, but I`m still confused.
Сould someone please explain why we have this 3 byte difference in "section_length" and the actual size ?
Sorry, the question not related to the project

No problem man , that threw me for a while too.
(8 + 1 + 1 + 2 + 12 ) >> 3 = 3 bytes

Section Length is the number of bytes immediately following Section Length.

Does that make sense?

yep, it is clear now.
Thank you very much


[AMENDMENT] Encrypted Messaging

Title
Threema
Amendments
In the Encrypted Messaging it says

Many messaging apps claim to be secure, but if they are not open source, then this cannot be verified - and they should not be trusted. This applies to Telegram, Threema, ...

But Threema is FOSS (https://github.com/threema-ch) and has been for quite some time now. For Android there is even a additional Threema Libre version (without proprietary libraries) that can be installed via the F-Droid store.
Association Disclosure
No response
Would you like to submit a PR?
No.
Please tick the boxes

[X] You have filled out this form accurately, and to the best of your knowledge
[X] You have indicated weather or not you are associated with the project the amendment refers to
[X] A similar submission has not already been opened for this software/ service
[X] You agree to the code of conduct

Not the server part
A recent blog stated they had only recently introduced (optional) perfect forward secrecy, which seemed rather odd to me at least.

Yes, that's sound reasoning, thx for elaborating.
Yeah, while the issue was that people already assumed that Threema had PFE implemented (which basically shows how complicated/diverse e2ee implementations are), I guess adding it now at least is a positive. I don't use it, but I do wonder why they made it optional (I have only read a press release so far).


Feature: Default Group selection

We can have one url like this https://join.hustunique.com/web, and the form will change the default selection value of Group . (He can still change his target group in this page)

目前的流程设计来看，是注册后在/dashboard/overview会显示开启的招新，点击立即报名弹Dialog，目前这个Feature有什么别的设计草案不？ @ttzztztz


No GDAL lib (tifffile replaces)

rationales: https://kipling.medium.com/nogdal-e5b60b114a1c
information allowing to go further towards "no gdal" reader: https://github.com/cgohlke/tifffile/issues/200#issuecomment-1613348047

[x] make tifffile working to lazy load digital numbers without resampling…(as a first step)
[x] make  tifffile working to lazy load digital numbers with resampling (using F Nouguier code)
[ ] validation with xsar sphinx documentation
[ ] comparison GDAL output versus tifffile

@lanougue Hello,
I have a working version of the reader without gdal-rasterio-rioxarray replaced by tifffile (lib proposed by ODL).
The resampling part of the code is directly inspired from xsarslc.interface .
Major concern: regarding the time to resample a GRD product:

with new code (using tifffile and compute_low_res_tiles):

/home/antoine/Documents/data/sentinel1/S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_992F.SAFE
(200.0, <xarray.Dataset>
Dimensions:         (pol: 2, azimuth: 839, range: 1259)
Coordinates:
 * pol             (pol) object 'VV' 'VH'
Dimensions without coordinates: azimuth, range
Data variables:
   digital_number  (pol, azimuth, range) float64 202.7 197.3 ... 71.23 75.42)
elapsed time:66.09 sec
RAM 3382.39 Mo

with gdal using rioxarray for resampling:

/home/antoine/Documents/data/sentinel1/S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_992F.SAFE
(200.0, <xarray.Dataset>
Dimensions:         (pol: 2, line: 838, sample: 1259)
Coordinates:
 * pol             (pol) object 'VV' 'VH'
 * line            (line) float64 9.5 29.5 49.5 ... 1.673e+04 1.675e+04
 * sample          (sample) float64 9.5 29.5 49.5 ... 2.515e+04 2.517e+04
Data variables:
   digital_number  (pol, line, sample) uint16 dask.array<chunksize=(1, 838, 1259), meta=np.ndarray>)
elapsed time:1.44 sec
RAM 195.24 Mo

Do you have a tips to improve the performance?
Minor concern: I don't know to what extent the assumption of constant pixel spacing in range can hold for SLC products. (even if it is a bit weird to resample SLC data). I would suggest to simply remove the resampling feature for SLC products in this reader library.
code to reproduce the test:
from safe_s1 import Sentinel1Reader, sentinel1_xml_mappings
import time

def getCurrentMemoryUsage():
    ''' Memory usage in kB '''

    with open('/proc/self/status') as f:
        memusage = f.read().split('VmRSS:')[1].split('\n')[0][:-3]

    return int(memusage.strip())
t0 = time.time()
ff = '/home/antoine/Documents/data/sentinel1/S1A_IW_SLC__1SDV_20220507T162437_20220507T162504_043107_0525DE_B14E.SAFE'
strg = 'SENTINEL1_DS:'+ff+':IW1'
ff = '/home/antoine/Documents/data/sentinel1/S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_992F.SAFE'
strg = ff
print(strg)
reader = Sentinel1Reader(strg)
dt = reader.datatree
#print('image',dt['image'].ds)
chunks = {'line':1000,'sample':3000}
# test without resampling
#########################
# dn = reader.load_digital_number(chunks=chunks)
# test with resampling
######################
dn = reader.load_digital_number(chunks=chunks,resolution='200m')
print(dn)
print('elapsed time:%1.2f sec'%(time.time()-t0))
mem = getCurrentMemoryUsage()
print('RAM %1.2f Mo'%(mem/1000.))

Using xsarslc.interface way to resample SLC data is an extremely bad way to proceed for doing what you want. The basic assumption of xsarslc.interface is to assume that spacing is constant per tile. This is thus a bad way for full burst processing. Having a SLC -> GRD-like efficient algorithm is part of the thing I have to do (I already have it done for SWOT data)

I suggest to remove resampling capability in SLC reader for now

Any suggestion regarding an efficient way to do the resampling?


Update the README to point very clearly to the wiki

At the moment the README contains lots of great information and it does technically link to the wiki, but I don't think it is very clear that there is LOTS more  information in the wiki!
So somewhere in the README we need to have a section on (something like) "how do I find information" that highlights the wiki (and potentially contains the answer to #57 ✨

What about putting this in project summary ? I think there could be subheadings there !

Fair enough! So under the project summary I'll explicitly mention and link to some of the main subpages in the wiki

I say yes ! At this point, I'd think more (potentially even redundant !) linking is better than too little :smile:

Okay edited! Tagging this now as closing soon to wait for any feedback in the next day or two before closing.


Use image builders from your namespace when listing the catalog

odo catalog list should show items in my local namespace as well, so if I define a builder in OpenShift Online I can use it.

related to https://github.com/redhat-developer/odo/issues/500

Currently, we are deciding whatever the image is builder image or not based on annotations in the ImageStream Tags list - https://github.com/redhat-developer/odo/blob/master/pkg/catalog/catalog.go#L84
Currently, are querying images only in OpenShift project.
We should also query images in the current project. Let's use the same logic, for now, to determine if the image is a builder or not. Later we can also add some custom label, that will make it easier for the user to import builder images.
This will also require changes to functions that are creating components as currently, they are expecting builderImage to be  only in openshift project


Laravel 5.8 support

Replaced str_* and array_* helper with the corresponding facades Str::* and Arr::*
Had to change the migrations to use bigint for everything that points to the user-id (roles and permissions) / Rollback works fine for me now.
I didn't drop Laravel 5.4 support in this PR as it needs much more changes to our testbench

Any idea when this will have a release for 5.8?
Just started a fresh project, needing an admin dashboard :) Though it can wait a couple of days if it's to be expected soon.
Thanks!


Change themes not possible after installation

Vim bootstrap version(number in first line): latest
Operating system: Ubuntu 20.10
Vim/Nvim version: vim 8.2
Languages: python, javascript

Description
The initial install worked fine. In this example i used the molokai theme. However, if i wanted to change the theme. So i downloaded another generated file (codedark). I replaced the first vimrc file with the new one. However this didn't work, the theme cannot be found. I tested also with other themes. Same result.

https://github.com/editor-bootstrap/vim-bootstrap-updater/commit/55d9d5794a391cd23f9c0d76336a30aeac0e9c70 will solve your problem. If not, please reopen this issue.


Wait indefinitely.

If some fluentd server would not reply ACK response, an Embulk process waits indefinitely.

settable TCP connection timeout
settable TCP idle timeout

https://github.com/smdmts/embulk-output-fluentd/pull/12


:memo: DOCUMENTATION: project structure

Create documentation on the project structure, explain the directory layout, what are models? etc...
This should be placed in the wiki

https://github.com/JefvdA/Chat-app-BE/wiki/Project-structure V1 of the project structure page


InvalidLink false positive

Description of the problem / feature request:
For this code: https://github.com/spotify/mobius/blob/master/mobius-test/src/main/java/com/spotify/mobius/test/InitSpec.java#L68, errorprone v2.4.0 warns that 'warning: [InvalidLink] The reference #when(M) to a method doesn't resolve to anything. Is it misspelt?'.
This is incorrect, the method is defined above and IntelliJ is capable of finding it, at least. Is it caused by the generics, perhaps? In the sense that the 'M' used in the javadoc comment is seen as different than the type parameter M.
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
See the example above.
What version of Error Prone are you using?
2.4.0
Have you found anything relevant by searching the web?
No; it seems fairly straightforward. :) I will suppress it in our code in the mean time.

Javadoc disagrees with IntelliJ in this case.
$ javadoc --version
javadoc 11.0.6

$ cat InitSpec.java
public interface InitSpec<M> {
  void when(M model);

  /** {@link #when(M)} */
  void whenInit(M model);
}

$ javadoc InitSpec.java
...
InitSpec.java:4: error: reference not found
  /** {@link #when(M)} */
             ^
...

I think you're right to pin this on generics. My understanding is that you refer to the parameter type by its erasure:
  /** {@link #when(Object)} */```

Javadoc seems to like that. I suspect that Error Prone will, too, but I haven't tested.

Possibly Javadoc will support using the type parameter's name someday, but the feature request for that has been open forever: https://bugs.openjdk.java.net/browse/JDK-6422214

A bug from 2006, forever indeed. :)
Thanks for the explanation, I will use the erasure workaround instead!


Update es.json to have same fields as en.json

Update es.json to have same fields as en.json, translated a couple strings to Spanish

@vim-usds I don't see Spanish content on this link: http://usds-geoplatform-justice40-website.s3-website-us-east-1.amazonaws.com/justice40-tool/794-afb9606/es, maybe I'm doing something wrong?

I think this is right. What I believe @katherinedm-usds did was copy over the English json file and overwrote the Spanish json file as a starting point for the translation ( which I agree with). She changed a few lines in the overwritten Spanish json file with some Spanish. I couldn't find the lines, but if we can identify the Spanish lines she changed, we can see if that Spanish content shows up on the PR'd URL.

Awesome! I'll manually change the rest of the JSON values from object to string

Just had an awesome awesome sync with @vim-usds on how to make sure whatever version of es.json the translation team is working in (I have not kicked them off yet) has the latest combine beta message and a couple other small copy tweaks, and that after kicking them off we have a good reliable way to point the translation team to just the strings that need additional translation. I'll likely delete the branch I created after Vim merges what we just talked about:

Vim will make the en.json updates he's working on and then make a corresponding es.json that has extra ".en" keys with English string values to make it easier to keep track of which string is which and easier for the translation team, " "about.page.sub.header.1.text.1.en": "On January...", these will be ignored when being parsed, and then the regular keys such as "about.page.sub.header.1.text.1": "El 27 de enero de 2021..." will show the Spanish text.
I'll pass this version of the es.json to the translation team
If during translation or after additional changes to the English copy are made, Vim can run a script that corresponds the English copy change to the Spanish key and es.json line number and to start I'll just manually keep track of what new strings will need additional translation


Mute this obnoxious unused warning that occurs on linux

LGTM! Might be trivial but it's still a fix!

@jwrb technically it's a warning, an error would have broken the build :P

That's the one!


Give the contributing guide a substantial rework

This changes the entire flow of the contributing guide. Please consider this a first draft (it still needs more details).
I tried to put the guide into a logical order for completing and understanding how to best start to contribute to Syft. I would value any feedback on the structure and if the current order makes sense.
The setup instructions are only for Debian at the moment. I will include at least OSX at some point in the near future (it takes a lot longer than one would expect to setup a clean machine).
Signed-off-by: Josh Bressers<EMAIL_ADDRESS>

No notes on this! We can always change it or break it out in future PR, but this is a substantial update with really good information so approved!


[DEVX-2063] Add try-catch when parsing test data

job: https://app.saucelabs.com/tests/a08d3b852da349b39851c51ca3b30011

Fixing pipeline.


Issue 218

Added rush facet. Working in all 3 account types.
Had to replace @order.save in lines 55 and 60 for provisional orders because controller would not allow the state to be changed from provisional to approved. It said it was trying to call the state change on a null object.
Changed mailer to add RUSH to subject line of rush orders. This required moving the email subject from the mailer to the controller. Now the subject is passed to the mailer as a parameter to allow for different subject lines for different cases.
Cases are:
Assistant + rush order = rush provisional confirmation to selector & assistant
Assistant + non-rush order = provisional confirmation to selector & assistant
Selector + non-rush order = regular confirmation to admin & selector
Selector + rush order = rush confirmation to admin & selector
Selector + approval of provisional order = approval confirmation to admin & selector

Reformat subjects to follow pattern that is conducive to sorting/searching. Maybe add a bracketed previx? e.g.

[tricera] RUSH Order Confirmation
[tricera] Order Rejected

Additional case needed:

Selector + approval of RUSH provisional order = rush confirmation to admin & selector]

Does this work?

New commit
-moves checks for if @order.save and @user.instance_of? Assistant to one block
*anything else to dry up?
-sends RUSH email to admin, selector, and assistant for approved rush order
-changes all email subjects to start with [tricera]

Hey Bill,
I refactored the create method in the orders controller to dry it up a little bit more and clarify. Does this work for you?
  def create
    attributes = convert_cost_to_int(order_params)
    @order = Order.new(attributes)
    @user = current_user
    @order.user_id = @user.id

    #for creation of provisional rush orders and regular provisional orders
    if @order.save

      if @user.instance_of? Assistant
        if @order.rush_order
          @subj = "[tricera] RUSH Provisional Order Confirmation"
        else
          @subj = "[tricera] Provisional Order Confirmation"
        end
        OrderMailer.provisional_order(@order, @subj).deliver

      #for creation of approved rush orders
      elsif @order.rush_order
        @order.approve_selection!
        @subj = "[tricera] RUSH Order Confirmation"
        OrderMailer.new_order(@order, @subj).deliver
        @order.save

      #for the creation of all other orders
      else
        @order.approve_selection!
        @subj = "[tricera] Order Request Confirmation"
        OrderMailer.new_order(@order, @subj).deliver
        @order.save
      end
    end

    respond_with(@order)
  end

Looks great!


fetchMembers does not return all the users for different channels of the same team

One of our accounts started a customer request saying that some users didn't get a message from our bot, after doing some researches I noticed that 2 channels of the same team were returning different users (we're using fetchMembers) is there a reason why 2 channels of the same team have more/less users? not sure if a user can change a configuration to not appear there.
I asked this user to remove one of the missing users from the team and then re-add the user, after one hour the user started appearing using fetchMembers, but only that user, this channel has other 4 users that still don't appear, maybe this is helpful to detect the issue.
Thanks

I'm guessing this issue is happening for you because you are using the channel.id to fetch the member list rather than that team.id to fetch the member list. Using the team.id should return the whole team's member list no matter the channel. Using the channel.id gives you a list of members that is formulaically figured out based on things like who has commented in this channel, who has favorited this channel, who was at-mentioned in this channel, etc.

@jotrick thanks, you're correct, passing the team.id returns the whole list of users.
The problem is that we don't have the team.id in some scenarios, shouldn't always return the same list given the channel.id anyway?

@santiagodoldan To clarify, what are scenarios where you have channel.id but not team.id? Is this one where you've cached the channel id but not the team id? Messages sent to your bot in a team context should always have both team and channel id in its channelData.

@aosolis yes, our bot runs a scheduled job and tries to get the list of members based on checkins stored in the DB, some of them do not have a team id.
Are there any plans on implementing a new endpoint to get a list of team ids given a tenant?

@billbliss to answer the question above.

@bilby91 thanks for that.
Going back to my previous issue, I'm thinking if it could be a good idea to document what @jotrick mentioned, I mean this part Using the channel.id gives you a list of members that is formulaically figured out based on things like who has commented in this channel, who has favorited this channel, who was at-mentioned in this channel, etc. because I'd expect a list having ALL users if I don't know that.


Improve git error messages

Summary
I do gopass clone fho@<IP>:/home/fho/git/gopass-work.git work
and it fails with:
error: failed to clone repo 'fho@<IP>:/home/fho/git/gopass-work.git' to '/home/fho/.password-store-work'
When I do the same with git clone it succeeds.
The error message from gopass gives no information what the reason for the failure could be.
It makes it very hard to debug and fix issues.
gopass should provide enough informations when errors happen to allow fixing problems

Yes, indeed. These error messages should provide enough information to resolve the issue.


Trouble adding Content Types on the root site collection using Add-SPOContentType

Hello
Reporting an Issue or Missing Feature
Issue
Actual behavior
I've hit a problem when trying to add content types on the root site collection, the add-spocontentype command fails:
By Root site collection I mean https://mySharePointSite.sharepoint.com
The commands below work fine on non root site collections - I.E
https://mySharePointSite.sharepoint.com/sites/Test1
Steps to reproduce behavior
Example Code
$DocCT = Get-SPOContentType -Web $web -Identity "Document"
This retrieves the base content type, running $DocCT I can confirm the Content Type is retrieved successfully.
Now, trying to add a new content type, with the above CT as the parent:
Add-SPOContentType -Web $web -Name "My new CT" -Group "My CTs" -ParentContentType $DocCT
Results in:
Add-SPOContentType : The object is used in the context different from the one associated with the object.
At line:11 char:1

Add-SPOContentType -Web $web -Name "My new CT" -Group "My CTs" -ParentContentTyp ...

  + CategoryInfo          : WriteError: (:) [Add-SPOContentType], InvalidOperationException
  + FullyQualifiedErrorId : EXCEPTION,SharePointPnP.PowerShell.Commands.ContentTypes.AddContentType

As mentioned, this works fine on non root site collections.  If I leave of the 'ParentContentType' parameter, and let it default to 'item', the new Content Type is created.
As soon as I switch the URL in my Connect-SPOnline commands to the non-root SC, this works fine.
What version of the PnP-PowerShell Cmdlets are you using?
Using the latest PnP PowerShell commands (September).

Not sure exactly why it would behave differently on the top-level site collection, but it should work correctly if you omit the -Web parameter altogether from your calls to Get-SPOContentType and Add-SPOContentType

@casselc confirmed your solution works...oddly, I'm convinced I tried that yesterday...


Cannot find channel "latest.yml" update info: HttpError: 404

I had a promblem when using hazal . I provided file latest.yml  but it still not work
Error: Error: Cannot find channel "latest.yml" update info: HttpError: 404

Having the same issue

Check this
https://github.com/vercel/hazel/issues/63

https://github.com/vercel/hazel/issues/63
Check this


Flake8 rule 'E999' reported an invalid point

I know this is a duplicate issue, but I keep on running into this lately and I'm not exactly sure what to do about it.
Flake8 reported an invalid point for the rule E999, with the messge SyntaxError: EOL while scanning string literal.

Debug information:
Atom version: 1.12.5
Flake8 version: 3.2.0 (flake8-docstrings: 1.0.2, pydocstyle: 1.1.1, pycodestyle: 2.2.0, pyflakes: 1.3.0, mccabe: 0.5.2) CPython 3.5.2 on Darwin

Oops. The line number and line position were incorrect, but the error was justified. Sorry!

Btw, flake8==3.2.1 (released 2 days ago) should hopefully fix the invalid points coming from it for these E999 errors, if you see this again after updating to that version please report it and include code to reproduce the error so it can be reported and fixed in flake8!


installExternalPackages fails if package does not have dependencies or devDependencies

These lines assume dependencies and devDependencies are both defined objects.
  var deps = Object.keys(pkg.pkg.dependencies);
  var devDeps = Object.keys(pkg.pkg.devDependencies);

Good point - what version is this for?

I'm trying out 2.0.0-beta2, but it seems to have some perf issues so I don't think I'm ready make the switch yet.

What perf issues? It's significantly faster for me

I've been using my fork for about a month and lerna bootstrap takes about 40 seconds when all modules are installed. With 2.0.0-beta2, I aborted lerna bootstrap after 4 minutes and the progress indicator looked like about a third of my packages had been visited.

Do you have a repo up somewhere that shows this?

unfortunately, no. it's an internal project that won't be public for another few months.

I'll see what I can do about getting more info for the perf issue, but in the mean time (1) should I open a new issue and (2) is it possible that it's an npm 2 vs npm 3? I'm using npm 2.

I might be related to your version of npm, I'll do more testing with npm 2 since I use npm 3 for the most part

The original issue has been fixed in #105
@ianwremmel if you can demonstrate a perf issue please open a new issue

Will do, thanks for the quick responses!


Make EngineType generic wrt Engine and payload types

Trying to tackle https://github.com/paradigmxyz/reth/issues/8331
This is my first attempt to contribute to reth and i have created a draft pr before moving forward to gather feedback whether this is the right way to make the EngineTypes generic.
I have added a trait for EngineTypes that requires any type which implements it to also implement it's extended traits that define its associated types.
Very grateful for any feedback regarding this so that i continue on this path!

@mattsse should i abandon this?

yeah @FredCoen very sorry about this... but with recent refactors this isn't feasible anymore


Refactor Accordion Molecule

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

@damienwebdev @lderrickable ready for review.

@xelaint Once Luke reviews, squash, and I'll approve.

@lderrickable I've fixed this up a bit. Please review if you have a moment. I'll squash and merge.

@lderrickable needs re-review after squash.


Can we use image instead of PDF?

Any way to use ViewerJS to load list of images from json or any other source instead of PDF?
Basically I want to use ViewerJS they way https://speakerdeck.com/ uses.
They load images instead of PDF.
Thanks.

Hi. No, the current version of ViewerJS does not support that.
It could be added though, because ViewerJS has a plugin structure, and supporting such a custom format should be "just" a matter of another plugin.


Occasional "Complex Order" Error on trades

Trades will occasionally return "Error 500 - Complex swap is supported only for SELL side" for trades that were possible before.

Trades will occasionally return "Error 500 - Complex swap is supported only for SELL side" for trades that were possible before.

@virus-zip Does it still happen?

Trades will occasionally return "Error 500 - Complex swap is supported only for SELL side" for trades that were possible before.

@virus-zip The fact is that the "buy" mode can be used only in those pairs where "USDT" is present, we are currently working on a way to notify about that.


Axis labels overlapping on zoom

Hello,
Thanks again for the great work on Sandance! I was wondering if there is a way to limit the zoom level on a graph. When zooming in all the way I am facing the issue of labels overlapping.

Thanks!

Hello and thanks for the feedback. This is not an easy problem to fix universally, but for now we have a few sliders in the settings tab:

Thanks for your response. I suppose this means there is currently no way to do it programatically?

The text scale can be set programmatically. The Insight object has a signalValues property, you can set insight.signalValues['Text_ScaleSignal'] = yourScaleValue. Other SignalNames can be found here.
I can provide a better code sample if you let me know which component you're using.

Re-reading your original post, I see that you also would like to limit the zoom. I think that's also a useful feature.
We use deck.gl for rendering, and I see that their doc for orbitView does indeed support min and max zoom. So we would just need to add these options to our api.

I am using the SandDance core visualization canvas and was able to change the text scale. It helps but I think limiting the zoom level would indeed be the better solution. Thanks again!

I'll give this a go!


GetObjectTorrent API implementation

Is your feature request related to a problem? Please describe.
In S3 documentation there is an endpoint which returns Torrent for an object, but it is currently not implemented by this crate.
Describe the solution you'd like
Implement GetObjectTorrent request.
Describe alternatives you've considered
Using rusoto-s3 crate, but I like this crate more.
Additional context
Add any other context or screenshots about the feature request here.

@durch thank you) I'll submit bugs if there are any as soon as we get staging server running


feat(express): support showing image on chat message express backend

merge after https://github.com/run-llama/LlamaIndexTS/pull/396


Doesn't work after reboot

If I reboot the container or the server, then the manger is no longer running,  I have to re-run wget --no-cache -qO - https://raw.githubusercontent.com/ej52/proxmox/main/lxc/nginx-proxy-manager/setup.sh | sh in order to get it running again.  Once it has finished running all is ok again untill i need to reboot again.

Execute the following command within the LXC console:
sed -i 's/^pid/#pid/' /usr/local/openresty/nginx/conf/nginx.conf

Having the exact same error.
Service npm status says its Running.
Can only see traffic on port 3000.

Also putting my hand up for this one. I'm really grateful for the script, and @PeteEdley-EdleyIT 's fix does work. Unfortunately I don't know enough else to troubleshoot it on my own right now.

Yeah, can confirm that too. Re-running makes it work. Will try to troubleshoot some tonight.

Okay, I think I've fixed this for my install.
When nginx starts up it looks to create /run/nginx/nginx.pid the directory is removed completely when the container restarts and nginx can't create the file. It might be a permissions issue I don't know, I'm really new at this.
If you mkdir /run/nginx and then start the process with nginx it starts up with no issues.

I don't know what the deal with the run/ directory is, but to fix this I changed the config for nginx to create the file in /tmp/nginx/nginx.pid and now it starts up happily when I restart the container.
How I Fixed

Restart the container.
Edit the 3rd line in the nginx.conf for me it was /etc/nginx/nginx.conf

From:

To:

Restart the container and confirm nginx is running.

It looks like this is due to the newest version of Nginx Proxy Manager 2.10.1 which was released about two weeks ago. I found a similar issue here.
Might be able to fix the script by pulling an older version, but if anyone updates they'll end up with the same issue. If the script can update nginx.conf that might fix it. I don't know enough right now to update the script, or figure out another solution (it looks like changing the permissions of /run is bad news bears).

same problem

Thanks @ScottSucksAtProgramming , now works with the latest. Because comeback to latest 2.9.x fail with the same error s6 timeout.
But i see logs and i have lots of lines like :
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (98: Address already in use) nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:443 failed (98: Address already in use) nginx: [emerg] bind() to [::]:443 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:81 failed (98: Address already in use) nginx: [emerg] bind() to [::]:81 failed (98: Address already in use)
I dont no what is this.....

Okay, I think I've fixed this for my install.
When nginx starts up it looks to create /run/nginx/nginx.pid the directory is removed completely when the container restarts and nginx can't create the file. It might be a permissions issue I don't know, I'm really new at this.
If you mkdir /run/nginx and then start the process with nginx it starts up with no issues.
I don't know what the deal with the run/ directory is, but to fix this I changed the config for nginx to create the file in /tmp/nginx/nginx.pid and now it starts up happily when I restart the container.
How I Fixed
1. Restart the container.

2. Edit the 3rd line in the `nginx.conf` for me it was `/etc/nginx/nginx.conf`

From:

To:
3. Restart the container and confirm nginx is running.
   ![Screenshot 2023-04-13 at 19 52 41](https://user-images.githubusercontent.com/89794691/231906882-3195775e-ec06-41ca-bb38-40f508e0161e.jpg)

Looks like it's working on my end. The fix is genius. Thank you!


fsutil does not require Windows Subsystem for Linux

[Enter feedback here]
Its mentioned that to use fsutil, WSL  (windows subsystem for linux) is required.  This is not actually true, as far as I can tell.  I can hardlink files with fsutil no problem, and never enabled WSL.
Oh, and if you get around to it- it would be nice if opening a folder with the File Explorer would remember where its window was last placed/sized by the user.  I've been waiting for that since Windows 3.0- I'm guessing your AIs are smart enough to handle it now. Thanks for reading this.

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

ID: 18562b49-3654-a3ff-9617-3c59d50a7d1e
Version Independent ID: 3e69bcb1-b1e6-f0ea-e861-5ced88fe6a24
Content: fsutil
Content Source: WindowsServerDocs/administration/windows-commands/fsutil.md
Product: windows-server
Technology: windows-commands
GitHub Login: @toklima
Microsoft Alias: toklima

#assign:xelu86

Hey @YerCodeSmellsFunny,
Thanks again for contacting Microsoft. We value your feedback.
A documentation change has been made removing this from the note as WSL is not a dependancy for fsutil to run. Changes will be live after the next business day.
As per your feature request for file explorer, I don't know if this has been requested prior but hopefully this is in the works. Please use the Feedback Hub that's built into Windows and suggest a feature change:

We will now be closing this thread. Thank you and have a most pleasant day. #please-close


Payment with certificate

As a user, I want to be able to use the certificate so that I can receive a discount for a partial or full order amount.
Preconditions:

The registered user is logged in.
The user chooses services in the tab “Деталі замовлення”.
The user has at least one valid certificate.
The user’s valid certificate is in the database.

Assumptions and constraints:

All certificates should exist in the database before they are issued for the user.

Business rules:

The certificate serial number format is restricted with 9 characters “4 numeric characters_dash_4 numeric characters” (for example 1234-1234), according to which:

the first four characters before the dash correspond to the number of the service assigned by an accountant via 1C system and it cannot be “0000”;
the last four characters after the dash are the sequence number of the certificate and the numbering starts from “0001”.

The certificate is activated and valid as of the issue date. The administrator sets up the expiration date per each certificate. The expiration date should be shown in the message when the certificate is applied (AC-6).
There is no limit to the amount of the certificate

Acceptance criteria:

Under the order list, the logged-in user sees a certificate section with the sub-title “Чи бажаєте Ви скористатися сертифікатом?”.

The input field for the certificate is shown with the text “Введіть номер сертифіката” above it.

The field contains a placeholder with a grey-colored text: “XXXX-XXXX”. The placeholder shall disappear once the user starts typing.

When the user enters the first 4 numeric characters of the certificate, the system shall automatically enter a dash according to the certificate format.

The button “Активувати” is disabled until the user enters all 8 numeric characters according to the certificate format.
The mockup for the certificate field in the default state under the order list:

The user can’t type more than 8 numeric characters in the certificate input field.

When the user clicks on the button “Активувати”, the system shall verify the certificate number by checking it in the database. The system shall show the following messages under the certificate input field and make relevant changes in the order amount field in the following cases:

| Entered characters | Expected results | Expected message | Changes in the order amount field
-- | -- | -- | -- | --
  1. | Eight numeric characters 0-9 of the certificate with a discount that is lower or equals the order amount. | The certificate matches with the database and the certificate is valid. The system accepts the certificate. The order amount is recalculated. | Сертифiкат на cуму XXX грн активовано. Строк дії сертифікату - до YY.YY.YYYY | The additional row “Сертифiкат” appears under the row “Сума замовлення”, its discount is shown and the system deducts it from the order amount.
| 2. | Eight numeric characters 0-9 of the certificate with a discount that is greater than the order amount. | The certificate matches with the database and the certificate is valid. The system accepts the certificate.The order amount is recalculated. | Сертифікат на суму XXX грн активовано, що перевищує суму Вашого замовлення. Залишок у розмірі YYY грн буде нараховано на Ваш бонусний рахунок для наступного замовлення. Строк дії сертифікату - до YY.YY.YYYY | The additional row “Сертифiкат” appears under the row “Сума замовлення”, its discount is shown and the system deducts it from the order amount so the total amount equals 0.
| 3. | Eight numeric characters 0-9 but they altogether do not match with the database, including 0000-0000. | The certificate does not match with the database and the certificate is invalid. The system rejects it. The order amount is not changed. | Сертифiкат не прийнято. Спробуйте ще раз. | The additional row with the certificate does not appear.
| 4. | Special characters that are not allowed (%$#@&?!+=:”></) | When at least one special character is entered, the certificate is not valid and the system rejects it. The order amount is not changed. | Номер сертифікату введено некоректно. Спробуйте ще раз. | The additional row with the certificate does not appear.
| 5. | Eight numeric characters 0-9 of the certificate that has been already used. | The certificate matches with the database but it was already applied before, so the certificate is invalid. The system rejects it. The order amount is not changed. | Сертифiкат вже використано. Строк дії сертифікату - до YY.YY.YYYY | The additional row with the certificate does not appear.
| 6. | Eight numeric characters 0-9 of the certificate that is expired. | The certificate matches with the database but it is expired, so the certificate is invalid. The system rejects it. The order amount is not changed. | Сертифікат не є дійсним. Строк дії сертифікату - до YY.YY.YYYY | The additional row with the certificate does not appear.
The mockup with the example of the message for the applied valid certificate with its discount that is also shown in the order amount field (case 1 in the table above):

8. When the certificate is accepted, the button “Активувати” shall switch to button “Відмінити”.
9. When the user clicks on “Відмінити” button, the system shall clear the input field and return it to the default state. The system shall remove the additional row “Сертифiкат” under the row “Сума замовлення” together with the certificate’s discount and recalculate the order amount back to the order amount without the discount.
10. The system shall add the link “Додати ще сертифікат” under the field with the first accepted certificate. When the user clicks on the link, the system shall show another input field and the system shall behave in the same way as it does with the previous input field.
The mockup with the example of the link for the second input field:

11. When the first certificate equals or exceeds the order amount, the system shall not show the link “Додати ще сертифікат” for another certificate.
12. The user must be able to add a new certificate until the amount of the order is fully covered.
13.  When the user applies two or more certificates, the system shall add up all discounts to one total discount, dynamically display it in the additional row “Сертифiкат” under the row “Сума замовлення” and deduct the total discount from the order amount.
Out of scope:
N/A
Related Epic - #2195

Certificates.postman_collection (1).json


Incomplete functionality on clicking 'Create Security Group' button without Internal ID field input

Expected behavior
The system should prompt users to input the required internal ID before allowing the creation of a security group. Clicking the 'Create Security Group' button without providing the internal ID should trigger an appropriate validation message.
Steps to reproduce the issue
Navigate to the Permissions tab and click on 'Create Security Group' button.
Leave the internal ID field blank.
Click the 'Create Security Group' button.
Note that no action is taken, and there is no indication of the missing input requirement.
Environment details
App version: v1.6.0
App environment: UAT
Additional information
https://jam.dev/c/b11ac27b-a332-4ce7-8169-440fb6028acb

Issue verified and working fine in release v1.7.0.
https://jam.dev/c/e012cbe2-05b0-4fff-a1ae-fe32374955e7
Hence, closing it.


Store SSH X509 certificate configuration at Netopeer2 for using with SSH Server[Question]

Hi Michal,
As currently SSH X509 certificates are not supported by Netopeer2-server. We plan to use external SSH server and connect to Netopeer2-server via Unix Socket(using -u option). Meanwhile to store the respective configuration in the datastore, I want to use below parameters. Additionally, ietf-keystore config shall also get modified for respective leafrefs.
<netconf-server xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-server">
    <listen>
        <endpoint>
            <name>default-ssh</name>
            <ssh>
                <tcp-server-parameters>
                    <local-port>1830</local-port> [830 Port to be used to listen at SSH server and this port at netopeer2-server to connect from ssh server]
                    <local-address><IP_ADDRESS></local-address>
            </tcp-server-parameters>
             <ssh-server-parameters>
                            <server-identity>
                                <host-key>
                                    <name>default-key</name>
                                    <certificate>
                                            <keystore-reference>
                                                    <asymmetric-key></asymmetric-key> [respective values to be added in reference to ietf-keystore parameters from merge_hostkey.sh]
                                                    <certificate></certificate> [respective values to be added in reference to ietf-keystore parameters from merge_hostkey.sh]
                                            </keystore-reference>
                                    </certificate>
                                </host-key>
                            </server-identity>
                        </ssh-server-parameters>
            </ssh>
        </endpoint>
    </listen>
</netconf-server>

merge_hostkey.sh
CONFIG="<keystore xmlns=\"urn:ietf:params:xml:ns:yang:ietf-keystore\">
    <asymmetric-keys>
        <asymmetric-key>
            <name>genkey</name>
            <algorithm>rsa2048</algorithm>
            <public-key>$PUBKEY</public-key>
            <private-key>$PRIVKEY</private-key>
        </asymmetric-key>
    </asymmetric-keys>
</keystore>"

Question 1: Can you please confirm, if doing so, won't affect the existing functionality. Or something else/additional I need to do?
Question 2: Is there any plan to add SSH X509 support in the recent future?
Thanks!
Regards,
Ankit

Can you please confirm, if doing so, won't affect the existing functionality. Or something else/additional I need to do?

You do not have to have any ietf-netconf-server configuration if you plan to connect only using the UNIX socket. That configuration is only for SSH/TLS connections.

Is there any plan to add SSH X509 support in the recent future?

No.

I also want to modify the port number that has to be used for connect in netopeer2-server from 830 to some other number, during config load via sysrepocfg.
For doing that, sysrepocfg, asks for additional parameters to be set.
While running same config as a merge operation using netopeer2-cli, I am able to set.

Then just modify the original config, it seems you are missing some data from it.

Thanks Michal, With the mentioned config and added parameter it worked.


fix(crossterm): terminal should keep Bold when removing Dim

The Dim removal should behave the same as the logic for Bold removal that sends NormalIntensity sequence and then restores Dim when needed.

Ah, the code changed since the last release. Oh well, let me fix that.

Can you please move this closer to the bold part and add a comment about why this is required something like:
// removing bold/dim has to start from normal intensity and add back any attributes
if removed.contains bold / dim {
	set normal intensity;
	if contains bold set bold;
	if contains dim set dim;
}

Something like this?

LGTM. Thanks for the fix


Getting more done in GitHub with ZenHub

Hola! @agustifernandez has created a ZenHub account for the lacona organization. ZenHub is the leading team collaboration and project management solution built for GitHub.

How do I use ZenHub?
To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.
What can ZenHub do?
ZenHub adds a series of enhancements directly inside the GitHub UI:

Real-time, customizable task boards for GitHub issues;
Burndown charts, estimates, and velocity tracking based on GitHub Milestones;
Personal to-do lists and task prioritization;
“+1” button for GitHub issues and comments;
Drag-and-drop file sharing;
Time-saving shortcuts like a quick repo switcher.

Add ZenHub to GitHub
Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @agustifernandez.

Please don't spam the repo.

Hi, sorry man, I just installed the chrome extension, wasn't aware it would generate this. My bad.