x448: Add 64-bit implementation for ppc64(le)

The 64-bit implementation is taken from Ed448-Goldilocks repository
git://git.code.sf.net/p/ed448goldilocks/code.
src/p448/arch_ref64/f_impl.[ch]
On POWER9 "openssl speed ecdhx448" performance improves from 1621 op/s
to 5611 op/s.
Signed-off-by: Amitay Isaacs<EMAIL_ADDRESS>

The code reference is to MIT licensed code written by someone else. We would have to have their signoff and a CLA on file from them - i.e. from Mike Hamburg and from Cryptography Research, Inc.
Thanks for noting the clear attribution - it made checking that straight forward.

As I understand, the arch_32 code for x448 is also from the same repository (and has same attribution to Cryptographic Research, Inc).

Note we have CLAs on file (in order to get the previous contribution) - however we need explicit permission for this contribution as it is the copyright owner that grants the permission under the CLAs.
See commit 1308e022e1a62214b9e7f8ec92ca7045e70af3a2 where @mattcaswell noted the original under-CLA context.

@t-j-h, note that the complete goldilocks implementation was contributed under CLA and most of it was imported at that time - see 7324473f.
From the commit message:

This imports selected files from the src directory of this repository:
https://sourceforge.net/p/ed448goldilocks/code/ci/v0.9.4/tree/
This is from the version tagged as "v0.9.4" with commit id 7527e9.
This code was originally writting by Mike Hamburg and the import is done by
kind permission of Rambus and Mike Hamburg under CLA. As this is under CLA
the files are being relicensed under the OpenSSL licence. Subsequent
commits will correct any licence notices in the individual files.
These files should provide complete self-contained support for X448 and
Ed448. They are imported "as is" from the source repository and this
commit does not attempt to integrate them into the OpenSSL build system,
or modify them in any way to fit OpenSSL style guidelines. That will be
done by subsequent commits.

Subsequent commits pruned lots of stuff that we didn't need, and modified the licence headers as needed.
As long as we only use code that existed in the same unmodified form as it existed in that original commit, then effectively we're just resurrecting code that is already in the source repo and has already been submitted under CLA.
If it's based on a different version, then that would be a different story. We'd probably need agreement from both Rambus and Mike Hamburg in that case.

As long as we only use code that existed in the same unmodified form as it existed in that original commit, then effectively we're just resurrecting code that is already in the source repo and has already been submitted under CLA.

For example the file crypto/ec/curve448/arch_64/f_impl.c in this PR seems to be virtually identical (I've not done a line by line comparison) to the file crypto/ec/curve448/p448/arch_ref64/f_impl.c introduced in commit 7324473, renamed by commit abcd22bf6, and subsequently deleted by 7e492f3372.

Closing as superseded by #14031 and then #14784.


License Clarity

We have been developing a commercial application for a client of ours and we have used the below packages along with their dependencies.
bootstrap
We would like to know the following:
Can we use this package (as-is from GitHub) to ship our commercial application?
Does it provide a legal cover to the dependencies and resources like (but not limited to) icon(s), image(s), font(s) that are required by the package as well?
How do we give attribution (legally speaking) according to the usage of this package in our commercial application?

Bootstrap is release under MIT license see : https://github.com/twbs/bootstrap/blob/v4-dev/LICENSE for more informations


Runtime error using client-sdk-v2

So the latest release fixed the webpack issue... but now there's a new issue with missing dependencies.
We've worked around this now by adding the dependencies manually but we get an error if we don't add them in:
{
    "errorType": "ReferenceError",
    "errorMessage": "regeneratorRuntime is not defined",
    "stack": [
        "ReferenceError: regeneratorRuntime is not defined",
        "    at _executeRequest (/var/task/triggerUpcomingReminders.js:54043:53)",
        "    at executeRequest (/var/task/triggerUpcomingReminders.js:54039:26)",
        "    at authMiddlewareBase (/var/task/triggerUpcomingReminders.js:54225:3)",
        "    at /var/task/triggerUpcomingReminders.js:54314:7",
        "    at /var/task/triggerUpcomingReminders.js:53784:9",
        "    at new Promise (<anonymous>)",
        "    at ApiRequest.execute [as requestExecutor] (/var/task/triggerUpcomingReminders.js:53766:14)",
        "    at ApiRequest.execute (/var/task/triggerUpcomingReminders.js:43786:19)",
        "    at getUserEmail (/var/task/triggerUpcomingReminders.js:132338:14)",
        "    at triggerUpcomingReminders (/var/task/triggerUpcomingReminders.js:132642:25)"
    ]
}

Adding those dependencies manually to where we construct the commercetools client fixes the issue. i.e. add the dependencies to the package.json
    "core-js": "^3.18.1",
    "regenerator-runtime": "^0.13.9",

And import them
import 'core-js/stable'
import 'regenerator-runtime/runtime'

and the runtime error goes away.
We're using these versions of the commercetools SDK's:
    "@commercetools/platform-sdk": "^1.18.1",
    "@commercetools/sdk-client-v2": "^0.1.2",

in a node 14 environment running on AWS Lambda. We use webpack to package up our code (v5.56.0).
If you need any further info please reply on here.
Thanks,
Sam

Hello Sam,
You can use the zero dependency (umd) build of the sdk-client-v2 and platform-sdk SDK packages, I believe this will fix the issues.
<script src="https://unpkg.com/<EMAIL_ADDRESS><script src="https://unpkg.com/<EMAIL_ADDRESS>
Or you can force the script to always use the latest version by using the snippets below.
<script src="https://unpkg.com/<EMAIL_ADDRESS><script src="https://unpkg.com/<EMAIL_ADDRESS>

Please let us know if this works for you.
Regards

Hi @ajimae thanks for getting back to me.
Please note that this is a NodeJS environment, not a web page and we are pulling packages via npm. On npm I can only see one package https://www.npmjs.com/package/@commercetools/sdk-client-v2 and this package is missing the dependencies I listed above.
From looking at your source code it looks like it's a transient dependency of Babel which you've accidentally included into the build. Things like Babel, Jest etc there's a few in there that should be devDependencies.
Could you please assess your package.json and not include dev dependencies in the build and issue a new release?
Alternatively if this package isn't supposed to be used yet, could you let me know? It's linked from the your documentation but I see the version number is 0.x.x which suggests this is in alpha and not ready for production? If so please let me know and update your docs to point to the old one.
Thanks

Yes we in fact used the 0.x.x version as it may not be production ready. It's a port of the node SDK client to typescript. The node SDK client is a dependency of the platform sdk and also be available.
See also here:
https://github.com/commercetools/commercetools-sdk-typescript/blob/master/packages/platform-sdk/package.json#L26
https://github.com/commercetools/commercetools-sdk-typescript/tree/master/packages/platform-sdk#usage-example

I should add with the dependency added this client is working fine, but I'm happy to move back to the other one if that's what we should do


Need a way to disable entity parsing

Currently, luaexpat always parses standard XML entities into their corresponding characters. While this is convenient for most applications, it inhibits creating programs that preserve entity encoding when serializing a document. expat provides for the XML_SetParamEntityParsing function to control whether it parses entities, and it would be useful to expose control over this functionality in LuaExpat, maybe as a parser:setentityparsing function.

It seems that (this reported bug in expat)[https://sourceforge.net/p/expat/bugs/527/] has never been fixed, though.


Add karma webworker test

Sorry for the huge commits history, this is because the branch is out of date.
For this PR, I added support of Karam webworker test, for now, one can test webworker env by using  yarn test-webworker

This change is

@Lewuathe - Opoos, it seems that I need your confirm for this commits? Would you mind doing so? Or I can revert this commit.
Thanks!

@WenheLI I think we can ignore it because I have already signed CLA. It should not be a problem, I think.

But another failure is happening in CI?
Failures:
1) computation in worker test-async-cpu undefined tensor in worker
Message:
ReferenceError: Worker is not defined
Stack:
at <Jasmine>
at UserContext.<anonymous> (/workspace/dist/worker_test.js:21:22)
at <Jasmine>
at runCallback (timers.js:705:18)
at tryOnImmediate (timers.js:676:5)
at processImmediate (timers.js:658:5)

Sure, that's probably due to the node running env.

Could you also resolve the lint issue?
$ tslint -p . -t verbose
ERROR: (prefer-const) /workspace/src/worker_test.ts[5, 5]: Identifier 'workerTest' is never reassigned; use 'const' instead of 'let'.
ERROR: (semicolon) /workspace/src/worker_test.ts[7, 64]: Missing semicolon
ERROR: (prefer-const) /workspace/src/worker_test.ts[9, 6]: Identifier 'b' is never reassigned; use 'const' instead of 'let'.
ERROR: (semicolon) /workspace/src/worker_test.ts[13, 2]: Missing semicolon
ERROR: (prefer-const) /workspace/src/worker_test.ts[15, 5]: Identifier 'fn2workerURL' is never reassigned; use 'const' instead of 'let'.
ERROR: (no-var-keyword) /workspace/src/worker_test.ts[16, 2]: Forbidden 'var' keyword, use 'let' or 'const' instead
ERROR: (prefer-const) /workspace/src/worker_test.ts[16, 6]: Identifier 'blob' is never reassigned; use 'const' instead of 'var'.
ERROR: (semicolon) /workspace/src/worker_test.ts[19, 2]: Missing semicolon

@Lewuathe Fixed! Sorry for lint checking before push!


#915: Adding support to get default value as string literal for System.DateTime

This would allow to specify default values for DateTime properties.
For example:
endDate:
    type: string
    format: date-time
    default: DateTime.MaxValue

endOfYear2019:
    type: string
    format: date-time
    default: new DateTime(2019, 12, 31)

Looks good to me, thanks for the PR.


Spyder's comment toggle conflicts with tab indentation capabilities

From<EMAIL_ADDRESS>on 2012-05-08T14:21:25Z
Spyder Version:  2.2.0dev
Python Version:  2.7.3
Qt Version:      4.7.4, PyQt4 (API v2) 4.8.6 on Windows
What steps will reproduce the problem?
Take the following piece of code:
if True:
print True
With the cursor on the "print True" line, toggle comments on.  The code becomes:
if True:
#  print True
With the cursor still on the commented line, press Enter.
Since the indentation of the comment is at the very left hand side of the file the new line thinks it should have 0 indentation.  This is highly annoying behavior.  The level of annoyance is directly proportional to the depth of desired the indentation of the line.  :)
There are a few cases where I feel like I put more effort into correcting Spyder's auto indentation abilities than it saves me to have it enabled.
Most editors don't have this issue because they comment the current line at the current indentation level instead of at the very left. What is the expected output? What do you see instead? Place the caret at the correct indentation when I hit enter.  Under all scenarios.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1020

From ccordoba12 on 2012-05-11T14:23:28Z
It's really annoying indeed. Thanks for pointing it out. I'll try to fix it for 2.2.
Status: Accepted
Owner: ccordoba12
Labels: Cat-Editor MS-v2.2

From ccordoba12 on 2012-05-11T21:26:14Z
This issue was updated by revision 606db762e3e4 .
This will help users to maintain indentation
Status: Fixed

From ccordoba12 on 2012-05-11T21:30:18Z
Fortunately this was a quick fix. Don't hesitate to report more of these little usability issues. With the limited time I have right now I'm trying to fix only them.

From<EMAIL_ADDRESS>on 2012-05-11T21:46:59Z
Awesome!  I'll grab devel on Monday and take a look.

From ccordoba12 on 2012-05-15T10:52:20Z
Anatoly, would you mind to post a file that shows this issue? I don't understand exactly how to reproduce it.
Steve, have you observed this behavior?

From<EMAIL_ADDRESS>on 2012-05-15T09:10:56Z
There is a usability issue when selecting multiple lines. After commenting the selection expands to the previous line, and it is impossible to uncomment block by pressing Ctrl-1.

From<EMAIL_ADDRESS>on 2012-05-16T13:36:56Z
Hmm, yeah I reproduced this. The file itself doesn't matter.  If you select some lines from the very left side of the first line the selection creeps up onto the prior line.  Again, the entirety of the first line must be highlighted when the comments are toggled.  Then, if the user immediately attempts to uncomment it will comment the new line and all the additional lines instead of toggling as desired.  This isn't an issue for me because I don't usually select lines in this manner.  I've attached some screenshots that will helpfully help with reproducing this issue.
Attachment: spyder1.png spyder2.png spyder3.png

From<EMAIL_ADDRESS>on 2012-05-17T22:13:36Z
The discussion on this issue has largely migrated to issue #1026 . Make future comments there.
Status: Duplicate
Mergedinto: 1026

From<EMAIL_ADDRESS>on 2013-01-02T13:24:47Z
Should be resolved by revision d955e66bf27a The behavior Steve pointed out in the original report has been fixed. The behavior in comments 5 and 7 should also be as expected.
@-steve.f.thompson: If you find that the solution committed above is not satisfactory, please feel free to reopen this issue.


Init repo

Is this generated? If so how?

I copied the init from prometheus rules actually. I have a PR in  giantswarm/github as well

https://github.com/giantswarm/github/pull/224

Yip, seen it, approved.
But doesn't this mean these changes should/will be generated by automation and a PR proposed by architect bot?

Some will be yes and they will be overriden but it can take some time for it to run


feat(SPV-837): add /users/current/keys router group

Pull Request Checklist

[x] 📖 I created my PR using provided  : CODE_STANDARDS
[x] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[x] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[x] 📝 I have used conventional commits.
[x] 📗 I have updated any related documentation.
[x] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 10.25641% with 35 lines in your changes missing coverage. Please review.

Project coverage is 48.66%. Comparing base (e6a10da) to head (bbc7f87).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #635      +/-   ##
==========================================
- Coverage   48.79%   48.66%   -0.13%
==========================================
  Files         257      257
  Lines       11524    11563      +39
==========================================
+ Hits         5623     5627       +4
- Misses       5316     5351      +35
  Partials      585      585

Flag
Coverage Δ

unittests
48.66% <10.25%> (-0.13%)
:arrow_down:

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

Files
Coverage Δ

actions/access_keys/routes.go
100.00% <100.00%> (ø)

docs/docs.go
0.00% <ø> (ø)

actions/access_keys/create.go
0.00% <0.00%> (ø)

actions/access_keys/revoke.go
0.00% <0.00%> (ø)

actions/access_keys/get.go
0.00% <0.00%> (ø)

Continue to review full report in Codecov by Sentry.

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


[Bug]: Terraform import of snowflake_tag_association is not working correctly

Terraform CLI Version
1.9.8
Terraform Provider Version
0.97.0
Terraform Configuration
While trying to import an existing terraform resource of snowflake_tag_association
using the below statement -
terraform import snowflake_tag_association.example 'ANALYTICS_PRODUCTION_DB.SNAPSHOTS.ON_CHURN_ARCHIVE'

as per the documentation.
https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/tag_association
# format is dbName.schemaName.tagName or dbName.schemaName.tagName
terraform import snowflake_tag_association.example 'dbName.schemaName.tagName'

But while looking at the terraform state file I am not able to understand why everything is blank.
So this import statement is not able to import the resource correctly.
Please help me on this.

Category
category:resource
Object type(s)
No response
Expected Behavior
expected would be all the attributes should have value like below -
resource "snowflake_tag_association" "table_association" {
object_identifier {
name     = snowflake_table.test.name
database = snowflake_database.test.name
schema   = snowflake_schema.test.name
}
object_type = "TABLE"
tag_id      = snowflake_tag.test.id
tag_value   = "engineering"
}
Actual Behavior
{
"address": "module.tag.snowflake_tag_association.example",
"mode": "managed",
"type": "snowflake_tag_association",
"name": "example",
"provider_name": "registry.terraform.io/snowflake-labs/snowflake",
"schema_version": 0,
"values": {
"id": "ANALYTICS_PRODUCTION_DB.SNAPSHOTS.ON_CHURN_ARCHIVE.ANALYTICS_PRODUCTION_DB.SNAPSHOTS.PG__INSTITUTIONS_SNAPSHOT",
"object_identifier": [],
"object_name": null,
"object_type": null,
"skip_validation": null,
"tag_id": null,
"tag_value": null,
"timeouts": null
},
"sensitive_values": {
"object_identifier": []
}
}
],
"address": "module.tag"
},
Steps to Reproduce
Import any tag association in terraform state.
How much impact is this issue causing?
High
Logs
No response
Additional Information

Would you like to implement a fix?

[ ] Yeah, I'll take it 😎

++ @@.*** @.***>
On Mon, Oct 21, 2024 at 7:20 PM Artur Sawicki @.***>
wrote:

Hey @saugandhik-kipi https://github.com/saugandhik-kipi. Thanks for
reaching out to us.
@sfc-gh-jmichalak https://github.com/sfc-gh-jmichalak is currently
working on the tags redesign, so he will check this issue during that work.
—
Reply to this email directly, view it on GitHub
https://github.com/Snowflake-Labs/terraform-provider-snowflake/issues/3145#issuecomment-2426744599,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BKQ3OVYZVASGXXJQ5BF5R23Z4UBCPAVCNFSM6AAAAABQKBNCWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRWG42DINJZHE
.
You are receiving this because you were mentioned.Message ID:
@.***
.com>

Hi @saugandhik-kipi   👋
We've just released v0.100.0 (release, migration guide) in which we reworked tag associations. Please mind the limitations:
Due to technical limitations of Terraform SDK, object_identifiers are not set during the import state. Please run terraform refresh after importing to get this field populated. object_type, tag_id and tag_value should be populated correctly.
Please upgrade to this version and let us know if you have any issues.


Request to sign CLA from new computer - never succeeds

https://github.com/mojaloop/fraud_risk_management
Steps to reproduce the problem:

Sign the CLA
Commit and merge code a few times
Use a new computer
Requested to sign the CLA again - but it doesn't pick up:

What is the expected result?

Not sure why I am requested to sign the CLA again after I have already done so from a different computer.
Upon signing a second time, it must still work.

What happens instead?

No matter how many times I sign the CLA (and clicking "recheck") it doesn't pick up that I have signed it.

Any other information? (attach screenshot if possible)

Related PR: https://github.com/mojaloop/fraud_risk_management/pull/198

Browser/version:
Google Chrome is up to date
Version 91.0.4472.124 (Official Build) (64-bit)
Any other tested browsers/devices(FAIL):
Microsoft Edge
Version 91.0.864.64 (Official build) (64-bit)

@johanfol - any chance your other machine is using a different GitHub ID (or isn't configured to use one)?

Same GitHub ID - if you click on my UserID you should see all my previous PR's to the same repository, with this GitHub ID.

In the related PR @Messulethe92 is the sole committer of the PR, so this user needs to sign the CLA, not the author of the PR.


File nesting defaults are merged with user and workspace settings instead of replaced by them

Expected behavior
The explorer.experimental.fileNesting.patterns I set in my workspace should fully replace any in the user settings or defaults.
For example, if the default settings.json has:
	"explorer.experimental.fileNesting.patterns": {
		"*.ts": "$(capture).js, $(capture).*.ts"
    }

And my workspace settings.json has:
	"explorer.experimental.fileNesting.patterns": {
		"*.test.ts": "$(capture).*"
    }

The resulting nesting should only reflect the workspace settings (i.e. only the *.test.ts pattern is used).
Actual behavior
The result of the above example is a merged set of patterns, so that the only way I can remove default patterns is by:

Visiting each settings.json file (workspace, user, and default);
Copying all patterns over to my workspace or user settings;
Set those I don't want to an empty string or other falsey value to clobber them.

Does this issue occur when all extensions are disabled?: Yes

VS Code & Windows Versions
# VS Code
1.66.0-insider
f407da25ec62fc82d8f038eb4ae0df1fe8ff246a
x64

# Windows
Edition	Windows 10 Pro
Version	20H2
OS build	19042.1566
Experience	Windows Feature Experience Pack 120.2212.4170.0

Steps to Reproduce
Create the following file structure:
basename.ts
basename.tsconfig.json
basename.deps.ts
basename.deps.tsconfig.json
basename.test.ts
basename.test.tsconfig.json

In the corresponding VSCode workspace settings.json, add:
  "explorer.experimental.fileNesting.patterns": {
    "*.test.ts": "$(capture).test.*"
  }

View the tree, which will show the following nesting:
basename.ts
  - basename.deps.ts
  - basename.test.ts
  - basename.test.tsconfig.json
basename.tsconfig.json
basename.deps.tsconfig.json

When I expect:
basename.test.ts
  - basename.test.tsconfig.json
basename.ts
basename.deps.ts
basename.tsconfig.json
basename.deps.tsconfig.json

This difference is a result of VS Code using its defaults, which include the pattern "*.ts": "$(capture).js, $(capture).*.ts".
To get the expected nesting, update the workspace settings.json to:
  "explorer.experimental.fileNesting.patterns": {
    "*.ts": "",
    "*.test.ts": "$(capture).test.*"
  }

This results in the expected nesting.

By vscode's design, object settings are merged up the scope chain (for instance files.exclude). Would it work for your case to set the value to the empty string?

Ah, interesting. I just sorta assumed that everything clobbered at the setting level. Apparently, this was the first case where the fact that it's actually merging created an outcome I was surprised by.
I think that the reason this was so surprising to me is that all of the other settings that work similarly have a very simple behavior: If I change a setting in my workspace or user settings, I see that change reflected in the behavior of the IDE. So if I add a pattern to files.exclude, it always results in the corresponding files being excluded as intended.
File nesting, however, does not have this simple behavior because there are two ways to influence IDE behavior:

Add a more-local pattern that exactly matches a less-local pattern (e.g. setting the *.ts pattern in workspace.json, which will override the *.ts pattern from the default). This is the usual, expected thing.
Have a pattern (new or already existing, at any scope) that overrides a different pattern by having overlapping matches but less specificity (e.g. *.ts always supersedes *.test.ts, so adding *.test.ts results in no change in IDE behavior). This is the one that's surprising, since I can make changes to settings that don't get reflected by the IDE behavior, without it being obvious why (I have to find a less-specific pattern in any of the settings scopes).

So I guess this has less to do with settings merging than it does with the inability to manage match priority for file nesting patterns. If patterns were prioritized by specificity (which I think would be directly correlated with pattern length?) that would create an IDE behavior that feels like the settings are being merged together as intended.
I would prefer specificity-based priority over scope-based priority, but since the current defaults for nesting are all *.{ext} the outcome would largely be the same.

I've updated the title to reflect the idea of specificity based prioritization. Going to put this on the Backlog for now, not sure at the moment how it ties in with other requests.


Release 2.3.5

Codecov Report
Patch coverage: 53.65% and project coverage change: +0.07% :tada:

Comparison is base (64ead66) 45.13% compared to head (888b750) 45.20%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #362      +/-   ##
==========================================
+ Coverage   45.13%   45.20%   +0.07%
==========================================
  Files          96       98       +2
  Lines        5342     5382      +40
  Branches      642      643       +1
==========================================
+ Hits         2411     2433      +22
- Misses       2931     2949      +18

Files Changed
Coverage Δ

trade_remedies_public/cases/v2_views/invite.py
30.69% <0.00%> (ø)

trade_remedies_public/config/settings/base.py
96.90% <ø> (ø)

...ies_public/cases/v2_views/active_investigations.py
41.66% <41.66%> (ø)

...remedies_public/core/templatetags/get_file_icon.py
63.63% <63.63%> (ø)

trade_remedies_public/cases/urls.py
100.00% <100.00%> (ø)

trade_remedies_public/config/context_processors.py
90.00% <100.00%> (+0.81%)
:arrow_up:

trade_remedies_public/config/version.py
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Filtering messages with plus email address

With the addition of plus addressing for office 365 emails - https://techcommunity.microsoft.com/t5/exchange/support-for-plus-addressing-in-office-365/m-p/1170418, we would like to filter messages with email address with plus in them like -<EMAIL_ADDRESS>AB#7672

Thank you for opening this issue. This appears to be a a feature request. Please use the Microsoft Graph User Voice to search for existing feature requests, and to open new feature requests. Provide a link to your feature request in this issue.

Thank you for opening this issue. This appears to be a a feature request. Please use the Microsoft Graph User Voice to search for existing feature requests, and to open new feature requests. Provide a link to your feature request in this issue.


Docs.MS Release Updates for azure-monitor-opentelemetry-exporter

Update docs metadata and targeting for release of azure-monitor-opentelemetry-exporter

Docs Build status updates of commit f96cdcb:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/preview/monitor-opentelemetry-exporter-readme.md
:warning:Warning
View (azure-java-preview)
Details

package.json
:white_check_mark:Succeeded

docs-ref-services/preview/monitor-opentelemetry-exporter-readme.md

Line 2, Column 1: [Warning-ms-prod-and-service] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.
Line 9, Column 16: [Warning-ms-prod-technology-invalid] Invalid value for 'ms.technology': 'azure' is not valid with 'ms.prod' value 'azure'.
Line 11, Column 13: [Warning-ms-service-subservice-invalid] Invalid value for 'ms.service': 'monitor'.
Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.
Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Azure Monitor OpenTelemetry Exporter client library for Java' is duplicated in: 'docs-ref-services/preview/monitor-opentelemetry-exporter-readme.md(2,8), docs-ref-services/preview/opentelemetry-exporter-azuremonitor-readme.md(2,8), docs-ref-services/preview/opentelemetry-exporters-azuremonitor-readme.md(2,8)'. Titles must be unique within a docset.
Line 27, Column 3: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/java/azure/jdk/?view=azure-java-stable. Otherwise, remove the view parameter.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


refactor: move ndcs-cr to standalone repo

Description
See https://github.com/climate-resource/bookshelf-ndcs-cr (private, the book is private anyway)
Checklist
Please confirm that this pull request has done the following:

[ ] Tests added
[ ] Documentation added (where applicable)
[x] Changelog item added to changelog/

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 91.96%. Comparing base (e821106) to head (7221708).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #117   +/-   ##
=======================================
  Coverage   91.96%   91.96%
=======================================
  Files          15       15
  Lines         672      672
  Branches       72       72
=======================================
  Hits          618      618
  Misses         31       31
  Partials       23       23

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Removed recursive row class, so it doesn't exceed horizontal viewport

Deploy preview processing.
Built with commit f6acc06d2e36d261214fb8afb6bc1f51bd0e7dd5
https://app.netlify.com/sites/goin5minutes/deploys/591b3140a700c454572e6f67

@naidraikzir thanks so much for the screenshots. can you resolve conflicts and then ping me so I can merge?

Thank you @naidraikzir - merging now!


JSONB columns are always updated

Describe the bug
GIVEN a table user
AND the user has a column with type jsonb called address and a column name with type varchar
WHEN loading the user
AND applying a change to the field address with the same properties but in different order. e.g. from {zip:null,street:null} to {street:null, zip:null}
AND applying a change to the field name from Bob to Alice
THEN the update statement will contain updates for both the name and address column
EXPECTED the address column is not updated.
Reproduction
https://github.com/whitelake-city/mikroorm-reproduction/pull/1
What driver are you using?
@mikro-orm/postgresql
MikroORM version
6.4
Node.js version
20.18.0
Operating system
Linux
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord.
[X] The provided reproduction is a minimal reproducible example of the bug.

I am absolutely sure that the description is sufficient.

No, it is not sufficient, it's actually the very opposite since you haven't shared any details. We have many tests for this (the main one being https://github.com/mikro-orm/mikro-orm/blob/master/tests/features/custom-types/json-properties.test.ts but also dozens of other regression tests touching this). I need to see a complete reproduction, let's reopen with one.

@B4nan I am sorry. I added a working reproduction PR.


Mixed tabs

The tabs for Django and Flask have been interchanged. For example, clicking on the Flask tab shows the source code for Django and vice versa is true. I think this is a bug.

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

ID: 1a96d5fc-0dd1-a344-5416-44039cee39b8
Version Independent ID: 72844ca4-b087-de15-be00-e0d87020a48b
Content: Tutorial: Deploy a Python Django or Flask web app with PostgreSQL - Azure App Service
Content Source: articles/app-service/tutorial-python-postgresql-app.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@mepowerleo10 Thanks for the feedback! We are currently investigating and will update you shortly.

@mepowerleo10 Thanks for reaching here! This seems correct now. Let me know.

I think it still exists on the Stream Diagnostics Logs section

@mepowerleo10 Thanks for the feedback! I have assigned the issue to the content author to review further and update the document as appropriate.


Consider switching from Criterion to cargo bench

Criterion sucks - it takes way too long to bench. I'm sure I've raised this issue before. It's very difficult to make settings that get around the whole annoying "statistical significance" mumbo jumbo it uses.
Google's Go bench framework is much better. I think I will finally get fed up enough that I'll rework all the benchmarks.

The statistical significance measurements are very important for micro-benches though. Agreed that they don't give that much at the larger benchmark sizes, and just cause delays

One nice feature of criterion is that it's stateful: it automatically compares the differences between two benchmarks

@Pratyush I think this is a feature rather than a problem. Comparing manually just requires piping to a file. But criterion only allows for comparing two benchmarks. What if I want to compare 3 benchmarks, or a benchmark I had already run in the past?

I have run into that problem as well, I'm not sure I'd classify the statefulness as a feature, since it does become a pain to track which change was benched last in order to get accurate timing measurements

The statefulness is actually a bit of a pain. Typically, what you want to do is mark a particular revision and then compare the current state to that revision as you make changes. Criterion can't do that, which makes its comparison feature a bit of an "attractive nuisance" if you ask me.


Test with Jest cause an error

I'm using  creat-react-app ,  and want to use  jest  for testing.
But, It throws an error about  matchMedia
Below this picture is my  default test js

Did you try to include the polyfill as the error suggests?

I add a  test_setup.js in  /src
and add  <rootDir>/src/test-setup.js in setupFiles of  jest in package.json

Closing as self-answered.
You might want to use an actual polyfill tho (https://github.com/paulirish/matchMedia.js/).

For people who haven't ejected, defining polyfills in a file called src/setupTests.js should work.


Injecting values from Python script doesn't work as I expected?

This:
gcl.loads('a;', env={'a': 6})['a']

raises EvaluationError: <input>:1: Unbound value: 'a' in 'a;'. I was expecting it to return 6. Am I misunderstanding how this is supposed to work?

try this
>>> gcl.reads('a', implicit_tuple=False).eval(env={'a':6})
6

Ahh ok, so env only injects 'global' variables. It would be nice to be able to inject things at any level, but I guess I can do that with tuple composition? Thanks!

Yeah, what you pass in in env is the "outermost" environment of your evaluation. Thanks for explaining @cosu!


Export Inspections  with  modified-after attribute value Issue

Hi,
I have an inspection created 6 june and modified , completed  3July en modified 04 July.
"safetyculture-exporter.exe csv --modified-after 2024-06-19"
writes  inspection with deleted  ='true'
"safetyculture-exporter.exe csv --modified-after 2024-07-04"
writes  inspection with deleted  ='false'
How do you explain that ?
Thanks

Additional information :  It happens when i exceed limit of insection . if total > count , (total-count) inspections are written as deleted.

Hi, I will raise a ticket on our site to investigate this


[KO] Translation of OTP concurrency lesson

related to #201
Any feedback is welcome 😸
@riseshia @devleoper @Dalgona

Looks great! :100:

Thank you @malkoG! :tada:


Emoji search plugin

Something like this but inside hain.

I think it would be super fun!

Possible implementation:
Take emoji lists from https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json
Take png images from https://github.com/github/gemoji/tree/master/images/emoji/unicode
List of js emoji projects I know:

https://github.com/atom/autocomplete-emojis
https://github.com/johannhof/emoji-helper

I guess for this to be cleanly implemented, Hain would need to allow SearchResult to add a CSS class to result items and allow plugin to load a global stylesheet, otherwise it will be really hacky to achieve a grid display.

@mistic100 I think it could be achieved with new html preview (e.g. https://github.com/appetizermonster/hain-plugin-naverdictionary). Any thoughts?

As far as I know you cannot navigate with the keyboard inside the preview (it's an iframe), it will not be practical at all.

@mistic100 I haven't played with HTML preview yet, thanks.
I've made a simple proof of concept with communication with iframe https://gist.github.com/ewnd9/1f6e56880bd6f6470fa930f6467075fb
Navigation inside an HTML preview may be implemented with propagating keyboard events to the iframe.
@appetizermonster What do you think about communicating with HTML preview?

Related:

iframe component sources https://github.com/appetizermonster/hain/blob/79e5bb1daad896ea82a86ea8e37ae9118d729632/app/renderer-jsx/html-frame/html-frame.jsx

I guess there's no way to communicate with HTML preview at the moment.
but I have no idea how to implement it.


Offer a way to import files relative to src/

Not really sure about this, but I find it quite annoying to have imports that look like:
import mock from "../../../testUtils/myMock"

Relative paths are good for resources that will always live next to the calling file but when referring to shared helpers/modules I find them quite counter-productive.
It would be possible to configure webpack so we could import files from src/ just like import 'testUtils/myMock or maybe src/testUtils/myMock by adding src to the resolve root.
Would it make sense ? Maybe relative paths are not that bad and I'm missing something ?

We already allow this if you explicitly set NODE_PATH environment variable. So, NODE_PATH=./src npm test should work.
We won't diverge from Node resolution mechanism by default because there are very confusing corner cases. Like having a directory with the same name as a dependency. People have been burned hard over this in the past.
You have two other options too. You can publish these helpers as a (private) module. Or you can create src/setupTests.js to perform initialization (if you only need to set up some globals). It will be picked up by default, as documented in the usage guide.
I hope this helps!

Think it's a bit heavy to publish a module but I get the problem with conflicting names. It wouldn't be an issue if we would only catch names that start with src/ but I agree that diverging from default Node resolution mechanism doesn't feel right.
No clear solution for this then :(

Is setting NODE_PATH or setting up a global in setupTests.js not working for you?

It's working for tests but not for re-usable modules/helpers.
The directory structure of a project can become quite deep, let's say a file ./routes/posts/create/FormContainer.js uses ./entities/posts.js, I would prefer write import { ... } from "src/entities/posts" rather than ../../../entities/posts. Not just because it breaks if I move FormContainer.js but also because it's more readable and easier to retrieve imo.

I don't understand. Setting NODE_PATH will give you precisely that. Have you tried it?

Put NODE_PATH=./src before every script command in package.json
Now you can write from 'entities/posts' assuming entities exists inside src.

Indeed, that works, thanks!
I just didn't like adding NODE_PATH=./src before every command but it's a tradeoff ¯\_(ツ)_/¯

Yeah. If you have suggestions on how to make this better while preserving the opt-in nature, please file an issue with your proposal. Maybe we could have a top-level directory called packages whose subfolders are implicitly resolved.

@gaearon  on windows NODE_PATH.src/ before script doesn't work
any other solutions?

I quite like the idea how Vue solved it in vue-cli: They configured webpack to replace @/ by the source directory using resolve.alias. I quite like the idea and typing import "@/base/components/FooBar" doesn't look too bad. @ on its own should never be a valid scope and should be pretty future proof.
How about adopting that idea to create-react-app as well?

using .env file also does the trick and it's even better - no need to modify package.json


[BugFix] Fix mem_usage contention of some index readers in column reader.

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #9809

run starrocks_admit_test


Accessing this.props.navigator.push from views that are not part of either initialRoute or renderScene.

Hello Exponent Team,
this.props.navigator.push method available to Views that are pushed to ExNavigator or to the views that set via initialRoute.
Can we able to access this.props.navigator.push property, if the view is not either of the above two options. for ex: I have this SideMenu with a Text and onPress of this Text I would like to push the View to ExNavigator. But, this.props.navigator.push method is not available in this context because this scene is not rendered using ExNavigator.
https://github.com/rnagella/ExNavigatorWithSideMenu/blob/master/src/Menu.js#L20
Is there a way to access this.props.navigator.push from non ExNavigator Views?
Thank you for your time.
Here is the sample app that I created to show case my thoughts.
https://github.com/rnagella/ExNavigatorWithSideMenu
Note: Please, swipe Home screen to see the side menu.

You need access to an ExNavigator component instance to call push -- there's no way around it. You should make your ExNavigator instance available to your side menu component if you need to push new scenes. How you do this is totally up to you; it's all code.


Something is wrong with github CI

I get an error:
##[error]        heater_regulators_test.go:163: HTR.CSVHeaders() = [HTR1A HTR1B HTR1OD HTR2A HTR2B HTR2OD HTR7A HTR7B HTR7OD HTR8A HTR8B HTR8OD WARNINGS], want [HTR1A HTR1B HTR1OD HTR2A HTR2B HTR2OD HTR7A HTR7B HTR7OD HTR8A HTR8B HTR8OD]

on my branch on github, but not on my machine. The error indicates that the tests were actually not run on my branch as it is but rather on how my branch would be when I update against master.

Vi använder

name: Check out code into the Go module directory
uses: actions/checkout@v2

i våran go.yml workflow fil. Det här betyder att din PR mergas med master head, som väl förklarar ditt problem.
https://github.com/actions/checkout/issues/27
"Yes, this is the intended default behavior. The goal is to validate that the pull request will build and test against what it would be merged into. Continuous integration builds need to take into account what they'll be merge into, not the state of the repository when they were created.


Upgrade BTDF installer to WiX 3.5 RC

Upgrade BTDF installer to WiX 3.5 RC to support .NET 4.0/VS 2010
This work item was migrated from CodePlex
CodePlex work item ID: '7542'
Assigned to: 'tfabraham'
Vote count: '0'

[UnknownUser@11/15/2010]
Resolved with changeset 52571.

[UnknownUser@2/21/2013]

[UnknownUser@5/16/2013]


dev-server: bypass + [vite] http proxy error: Must provide a proper URL as target

Command
serve
Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
works fine with the webpack-builder
Description
When using bypass in the proxy config, no (proxy) target should be needed. However, if no target is specified, the viteProxyMiddleware reports an error on the command line. Besides this, everything works as expected. However, such an unnecessary error is very confusing and distracts from other console outputs.
Also, the webpack-based dev-server does not show such an error.
Minimal Reproduction
Assume this proxy-config in a file proxy.mjs:
export default {

  '/': {
    "bypass": function (req, res, proxyOptions) {
      if (req.url === '/ping') {
        res.setHeader('Content-Type', "text/plain");
        res.end("pong");
        return true;
      }
      else {
        return req.url;
      }
    }
  }
};

There is no need for a target. In such cases, there might not even be a target.
Starting ng serve --proxy-config proxy.mjs with the webpack-based dev-server works fine. When starting it with the esbuild-based dev-server an exception occurs on the command line:
[vite] http proxy error: Must provide a proper URL as target

Exception or Error
Error: Must provide a proper URL as target
    at ProxyServer.<anonymous> (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:63692:36)
    at viteProxyMiddleware (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:64005:23)
    at call (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:50559:7)
    at next (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:50503:5)
    at cors (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:51031:7)
    at file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:51067:17
    at originCallback (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:51057:15)
    at file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:51062:13
    at optionsCallback (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:51042:9)
    at corsMiddleware (file:///C:/temp/ping/node_modules/vite/dist/node/chunks/dep-3b8eb186.js:51047:7)

Your Environment
Angular CLI: 16.2.9
Node: 20.9.0 (Unsupported)
Package Manager: npm 10.1.0
OS: win32 x64

Angular: 16.2.11
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1602.9
@angular-devkit/build-angular   16.2.9
@angular-devkit/core            16.2.9
@angular-devkit/schematics      16.2.9
@angular/cli                    16.2.9
@schematics/angular             16.2.9
rxjs                            7.8.1
typescript                      5.1.6
zone.js                         0.13.3

Anything else relevant?
I've seen the same behavior in the current RC of Angular 17.

This is work as webpack-dev-server specific implementation for bypass. https://github.com/webpack/webpack-dev-server/blob/master/lib/Server.js#L2234
The proxy library that is used by both vite and webpack-dev-server always requires a target including when using bypass.

As mentioned, the bypass method is a Webpack extension to the underlying proxy package.  While Vite does provide some support for this, it does not support the use of a true return value.  Returning a string url replacement or false appears to be implemented but all other values result in the underlying proxy package being used.
Resolving this would most likely require a feature request for Vite itself to handle the return true case.

I see. Thanks for the info. Funnily, after getting the exception at the console, everything works as expected.


Increase solar forecast

Detailed Description
Shoiuld we increase the solar capacity?
I think we trained as this was the maximum generation. Now the maximum generation seems higher
Context

Possible Implementation
Update value in database

@jacobbieker @dfulu what do you think?

Yeah, the max never got to around 4000 like it is here, so upping it seems fine

Maybe like 200 MW? Current max I think is 3773, and this seems to go about 200MW higher

@jacobbieker you ok to follow up with @devsjc to do this?

Yep

Its now been updated to 3973 MW from 3773.


feat(inverted_index): Add applier builder to convert Expr to Predicates (Part 2)

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
Continue #3034:

Compile the following exprs to predicates

And
Or
Eq
Lt, LtEq, Gt, GtEq
RegexMatch
InList

Checklist

[x]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)
https://github.com/GreptimeTeam/greptimedb/issues/2705

@v0y4g3r @evenyag Please take a look


Misc updates

Add throttling/retry plugins to automatically retry when hitting secondary rate limits (will also retry in the unlikely event that main API rate limit is hit too)
Fix issue causing bot to not greet a first time contributor on their first merged PR as the "context.payload.sender" is effectively set to the person who closed the PR, not the person who authored it.

Note that while I've been able to test that the retry/throttling works as expected for primary limit, I couldn't manage to hit the secondary rate limit.

Note that while I've been able to test that the retry/throttling works as expected for primary limit, I couldn't manage to hit the secondary rate limit.


Minor improvement to ChannelPoll performance.

Replacing AtomicBooleans with boolean and synchronized methods improved performance by 100 nanoseconds.
The wrap(final ClientCall.Listener<RespT> delegate ...) was moved to make that happen.

This change doesn't work consistently across environments.  Closing.


Increase clientEntity id length to 256 characters

Raised clientEntity id limit to at 256 characters. Issue #263.

Hey @raj-subhankar
thanks for Pull Request!
You just forgot to add a new version of a flyway migration which should looks like this. The migration has to change the length of the varchar with a SQL statement.
Cheers,
David

Hey @raj-subhankar,
what about my comment? Do you think you can add a new flyway migration to this PR?
Greetz,
David

@dacrome hey sorry for the late reply. I am sorry, I don't know how to do that.

Hello @raj-subhankar,
sorry for not answering earlier. I created a pull request based on yours with #278 that also adjusts all the needed database migrations. Thank you for your work!


How to test with vtexjs

Expected Behavior

I have installed text-tools/react from vtex that implements jest and @testing-library/react under the hood
but when i try to test it throws me a vtexjs is undefined error, since is a native module of js I cannot import it in the test file

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

instal vtex-test-tools
run yarn test

Context

I'm trying to test components of the checkout with the app installed checkout-ui-custom
Your Environment

Version used:
Environment name and version (e.g. Chrome 39, node.js 5.4):
Operating System and version (desktop or mobile):
Link to your project:

Have you tried this?
`import { useOrderForm } from 'vtex.order-manager/OrderForm'
const {
orderForm: { id: orderFormId },
} = useOrderForm()`

Have you tried this?
`import { useOrderForm } from 'vtex.order-manager/OrderForm'
const { orderForm: { id: orderFormId }, } = useOrderForm()`

Hi! I'm not using vtex.order-maganer because in the docs says is not already full tested, but this is a package that i have to install? i will try

This happens because the jest (vtex test tools) does not have access to the vtexjs module implementation. So you need to make a mock for vtexjs.


auto split fix

The hanging issue seems to be resolved if we open all output files at the beginning instead of one by one. From my investigation, I believe that this happens because when tr exists, auto split receives SIGPIPE and exits before opening any of the remaining output files causing other processes to hang. Another solution that seems to work is adding signal(SIGPIPE, SIG_IGN); to ignore sigpipe errors and then handle it (open and close remaining fifos) by checking fifo errors.
@angelhof  both solutions seem to work, this pr contains the first one but if you think the second solution is better let me know and I can push it.

This solution looks good to me! @dkarnikis can you check which tests of the new agg tests are supposed to pass and which are supposed to fail so that we didn't introduce any regression? In general, let's disable the failing agg tests until we make them work so that it is clear when merging PRs that we haven't introduced regressions.
Feel free to merge this after we ensure no regressions

@tammam1998 When running the fix-test-191 (this is the same as the issue I created), your fix indeed prevents hanging, however i get the following output:
tr: when not truncating set1, string2 must be non-empty
tr: when not truncating set1, string2 must be non-empty

or
tr: tr: when not truncating set1, string2 must be non-emptywhen not truncating set1, string2 must be non-empty

Whereas bash reports: tr: when not truncating set1, string2 must be non-empty

@tammam1998 When running the fix-test-191 (this is the same as the issue I created), your fix indeed prevents hanging, however i get the following output:
tr: when not truncating set1, string2 must be non-empty
tr: when not truncating set1, string2 must be non-empty

or
tr: tr: when not truncating set1, string2 must be non-emptywhen not truncating set1, string2 must be non-empty

Whereas bash reports: tr: when not truncating set1, string2 must be non-empty
The return code for pash is 0 whereas on bash it's 1

This is probably the stderror output (which we never capture or compare with PaSh and it is OK if it is duplicated etc). Furthermore, at the moment I don't think we would return this exit code correctly. We could open an issue for someone to take a look at this and try to figure out a way to return the expected exit code in such cases.


Rejected by AngelList -> Stripe -> Cofounder Top 500 US site

Rejected by AngelList because I froze up during an interview and forgot the fibonacci sequence (seriously). Received an offer from Stripe a month later. Now cofounder at a top 500 US site. Never ever give up.

Thank you for sharing! I just added yours :)


Evaluatorの出力

poetry run python3↓
Python 3.11.4 (main, Jun 11 2023, 09:28:43) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from stam_prolog.ast import *
>>> statement.to_str
<function to_str at 0x100b2cea0>
>>> from frozenlist import FrozenList
>>> fl = FrozenList(list(map(Stamp, "a b c".split())))
>>> statement.to_str(FrozenList([fl]))
':a::b::c:'


Adding unique constraint generates bad migration

Environment details
OS: Windows 10
Programming language: Python
Language runtime version: 3.9.12
sqlalchemy-spanner version: 1.2.1
google-cloud-spanner version: 3.17.0
alembic version : 1.8.1
Steps to reproduce
Add a 'unique' constraint to a model thus:
class Tag(Base):
    __tablename__ = 'tag'
    tag = Column(String, primary_key=True)
    test = Column(String, unique=True)

Output
Whether this line is added to an existing model or when creating a new one, the line generated for the migration is either op.create_unique_constraint(None, ['test']) in an op.batch_alter_table(), or sa.UniqueConstraint('version') in an op.create_table().
Running either of those during a migrations gives the following error:
google.cloud.spanner_dbapi.exceptions.ProgrammingError: Spanner doesn't support direct UNIQUE constraints creation. Create UNIQUE indexes instead.

Spanner doesn't support such a column attribute unique. To create a unique constraint an index should be declared, like in this example:
https://github.com/googleapis/python-spanner-sqlalchemy#unique-constraints
More info in Spanner docs:
https://cloud.google.com/spanner/docs/secondary-indexes#unique-indexes

Noted, thank you.


Remove synthetic locks

Closes: #XXX
Description

For contributor use:

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

Closing this PR, will leave the branch open


Local run of create-starter failed to fetch correctly

@ihardz can you please add more details about what you were doing?

@dustinsgoodman @ihardz this was a bug with the url I fixed in the workspaces PR. Newer fixed version is on npm now


String replaceAll() not working in Function node

What are the steps to reproduce?
Create a Function node, with default inject and debug.
Put the following code in Function node:
var a = "aaa bbb aaa ccc";
var b = a.replaceAll("aaa", "xxx");
msg.payload = b;
return msg;
Deply and inject.
What happens?
The Debug panel responds:
TypeError: a.replaceAll is not a function
What do you expect to happen?
Debug panel responding:
xxx bbb xxx ccc
Please tell us about your environment:
Node-RED version: v1.2.1
Node.js version: v12.19.0
npm version: v6.14.8
Platform/OS: Windows_NT 10.0.18363 x64 LE
Browser: Chrome 86.0.4240.75

String.replaceAll is not a function that is available in node.js yet.
You can use String.replace with a regular expression and the g flag:
var b = a.replace(/aaa/g, "xxx");


Introductions and Guide lead to 404

Describe the problem
The Introduction to Keras for engineers, Introduction to Keras for researchers, and Developer Guide links in the README all lead to a 404 page.

Seems like this is fixed now.


Proposal for Annotation Declarations (XQuery only)

This is part of work to make annotations more accessible within XQuery. The other parts are adding them to the type system and adding functions for querying them.

Some examples that immediately come to mind are:

https://github.com/xquery/rxq -- a RESTXQ implementation for MarkLogic; MarkLogic does not know about RESTXQ and the associated annotations;
portable unit test frameworks (e.g. %test, %setup, %teardown);
authentication -- restricting users/groups to certain REST API calls;
auditing (logging whenever a function is called, esp. for REST APIs).

This is expecially useful if the XQuery processor provides a way for accessing and querying annotation information like MarkLogic does. So in conjunction with a portable standard annotation API they could be useful for working with user created annotations, not just those supported by the XQuery processor.

So I can see that this has some value in terms of static checking, i.e. catching errors early. But I am not sure I see the bigger picture just yet...
At the moment eXist-db's RESTXQ implementation already searches for the annotations at compile time, it will raise errors if the RESTXQ annotations are not valid. This is very much done statically, i.e. before any query is executed. So do we really need annotation declarations?
I also wonder, how the linkage would work. For a library like RESTXQ where should it define its annotations? in an XQuery code module? How are they make be available for a user working with them? Does the user need to import a module written in XQuery? Currently they are defined externally to the XQuery itself in Java in a not dissimilar way to external functions.
Finally I am not at all sure what the purpose of Named Annotation References is? Why would I want to pass a reference to an annotation?

Regarding named annotation references, I was thinking about the possibility of passing them to standardised annotation introspection functions in addition to the possibility of passing QNames to make the code more concise. For example:
if (exists(ann:annotation($f, %rest:POST#0))) then ...

Regarding the bigger picture, think about user-defined annotations instead of vendor-defined annotation. For example, MarkLogic provides vendor-specific APIs for accessing the annotations of a function declaration. It would be useful to have these statically checked in addition to the vendor-specific annotations.

@rhdunn okay interesting. So at the moment we have an XQuery library module in eXist-db called "inspection" which allows you to find the functions in an XQuery module, and inspect a single function. It returns its description of a function as an XML document. That document includes details of annotations. This is all done dynamically however, as we have to compile the XQuery module before we can inspect its function signatures.
The module if you are interested is InspectionModule but its documentation is quite poor, so if you have any questions just ask.
The static idea of annotations is kinda interesting. I wonder if this doesn't fit into a bigger question of dynamic reflection vs static typing though. With dynamic reflection we can interrogate many more things such as function signatures, and declared variables and options. There are some advantages to doing things statically though, such as strict "compile time" checks; if there is a "compile time"!

I'm also thinking about enabling support in editors (such as my XQuery plugin) and static analysis tools -- having the annotations defined statically will allow me (and others) to provide better validation of annotation use.
It would also help with generating documentation (xqdoc, the BaseX wiki, the RESTXQ and other specifications), as it would allow xqdoc documentation to be attached to the annotations, and to specify the exact signature of annotations in the documentation/specification output without any confusion over the form the annotations take.
I agree about being able to access the information dynamically -- which is where an annotation/inspection/reflection function module proposal would come in (like there is for arrays and maps).
The idea is to ultimately support both static typing (this proposal) and dynamic reflection (the annotation type and an annotation function library proposal), just like is available for functions.

I like this and the related #10 proposal, and can see use-cases for making annotations first-class citizens. Together these two could lead to simpler rules for how processors should interact with annotations, more specific error types, etc.

@rhdunn I am wondering how you see linking working. So if a user declares their annotations statically in a library module, can that module be imported into other modules which use those annotations. If so, an editor would need to parse all imported module recursively when opening any module? Perhaps that is already the case, I am not sure...

I'm thinking it would work like statically-known functions. I talk about statically-known annotations in the proposal. A library (restxq, a unit test library, etc.) would be imported into another library/main module and the annotation declarations from that library would be accessible via the statically-known annotations.
An IDE would need to parse the modules and implement logic for resolving and validating annotations, just like it would when resolving functions to their declarations and validating arguments. It's complicated ensuring the logic works both in terms of the IDE requirements, and the XPath/XQuery requirements. I have made improvements in this for the latest development version of my IntelliJ plugin which fixes some issues regarding function resolution.
The way IntelliJ works is that a language plugin implements a Lexer and Parser for the language. The parser then generates a PSI (Program Structure Interface, similar to an AST). These PSI trees can then be cached and used to implement features like variable and function lookup. The cached version may or may not use the parsed tree, for performance.
In my plugin, I have modelled the PSI tree on the EBNF grammar for XPath/XQuery. I am then using a collection of interfaces and extension method functions to implement the XPath/XQuery semantics for resolving the statically-known namespaces, expanding QNames, resolving the namespace URIs to the corresponding module prolog, and then looking up the function declarations in those prologs. This is to avoid issues with caching when editing a file in the IDE. As I said -- it's complicated :).


res.send integer deprecation problem

Even though this is purposeful, when I pass an integer into res.send, like this:
router.get('/', function(req, res) {

    var foo = 20;
    res.send(foo);
});

I get a deprecated error:
express deprecated res.send(status): Use res.sendStatus(status) instead

and 20 does not show up in the browser.
This seems very illogical because now I have to go through an extra step,  res.send("" + foo), to convert the parameter to a string, and display a simple integer. Any opinions or notes?

Sop in Express 4.x and below, providing an integer to res.send means to send that integer as the HTTP status code. This confusing behavior is exactly why it is deprecated. Until 5.x comes out, you have to stringify your number, unfortunately.


leap year expects a JS class instead of simple function

I find it odd that the leap year exercise expects either a ES6 class or an old style sudo-classical class. I don't think that it's generally a good idea to encourage beginners towards classes in JavaScript especially in places where a simple function would do just fine like so:
// have to pass in the year every time
module.exports = (year) => {
  !!(!(year % 4) && year % 100 || !(year % 400));
}

Instead of:
module.exports = class Year {
  constructor(year) {
    this.year = year;
  },
  isLeap() {
    return !!(!(this.year % 4) && this.year % 100 || !(this.year % 400));
  }
}

I'm guessing this is an artifact from the fact that it was ported from a Java exercise http://www.javaranch.com/leap.jsp

@justgage thanks for your feedback.
A decision was made a while back to make the required API between the tests and the submissions consistent for the first several (12 I think?) exercises.    We felt the inconsistency was confusing for beginners and a source of possible frustration in getting started.  Since some of the exercises do require more complex interfaces, we decided to err on the side of consistency even though the "Leap" exercise can be solved with a simple one line function.
Having said that, there are many interesting ways to solve that problem, and many of them do not involve ES6 style classes.  I won't reproduce them here, but if you are curious, please have a look at the following sets of solutions:
http://exercism.io/submissions/98a21726f716445381cf8ce18f95eba6
http://exercism.io/submissions/9b476c42641c4977bb4156b00d2b770b (and previous iterations by the same author)
Finally, my own:
http://exercism.io/submissions/be40886cfaaf4e03bd1e8a7805f59746
I think "Leap" is a great example of an exercise that is trivial at its core, but allows you to explore and discuss a variety of approaches that would transfer to a more complex problem down the road.

Thanks for getting back to me.
I personally feel that the confusion is a good thing for beginners. I think that it's important to realize early that what is considered best practice in one language is not considered best practice in another. I don't see any value in teaching how to program like a Java programmer using the syntax of 20 different languages, especially in a language like JavaScript that's already too tempting to bring old habits to.
It looks like the ES track actually accepts a simple function (the way I wish it was in the JS track)
  it('is not very common', () => {
    expect(isLeapYear(2015)).toBeFalsy();
  });

That being said, perhaps a compromise would be to keep the exercise the same but then quickly introduce a function-only one (like the ES one) to help show the contrast of how much less code it is. My only concern would be if that would be confusing for people though (didn't I just solve this?)
ps: those where some cool solutions

To maybe make my argument more directed, I think the worst part of this is that it requires people to use something compatible with the new keyword. The main problem is this adds a lot of confusion. I think this quote from David Crockford helps illustrate that point:

"My journey was circuitous because JavaScript itself is conflicted about its prototypal nature. In a prototypal system, objects inherit from objects. JavaScript, however, lacks an operator that performs that operation. Instead it has a new operator....
This indirection was intended to make the language seem more familiar to classically trained programmers, but failed to do that, as we can see from the very low opinion Java programmers have of JavaScript. JavaScript's constructor pattern did not appeal to the classical crowd. It also obscured JavaScript's true prototypal nature. As a result, there are very few programmers who know how to use the language effectively."

If nothing else I feel that we should remove the "new" keyword so that you can use a normal object literal.

Thanks for your carefully considered thoughts.  I agree this could potentially be a bit confusing, and it's not good to confuse newbies.
We made a decision to embrace the 'new' features of the language like classes in the first twelve exercises, in part because these features aren't new anymore, but mostly to present a consistent interface to the tests.
So, all the early exercise tests encourage the creation of class.  As a fan of Crockford, I would point out that you could also use one of my favorite styles, the 'revealing' pattern, AKA Crockford Classless.
For example, leap can be solved like so:
module.exports = function (year) {
  function isLeap() {
    return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0
  }

  return { isLeap }
};

I think this is a lovely style and allows the programmer to construct a well defined public API.
@rchavarria do you have any input on this discussion?

@matthewmorgan Wow, I learned something today! I tried the following code:
module.exports = (year) => {
  return {
    isLeap() {
      return !!(!(year % 4) &&
                year % 100 ||
                !(year % 400));
    }
  }
}

Which creates the following error:
λ ~/exercism/javascript/leap/ jasmine-node leap.spec.js
FFFFFFFF

Failures:

  1) Leap year is not very common
   Message:
     TypeError: Year is not a constructor
   Stacktrace:
     TypeError: Year is not a constructor
    at .<anonymous> (/home/justgage/exercism/javascript/leap/leap.spec.js:6:16)
...

However changing it to function fixes this. Turns out I learned something about some of the differences of arrow functions!
However I do feel that the very presence of the new operator leads people to use solve the problem with pseudo-classical inheritance (possibly due to googling it)
I took a short sample of posts this is about what I get as far as how people solve it:
the 'revealing' pattern: 1
Constructor Functions:<PHONE_NUMBER>111111111111111111
ES6 Class:               1111

It seems like as x goes to infinity the constructor function becomes the only way to solve it :P.
Either way I feel satisfied that I can at least guide people to a better way now, although I do wish the exercise was better about leading people to better patterns.

@matthewmorgan I have nothing to add here. You explained it perfectly. A decision was made. It satisfies some points of view and it lets other not as satisfied.
I think it was a good decision to make the first exercises to require the same technique. Are classes the right way of solving problems? Not always. There are other ways? Absolutely, specially in JavaScript.
But I think that classy approach could be the most known one. Most common languages are C/C++ based. Does it mean there aren't other languages? Absolutely not! But I think we took the most known way.
I agree on having the same way of solving things in the first exercises is a good way of helping people to learn the language. Of course, it shouldn't be seen as something to teach THE way of solving problems, but I think it helps people to start doing it. If then, they get some experience and they realize there is a better way. Congratulations! They're learning! That's the goal!

@rchavarria I do find it odd that this became thee way of doing this (wrapping a single function in a class that saves it's state for no reason). Especially because the large majority of languages (Python, Ruby, C++, C, Go, JavaScript, Lisp, Haskell, Clojure, Lua, Perl...) can have standalone functions. The only ones that I'm aware of that can't is Java and C# (maybe I'm not sure). In a twist of fate the Java doesn't even have this exercise at all (although C# does).
Anyway I think I've dragged this on too long, and it's not of much consequence so I'll close this now.


[400] admission webhook "soft-validate-cr.kubedirector.hpe.com" does not support dry run

Hi,
Installed k8s cluster.
Deployed Kubeflow - I can create / delete KF notebooks ( Jupyter/Rstudio/Vscode) without any problem
Then Deployed Kubedirector -> but when I try to create KF notebooks, I get :
[400] admission webhook "soft-validate-cr.kubedirector.hpe.com" does not support dry run https://kubeflow.gpu02.lysdemolab.fr/jupyter/api/namespaces/kubeflow-user-example-com/notebooks
Then removed Kubedirector ( make teardown )
But still the same error in KF :-(
So seems that the KD mutating webhook is still there after removal.

k get mutatingwebhookconfigurations.admissionregistration.k8s.io
I0322 14:55:11.635908   20498 request.go:668] Waited for 1.178537203s due to client-side throttling, not priority and fairness, request: GET:https://<IP_ADDRESS>/k8s/clusters/c-m-qws9mqhq/apis/sources.knative.dev/v1beta1?timeout=32s
NAME                                               WEBHOOKS   AGE
admission-webhook-mutating-webhook-configuration   1          14d
cache-webhook-kubeflow                             1          14d
cert-manager-webhook                               1          14d
inferenceservice.serving.kserve.io                 2          14d
inferenceservice.serving.kubeflow.org              3          14d
istio-sidecar-injector                             4          14d
katib.kubeflow.org                                 2          14d
kube-prometheus-stack-1644-admission               1          40d
kubedirector-webhook                               2          3d21h
sinkbindings.webhook.sources.knative.dev           1          14d
webhook.eventing.knative.dev                       1          14d
webhook.istio.networking.internal.knative.dev      1          14d
webhook.serving.knative.dev                        1          14d

LGTM, but worth updating the make teardown script.

PR https://github.com/bluek8s/kubedirector/pull/563 happens to include an update to make teardown, which will fix things for those K8s versions where that owner-ref-to-cluster-scope has stopped working. However we probably won't put that PR into the very next KD release so maybe I'll pull in just that particular makefile modification for the next release.

Or support dry run...

That should be addressed by PR #563 as well, in that we explicitly set sideEffects to None for the webhook as part of moving it from the v1beta1 MutatingWebhook API to v1.
I'm curious about the situation where you're seeing this though. What version of K8s and Kubeflow for example?

Going to reopen this to consider setting sideEffects to None for the 0.9.0 release (before PR #563 is merged).


Optional binding

Suggestion
Add the possibility to create variables within conditional expressions in if statement, like in Swift language. These variables, if not undefined | null, will be available in the scope of the if statement block.
Examples
if (const user = getUser(id) && user.age >= 18) {
  console.log(user.name)
}
const user = getUser(anotherID)

It is translated to something like the following in JS:
const user_1 = getUser(id)
if (user_1 !== undefined && user_1 !== null && user.age >= 18) {
  console.log(user.name)
}
const user = getUser(anotherID)

This is a TC39 matter. See https://github.com/tc39/proposal-Declarations-in-Conditionals


Broken links in README

Trying to read through some config docs, but some links in the README are broken.
https://facebook.github.io/jest/docs/using-matchers.html
https://facebook.github.io/jest/docs/webpack.html

I looked into documentation and I thing this links in README should be replaces with:

https://facebook.github.io/jest/docs/api.html#writing-assertions-with-expect
https://facebook.github.io/jest/docs/tutorial-webpack.html#content

We are rewriting the docs right now, this will be fixed in a few days.


UploadSummary is empty

A successful upload performed like so:
        file = File.new source
        result = Phrase::UploadsApi.new.upload_create(
          project_id,
          {
            branch: branch_name,
            file: file,
            locale_id: 'en',
            tags: branch_name,
            update_translations: true
          }
        )

renders this when I pp it
 @data=
  #<Phrase::Upload:0x00007f8c754b8580
   @created_at=
    #<DateTime: 2021-01-04T13:15:54+00:00 ((2459219j,47754s,0n),+0s,2299161j)>,
   @filename="Localizable.strings",
   @format="strings",
   @id="....",
   @state="initialized",
   @summary=#<Phrase::UploadSummary:0x00007f8c754b8120>,
   @updated_at=
    #<DateTime: 2021-01-04T13:15:54+00:00 ((2459219j,47754s,0n),+0s,2299161j)>>,
 @next_page=nil,
 @paginated=false>

But then the following:
        pp result.summary
        pp result.summary.inspect
        pp result.summary.translation_keys_created
        puts "Keys created: #{result.summary.translation_keys_created}"
        puts "Keys updated: #{result.summary.translation_keys_updated}"
        puts "Keys unmentioned: #{result.summary.translation_keys_unmentioned}"
        puts "Keys ignored: #{result.summary.translation_keys_ignored}"
        puts "Translations created: #{result.summary.translations_created}"
        puts "Translations updated: #{result.summary.translations_updated}"
        puts "Tags created: #{result.summary.tags_created}"

renders this:
#<Phrase::UploadSummary:0x00007f8c754b8120>
"#<Phrase::UploadSummary:0x00007f8c754b8120>"
nil
Keys created:
Keys updated:
Keys unmentioned:
Keys ignored:
Translations created:
Translations updated:
Tags created:

I can see the newly created keys in phrase, but I get no useful information from UploadSummary

We have decided to close all GitHub issues and, instead, handle them through our Customer Support. We think this shift will allow us to offer proper prioritization of issues as well as a more appropriate response time that would be expected from Phrase products.
We apologize for any inconveniences this may cause. If you believe your issue is still relevant or has a high priority, please contact<EMAIL_ADDRESS>and we can take more direct action toward finding a solution.


LOC CHECKIN | MSBuild 20160722 | XLFs localized

:shipit:

I pulled this over to the localization branch and the new translated resources under manifestutil get all the way into the satellite assemblies, so it looks fine.
LGTM, after you answer @rainersigwald's question on whitespaces. I am also curious on that.

@v-zbsail: there seem to be remaining diffs with spurious whitespace in addition to the one you fixed (one example out of several: https://github.com/Microsoft/msbuild/pull/811/files#diff-2b66de324acc0b0558a95b94596ccbceR599).
If this is some tooling issue that you plan to fix later, we can just go ahead and merge the changes in as they are now, with the spurious whitespace in. If not, can you please fix the remainder spurious whitespaces?

According to Loc team, this was a tool issue. There was no real update on the file, but the tool added the whitepaces for some reason.
This is fixed in the last commit.

LGTM. Will merge after you squash the commits into one.

Merging this in since we need to do a localized build out of master


HDDS-7985. [SCM HA] On SCM Disk failure recovery causes Datanode Failure on startup

What changes were proposed in this pull request?
To fix problem starting (restarting) datanodes after recovering from an SCM disk failure.  Problem is when scm disk is replaced, a new certificate is issued for SCM making to total count of scm certs greater than number of scm nodes configured.  Patch resolves situation when number of certificates for subject CN (scm host) is greater than 1 by only counting unique scm subject CN certs when validating for Datanodes.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7985
How was this patch tested?
Manual testing.  For SCM disk / node failure recovery.
scm:
i.) decommission SCM
ii.) replace scm disk wiping metadata directories
ii.) restart scm with bootstrapping
Start new datanode.  On datanode restart the datanode requests certificates from the SCM.  The SCM validates the scm certs comparing the number of scm nodes configured in the ozone-site to the number of certs stored in the certstore.  After scm recovery there will be a new certificate issued for recovered scm.  The certstore will container the old scm cert and this new cert  which causes scm certificate validation errors.  This patch resolves having,
99756580628920    Wed Apr 26 23:44:45 UTC 2023   Sat Jun 03 23:44:45 UTC 2028   CN=scm-sub@scm1.org,OU=4d9927f6-6f83-4d42-98bc-5dc4c9e16b3d,O=CID-8dd541d6-707e-40cd-8e6a-81e8274a37d1         CN=scm-sub@scm3.org,OU=e4aef89b-20f1-4268-a374-a6fa196e0515,O=CID-8dd541d6-707e-40cd-8e6a-81e8274a37d1
101965082032306   Thu Apr 27 00:21:33 UTC 2023   Sun Jun 04 00:21:33 UTC 2028   CN=scm-sub@scm1.org,OU=848ae84a-3fa4-4722-9b90-e33b300224d0,O=CID-8dd541d6-707e-40cd-8e6a-81e8274a37d1         CN=scm-sub@scm3.org,OU=e4aef89b-20f1-4268-a374-a6fa196e0515,O=CID-8dd541d6-707e-40cd-8e6a-81e8274a37d1

more than one certificate issued for a given scm host, the certificate subject CN.

@swamirishi can you please take a look?

@neils-dev , thanks for working on this.  Not only the SCM Disk failure recovery case will violate this CA certificate count checking, but also decommission a SCM, add a new SCM, SCM sub-CA rotation, and root CA rotation will violate this check.  So it will be a normal case that the active CA certificate number will be greater than the expected number(which is statically calculated by configuration in ozone-site.xml) for a running Ozone cluster.
#4654 is solving the same problem and can cover all above mentioned cases.  @nandakumar131 .

Thanks @ChenSammi .  I'm glad we have a way to resolve this issue.  We will go forward with #4654.

So it will be a normal case that the active CA certificate number will be greater than the expected number(which is statically calculated by configuration in ozone-site.xml) for a running Ozone cluster.
In the meanwhile, https://github.com/apache/ozone/pull/4654 is trying to solve the same problem


Refactor makefile and start development documentation

Not finished yet - but I want Prow to execute tests!
Based on work put forward in https://github.com/openshift/addon-operator/pull/39
Signed-off-by: Nico Schieder<EMAIL_ADDRESS>

/hold

Just reviewed the changes. I think there are still a bunch of Makefile targets I am not sure we should put in there. For example, everything related to a kind cluster could be the user responsibility. Unless of course we depend on this for CI??
I am still unclear why we want binaries to live in a complicated path like .cache/dependencies/$(UNAME_OS)/$(UNAME_ARCH) ?
I like the cleaner awk command this is really nice ;)
I think we could refactor getting go dependencies to a function (but I don't feel strongly about this, just more DRY).
There are still alot of targets, not clear to me if I want to run e2e test if I should test-e2e, test-e2e-short or test-e2e-local. Maybe only document the make targets that are meant to be used by end users? For example, we will never run make golangci-lint or make opm on its own,  but really just run make dev-setup.
Thanks for the good work @thetechnick !

(I cant review a line without change) -> but if we want to enforce versions on tooling for this project, let's also control GOBIN:
# replace ?=  with :=
export GOBIN := $(abspath .cache/dependencies/bin)

I always set my GOBIN so right now projects override my global deps in ~/.go/bin/. I could set GOBIN in .envrc but I feel we are just trying to replicate the virtual env pattern so let's do it fully.

Can the go-gettable dependencies be refactored to use the go-get-tool idea from @sugarraysam?
I'd love to have dep declarations concise - because the real information in these declarations is not how they are installed but what  and what version.

Just reviewed the changes. I think there are still a bunch of Makefile targets I am not sure we should put in there. For example, everything related to a kind cluster could be the user responsibility. Unless of course we depend on this for CI??
I would like to execute this in CI, but we don't have an environment for that now, because OpenShift CI does not support running kind and the workarounds where a bit too much for us to tackle.

Currently creating the kind cluster is done in Makefile, just because of convinience - a few commands need a kind cluster to target and it's easy to standardize on a certain kind-cluster-name, so you don't need to pipe arguments to the Makefile.

I always set my GOBIN so right now projects override my global deps in ~/.go/bin/. I could set GOBIN in .envrc but I feel we are just trying to replicate the virtual env pattern so let's do it fully.

I have removed using GOBIN directly and now make sure everything lands in .cache/dependencies/bin, if someone needs to override binaries he would have to symlink them into that directory now.

Finally, I would also use absolute path with these tools, because right now it depends on path resolution which could be unstable?

Top of the Makefile is adding .cache/dependencies/bin in front of any existing $PATH, so bash should search there first every time. We can also do it with variables, but it definitely does not help readability.

Maybe only document the make targets that are meant to be used by end users? For example, we will never run make golangci-lint or make opm on its own, but really just run make dev-setup.

I have removed all the individual dependency targets from make help to make it a bit cleaner.
I would hope that the Development documentation (Currently patched into the Readme.md) would make it easy to contribute by pointing out workflows and make commands "to get shit done".

@thetechnick Great work thanks for adjusting and refactoring the Makefile. The developer experience is much improved from those changes.
Went through the docs and was able to follow the getting started.
make test-e2e-short
I get a few error logs, I'm guessing this is intended as we are testing state and the Reconcile loop is allowed to error during test? The overall command exits with 0:
2021-06-22T18:12:56.007Z        ERROR   controller-runtime.manager.controller.addon     Reconciler error        {"reconciler group": "addons.managed.openshift.io", "reconciler kind": "Addon", "name": "addon-oisafbo12", "namespace": "", "error": "failed to ensure CatalogSource: Operation cannot be fulfilled on addons.addons.managed.openshift.io \"addon-oisafbo12\": the object has been modified; please apply your changes to the latest version and try again"}
github.com/go-logr/zapr.(*zapLogger).Error
<...>
2021-06-22T18:13:06.609Z        ERROR   controller-runtime.manager.controller.addon     Reconciler error        {"reconciler group": "addons.managed.openshift.io", "reconciler kind": "Addon", "name": "addon-oisafbo12", "namespace": "", "error": "failed to ensure wanted Namespaces: Operation cannot be fulfilled on addons.addons.managed.openshift.io \"addon-oisafbo12\": the object has been modified; please apply your changes to the latest version and try again"}
github.com/go-logr/zapr.(*zapLogger).Error

/unhold


Building with OpenCV causes link errors

Description
Building with opencv and cmake causes link errors  on ubuntu
I installed opencv with sudo apt-get install -y libopencv-dev
Environment info (Required)
----------Python Info----------
Version      : 3.6.3
Compiler     : GCC 7.2.0
Build        : ('default', 'Oct 13 2017 12:02:49')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 9.0.1
Directory    : /home/ubuntu/anaconda3/lib/python3.6/site-packages/pip
----------MXNet Info-----------
No MXNet installed.
----------System Info----------
Platform     : Linux-4.4.0-1052-aws-x86_64-with-debian-stretch-sid
system       : Linux
node         : ip-172-31-37-207
release      : 4.4.0-1052-aws
version      : #61-Ubuntu SMP Mon Feb 12 23:05:58 UTC 2018
----------Hardware Info----------
machine      : x86_64
processor    : x86_64
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
Thread(s) per core:    2
Core(s) per socket:    16
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping:              1
CPU MHz:               2699.894
CPU max MHz:           3000.0000
CPU min MHz:           1200.0000
BogoMIPS:              4600.10
Hypervisor vendor:     Xen
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              46080K
NUMA node0 CPU(s):     0-31
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single retpoline kaiser fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx xsaveopt
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0056 sec, LOAD: 0.3840 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0475 sec, LOAD: 0.0169 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.0766 sec, LOAD: 0.5814 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0167 sec, LOAD: 0.2930 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0038 sec, LOAD: 0.0420 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0047 sec, LOAD: 0.0881 sec.

Package used: N/A
Build info (Required if built from source)
Compiler (gcc/clang/mingw/visual studio): gcc
MXNet commit hash: 09281c76bc215823bc74b34f9ac65d906b741377
Build config:
Error Message:
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_GPERFTOOLS=OFF -DUSE_DIST_KVSTORE=ON -DUSE_SSE=ON -DUSE_MKLDNN=OFF -GNinja .. && ninja
-- CMake version '3.10.2' using generator 'Ninja'
-- Could NOT find MKL (missing: MKL_INCLUDE_DIR MKL_RT_LIBRARY)
--  MKL not found
-- Could NOT find MKL (missing: MKL_INCLUDE_DIR MKL_RT_LIBRARY)
-- Found OpenBLAS libraries: /usr/local/lib/libopenblas.so
-- Found OpenBLAS include: /usr/local/include
-- CUDA detected: 9.0
-- Found cuDNN (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so)
-- Running GPU architecture autodetection
-- Found CUDA arch 7.0 7.0 7.0 7.0
-- Added CUDA NVCC flags for: sm_70
-- Using JEMalloc malloc
--  OpenCV_LIBS=opencv_core;opencv_highgui;opencv_imgproc;opencv_imgcodecs
-- OpenCV found (/usr/local/share/OpenCV)
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- LIBOMP: Operating System     -- Linux
-- LIBOMP: Target Architecture  -- x86_64
-- LIBOMP: Build Type           -- Release
-- LIBOMP: OpenMP Version       -- 50
-- LIBOMP: Library Kind         -- SHARED
-- LIBOMP: Library Type         -- normal
-- LIBOMP: Fortran Modules      -- FALSE
-- LIBOMP: Build                -- 20140926
-- LIBOMP: Use Stats-gathering  -- FALSE
-- LIBOMP: Use Debugger-support -- FALSE
-- LIBOMP: Use ITT notify       -- TRUE
-- LIBOMP: Use OMPT-support     -- FALSE
-- LIBOMP: Use Adaptive locks   -- TRUE
-- LIBOMP: Use quad precision   -- TRUE
-- LIBOMP: Use TSAN-support     -- FALSE
-- LIBOMP: Use Hwloc library    -- FALSE
-- Found cuDNN (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so)
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
You have called ADD_LIBRARY for library mxnet without any source files. This typically indicates a problem with your CMakeLists.txt file
-- Found PROTOBUF Compiler: /home/ubuntu/anaconda3/bin/protoc
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/efs/fp16-dist/mxnet-char/build

Link error
Linking CXX executable tests/mxnet_unit_tests
FAILED: : && /usr/lib/ccache/c++  -Wall -Wno-unknown-pragmas -fPIC -Wno-sign-compare -O3 -std=c++11 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -fopenmp -std=c++0x -O3 -DNDEBUG  -rdynamic tests/CMakeFiles/mxnet_unit_tests.dir/cpp/engine/threaded_engine_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/misc/memory_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/activation_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/batchnorm_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/coreop_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/dropout_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/fully_conn_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/krprod_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/mkldnn.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/runner/core_op_runner_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/slice_channel_perf.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/operator/tune/operator_tune_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/storage/storage_test.cc.o tests/CMakeFiles/mxnet_unit_tests.dir/cpp/test_main.cc.o  -o tests/mxnet_unit_tests -L/usr/local/cuda/lib64 -Wl,-rpath,/usr/local/cuda/lib64:/usr/local/lib:/home/ubuntu/efs/fp16-dist/mxnet-char/build/3rdparty/openmp/runtime/src:/home/ubuntu/anaconda3/lib 3rdparty/googletest/googletest/libgtest.a -Wl,--whole-archive libmxnet.a -Wl,--no-whole-archive dmlc-core/libdmlc.a /usr/local/lib/libopenblas.so /usr/local/cuda/lib64/libcudart.so /usr/local/cuda/lib64/libcurand.so /usr/local/cuda/lib64/libcublas.so /usr/local/cuda/lib64/libcublas_device.a /usr/local/cuda/lib64/libcudart.so /usr/local/cuda/lib64/libcurand.so /usr/local/cuda/lib64/libcublas.so /usr/local/cuda/lib64/libcublas_device.a /usr/local/cuda/lib64/libcudnn.so -lrt -ljemalloc /usr/local/lib/libopencv_highgui.so.3.2.0 3rdparty/openmp/runtime/src/libomp.so -lpthread -llapack -ljemalloc /usr/local/cuda/lib64/libcudnn.so -lcufft -lcusolver -lnvrtc -lcuda /home/ubuntu/anaconda3/lib/libprotobuf.so /home/ubuntu/anaconda3/lib/libzmq.so ps-lite/libpslite.a -lprotobuf /home/ubuntu/anaconda3/lib/libzmq.so ps-lite/libpslite.a -lprotobuf -lrt -lpthread -llapack -lcufft -lcusolver -lnvrtc -lcuda /home/ubuntu/anaconda3/lib/libprotobuf.so /home/ubuntu/anaconda3/lib/libzmq.so -lprotobuf /home/ubuntu/anaconda3/lib/libzmq.so -lprotobuf /usr/local/lib/libopencv_imgcodecs.so.3.2.0 /usr/local/lib/libopencv_imgproc.so.3.2.0 /usr/local/lib/libopencv_core.so.3.2.0 -ldl -Wl,-rpath-link,/usr/local/lib && :
/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>/usr/local/lib/libopencv_imgcodecs.so.3.2.0: undefined reference to<EMAIL_ADDRESS>collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Minimum reproducible example
N/A
Steps to reproduce

cmake -DCMAKE_BUILD_TYPE=Release -DUSE_GPERFTOOLS=OFF -DUSE_DIST_KVSTORE=ON -DUSE_SSE=ON -DUSE_MKLDNN=OFF ..

I could guess that:

For some reason libtiff didn't get installed.

sudo apt install libtiff-dev

Googling gives the idea that a wrongly set LD_LIBRARY_PATH might be the issue.

export LD_LIBRARY_PATH

https://github.com/BVLC/caffe/issues/4436
https://github.com/slowmoVideo/slowmoVideo/issues/143

@rahul003 Did the above suggestion worked for you?
@sandeep-krishnamurthy  Could you please tag the issue as Pending Requester Info and build

@rahul003  Has the issue been resolved on your side? If so , requesting to close the issue

Building CXX object src/CMakeFiles/ncnn.dir/layer/x86/batchnorm_x86_fma.cpp.o
make[2]: *** [src/CMakeFiles/ncnn.dir/layer/x86/batchnorm_x86_fma.cpp.o]


Cu 86b02r1zr collision calculation

Task linked: CU-86b02r1zr 011 collision calculation

uncomment manager.py:68 to see collisions calculation upon car entering manager radius


Bump @azure/communication-calling beta dependency to 1.10.0-beta.1

What
Bump @azure/communication-calling beta dependency to 1.10.0-beta.1
Why
Calling recently updated their beta version

Note: there's an open PR for this currently: https://github.com/Azure/communication-ui-library/pull/2684 😉