[stdlib] Constrain SubSequence.IndexDistance == IndexDistance

Ran into this limitation when working on #12333 that got in the way passing an IndexDistance in a recursive method — what do you think @airspeedswift?

@swift-ci Please smoke test

@swift-ci Please smoke test Linux platform

Good catch.

@swift-ci please test source compatibility

Good spot. Testing compatibility just in case but seems right to include with the others to me.

    Sorry I can’t speaking english....Easy please....

네이버 메일앱에서 보냈습니다.-----Original Message-----
보낸사람: "Ben<EMAIL_ADDRESS>받는사람<EMAIL_ADDRESS>참조<EMAIL_ADDRESS>날짜: 2017. 10. 9 오후 2:02:14
제목: Re: [apple/swift] [stdlib] Constrain SubSequence.IndexDistance == IndexDistance (#12342)
Good spot. Testing compatibility just in case but seems right to include with the others to me.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Compatibility suite succeeded. I'm going to merge because I need more test cases for recursive constraints :)


Code example comment using incorrect int/long sizes

[System.Runtime.InteropServices.StructLayout(LayoutKind.Explicit)]
struct TestExplicit
{
    [System.Runtime.InteropServices.FieldOffset(0)]
    public long lg;

    [System.Runtime.InteropServices.FieldOffset(0)]
    public int i1;

    [System.Runtime.InteropServices.FieldOffset(4)]
    public int i2;

  // rest omitted
}

The two integer fields, i1 and i2 combined, share the same memory locations as lg.
Either lg uses the first 4 bytes, or i1 uses the first 2 bytes and i2 uses the next 2 bytes.

The comment is incorrect. Correct would be:
Either lg uses the first 8 bytes, or i1 uses the first 4 bytes and i2 uses the next 4 bytes.

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

ID: fd0cbc4c-42cd-1abe-c04d-30ca9cf77c61
Version Independent ID: 99041b24-3e05-43cd-299b-a73928c8133a
Content: How to create a C/C++ union by using attributes (C#)
Content Source: docs/csharp/advanced-topics/reflection-and-attributes/how-to-create-a-c-cpp-union-by-using-attributes.md
Product: dotnet-csharp
Technology: csharp-advanced-concepts
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks @Jens-G
I opened a PR to fix this.


Q filter: allow user to select multiple ranges

Observed in user study, user wants to select the high repair cost airports and the low repair cost airports and compare them side-by-side

Two options here:
1: Support Custom Expression, which is natural for PoleStar
2: Enumerable Filter https://github.com/uwdata/voyager2/issues/162


Feature request: Better strip-prefixes for APIGatewayRestResolver

Use case
I have multiple API Gateway Rest apis backed by AWS Lambda.
I want to these APIs to the same Custom domain name with different paths.
For example I have APIs with these urls, each backed by a different lambda:

https://xxx.execute-api.us-east-1.amazonaws.com/v1
https://yyy.execute-api.us-east-1.amazonaws.com/v1
https://xxx_test.execute-api.us-east-1.amazonaws.com/v1
https://yyy_test.execute-api.us-east-1.amazonaws.com/v1

I want both of them to be available from:

https://mydomain.com/api/v1/xxx
https://mydomain.com/api/v1/yyy
https://mydomain.com/api/test/xxx
https://mydomain.com/api/test/yyy
respectively.

When Init-ing the APIGatewayRestResolver class I would have to pass in the strip_prefixes.
strip_prefixes=["/api/v1/xxx", "/api/test/xxx"]

We could potentials go to a high level of options due to combinatorics.
Solution/User Experience

Use regex:

strip_prefixes=["^.*?xxx"]

The path will be stripped of the prefixes one by one from left to right.

strip_prefixes=["api", "v1" ,"test","xxx"]

So if out initial path is /api/v1/xxx it will strip "api" first:
/api/v1/xxx ->  /v1/xxx
Then v1
/v1/xxx -> /xxx
Then it will try to strip "test" but nothing would change:
/xxx - > /xxx
Then it will strip "xxx"
/xxx - > /
Alternative solutions
No response
Acknowledgment

[X] This feature request meets Powertools for AWS Lambda (Python) Tenets
[X] Should this be considered in other Powertools for AWS Lambda languages? i.e. Java, TypeScript, and .NET

Hi @royassis! Thanks for opening this issue and bringing up your use case. Do you have bandwidth to send a PR to add regex support for this field?

@leandrodamascena https://github.com/aws-powertools/powertools-lambda-python/pull/2521

Looking at this now


Scoped package names in preparation for publishing to npm

I plan to also rename this repository as webpack-config.

Looks good, we should look into how we update the lint configs too

Hey Keegan,
This looks really good. Just want to discuss what our overall plan is here before this one is published differently to our current tools/configs. Are we planning on doing the same for our eslint and stylelint packages? Because inconsistency makes us look messy.
To me, scoped packages are best for packages that have many related packages. I guess we could however argue that all these config frameworks are ours for internal use and thats the "relation". However not even AirBnB or Facebook are doing this.
This tool is an extension of an un-scoped public webpack. So I kinda liked that it would sit right next to my "webpack" definition in package.json, I could just scan that file and easily see all my webpack related packages including plugins etc.
eg
"eslint": "^1.0.0",
"eslint-config-deloitte": "^1.0.0",
"webpack: "^1.0.0",
"webpack-server: ^"1.0.0",
"webpack-config-deloitte": "^1.0.0",

But with this change it will now look like:
"@DeloitteDigitalAPAC/webpack-config": "^1.0.0",
"eslint": "^1.0.0",
"eslint-config-deloitte": "^1.0.0",
"webpack: "^1.0.0",
"webpack-server: ^"1.0.0",

And lastly another point i wanted to bring up. Given that we have the largest digital team globally, I have a vision of sorting all these packages out then taking our tools to eventually set the standards for Deloitte work all over the world. Having "APAC" in the published package name doesn't sit within this vision since once they are published its in concrete and i've never heard of a package moving homes.
What do we think about these points? I'm happy to approve these change but just want to make sure we are doing it for the right reasons.

This has been discussed offline and the decision is to publish packages which are intended primarily for internal use, such as configurations for Webpack, ESLint and Stylelint with scoped package names.


Slack Invite taking a while

Slack took a little over 15 minutes to generate an invite after new registration.

@jdspringr07 Not sure. It's failed before where veterans don't get the Slack invite. Both @nanoxd and @nellshamrell looked at it. Looks normal, but we'll have to take a look at the logs.

Going to close this out as we've heard no more complaints.


Problem with ssl_opts, when server and server_name_indication are not the same

with my email services ssl verification does not work.
the genserver crashes and causes this:
[error] GenServer {Yugo.Registry, :fastmail_client} terminating
** (KeyError) key :next_cmd_tag not found in: nil

If you are using the dot syntax, such as map.field, make sure the left-hand side of the dot is a map
    (yugo 1.0.0) lib/yugo/client.ex:654: Yugo.Client.send_command/3
    (stdlib <IP_ADDRESS>) gen_server.erl:1161: :gen_server.try_terminate/3
    (stdlib <IP_ADDRESS>) gen_server.erl:1351: :gen_server.terminate/10
    (stdlib <IP_ADDRESS>) proc_lib.erl:240: :proc_lib.init_p_do_apply/3

which caused some confusion on my side, though it had to do something with the next_cmd_tag
i think the the cause is that the verification does not work on "imap.fastmail.com", it only works on "fastmail.com"
solutions for that could be:

a method to change the server_name_indication
a custom hostname check like https://github.com/andreas-ementio/yugo/commit/ccca9092e657b07c63c6782453c860005f3e26e1

on a side note: this library handles only receiving new email and not fetching already existing emails in the inbox or am i missing something?

If you send a PR for https://github.com/andreas-ementio/yugo/commit/ccca9092e657b07c63c6782453c860005f3e26e1 I'd be open to merging it.

on a side note: this library handles only receiving new email and not fetching already existing emails in the inbox or am i missing something?

That's correct, my use case for making the library didn't require fetching existing emails. I am not opposed to adding that functionality though - there was even some talk about it in https://github.com/Flying-Toast/yugo/issues/24 but you'd have to check with @bkono on the status of that.

Apologies, got pulled off to a different project for a bit and haven't cleaned up / broken down my changes to a place where I was comfortable sending a PR. I just pushed an updated version of the branch currently being used in one of my projects, @andreas-ementio you're welcome to scan the commits I've added and see if there's anything useful in there.
At the moment, it has some needed tweaks to address parsing / tag flowing etc, and a usable implementation of capability listing, mailbox listing, count of messages in a mailbox, mailbox creation, message move support, message fetching ... probably forgetting something something else I needed along the way. 😆

Hi, if it helps anyone, the error with the key :next_cmd_tag not found in: nil can occur due to an old version of OTP. In version <25 there's no :public_key.cacerts_get() function, because of this the client creation fails. I solved this problem by updating OTP to version 25.


Ban tokens that can't be transferred to pool

The LOOTL token doesn't allow a direct transfer to the Uniswap pool, which cause all solvers to fail their simulations.
This PR makes the bad token detector able to find such tokens without manual intervention.
Test Plan
Ignored unit test
$ cargo test -p shared mainnet_tokens -- --nocapture --ignored
    Finished test [unoptimized + debuginfo] target(s) in 0.15s
     Running unittests (/path/oba-services/target/debug/deps/shared-0a548f63826d6605)

running 1 test
testing good tokens
token 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 is Ok(Good)
token 0x6b175474e89094c44da98b954eedeac495271d0f is Ok(Good)
token 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 is Ok(Good)
token 0xdac17f958d2ee523a2206206994597c13d831ec7 is Ok(Good)
token 0xc00e94cb662c3520282e6f5717214004a7f26888 is Ok(Good)
token 0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2 is Ok(Good)
token 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 is Ok(Good)
testing bad tokens
token 0xc12d1c73ee7dc3615ba4e37e4abfdbddfa38907e is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x79ba92dda26fce15e1e9af47d5cfdfd2a093e000 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xbae5f2d8a1299e5c4963eaff3312399253f27ccb is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x4bae380b5d762d543d426331b8437926443ae9ec is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x2b1fe2cea92436e8c34b7c215af66aaa2932a8b2 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xc7c24fe893c21e8a4ef46eaf31badcab9f362841 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xef5b32486ed432b804a51d129f4d2fbdf18057ec is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x79ba92dda26fce15e1e9af47d5cfdfd2a093e000 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xbae5f2d8a1299e5c4963eaff3312399253f27ccb is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x4bae380b5d762d543d426331b8437926443ae9ec is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xa2b4c0af19cc16a6cfacce81f192b024d625817d is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x072c46f392e729c1f0d92a307c2c6dba06b5d078 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x3a9fff453d50d4ac52a6890647b823379ba36b9e is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x62359ed7505efc61ff1d56fef82158ccaffa23d7 is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0xea319e87cf06203dae107dd8e5672175e3ee976c is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x68e0a48d3bff6633a31d1d100b70f93c3859218b is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x31acf54fae6166dc2f90c4d6f20d379965e96bc1 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xd0d3ebcad6a20ce69bc3bc0e1ec964075425e533 is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0xa9a8377287ea9c6b8b4249dd502e75d34148fc5b is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xfad45e47083e4607302aa43c65fb3106f1cd7607 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x69692d3345010a207b759a7d1af6fc7f38b35c5e is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0x298d492e8c1d909d3f63bc4a36c66c64acb3d695 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x6e10aacb89a28d6fa0fe68790777fec7e7f01890 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x944eee930933be5e23b690c8589021ec8619a301 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xd50825f50384bc40d5a10118996ef503b3670afd is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x8c7424c3000942e5a93de4a01ce2ec86c06333cb is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x106d3c66d22d2dd0446df23d7f5960752994d600 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x66d31def9c47b62184d7f57175eed5b5d9b7f038 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xbf04e48c5d8880306591ef888cde201d3984eb3e is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0x88ef27e69108b2633f8e1c184cc37940a075cc02 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x9ea3b5b4ec044b70375236a281986106457b20ef is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x48be867b240d2ffaff69e0746130f2c027d8d3d2 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x4fab740779c73aa3945a5cf6025bf1b0e7f6349c is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x910524678c0b1b23ffb9285a81f99c29c11cbaed is Ok(Good)
token 0xed5e5ab076ae60bdb9c49ac255553e65426a2167 is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0x14dd7ebe6cb084cb73ef377e115554d47dc9d61e is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xe0bdaafd0aab238c55d68ad54e616305d4a21772 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xc40af1e4fecfa05ce6bab79dcd8b373d2e436c4e is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x75fef397d74a2d11b64e6915cd847c1e7f8e5520 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xbf494f02ee3fde1f20bee6242bce2d1ed0c15e47 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x1337def18c680af1f9f45cbcab6309562975b1dd is Ok(Good)
token 0x9af15d7b8776fa296019979e70a5be53c714a7ec is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0xb96f0e9bb32760091eb2d6b0a5ca0d2c7b5644b1 is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0x7ff4169a6b5122b664c51c95727d87750ec07c84 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xd5281bb2d1ee94866b03a0fccdd4e900c8cb5091 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xd1afbccc9a2c2187ea544363b986ea0ab6ef08b5 is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
token 0xdd339f370bbb18b8f389bd0443329d82ecf4b593 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x577e7f9fa80ab33e87a01b701114257c8d9455a8 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x586c680e9a6d21b81ebecf46d78844dab7b3bcf9 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xc03841b5135600312707d39eb2af0d2ad5d51a91 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x07be1ead7aebee544618bdc688fa3cff09857c32 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x0858a26055d6584e5b47bbecf7f7e8cbc390995b is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x0ba45a8b5d5575935b8158a88c631e9f9c95a2e5 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x37611b28aca5673744161dc337128cfdd2657f69 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x389999216860ab8e0175387a0c90e5c52522c945 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x45734927fa2f616fbe19e65f42a0ef3d37d1c80a is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x4f9254c83eb525f9fcf346490bbb3ed28a81c667 is Ok(Good)
token 0x51d3e4c0b2c83e62f5d517d250b3e856897d2052 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x925f2c11b99c1a4c46606898ee91ed3d450cfeda is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x97b65710d03e12775189f0d113202cc1443b0aa2 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xf198b4a2631b7d0b9fac36f8b546ed3dce472a47 is Ok(Bad { reason: "no pool" })
token 0x1016f3c0a1939fa27538339da7e2a300031b6f37 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x7f0f118d083d5175ab9d2d34c4c8fa4f43c3f47b is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xd3f6571be1d91ac68b40daaa24075ca7e2f0f72e is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xbf25ea982b4f850dafb4a95367b890eee5a9e8f2 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xc73c167e7a4ba109e4052f70d5466d0c312a344d is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x1426cc6d52d1b14e2b3b1cb04d57ea42b39c4c7c is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x99ddddd8dfe33905338a073047cfad72e6833c06 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x4a6be56a211a4c4e0dd4474d524138933c17f3e3 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x9f41da75ab2b8c6f0dcef7173c4bf66bd4f6b36a is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x239dc02a28a0774738463e06245544a72745d5c5 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x801ea8c463a776e85344c565e355137b5c3324cd is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xaee53701e18d5ff6af4964c3a381e7d09b9b9075 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x3a6fe4c752eb8d571a660a776be4003d619c30a3 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x99043bb680ab9262c7b2ac524e00b215efb7db9b is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x18bdfc80b97cb97f6b466cce967849ce9cd9d58c is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x32c868f6318d6334b2250f323d914bc2239e4eee is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xc626d951eff8e421448074bd2ad7805c6d585793 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x94987bc8aa5f36cb2461c190134929a29c3df726 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x41933422dc4a1cb8c822e06f12f7b52fa5e7e094 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xb893a8049f250b57efa8c62d51527a22404d7c9a is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xf198b4a2631b7d0b9fac36f8b546ed3dce472a47 is Ok(Bad { reason: "no pool" })
token 0x76851a93977bea9264c32255b6457882035c7501 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xa5959e9412d27041194c3c3bcbe855face2864f7 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xcf8c23cf17bb5815d5705a15486fa83805415625 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x63d0eea1d7c0d1e89d7e665708d7e8997c0a9ed6 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x98ecf3d8e21adaafe16c00cc3ff681e72690278b is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x3ea50b7ef6a7eaf7e966e2cb72b519c16557497c is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x2b1fe2cea92436e8c34b7c215af66aaa2932a8b2 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xc7c24fe893c21e8a4ef46eaf31badcab9f362841 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xef5b32486ed432b804a51d129f4d2fbdf18057ec is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0x2129ff6000b95a973236020bcd2b2006b0d8e019 is Ok(Bad { reason: "failed transaction to settlement: transaction failed" })
token 0xdecade1c6bf2cd9fb89afad73e4a519c867adcf5 is Ok(Bad { reason: "can't approve max amount: transaction failed" })
token 0xcfbd04b3cef2cf1527f143a49e5dc1e19941d254 is Ok(Bad { reason: "failed transaction to pool: transaction failed" })
test bad_token::trace_call::tests::mainnet_tokens ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 118 filtered out; finished in 18.88s

@fedgiac is this PR still relevant or should it be closed?

I never managed to implement all comments, and in any case we are planning in the long term to change how we detect bad tokens by simulating an actual settlement. Because of this I'm closing this PR, if I come around and implement it I'll reopen it.


not working to install minecraft...plase help me... i have root

Version of Boardwalk:latest from goigle play
Version of Android:4.2
Device model:GOCLEVER QUANTIUM
Description of the problem: when i try to install minecraft in boardwalk it shows an error: dex turned to 11

Me too :c


added 404 page

Closes: #402

404 Error Page :
Name: : Jagpreet Singh Khurana
Idenitfy yourself: : GSSOC'24

Describe the add-ons or changes you've made 📃
Added a home button and animation of 404 page using lottie animation
How Has This Been Tested? ⚙
I have checked the changes locally on my environment
Screenshots 📷

Type of change ☑
What sort of change have you made:

[x] New feature (non-breaking change which adds functionality)

Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

Note to reviewers 📄
Kindly review this PR

Ok @Avdhesh-Varshney . I will add another animation

@Avdhesh-Varshney Is it looking ok

@Jagpreet153 you can review your deployed pr link. It's similar to the last view.

Ok @Avdhesh-Varshney . I have requested access

@Avdhesh-Varshney I have changed the animation to this... Kindly have a review.

@Avdhesh-Varshney Is it looking ok

I have changed the animation to this . Kindly have a review .

Ok @Avdhesh-Varshney I would be raising PR agian


cloudDevEnv.ps1 for existing Sandbox environment?

Having cloned a github AL-Go repository to local drive and opened in VS Code, can we use cloudDevEnv.ps1 to connect to an existing Azure BC sandbox environment? As it is, when we run the script it only executes outside VS Code--not in the Terminal session--runs the Powershell profile, and then errors out so fast we can't see it. But we are not sure if we need to, if we already have the environment created in the cloud. Do we?
Here is all we get in the Terminal:
`. "c:\Users<user>\xxx\AL\PROJECTS\Elemet.AL-Go\cloudDevEnv.ps1"

. "c:\Users<user>\xxx\AL\PROJECTS\Elemet.AL-Go\cloudDevEnv.ps1"`

if you open and run the script in powershell ISE - does it provide any info?

Runs normally, then wants a verification code from my device. I have Authenticator, but nothing there works. No sign of a code anywhere.

Sorry, did not see the code right there in the address line.

Now I get a PS prompt:
Checking .AL-Go\dbaldwin.settings.json
Checking type
Checking appFolders and testFolders
Application Dependency <IP_ADDRESS>
Updating app- and test Dependencies
Analyzing Test App Dependencies
WARNING: No performance test apps found in bcptTestFolders in .AL-Go\settings.json
WARNING: No test apps found in testFolders in .AL-Go\settings.json
Attempting authentication to https://api.businesscentral.dynamics.com/user_impersonation offline_access using device login...
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code FWHW73B59 to authenticate.
Waiting for authentication..................................Removing BcContainerHelper
PS C:\Users<user>\AL\PROJECTS<repo name>>


HyperspaceOneRule prototype

What is the context for this pull request?

Tracking Issue:
Parent Issue:
Dependencies:

TBD
What changes were proposed in this pull request?

HyperspaceOneRule prototype for quick design review
Will be delivered by other PRs.
Does this PR introduce any user-facing change?

Yes query plan may change
How was this patch tested?

Perf: confirmed there's no noticeable regression in TPCH bench - 1TB 100k chunk dataset

@imback82 This is a working version of prototype for both Filter & Join. If you don't have any significant concern on this pr, I'll create small PRs based on this PR. Thanks!

This is merged to master via other PRs. Please refer #405


Disable the highlighting just for one function, and re-enable it after the function has run

Hi,
i would like to disable the plugin just for one function in my .zshrc, and re-enable it once the function is run.
It is similar to this issue, but not sure how to get highlighting re-enabled.
I have a snippet function, where i would like to print the snippets without highlighting, and get the highlights back after i have run the snippet command.
Here is the function:
# fzf-snippets, single-line (different version in bash)
,fs() {
	selected="$(cat ~/.local/share/snippets/mysnippets | grep '^[[:blank:]]*[^[:blank:]#]' | sed '/^$/d' | fzf -e -i )"
	# print to shell: remove tags, leading and trailing spaces, also no newline
        print -z $(echo "$selected" | sed -e s/\;\;\.\*\$// | sed 's/^[ \t]*//;s/[ \t]*$//' | tr -d '\n')
	# add to history
        print -s $(echo "$selected" | sed -e s/\;\;\.\*\$// | sed 's/^[ \t]*//;s/[ \t]*$//' | tr -d '\n')
}

Thanks alot !

i would like to disable the plugin just for one function in my .zshrc,
and re-enable it once the function is run.

What are the values of $ZSH_VERSION and $ZSH_HIGHLIGHT_REVISION?
In general, two approaches: (1) temporarily disable z-sy-h's hook, to prevent $region_highlight from getting populated in the first place; (2) add your own hook that empties $region_highlight [as in the issue you referenced] after z-sy-h has computed highlighting, so that no highlighting is effected.
Note that z-sy-h specifically recomputes the highlighting upon accept-line, so any disabling may have to take that into account.

It is similar to this
issue,
but not sure how to get highlighting re-enabled.

That would depend on how it was disabled.

I have a snippet function, where i would like to print the snippets
without highlighting, and get the highlights back after i have run the
snippet command.

Hmm.  Empty the highlighters array and register a precmd hook that restores the old value of the array and deregisters itself?  I'm sure there's a simpler solution, though.

Here is the function:
# fzf-snippets, single-line (different version in bash)
,fs() {
	selected="$(cat ~/.local/share/snippets/mysnippets | grep '^[[:blank:]]*[^[:blank:]#]' | sed '/^$/d' | fzf -e -i )"

OT: The sed(1) use is a no-op, because the negated character class ensures all lines are non-empty.

print to shell: remove tags, leading and trailing spaces, also no newline
    print -z $(echo "$selected" | sed -e s/\;\;\.\*\$// | sed 's/^[ \t]*//;s/[ \t]*$//' | tr -d '\n')

add to history
    print -s $(echo "$selected" | sed -e s/\;\;\.\*\$// | sed 's/^[ \t]*//;s/[ \t]*$//' | tr -d '\n')

OT: You probably want to use print -r -- here.
Also, I wonder whether it would work to s/print -z/eval/.

}

You're welcome.  The recommended solution is to change the terminal emulator's RGB values for [whatever the default highlighting of double-quoted-argument is] and for the default background, otherwise, any application that uses that color value (fg=yellow, IIRC?) for whatever reason would print unreadable text.

I just noticed i had the same issue with another program, will look into fixing this.
Thanks again !!!


cargo package fails with submodules

This tree fails cargo package with:
   Packaging sha2 v0.1.0 (file:///home/brian/dev/rust-sha2)
   Verifying sha2 v0.1.0 (file:///home/brian/dev/rust-sha2)
    Updating registry `https://github.com/rust-lang/crates.io-index`
   Compiling rustc-serialize v0.3.19
   Compiling sha2 v0.1.0 (file:///home/brian/dev/rust-sha2/target/package/sha2-0.1.0)
target/package/sha2-0.1.0/lib.rs:5:9: 5:15 error: couldn't read "target/package/sha2-0.1.0/rust-crypto/src/buffer.rs": No such file or directory (os error 2)
target/package/sha2-0.1.0/lib.rs:5 pub mod buffer;
                                           ^~~~~~
error: failed to verify package tarball

Caused by:
  Could not compile `sha2`.

To learn more, run the command again with --verbose.

I've tried adding include directives to Cargo.toml and moving the submodule under src.

Oh, I did work around this with include after I realized I had to specify every file.

This may have to do with something else besides submodules. Even after removing the submodule I can't get this to package.

Was the submodule not checked out? Cargo doesn't automatically check out local submodules, and if it was checked out it worked locally for me

It was checked out. cargo build works, cargo package fails.

How are you repro'ing? This works for me:
$ git clone https://github.com/brson/rust-sha2 --branch broken --recursive
$ cd rust-sha2
$ cargo package

Those exact commands don't work for me.

rustc 1.10.0-nightly (8da2bcac5 2016-04-28)
cargo 0.11.0-nightly (afac7fc 2016-04-27)

No matter what I do rust-crypto doesn't exist in target/package/sha2-0.1.0.

Looks like this is a beta regression, I can reproduce on beta's cargo and not on stable's

Ah. Well, I'll publish this with stable, then!

Oh actually this may have been a bug fix. The traversal logic for including crates is skipping rust-crypto because it looks like a sub-crate (e.g. it has a Cargo.toml).

This sounds like the change was intentional, and if this continued to have been a problem, I would have expected this issue to have had activity in the last year. Closing, please reopen if I'm mistaken!


Mocking Cache Facade Throws Protected Function Error

I'm using the code from http://laravel.com/docs/5.1/testing#mocking-facades
IE
    Cache::shouldReceive('get')
        ->once()
        ->with('key')
        ->andReturn('value');`

However, when I run this through PHPUnit I get the following error:
1) App\Models\GoogleAnalyticsTest::testCacheMohlerPopularUris
InvalidArgumentException: get() cannot be mocked as it a protected method and mocking
protected methods is not allowed for this mock

/Users/../Sites/resources/vendor/mockery/mockery/library/Mockery.php:670
/Users/../Sites/resources/vendor/mockery/mockery/library/Mockery.php:678
/Users/../Sites/resources/vendor/mockery/mockery/library/Mockery.php:629
/Users/../Sites/resources/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:54
/Users/../Sites/resources/tests/Api/GoogleAnalyticsTest.php:22

The error makes perfect readable sense to me, but the problem is I need to mock the cache get function which happens to be exactly documented and it doesn't work...
I've also tried a trick that worked in 4.2 with using swap to place a Mocked class into a facade that doesn't work.  (The original cache class still gets called rather than the mock that I'm swapping in.)  That code is:
public function testCacheMohlerPopularUris()
{
    $original = \Cache::getFacadeRoot();
    $cache = \Mockery::mock('\Illuminate\Cache\Repository');
    \Cache::swap($cache);
    $ga = \Mockery::mock('App\Models\GoogleAnalytics[mohlerPopularUris]');

    $cache->shouldReceive('get')->withArgs(['mohlerPopularUris', 'miss'])->once()->andReturn('miss2');
    $ga->shouldReceive('mohlerPopularUris')->once()->withNoArgs()->andReturn([1]);
    $cache->shouldReceive('put')->withArgs(['mohlerPopularUris', [1], 30])->once();

    \Cache::swap($original);
    $this->assertSame([1], $ga->cacheMohlerPopularUris());
}

You can't mock a manager class like that I'm affraid. The get call there is a __callStatic followed by a __call.

Once again, let me point out that this call is copied EXACTLY from the documentation on mocking a facade: http://laravel.com/docs/5.1/testing#mocking-facades and is the entire point of mocking them.  I shouldn't need to argue that this should work since Taylor in the docs says consider that you want to do this. Just to make this easier for you I'm copying the docs to here.
Mocking Facades (http://laravel.com/docs/5.1/testing#mocking-facades)
When testing, you may often want to mock a call to a Laravel facade. For example, consider the following controller action:
<?php

namespace App\Http\Controllers;

use Cache;
use Illuminate\Routing\Controller;

class UserController extends Controller
{
	/**
	 * Show a list of all users of the application.
	 *
	 * @return Response
	 */
	public function index()
	{
		$value = Cache::get('key');

		//
	}
}

We can mock the call to the Cache facade by using the shouldReceive method, which will return an instance of a Mockery mock. Since facades are actually resolved and managed by the Laravel service container, they have much more testability than a typical static class. For example, let's mock our call to the Cache facade:
<?php

class FooTest extends TestCase
{
	public function testGetIndex()
	{
		Cache::shouldReceive('get')
					->once()
					->with('key')
					->andReturn('value');

		$this->visit('/users')->see('value');
	}
}

@taylorotwell This should be removed from the docs.

Why is this issue closed when there hasn't been a viable solution yet?

Issue moved to laravel/echo #1 via ZenHub.io

Because the underlying instance of the facade has a protected get method - which you cannot mock. Why was it moved to echo, btw? It doesn't belong there.

No, idea, I was really confused with my emails this morning.
The documentation for mocking facades still includes this method which doesn't work....
https://laravel.com/docs/master/testing#mocking-facades
Should someone make a new task to fix the docs or is that purposely being left as is?
(Also, it would be great to be able to test methods that are supposed to cache things/use cached things without actually caching or deleting caches to make them follow a particular route.)

Did you see this commit? https://github.com/laravel/framework/commit/8a2a2d5d9102ecab0cd4a69ffc073f09f03760e1

No I didn't.  I just assumed from https://github.com/laravel/framework/issues/9729#issuecomment-182513083
Just tested it though and it works now!  Thanks! :)
For others, this is fixed on v5.2.31+ and v5.1.24+


SSC Plus Data fetch Initial work

[x] Get access to the dev drupal site (https://plus-dev.ssc-spc.gc.ca/en)
[ ] Get access to DEV Drupal API: https://plus-dev.ssc-spc.gc.ca/rest/all-ids
[ ] Test flow works from developper perspective and from where it will run in the cloud
[x] code initial infrastructure for the project in the cloud
[ ] add code that reads all ids json payload
[ ] add code that iterates over all ids and pull a single json payload (page in en and fr)
[x] add code that split the page into two processed file (1 en and 1 fr for the index building)

What we need
Current access to https://plus-dev.ssc-spc.gc.ca/rest/all-ids is secured behind SSC's F5 and uses https://login.microsoft.com authentication via browser/device MS credentials (on the 163gc domain).
I am writing code (currently in python) to access this API programmatically, in the current state that it is in, there is no proper way to access it. I need help with someone with enough permissions to dabble in the authentication provider portion of the SSC Plus F5 MySSC Dev configuration.

I can easily use MSAL to authenticate/authorize myself with the app.
Could use a private or public client with OIDC, but at the moment it seems disabled (I tried with my own user and it's disabled).
Or any other methods that you find preferable..

Waiting for progress/update from Chiranjeev Kumar that is helping with this initiative.

The technical resource assigned to this project is currently away and will be back on the 23rd of October.

Tech resource reached out to me yesterday, we had a quick discussion but still no solution was put in place to overcome the access issue. Still a blocker

Chiranjeev was helping me setup the authentication (scope and/or confidential client) in the MySSC plus sandbox authentication resource
We lacked any necessary access
We met with the team of Farid/Youssef and it was also outside of their scope
Discussed with Bernard, all requests must now go via<EMAIL_ADDRESS>Awaiting feedback on this

Made some progress, we got feedback from the Azure Cloud Operation team that those type of requests (security/flow) should goto the tenant group<EMAIL_ADDRESS>(which is Farid/Youssef's group (see steps above in previous comment). We will see how it goes.

We got a return from the Azure Cloud Ops team, they asked us about details of the flow and the sub used, details were provided by Chiranjeev. Awaiting further feedback.

Flow was open from Sec Ops to the ScDC-AKS environement for Drupal SSCPlus. However initial test with the Azure Function App proved it didn't help, even with the private endpoint, will troubleshoot today with Bernard's help.

Flow works now, working code in Azure Function App. Still having difficulties not getting blocked by fw and or lb

I have asked and for future flow opening we need to ask this :

Il faudrait demander d'ajouter <IP_ADDRESS> au allowed list pour bypassed SAML authentication sur l'environment prod
<EMAIL_ADDRESS>

Due to rate limitation and quantity of data it took a while before I could manage to properly index the data.
Will have to probably split the durable function into chunks of documents (in normal amount of documents processed will be much less, but for initial dumps it might require splitting the batch and having it wait 30-60s between each couple of retries, else after a couple of retries the server (openai deployment) will return a proper error and in that case the function will treat this as a failed result.


Question to encoding

Hello,
thanks for your converter, i want to use it, but currently i have an issue with encoding.
I test this IP: <IP_ADDRESS>
City is called Füssen (german umlaut)
When using the converted db on console geoiplookup shows city as FÃ¼ssen.
In my utf-8 putty i would expect to see a correct umlaut when using this encoding.
Whats wrong here?
https://geolite.maxmind.com/download/geoip/database/GeoLite2-City-CSV.zip
geolite2legacy.py -i GeoLite2-City-CSV.zip -f geoname2fips.csv -e utf-8 -o GeoLiteCity.dat
In csv file itself the umlaut seems to be correct, i can see a gorgeous ü when grepping in GeoLite2-City-Locations-de.csv
What do you think?
Thanks,
Hans

Hi, geolite legacy database was not made for utf-8 so clients may or may not use it correctly.
The fact the ü is displayed as two chars makes me things that it's utf-8 encoded in the dat file
but it is the client screwing the output, because it does not decoded it as utf-8.
What version of python are you using? 2 or 3?

for example pygeoip is not able to handle utf-8 data, with python3 you can use a trick to correctly pick the utf-8 string (I've tried to play with the internals instead but not easy to fix):
import pygeoip
m = pygeoip.GeoIP('x.dat')
city = m.record_by_addr('<IP_ADDRESS>')['city']
city = city.encode('latin-1').decode('utf-8')
print(city)

result:
Füssen

Hello,
thanks for your answer.

but it is the client screwing the output, because it does not decoded it as utf-8.
i think that too, /usr/bin/geoiplookup is part of bundled geoip-bin and may expect data in iso-8859-1
What version of python are you using? 2 or 3?
this is python2. In python3 (3.6.7) is no modul ipadrr, the alternative is called ipaddress. https://pypi.org/project/ipaddr/
this provides other functions then ipaddr, so i think current geolite2legacy.py can not used with python3.

If i explicitely use -e iso-8859-1 for encoding i receive a lot of errors like this
Warning cannot encode u'Hachi\u014dji' using iso-8859-1
I took a closer look to data in csv file. I see a lot of city-names/regions (for example japan Hachiōji) which use utf8 encoded chars, which i think are not convertable to iso. this may be the reason why you use utf8 as default encoding. is this a change in new db format? did they exclude such cities in former version of legacy-db? Unfortunately i dont know specific IPs to test former output of geoiplookup.
Thanks,
Hans

Sorry, inline commenting failed in above text. also my text is marked as comment.
Hans

Hello,
while testing i discovered an other issue.  I miss a lot city data for japanese cities. for example i test with <IP_ADDRESS> an get result with old db
GeoIP Country Edition: JP, Japan
GeoIP City Edition, Rev 1: JP, 19, Kanagawa, Kawasaki, 210-0835, 35.520599, 139.717194, 0, 0
GeoIP ASNum Edition: AS10021 KVH Co.,Ltd
The converted version shows:
GeoIP Country Edition: JP, Japan
GeoIP City Edition, Rev 1: JP, 00, N/A, N/A, N/A, 35.689999, 139.690002, 0, 0
GeoIP ASNum Edition: AS10021 KVH Co.,Ltd
In zipped csv File GeoLite2-City-Locations-de.csv or GeoLite2-City-Locations-en.csv i successfully find these cities. is it possbile that there was a loss in conversion?
I do it this way:
geolite2legacy.py -i "GeoLite2-City-CSV.zip -f geoname2fips.csv -o GeoLiteCity.dat
Thanks,
Hans

Gianluigi , still alive? I thought you are interested in these things?

are you sure? with that ip I get:
{
    "area_code": 0,
    "city": "Toshima",
    "continent": "AS",
    "country_code": "JP",
    "country_code3": "JPN",
    "country_name": "Japan",
    "dma_code": 0,
    "latitude": 35.72630000000001,
    "longitude": 139.6859,
    "metro_code": null,
    "postal_code": "171-0052",
    "region_code": "00",
    "time_zone": "Asia/Tokyo"
}

Did you change something?
I downloaded again latest geolite2legacy.py and again db data. now i get:
GeoIP City Edition, Rev 1: JP, 00, N/A, Toshima, 171-0052, 35.726299, 139.685898, 0, 0

python3 using GeoLite2-City-CSV_20190610.zip

Check my patch to convert names to plain ascii with unidecode, been using it for a while.
https://github.com/sherpya/geolite2legacy/pull/21
$ ./geolite2legacy.py -i GeoLite2-City-CSV.zip -o GeoIPCity.dat
$ geoiplookup -f GeoIPCity.dat <IP_ADDRESS>
GeoIP City Edition, Rev 1: MD, 00, N/A, FÃ
ÂleÃÂti, MD-5901, 47.573601, 27.709200, 0, 0
$ ./geolite2legacy.py -i GeoLite2-City-CSV.zip -e latin-1 -o GeoIPCity_latin1.dat
$ geoiplookup -f GeoIPCity_latin1.dat <IP_ADDRESS>
GeoIP City Edition, Rev 1: MD, 00, N/A, F?le?ti, MD-5901, 47.573601, 27.709200, 0, 0
$ ./geolite2legacy.py -i GeoLite2-City-CSV.zip -e latin-1 -u -o GeoIPCity_latin1_unidecode.dat
$ geoiplookup -f GeoIPCity_latin1_unidecode.dat <IP_ADDRESS>
GeoIP City Edition, Rev 1: MD, 00, N/A, Falesti, MD-5901, 47.573601, 27.709200, 0, 0

Hello,
for the sake of completeness i have to tell i could not test any more. 2 years ago a changed my company and have complete different workthemes. I forwarded this 2 years ago to old mates and i think they still use it.
Just in case you wonder about missing comments ;)
Hans


Remove hardcoded version of the SQ Maven plugin

Hardcoding versions of the SQ Maven plugin prevents to analyse the project on future releases of SonarQube. For instance, the analysis of Titan on Nemo (http://nemo.sonarqube.org/dashboard/index?id=com.thinkaurelius.titan%3Atitan) is broken because of this.

FYI, with this modification, I managed to successfully analyze Titan on my latest SonarQube local installation.

Nemo compatibility is important.  Can we do this in a way that avoids this Maven warning about leaving the sonar-maven-plugin version unspecified?
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.thinkaurelius.titan:titan:pom:0.5.5-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.codehaus.sonar:sonar-maven-plugin is missing. @ line 1026, column 29
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]

@dalaro Indeed, removing the reference to the SQ Maven plugin should do the trick.

Thanks!  Worked great when I tried it out here, merged.


Fix heatmap

Heatmap fix

@ruiheesi , I've pulled heatmap fix to Dev - should I or you pull to main?


Object(...) is not a function after ionic cli upgrade

Ionic version:  (check one with "x")
(For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
[ ] 4.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request

Current behavior:

updated ionic cli to 3.20.0 from 3.19.1
import {TranslateService} from '@ngx-translate/core'; ngx-translate/core package went missing, npm install fixed this package issue
ionic serve worked
got a run time error:

Error Runtime Error Object(...) is not a function
Expected behavior:

After upgrade, there shouldn't be a runtime error;
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Error
Runtime Error
Object(...) is not a function
Stack
TypeError: Object(...) is not a function
    at TranslateService.get (http://localhost:8100/build/vendor.js:67817:72)
    at TranslatePipe.updateValue (http://localhost:8100/build/vendor.js:68090:24)
    at TranslatePipe.transform (http://localhost:8100/build/vendor.js:68123:14)
    at Object.eval [as updateDirectives] (ng:///AppModule/TabsPage.ngfactory.js:73:13)
    at Object.debugUpdateDirectives [as updateDirectives] (http://localhost:8100/build/vendor.js:14692:21)
    at checkAndUpdateView (http://localhost:8100/build/vendor.js:13861:14)
    at callViewAction (http://localhost:8100/build/vendor.js:14211:21)
    at execComponentViewsAction (http://localhost:8100/build/vendor.js:14143:13)
    at checkAndUpdateView (http://localhost:8100/build/vendor.js:13867:5)
    at callViewAction (http://localhost:8100/build/vendor.js:14211:21)
Ionic Framework: 3.9.0
Ionic Native: ^2.9.0
Ionic App Scripts: 3.1.8
Angular Core: 5.0.0
Angular Compiler CLI: 5.0.0
Node: 9.4.0
OS Platform: macOS High Sierra
Navigator Platform: MacIntel
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

cli packages: (/Users/[username]/apps/[projectname]/node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : ios 4.5.4
    Ionic Framework    : ionic-angular 3.9.0

System:

    ios-deploy : 1.9.2
    Node       : v9.4.0
    npm        : 5.6.0
    OS         : macOS High Sierra
    Xcode      : Xcode 9.3 Build version 9E145

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro

What version of the the ngx-translate/core are you using?
Version 10 and up have breaking changes. (https://github.com/ngx-translate/core/releases)
And since Ionic is not yet supporting angular 6 you need to stay at version 9.1.1 for the core and 2.0.1 for the HTTP-loader and if you use the rxjs library as well keep that on 5.5.0

I imported angular translate into each submodules and it works now.
Thanks for helping!


Create beans_4_1.xsd

Add the 4.1 beans.xml schema to main branch

I think we need this entire commit: https://github.com/jakartaee/cdi/pull/793/commits/e8611381736c5da804ef9ad0e82c77083f66d182 Otherwise, we'll lose the new paragraph in preface.adoc.

I'll do that in another commit as I had the pom.xml version changes that we don't want.


Remove cmder from the Tools directory

Details
cmder is nice to have but is not an analysis tool. It is similar 7z, googlechrome and microsoft-windows-terminal, so I suggest we remove it the shortcut from the Tool directory.

I agree that it is not an analysis tool and falls into a similar category as the rest.
Typically, we put these tools into the RAW_TOOLS_DIR, which is fine, but I think that there is a decent alternative to consider, particularly for things like cmder which I originally found through using FLARE-VM and have come to like it, but may never have found it if it was stashed away from where other tools are usually located.
I propose making a new category for these types of tools called Productivity Tools (or similar anyone else has a suggestion) as they are useful tools to consider.


ERROR: No matching distribution found for torchvision==0.20.1+cu124

I get this when trying to install your requirements.txt
ERROR: Ignored the following yanked versions: 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.2.0, 0.2.1, 0.2.2, 0.2.2.post2, 0.2.2.post3
ERROR: Could not find a version that satisfies the requirement torchvision==0.20.1+cu124 (from versions: 0.1.6, 0.2.0)
ERROR: No matching distribution found for torchvision==0.20.1+cu124

Also, you need to include "pip install cmake" or put it in the requirements otherwise sentencepiece doesn't build.

this doesn't work on Linux too many errors, ping me when you've updated and I'll happily test it again.


lower level tags theming (medium-small PR)

Reason for change

Added more tag-specific theming options
Updated tag default values (text-transform: initial;, font-weight: 700;)
Removed reduced opacity on plan selector costs because it was being applied to the tags as well.

Testing

Check that tags theming works as expected for each theme.

Codecov Report

Merging #143 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #143   +/-   ##
=======================================
  Coverage   54.23%   54.23%
=======================================
  Files          31       31
  Lines         684      684
  Branches      152      152
=======================================
  Hits          371      371
  Misses        311      311
  Partials        2        2

Impacted Files
Coverage Δ

...ts/manifold-service-card/manifold-service-card.tsx
53.57% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Publishing to slack channel fails after update to v2.0.3

Hello everyone, i recently updated from test reporter to test beats keeping the same config files etc.
Everything worked fine until the update from v2.0.2 to v2.0.3. When the update happened, my gitlab CI stage for publishing the results failed.
in my script i have
npm install -g testbeats@latest
testbeats publish -c testbeats.config.json
where my config.json is
{ "targets": [ { "name": "slack", "inputs": { "url": "https://hooks.slack.com/services/{SLACK_TOKEN}", "publish": "test-summary", "title": " Test Results * \n *- Branch:* {CI_COMMIT_REF_NAME} *-* \n *- Commit:* {CI_COMMIT_SHORT_SHA} *-" }, "extensions": [ { "name": "hyperlinks", "inputs": { "links": [ { "text": "Pipeline", "url": "{CI_PIPELINE_URL}" }, { "text": "Report Portal", "url": "{Report_portal_url}" } ] } }, { "name": "report-portal-analysis", "inputs": { "url": "{REPORT_PORTAL_BASE_URL}", "api_key": "{REPORT_PORTAL_TOKEN}", "project": "myproject", "launch_name": "my project test" } }, { "name": "quick-chart-test-summary" } ] } ], "results": [ { "type": "junit", "files": [ "{MODIFIED_XML_PATH}" ] } ] }
Now i get this error
🥁 TestBeats v2.0.3 Report publish failed: Config file not found: /builds/services/smth/smth2/myproject/devops/testbeats.config.json
Which is bizarre because in my bash script i pwd to check the working directory and cd to devops and ls and see the config there.

Hello @ASaiAnudeep, does this PR fix the issue? When will it be available? Thanks for your effort!

@otenta release new version. can you share the new logs here.

@ASaiAnudeep the issue has been solved! It was an error caused by the format of the testbeats config. It couldn't parse the target name properly


Is it normal if only one node is alive, the leader id becomes -1?

I have two nodes in the cluster {1,2}, the leader is 1. Now 2 is disconnected, and some error message is shown like this (on 1):
Error: raft_server.cxx:check_leadership_validity:856: 1 nodes (out of 2, 2 including learners) are not responding longer than 2500 ms, at least 2 nodes (including leader) should be alive to proceed commit
Error: raft_server.cxx:check_leadership_validity:858: will yield the leadership of this node
Is it by design that raft cannot work with only one node?

Hi @xuluna,
In the original Raft (and also all other quorum-based consensus protocols), that's right. The cluster cannot make any decision and becomes read-only if it loses quorum (a majority of nodes). In 2-node cluster, the minimum size of quorum is 2, so that if at least one node goes down, the cluster is no longer able to serve write operation (In 3-node cluster, one node down will be tolerated safely).
But in NuRaft, we support custom quorum size. If you manually reduce the size of quorum to 1, the 2-node cluster will be available even though one node goes down.
https://github.com/eBay/NuRaft/blob/master/docs/custom_quorum_size.md
But please note that it does not guarantee the safety against data loss or log diverging.

That's very awesome. Thank you!

@greensky00 If I set the custom quorum size and custom election size to 1, and later on node 2 is back, can it be detected? or I have to manually set sizes back again and add_srv again? The log will be automatically synced as well?

@xuluna
Once you add server, the membership info (list of all members in the cluster) is preserved unless you remove the server from the cluster. Hence, its status (online/offline) will be automatically detected by the leader, you don't need to call add_srv again. Logs also will be automatically synced as soon as it becomes online.
Regarding the custom quorum size, you need to manually set the size back to 0 (i.e., default size).

@greensky00 Thank you and happy new year!


Add more parameters on GUI to control fitting

Include parameters such as escape peak ratio, total number of runs, threshold, background value for SNIP.

Add detector materials to control the parameter of escape peak.


Generic repository & fileSpec : directories not respected

Hi,
Context : Uploading a directory (an Eclipse update-site, for jd-eclipse) in a generic repository in Bintray, the original tree is not respected.
Content tree :
build/install/my-plugin-site
¦
¦   site.xml
¦
+---features
¦       my.plugin.feature_1.0.0.jar
¦
+---plugins
        my.plugin.plugin_1.0.0.jar

build.gradle config :
plugins {
    id "com.jfrog.bintray" version "1.3.1"
}

bintray {
    user = 'foo'
    key = 'bar'
    publish = true
    pkg {
        repo = 'distrib'
        name = 'update-site'
        licenses = ['GPL-3.0']
        vcsUrl = 'https://github.com/...'
        version {
           name = 'latest'
           desc = 'Eclipse update site for my plugin'
        }
        filesSpec {
                from 'build/install/my-plugin-site'
                into '/'
            }
    }
}

The Bintray result is (Files sheet for theUser/distrib/update-site directory) :

The structure is a little strange but ok ...
The site.xml url location is OK :

But the jars url location doesn't contain update-site/latest (=> could not be used in Eclipse) :

Is there a misunderstanding on the build.gradle configuration, or a bug ?
Thanks in advance.
Best regards.

I'm having the same issue... the location of the root folder is okay but all subfolders are placed in the root of the generic repository.


feat: nip-26 support

Describe the changes you have made in this PR
Adds support for NIP-26 Delegated Event Signing.
Link this PR to an issue [optional]
Type of change
(Remove other not matching type)

feat: New feature (non-breaking change which adds functionality)

Screenshots of the changes [optional]

How has this been tested?
Used it with a webapp that leverages this new functionality.
window.nostr.nip26.delegate(<delegateePubkey>, { kind:1, since: since: Math.floor(Date.now() / 1000) })

// returns
{
  "from": __DELEGATORPUBKEY__,
  "to": __DELEGATEEPUBKEY__,
  "cond": "kind=1",
  "sig": __GENERATEDSCHNORRSIG__
}

Checklist

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[x] New and existing tests pass locally with my changes
[x] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

@reneaaron, @im-adithya, anything I can do to help move this one along? Would love to make this into the next release! 🤞

Hey @pablof7z, thanks for your PR. 👌 I'm currently reading into the spec.
Where can we test this? Are there some services available that already implement NIP-26?

Hey @pablof7z, thanks for your PR. 👌 I'm currently reading into the spec.
Where can we test this? Are there some services available that already implement NIP-26?

Hi @reneaaron, I made a quick site where you can test this:
https://nip26.lol/
It's going to just ask you to create the delegation token with the specified content (if any) and show the resulting token; it won't actually send anything to a relay with it.


Support for HTML comments?

Is there any desire to add support for stripping HTML comments? I often heavily comment my HTML for development notes but don't want it making it out into production code.
Single Line:
<!-- Single Line Comment. -->

Multiline:
<!--
    This is a multiple line HTML comment
    which would be stripped from the multiline option.
-->

I guess a modification to the REGEX would need to be made to search for this comment syntax, including the invisible line breaks?

@SirRawlins I will explore the possibility. It has been awhile since I have touched this project and there a couple changes/additions I already have planned so I will add this to that task list.
If you think you have a solution feel free to create a PR. If you do, please make sure to add tests for your solution.

Thanks Jonathan. If I get some time I am more than happy to stick a PR
together, and of course, always test first ;)
Have a good weekend.
On 24 Feb 2017 5:17 pm, "Jonathan Jones"<EMAIL_ADDRESS>wrote:

@SirRawlins https://github.com/SirRawlins I will explore the
possibility. It has been awhile since I have touched this project and there
a couple changes/additions I already have planned so I will add this to
that task list.
If you think you have a solution feel free to create a PR. If you do,
please make sure to add tests for your solution.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jnthnjns/grunt-stripcomments/issues/24#issuecomment-282348674,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAtiKzqMMqAYnlxZA9tH2bjhUhLI4LvTks5rfxCigaJpZM4MLI5I
.


How to check if a url is valid (not private not deleted)

Im using youtube-dl 2020.05.08 with ubuntu 16.04 and python3.
I want to know if there is a way to check if the youtube link is valid or not (e.g. "https://www.youtube.com/watch?v=5tF9Rt2uFtw").
using youtube-dl -j is too slow.
I was wondering if there is a better way/faster to do it?

What do you even mean by invalid?

@dstftw you could have just clicked on the link that I provided to see what I meant.

in a python script you can skip these videos without crashing by adding the property ignoreerrors
ydl = YoutubeDL({
# this line is VERY IMPORTANT
"ignoreerrors": True})


Shows up twice in Path and Environment variables

Not sure if this is a bug or was somehow required to overcome some issue??
The NVM_HOME and NVM_SYMLINK values show up TWO times in the path.  The values are placed in BOTH the user environment and system environment.  I assume it should just be one or the other.
Thanks.

It is supposed to show up in both. There are circumstances where only the user PATH is recognized and others where only the system PATH is recognized. The most notable use case is when a different user account runs a Node process (with a tool like node-windows), whereas another user could run NVM4W from a different location.

Where would only the user path?? User and system are merged when a process is created.  No other app I've ever seen required duplicate entries in the path

From: Corey Butler @.>
Sent: Friday, September 17, 2021 12:15 PM
To: coreybutler/nvm-windows @.>
Cc: David Morrow @.>; Author @.>
Subject: Re: [coreybutler/nvm-windows] Shows up twice in Path and Environment variables (#667)
It is supposed to show up in both. There are circumstances where only the user PATH is recognized and others where only the system PATH is recognized. The most notable use case is when a different user account runs a Node process (with a tool like node-windowshttps://link.edgepilot.com/s/06cf2ae7/qviKdtGu7USLC9uWOH2A9Q?u=https://github.com/coreybutler/node-windows), whereas another user could run NVM4W from a different location.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://link.edgepilot.com/s/ad3bd56b/6iQJTNbaQUurIcpTri2TLw?u=https://github.com/coreybutler/nvm-windows/issues/667%23issuecomment-921918869, or unsubscribehttps://link.edgepilot.com/s/467e70ee/-Gv0KAc1pkSSk2m9TiFZpQ?u=https://github.com/notifications/unsubscribe-auth/AAXJOKBWJYSZNSK35XV3OTDUCNSRDANCNFSM5EHVVD5Q.
Triage notifications on the go with GitHub Mobile for iOShttps://link.edgepilot.com/s/fa8baa79/QRULZEzur06vluY20MckzQ?u=https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email%26mt=8%26pt=524675 or Androidhttps://link.edgepilot.com/s/6bca3804/pQSaEFcDg0Sw0DwiW6VmaQ?u=https://play.google.com/store/apps/details?id=com.github.android%26referrer=utm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub.

@JesterDollar - System & User PATH variables aren't always merged. Windows 2003 and Windows 7 will not merge these if one of them exceeds 1920 characters. In those cases, only one of them will be used. I haven't tested in Windows 8, but I believe it behaves the same way.
NVM4W doesn't "officially" support the older versions of Windows, but I don't want to intentionally do something I know will break existing user environments... at least not in NVM4W. In rt (the successor project I'm working on), using a single PATH should be fine.


Update gitignore, remove now-ignored files

Please merge this pull request

Hmm... is this project abandoned?

Certainly seems like it?

Certainly seems like it?

you can enable issues on your fork and tell everyone to move to yours


Add definedness constraint to KCFG init state in exec_prove

Mirroring changes made to foundry_prove here

I implemented the changes discussed above. Aside I skipped the logging message of initializing KCFGExplore, but I can put it in there again if that is necessary. I am having a bit of trouble getting the used to the versioning. There may be extra commits until I figure out how to consistently get it in the right state,

You can always safely resolve the merge conflicts on package/version and kevm-pyk/pyproject.toml and kevm-pyk/poetry.lock with git checkout --theirs -- package/version kevm-pyk/pyproject.toml kevm-pyk/poetry.lock after you do a git merge origin/master and it causes the conflicts.


Fix tag add bug where having no fields give an error

Now catches error when there are no fields (ie tag add 1).
The error is now properly displayed.
JUnit test added.

LGTM. good job with the bug fix


Enhancement: Ability to deploy tarball without rebuilding

As an enhancement, consider adding the ability to deploy a pre-built tarball, instead of building each time.  That would make mupx much more efficient in CI scenarios where the CI server uses multiple build-steps (e.g. build, test, deploy).  Right now, we are forced to rebuild multiple times (once per step) where it would be preferred just to build a tarball during the build step, preferably test against it, and then deploy the already-built tarball during the deploy step.
For example, I could just run meteor build and then, as a separate step, invoke mupx deploy myapp.tar.gz or mupx deploy --file="myapp.tar.gz"

Maybe running tests through a script via hooks (still in progress) would be another route?
Any other thoughts on alternatives to the work flow your talking about in general that this comment might invoke? Test server with full meteor running for instance?

@MasterJames I'm not really worried about the tests running.
I'm most concerned about having to REBUILD to deploy.  If i have a node bundle tarball, I should just be able to deploy it, particularly if it has already been tested and verified.  The last thing I want is for, for example:

tests to run and complete without error on our CI server
(unbeknownst to me) a 3d party developer developer pushes a package update, and then
when re-building to deploy, the new package version gets brought in, and then
Our production server breaks due to an error or incompatibility in the package.
Admittedly, it's a small window (maybe a few minutes), but it's fixable.  If I have to roll back to an earlier version for whatever reason, I'm forced to rebuild and the chance of a break is much larger.  Regardless, it does not make sense to force a rebuild if you have a version built.  Why not just let it deploy?

And, BTW, I've tried kadirahq/meteor-up and it didn't work for me.  I can't remember the errors (it was months and months ago), but MUPX works.  If they really want people to use the kadirahq version, mark this one deprecated.  Right now, this project says it is the Stable Version. and the latest development version of mup is https://github.com/kadirahq/meteor-up.  Seems to me that I want the stable version.  Maybe they should say this version is no longer being maintained?  Development versions tend to break at any minute without warning.
Our test servers (as are our build servers) are docker instances that get spun up on demand (e.g. on checkin). They are always clean and they contain only the minimum needed to run the tests.

Well if you look at how deploy works scripts/deploy.sh it only copies a bundle.tar.gz and thrn runs this script.
https://github.com/arunoda/meteor-up/blob/mupx/templates/linux/start.sh
Which links the current bundle to the mateorhacks/meteord docker image (which is customizable in the new version only meaning put your own image).
I suppose you could find a way to include the same bundle but I think it builds it for the target platform on the target?
Then you really just want to skip deploy and run tests or something?
I'm sure your the best to figure out where you want to skip copying the bundle in deploy.sh or just run start.sh or what exactly?
In my mind without hard drive size limits on the server I'd consider running full meteor as the development environment there and know when your ready to actually "deploy".
Really I kind of wrote my own hot code injector that tells Clients to reload code when a watch detects the changes inside the deployment folders on the server and not to rebuild the bundle and push it when it's detected changes in the source which is different or more direct approach then how meteor does it but when your talking packages and npm then it really needs to recompile for the deployment platform in some cases so it depends on if the code is raw JS or what I think maybe. Again you know best as it depends on your end.
Anyway I can't fully grasp your situation so there's some food for thought and to look deeper at the code of mupx which involves meteorhack images and at some point of digging deep ironically it's actually not all open sourced. You could just hack this version like I suggested or maybe you need the new version and custom image or you can just rethink how to scp ssh copy the changes into slightly more intelligent hot code push etc.
Do you get any clarity from these ideas? I'll keep looking and thinking and trying to understand your situation and append something here if I find where might be your best point of modification but again to move forward the new version and help from the deva there sounds like the better option.
Ib eegards to stability if the desired meaning of "Stable" is unchanging?  Then yes mupx, "stable" meaning its going to actually keep working and adapting to change and get help quickly from the open source community when the development test server is needing help to get working again, then the new version is a better route.
I've also considered how to just flip the DNS with a shorter TTL when the development machine is good to go and after the 4 hour TTL then you can start Deb on the other machine but most people don't need to test in the cloud but do it in the lab or a fully simulated lab network. So just another way to think about your setups demands and how to manage development testing more in the battle field as you seem to be suggesting so it leaves the question why can't you test sufficiently in the office home development lab environnent?

This calls lib/build.js
https://github.com/arunoda/meteor-up/blob/mupx/lib/actions.js#L119
To archive it into the bundle.tar.gz

Maybe just do this manually with your own script after SSH into deployment target.
https://github.com/meteorhacks/meteord#21-from-the-web
From a git repo release etc.
Or override the code to not rebuild via the buildApp call
Again the new version would let you customize the docker image used but in this case I think you want to just relaunch docker after scp the changes needed in the tests or what have you.


Request logging for node master/worker app

In my app logs I can see the api call logged twice:
::ffff:<IP_ADDRESS> - - [31/Oct/2017:13:19:14 +0000] "GET /service.get HTTP/1.1" 400 93 "-" "-"
::1 - - [31/Oct/2017:13:19:14 +0000] "GET /ws/1.0/service.get HTTP/1.1" 200 97 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36"

I have a express app with a node master-worker architecture, so the http connection is shared automatically by node, something like this:
'use strict';
(function() {

/// node clustering
const cluster = require('cluster');
const numCPUs = require('os').cpus().length;
var clusterConfig=require('./config/clusterconfig.json');

if (cluster.isMaster) { // master node

    // process=master
    console.log(`Master ${process.pid} is running`);

    // Fork workers.
    var maxCPUs = clusterConfig.master.workers;
    maxCPUs=(maxCPUs>=numCPUs)?numCPUs:maxCPUs;

    for (let i = 0; i < maxCPUs; i++) {
        const worker=cluster.fork();
    }

    var masterConfig=require('./config/masterconfig.json');
    var MasterNode=require('./lib/master');
    var master= new MasterNode(masterConfig);
    master.start()
    .then(done=> {
        console.log(`master ${process.pid} started`);
    })
    .catch(error=> {
        console.error("master error",error);
    });
}
else if (cluster.isWorker) { // worker node

    // process=worker
    console.log(`Worker ${process.pid} started`);

    var workerConfig=require('./config/workerconfig.json')
    var WorkerNode=require('./lib/worker');
    var worker= new WorkerNode(workerConfig);
    worker.start()
    .then(done=> {
        console.log(`worker ${process.pid} started`);
    })
    .catch(error=> {
        console.error(`worker ${process.pid} error`,error);
    });
}

}).call(this);

I'm then routing workers calls to the master due to some shared resources with a router. I would like to avoid to log both external and internal calls in express.

NOTE
I would like to avoid to log both external and internal calls.

Hi @loretoparisi that is weird indeed. I'm not really sure I understand what is happening to really help. Thanks for providing code, though! If you can provide instructions on how to reproduce the issue with the code you provided, then I can attach a debugger to the app and try and figure out what is going on for you.

Closing since I never heard back.


Fix/secure ingresspattern

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

minor comment

Fixed it


add setting to allow / prevent overlapping slots

In some cases it should be prevented to create overlapping slots.
I would propose a property e.g. overlapping={false}, which defaults to true.
I implemented an overlapping check into an own calendar and disabled the slot creation for areas where a slot / event already existed.

Big calendar purpose is to display events on a calendar graphic support. Therefore it makes sense for the events to overlap, as one person might be attending various numerous of events in a single day. This isn't an issue, but simply a request that you'd like big calendar to have to suit your needs.

Yes, it's a feature request. In my case I want to let users define dates / slots that do not overlap. For example teacher can only teach one class at once.

Generally I think the best way to handle this is to enforce the event overlapping constraints outside of the calendar using the callbacks. I thnk the only things thats missing to allow this usecase is the ability to prevent the actual drag and select to create a an event. theonSelectStart callback already exists it probably makes sense to allow preventDefault in those cases.

Callbacks would be a nice generic solution. I would propose to add these two events: onSelect and onSelectEnd.

Thanks! :)


Project pitch

Did we talk about moving CRC cards to Project plan, rather than Project Pitch? Also I am not sure we finalized the weight-age for the pitch to b 10% of the project. May be we can discuss these in tomorrow's meeting?


Display pins getDigitalValue(PullMode::Down) doesn't work reliably

This programme disables the display, sets the internal pull up on all pins, and then sets the internal pull down on each individual pin and checks it reads "low".
This works fine for all pins without external pull up, except for the display pins.
However, adding setPull(PullMode::Down) right before getDigitalValue(PullMode::Down) does seem to "fix" the issue.
#include "MicroBit.h"
#include <initializer_list>

MicroBit uBit;

int main() {
    uBit.init();

    uBit.display.disable();

    for (int i = 0; i < 19; i++) {
        (void)uBit.io.pin[i].getDigitalValue(PullMode::Up);
    }

    uint8_t pins_no_external_pull[] = { 3, 4, 6, 7, 10, 12, 13, 14, 15, 16 };
    for (int i : pins_no_external_pull) {
        // uBit.io.pin[i].setPull(PullMode::Down);       <-- UNCOMMENTING THIS LINE SEEMS TO FIX IT
        if (uBit.io.pin[i].getDigitalValue(PullMode::Down) != 0) {   // <-- Without setPull(PullMode::Down) this check fails
            uBit.serial.send("PIN: " + ManagedString(uBit.io.pin[i].id) + " w/ internal pull down is not low.\n");
        }

        for (int j = 0; j < 19; j++) {
            if (i == j) continue;
            (void)uBit.io.pin[j].getDigitalValue();
        }
        uBit.io.pin[i].setPull(PullMode::Up);
    }
    uBit.serial.send("Done\n");
}

The output from this is:
PIN: 103 w/ internal pull down is not low.
PIN: 104 w/ internal pull down is not low.
PIN: 106 w/ internal pull down is not low.
PIN: 107 w/ internal pull down is not low.
PIN: 110 w/ internal pull down is not low.
Done

MICROBIT.hex.zip

Using the latest main branch and v0.2.47 yields the same result.


What is common_world??

Hello I'm the man who wants to know how CAFFE2 work in C++ side.
Nowadays, I'm trying to understand how the distributed learning works.
I recently run Resnet50_trainer.py and noticed that CAFFE2 uses allreduce operator rather than nccl allreduce as a operator to gradient aggregation among multi workers.
I would like to know what is the comm_world, One of the input of allreduce operator.
I already know it is generated with CreateCommonWorld operator called via workspace.RunNetOnce(train_model.param_init_net) but don't know the role and the meaning of common world in allreduce operator.
I also want to know why the train_model.net.Proto has num_workers: 12 even I used 1GPU per each machine.

The common world encapsulates the state needed to perform the inter-machine collective. You can think of this as the TCP connections and information about process rank. This common world can be reused across multiple collectives. They are reused in Caffe2 in a way that they don't overlap, which is why we create more than 1 of them. The question about 12 workers is related: reduction of gradients of multiple layers can happen in parallel. There is no data dependency for computing the gradient and updating the weights between layers, so this can be done in parallel for multiple layers.


fix prototype pollution - return unmodified accumulator object when magic attributes encountered

:pencil2: Change Description
Issue: https://www.huntr.dev/bounties/1-npm-safe-flat/
Prototype Pollution refers to the ability to inject properties into existing JavaScript language construct prototypes, such as objects. JavaScript allows all Object attributes to be altered, including their magical attributes such as proto, constructor and prototype. An attacker manipulates these attributes to overwrite, or pollute, a JavaScript application object prototype of the base object by injecting other values. Properties on the Object.prototype are then inherited by all the JavaScript objects through the prototype chain.
Issue is fixed by checking and comparing the keys of object and if a magic attribute override is encountered, then the unmodified object is returned instead.
🐛 Proof of Concept (PoC) *
Create the following PoC file:
// poc.js
var {unflatten } = require("safe-flat")
console.log("Before : " + {}.polluted);
unflatten({"__proto__.polluted": "Yes! Its Polluted"})
console.log("After : " + {}.polluted);

Execute the following commands in another terminal:
npm i safe-flat # Install affected module
node poc.js #  Run the PoC

Check the Output:
Before : undefined
After : Yes! Its Polluted

🔥 Proof of Fix (PoF) *
Before:

After:

👍 User Acceptance Testing (UAT)
After fix functionality is unaffected.

:link: Relates to Issue : https://www.huntr.dev/bounties/1-npm-safe-flat/
Fixes # (issue)
:triangular_flag_on_post: Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

:heavy_check_mark: Pull Request Checklist

[ ] Adherence to the  Developer Certificate of Origin (DCO) version 1.1 (git --signoff).
[x] Commits follow the Conventional Commits standard.
[x] Ensure all tests are passing (npm test).
[x] Adhere to standardjs guidelines.
[ ] Add tests for any new features or to show that bugs have been fixed.
[ ] Update the README.md with details of changes to the interface.

Sorry d3v53c, we enjoyed reviewing your fix but it has not been selected this time. If this bounty has not been closed, please feel free to try again with a new pull request!
We appreciate your effort and look forward to reviewing more of your fixes in the future! 🔨😎
Come join us on Discord


chore: rename delete to remove

Describe the changes you have made in this PR
Renames delete to remove and updates the alert message.
Follows this https://github.com/getAlby/lightning-browser-extension/issues/955#issuecomment-1153553635
Link this PR to an issue
Closes #955
Type of change (Remove other not matching type)

chore: Renaming a variable

Screenshots of the changes (If any)

How has this been tested?
Ran all tests
Checklist

[x] My code follows the style guidelines of this project and performed a self-review of my own code
[x] New and existing tests pass locally with my changes
[x] I checked if I need to make corresponding changes to the documentation (and made those changes if needed)

Ready!

I changed my mind. I think it's better use the conceit of Archive account. So you will always be able to undo the action. Same thing of what Blockstream Green wallet does.
What do you think?

Or else we can combine both of these and could give an option to "archive instead?" below in a modal component instead of a native alert...

Are you sure you want to archive the account: main?
If you used this account to login on sites using Alby, you might not be able to access them.
This action always can be undone.

Or else we can combine both of these and could give an option to "archive instead?" below in a modal component instead of a native alert... As remove option should always be there for the user at any point of time, wdyt?

I think two options is confusing. Just my opinion.

Bumi approved this so I think we're good here for now.
You can always re-add an account. "Archieve" sounds like I can see a list of archived accounts somewhere. Or it would be "greyed out".
Let's go with remove for now. Let's move further discussions to the design slack channel.


some more prep work for API implementation, just minor changes to som…

…e related functions.
Added a new array to hold IMDB IDs for later use, modified the stop event for the jQuery sortable widget and added a toArray function (still testing how to use this).
Also removed some unused code.

toArray sortable method* ?


@media parsing error

I have the following in my SASS:
 @media screen and (max-width : 735px) and #{breakpoint(medium)}  {     line-height: 120%;   }
The syntax highlighter puts a RED underline on the # and gives the following error:
( expectedscss(css-lparentexpected)
I don't know if this is a problem with the sass formatter or somewhere else, so I am starting here.
The SASS is of course perfectly fine, compiles and works as expected.

Hi, This Formatter doesn't provide Intellisense, just formatting and the errors are shown in the statusbar of vscode. I am pretty sure it is by something else.


feat: use StripeIdentity from TempMee repo

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Allow user to specify an alternate iterationCount

Iteration count is hard-coded to 1024 in this file.  The change allows user to specify an alternate value to use (preferably higher).
Alternative implementations would be adding an additional constructor or changing parameters but I didn't know which method you'd prefer so I went with something that's not very intrusive by adding a method.

Added. Thanks.


Selected dates not painted when load more months

Hi, i couldn't find the issue so i don't know if it's a known issue.
When you open the datepicker in mobile vertically and you load more months it doesn't paint when you select the date.
The same error is present in airbnb.com when you visit with mobile:
In this image you can see how it paint when i select the first date in the months loaded at begining:

And here you can see how it doesn't paint when i select a date in a month that was loaded after

Yup! Need to fix the vertical scrollable datepicker. X_x

Hi @majapw
,
I did some digging here, and found that the problem is related to this condition:
addModifier(updatedDays, day, modifier) {
    ....
    if (!day || !isDayVisible(day, currentMonth, numberOfMonths, enableOutsideDays)) {
      return updatedDays;
    }

isDayVisible is not considering the number of visible months in the calculation to validate the date.
Adding something like numberOfMonths = Object.keys(visibleDays).length; a couple of lines above fixes this particular problem but problably there is a better aproach to avoiding overriding a prop (seems hacky to me).
Example:
    if (orientation !== VERTICAL_SCROLLABLE) {
      currentMonth = currentMonth.clone().subtract(1, 'month');
      numberOfMonths += 2;
    } else {
      numberOfMonths = Object.keys(visibleDays).length;
    }
    if (!day || !isDayVisible(day, currentMonth, numberOfMonths, enableOutsideDays)) {
      return updatedDays;
    }

I checked the tests and adding this doesn't break anything but didn't submit a PR yet.

Hi @majapw,
Any updates on this one?

@majapw has this been fixed yet?

Is it fixed for DayPickerSingleDateController as well? I am still getting the same issue on<EMAIL_ADDRESS>


Updating the big boy .py file

This will take some work. will merge to master when its finished

Cool - thanks for doing some work on this!


std.math: Use DOUBLEPAIR_MSB/LSB for accessing high/low parts of ibmExtended format

A continuation of #5822 (or a prelude, works both ways).
When running the unittests for PPC64/LE, found many failures due to it checking the wrong part (MANTISSA_MSB value is the least significant index on LittleEndian).
Fixed places where Big/Little endian would otherwise differ, but actually should do the same thing.

Maybe its time to resurrect  #4336

Very nice - I found this, too. I will have a closer look this evening.  This should also be reflected in the version check at the beginning of the file (https://github.com/dlang/phobos/blob/master/std/math.d#L233).

@redstar, oh and there's also #5825 which fixes this using an entirely different approach.

Ok, this is the simple approach. :-) Looks good to me. There are no overlooked instance, so it should work out of the box.

Rebased.


Fixed release workflow

#3082  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @CatChen and the rest of your teammates on  Graphite


Project Proposal:  Hiding Important Credentials

Overview
Hii I see that an api key is printed on the console but IMO it should be kept under .env file and i will also check for other credentials as well .

Key Features
No response
Additional Information
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this project proposal

@Ayushmaanagarwal1211 You have to work on the feedback form. I will remove the console log from my side.

I hope you're doing great! As a GSSoC contributor, I'm keen on ramping up my involvement for GSSoC'24. Could you please assign this issue to me? I'm excited to continue contributing to the project. Thanks a bunch!


scale images with thumbor

Problem
Currently we serve same image sizes to all devices. It isn't ideal to serve large images to mobiles and neither to serve small images to desktops.
Solution
Currently we use css background images for our headers.
The only solution I can come up with is to instead use a picture tag and Thumbor (our image caching server) to scale and generate webp.
Using thumbor
To use Thumbor we need to use an API key. There is a Ruby library for that and a Jekyll plugin to use it.
So I forked the later https://github.com/myles/jekyll-thumbor.
The project do not currently handle:

url encoding
using it on more than one image
no parameters aside from width and height

So I've experimented with a fork where i have fixed above issues to the best of my ability.
Update the layouts to use Thumbor
I've updates all layouts to use a picture tag instead.

But, I'm having difficulties using the plugin on sites that use the theme. I get the error
Liquid syntax error (/private/var/folders/xb/2vpmzqt903d00lpnpr5yxdzw0000gn/T/jekyll-remote-theme-20210217-62776-o5nium/_includes/composition.html line 12): Unknown tag 'thumbor' included  (Liquid::SyntaxError)

@cgendreau you know Ruby, I've never written a line of Ruby before today. Could you perhaps help me here? I know this is Jekyll, but you might well know better than I anyway.
As a motivation I can tell you that the image from the canadian portal is still 1.7mb after we have converted it to webp :) It would be nice not to serve that on mobile.

I don't really know Ruby. I may have write 100 lines but that's about it :)

Haha, my misunderstanding then. But that is still 3 times as much experience as I have.

We now have a Jekyll thumbor plugin to handle this
https://github.com/gbif/jekyll-thumbor and the hosted portals make us of it to scale images, convert formats and choose resolutions based on device


Hive ACID row-level insert and delete

This commit adds support for row-level insert and delete for Hive ACID tables,
and product tests that verify that row-level insert (and delete where allowed)
are working correctly for this test matrix:
(partitioned | unpartitioned) X
(bucketed | unbucketed) X
(normal | insert-only) X
(original files | non-original files) X
(Presto inserts | Hive inserts) X
(first insert | subsequent inserts) X
(Presto deletes | Hive deletes) X
(first delete | subsequent deletes) X
(Hive selects to verify | Presto selects to verify)
The tests also verify that metadata delete still works correctly for non-ACID
tables, and that row-level delete is always used for ACID tables.  Hive ACID
insert and delete make metastore updates using the delayed commit paradigm
provided by SemiTransactionalHiveMetastore.
ACID insert and delete need four Hive metastore methods not previously
used, and this commit adds the plumbing through the many metastore layers
for those methods.
Records to be deleted flow through HiveUpdatablePageSource, which feeds an OrcWriter
the three columns - - originalTransaction, bucketId, rowId - - that identify an
ACID row to be deleted.  The writer builds the ACID delete_delta bucket, adding
the Orc ACID operation column specifying delete and the currentTransaction column
to each row.
A complete delete scan will in general read many Orc files from earlier transactions.
The delete implementation will create a HiveUpdatablePageSource for each file.
Each will write a delete_delta file, distinguished by different statementIds.
These delete_delta bucket files and directories will be combined by the Hive
ACID compactor as the accumulate.
ACID insert is simpler than delete - - it just adds the 5 ACID columns needed
to make insertion transactional, and creates delta directories to hold bucket files.

Thanks for the reviews, @losipiuk and @electrum.  I've force-pushed the suggested changes.

Thanks for the review, @electrum!  I made the changes you suggested, verified with a clean build, and force-pushed the changes.  I'm running the tests in TestHiveTransactionalTable now; they are running fine.


User experience: what does venezuela.democracy.earth redirect to?

The content for the voting questions is being created collectively in this google doc will be posted by each organization directly

Hey @paulamlb @medied
Building on your idea of using specified accounts to propose questions.
How about we create several accounts:

One on which proposals would be candidates. We could put up for proposal official candidates but also civil candidates that might me able to run for elections that we could crowdsource through the community
One where we would ask more meta questions on the legitimacy of the elections, on programmatic points of policy etc.

The main feed could be used for people to ask question spontaneously and reflect what's on the mind of the users.
What do you guys think ?

I really like these ideas @medied.
@aecc I think he means we create a @NicolasMaduro account and quote him in the platform, and that we do as such with other figures too. Also start with an official account for the state of Venezuela. Replicating the political universe in the platform.

aha, that's interesting @santisiri, that would make it seem more real. What would they "write" on their timeline? Would we impersonate them? Or just mention them?
I understood it more like a way to just filter questions. @virgile-dev I like the idea, I would just put both accounts into a single one, first the candidates question, then legitimacy questions. In this way we would increase the probability of people answering all polls instead of one or the other. By the way, does the platform support something else than yes/no answers? If we have to add a candidate list that could need to be developed

could you quickly summarize what's the idea behind "using specified accounts" ?

Right, idea being that the questions to be voted on would be 'published' by a specific account (a 'Venezuela' account so to speak). This is different than, for example, what we did with Sri Lanka where the domain srilanka.democracy.earth redirects to all posts using a #srilanka hashtag (ie: https://vote.democracy.earth/tag/srilanka). It's a matter of what's the best strategy to use venezuela.democracy.earth.
I like these ideas though. We want to come up with the content of the voting questions collectively, using this google doc to start. Whether we end up with two sets of questions, like candidates and meta, that's exactly what we can explore and debate.

aha, that's interesting @santisiri, that would make it seem more real. What would they "write" on their timeline? Would we impersonate them? Or just mention them?

Do you know how to use DeepFake? :)

Right, idea being that the questions to be voted on would be 'published' by a specific account (a 'Venezuela' account so to speak). This is different than, for example, what we did with Sri Lanka where the domain srilanka.democracy.earth redirects to all posts using a #srilanka hashtag (ie: https://vote.democracy.earth/tag/srilanka). It's a matter of what's the best strategy to use venezuela.democracy.earth.

We should do this for every Nation-State by the way. I'm thinking that maybe makes more sense for the redirect to point towards a /peer rather than a /tag, so we would have a user for each country and make those questions official (we'll work towards legitimizing them as we get better with proof-of-identity).

Trying to think about implementation details though. For the 'meta' questions, any one of us can propose before hand, we arrive at a set of questions we want to vote on, then those get shown via venezuela.democracy.earth.
For 'candidate' questions, would we have to define a list of candidates before hand? Or if people want to nominate someone, they add the candidates themselves? That could get somewhat messy. Should we use a specific hashtag for spontaneous nominees?

I would just put both accounts into a single one, first the candidates question, then legitimacy questions. In this way we would increase the probability of people answering all polls instead of one or the other.

It's true that if venezuela.democracy.earth doesn't point users to a streamlined experience we run the risk of people just being confused.
Just thinking out loud.

@aecc Yeah maybe one account would do the trick. As @santisiri we should use what's there so let's use hashtags to curate content.
Here is an idea of how we could implement that:

Alright so as the project advances we are understanding what may be the best dynamic for the questions. Sovereign is simply the medium, the space that venezuelans have been deprived of, where any organization or individual can participate and propose ideas. That means there can be Sovereign accounts for different organizations and they can post the questions directly, kinda like in Twitter.
Still not completely nailed yet is where venezuela.democracy.earth redirects to, but maybe it can just redirect to #venezuela tag. It ocurred to me the other day it would be awesome also to explore the idea of URLs for multiple tags, aka something like:
https://vote.democracy.earth/tag/venezuela&vlzaresiste&dimision

Building off of my last message in this thread, it is almost time to set up redirect for venezuela.democracy.earth already. Now that we have the main hashtag #VzlaProponeCambio and this whole initiative is solid around it, I'm wondering if it makes sense for venezuela.democracy.earth to redirect to it as in:
https://vote.democracy.earth/tag/vzlaproponecambio
Thinking about the user experience, and if we really want to drive and spread #VzlaProponeCambio everywhere for the initiative to grow, this option could be the easiest because then users just have to include that one hashtag for their voice to be included and heard in the right channel.
@paulamlb @santisiri what do you think? The other option of course is having the domain redirect to #venezuela hashtag. This would mean users would have to include both hashtags maybe (?), feels a bit less structured.

Can we point to both hashtags?

After chatting with @virgile-dev and @medied in the office we agreed to take the path proposed in #319

Closing this one as #319 is now closed as well