Contains duplicate py

Pull Request Template
Description
Please include a summary of the problem and about the approach to solve the solution. Please also include relevant motivation and context.
List any dependencies that are required for this change.
Put check marks:
Have you made changes in README file ?

[x] Added problem & solution under correct topic.
[x] Specified Space & Time complexity.
[x] Specified difficulty level, tag & Note(if any).

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[x] Test A: It got accepted on Leetcode!
[x] Test B

Make sure all below guidelines are followed else PR will get Reject:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code so that it is easy to understand
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] Any dependent changes have been merged and published in downstream modules

@GouravRusiya30 Merge my pull request

@Optider Please remove LinkedIn link from the readme. Also don't forget to provide  for this repo.
@GouravRusiya30 After making the changes, I will have to generate new PR?

@Optider Please remove LinkedIn link from the readme. Also don't forget to provide  for this repo.
@GouravRusiya30 After making the changes, I will have to generate new PR?

@GouravRusiya30 I have made the changes needed for #46

@GouravRusiya30  Thanks for merging this PR. Kindly add "Hacktoberfest-accepted" label to this PR.


PHP 7.2 Enh: Add Argon2 as password hashing algorithm

Argon2 for Secure Password Hashing
PHP 7.2 adds support for the Argon2 password hashing algorithm. Argon2 was the winner of the Password Hashing Competition and is being widely adopted as the modern standard for password hashing.
Hashing passwords with Argon2i is now as simple as:
password_hash('password_here', PASSWORD_ARGON2I);
Verifying passwords hashed with Argon2i is the same as before:
password_verify('password_here', $hash);
More about the changes to password_hash() here.

The class could be modified by simplifying it:
/**
 * $algo => 3, // ARGON2DI
 * $params => [
 *   'memory_cost' => 1<<17,
 *   'time_cost'   => 3,
 *   'threads'     => 4,
 **/
/**
 * $algo => 2, // ARGON2I
 * $params => [
 *   'memory_cost' => 1<<17,
 *   'time_cost'   => 3,
 *   'threads'     => 4,
 * ]
 **/
/**
 * $algo => 1, // BCRYPT
 * $params => [
 *    'cost' => 8,
 * ]
 **/

/**
 * hash
 *
 * Wrapper for yii security helper method
 **/
public function hash(string $password, int $algo, array $params = []): string
{
    return password_hash($password, $algo, $params);
}

/**
 * validate
 *
 * wrapper for yii security helper method
 **/
public function validate(string $password, string $hash): bool
{
    return password_verify($password, $hash);
}

/**
 * generate
 *
 * generates user-friendly random password containing at least one lower case letter, one uppercase letter and one
 * digit. The remaining characters in the password are chosen at random from those three sets
 *
 * @see https://gist.github.com/tylerhall/521810
 **/
public function generate(int $length): string
{
    $sets = [
       'abcdefghjkmnpqrstuvwxyz',
       'ABCDEFGHJKMNPQRSTUVWXYZ',
       '23456789',
    ];
    $all = '';
    $password = '';
    foreach ($sets as $set) {
        $password .= $set[array_rand(str_split($set))];
        $all .= $set;
    }

    $all = str_split($all);
    for ($i = 0; $i < $length - count($sets); $i++) {
        $password .= $all[array_rand($all)];
    }

   $password = str_shuffle($password);

   return $password;
}

in yii 2.0.23 does not work

@rumours86 and it won't, as Yii2 is not accepting enhancements anymore.

@rumours86 its very simple you can create your own helper password or extends security and override method.


Consent is saved regardless of RememberConsent checkbox value

Version: 4.0.4
Issue / Steps to reproduce the problem
Enable Consent for client by setting
client.RequireConsent=true,
client.AllowRememberConsent=true
Login, leave RememberConsent checkbox unchecked.
Log out. Login again.
Actual result: consent screen is not shown upon login
Expected result: since user did not hit RememberConsent it should be shown after each login until user agrees to save it.
Editional:
By looking into source code looks like RememberConsent  does not play any role during consent save. Consent is saved regardless of RememberConsent checkbox value
https://github.com/IdentityServer/IdentityServer4/blob/88ad5ee315de7234da47753d13bad06fba47a13b/src/IdentityServer4/src/ResponseHandling/Default/AuthorizeInteractionResponseGenerator.cs#L312

Confirmed.

PR submitted


activating a node as a validator

At this stage, when copying the link, everyone presses CTRL + C, for this reason the link is no longer valid, because. "near login" process closes

enter the command in the terminal
then copy the link and paste into your browser
At this stage, when copying the link, everyone presses CTRL + C, for this reason the link is no longer valid, because. the "near login" process closes, for putty users:
you need to enter the command “near login” then click on the putty icon -> Copy All to Clipboard,
open notepad and paste the contents of the clipboard there, and copy the link from the notepad and open it in the browser
Grant access to Near CLI, click NEXT
further connect
Enter our account and click confirm
And after that we continue in the terminal:
Enter your account and press Enter
ten.

Expected behavior
when copying the link is valid
Screenshots

Device (please complete the following information):
-windows 10
-chrome
Additional context
At this stage, when copying the link, everyone presses CTRL + C, for this reason the link is no longer valid, because. "near login" process closes

Hey @AUXILIUM13 thanks for raising this issue.
It seems like you're having trouble with something related to near-cli and not with wallet-selector.
You will need to open an issue there: https://github.com/near/near-cli


Dead links hash symbol challenge - Run tests error

Challenge Make Dead Links using the Hash Symbol has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/<IP_ADDRESS>5 Chrome/52.0.2743.82 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
When I try to "Run tests"/ use ctrl+enter nothing happens.
 Please use the help chat room or try looking through the forum for help with a specific challenge.
Happy Coding.


Unable to run file_get_contents due to shared hosting restrictions

Due to my restrictions on a shared server, I am unable to run file_get_contents or even set
allow_url_fopen = on

Therefore I had to edit the library file: CodeIgniter-reCAPTCHA/libraries/Recaptcha.php
My changes aren't very clean, but could the concept be used to detect lack of support and use CURL instead?
/**
* Submits an HTTP GET to a reCAPTCHA server.
*
* @param array $data array of parameters to be sent.
*
* @return array response
*/
private function _submitHTTPGet($data)
{
    $url = self::site_verify_url.'?'.http_build_query($data);

    if (!ini_get('allow_url_fopen')) {
        $ch = curl_init();
        $options = array(CURLOPT_URL => $url,
                                   CURLOPT_CONNECTTIMEOUT => 5,
                                   CURLOPT_RETURNTRANSFER => true
        );
        curl_setopt_array($ch, $options);

        $response = curl_exec($ch);
        if (curl_errno($ch)) {
            $response = '';
        } else {
            curl_close($ch);
        }

        if (!is_string($response) || !strlen($response)) {
            $response = 'Failed to get contents';
       }
   } else {
       $response = file_get_contents($url);
   }

    return $response;
}

Feedback much appreciated.

this is easy way without changing many thing
private function _submitHTTPGet($data)
{
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
    $url = self::site_verify_url.'?'.http_build_query($data);
    $response = file_get_contents($url, false, stream_context_create($arrContextOptions));
    return $response;
}

#9 merged, so closed this issue.


SDS: control plane still relies upon istio-certs secrets

Bug description
Perhaps this is a misunderstanding on my part, but I was under the impression that when operating with SDS enabled, no components should require the TLS cert secrets generated by Citadel (as they simply request them from Citadel).
However, the default deployment of Istio 1.4.5 (Helm) still includes these optional volumes, and Citadel is still configured to issue secrets (no --server-only flag). i did an experiment and removed these volume mounts, deleted the TLS secrets, and added the --server-only flag. The control plane nodes that still have these volumes (which I removed) now cannot function, as they seem to rely on these certificate mounts.
My question is, what is the design reason for this, and is there no way for the control plane to operate without secret-mounted certs? It seems to render the (theoretical) security benefits of SDS ineffective - since Citadel is still going to issue the secrets regardless (and seemingly the control plane requires them).
Expected behavior
When operating in SDS mode, no Istio components require secret-mounted certificates.
Steps to reproduce the bug
Install Istio 1.4.5 using Helm, with SDS enabled. Try setting Citadel to --server-only and deleting any Istio certs generated.
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
istio: 1.4.5
kube: 1.15.7
How was Istio installed?
Helm template
Environment where bug was observed (cloud vendor, OS, etc)
aws - kops

Things change a lot in 1.5 I lost the clear track of this. Helm and istiod. @myidpt to take a look, potentially already solved.

As of istio 1.6 all components are using SDS


Some cmdlets don't respect -LiteralPath when it comes to backslashes

Path normalization (fixing of slashes) is happening regardless of whether -literalpath is used.  Seen in Set-Content, Get-Content, Out-File (maybe others, search for NormalizePath()
Steps to reproduce
# on Unix based system
Set-Content -LiteralPath "\foo.txt" -Value "bar"

Expected behavior
A file called "\foo.txt" is created with content "bar"

Actual behavior
Path normalization (fixing slashes) doesn't take into account that this is a literal path.
Set-Content : Access to the path '/foo.txt' is denied.
At line:1 char:1
+ Set-Content -LiteralPath "\foo.txt" -Value "bar"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (/foo.txt:String) [Set-Content], UnauthorizedAccessException
+ FullyQualifiedErrorId : GetContentWriterUnauthorizedAccessError,Microsoft.PowerShell.Commands.SetContentCommand

Environment data

Name                           Value
----                           -----
PSVersion                      6.2.0-preview.1
PSEdition                      Core
GitCommitId                    6.2.0-preview.1
OS                             Darwin 18.0.0 Darwin Kernel Version 18.0.0: Wed Aug 22 20:13:40 PDT 2018; root:xnu-4903.201.2~1/RELEASE_X86_64
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Given that \ is not a wildcard-expression metacharacter, I would expect it to be treated as a literal in -Path arguments too.
In https://github.com/PowerShell/PowerShell/issues/6833#issuecomment-389690161 you've talked about the need to support escaping \ in paths, without being specific about -Path vs. -LiteralPath:
Set-Content -LiteralPath '`\foo.txt' -Value "bar"
Set-Content  '`\foo.txt' -Value "bar" # implied -Path

To me it makes sense to treat the \ issue separately from the -Path / -LiteralPath dichotomy, as the latter is strictly about wildcards.

Understood, @SteveL-MSFT.
My example commands showed how it should work once fixed, based on my interpretation of the conclusion reached in #6833 - did I misread that conclusion?
My point was that this escaping should work with both -Path and -LiteralPath arguments, as the latter distinction - at least so far - relates to wildcards only, and the \ / / issue is conceptually separate.
After all, I shouldn't have to forgo wildcard matching just so I can get my \ chars. interpreted as-is.
An aside re your example: If you use double quotes, you'll have to use two ` chars., because a single one is "eaten" by string parsing.

@mklement0 ok, I see what you mean.  Yes, if escaped properly, it should work with -Path as well.


Error in version 5.0.0-alpha.11

Environment

Operating System: Darwin
Node Version:     v20.10.0
Nuxt Version:     3.8.2
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, app, modules, apollo, postcss, css, i18n
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Describe the bug
Hello! When working with @nuxtjs/apollo I get the following error.
Uncaught (in promise) ApolloError: token.value?.match is not a function
Expected behaviour
The settings were made according to the example:
https://stackblitz.com/edit/nuxt-apollo-demo
Reproduction
No response
Additional context
No response
Logs
No response

@ffierce could you provide an example how to reproduce this issue on StackBlitz?


SCAN SPEED

Is there a way to give the program more scan speed. Would be really nice!!

Lower the scanning area, this will improve the scan speed. If you need to cover more ground and have it fast. I would recommend setting up 2-3 accounts running it.


Implement markdown

Currently, GMA uses a text markup syntax inspired by Creole, but there are some aspects of that format which have proven to be inconvenient. Additionally, markdown is a much better-known text markup syntax. It would be good to either switch to markdown, or to support both formats.

Let's leave it as it is for the time being


Mitigate overposting attacks

Fixes #32733
Adding a section for ...

General coverage on this subject.

Inbound links from scaffolded Create and Edit component markup using the blazor generator. Today, these components point to the RP coverage ...
// To protect from overposting attacks, see https://aka.ms/RazorPagesCRUD

... which isn't much help given the landing section is https://learn.microsoft.com/en-us/aspnet/core/data/ef-rp/crud?view=aspnetcore-8.0#update-the-create-page with API and an approach that isn't available in a Razor component scenario.
Cross-refs:

https://github.com/dotnet/Scaffolding/blob/main/src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Create.tt#L66
https://github.com/dotnet/Scaffolding/blob/main/src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Edit.tt#L92

I'll signal the scaffolding folks that the links in the components should be updated to this new section after this merges.

I'm going to go ahead with this one. I'm OOF all next week, and I'd like to clear some of these open PRs through. The risk of a mistake here is low AFAICT. The concern with overposting is only for static SSR component forms AFAIK.
I'll add a remark on my scaffolding issue about updating the link to point to this new guidance.


Bug: Slow start time 🐢

Summary of Bug
I've noticed that on newer versions of node QuickCrypt is very slow to respond.
I'm not sure what caused this but I should look into it and see if we can speed things up. I'm seeing anywhere from 2-5 seconds to startup after entering the command which is ridiculously long.

After investigating, this was happening because my install of QuickCrypt was on windows, but was being picked up by my WSL Terminal.
When I installed it natively on linux it ran just fine.


Document functions available in security rules

The problem faced currently?
The docs for security rules doesn't talk about the functions which can be used in the rules.
How can we solve it?
Let's add the functions available to the security rules in the docs.

If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you.
👍

Fixed


ramble fails on workspace setup

Ran this:
rountree@cztb2 /home/rountree/si/benchpark/bin$ ./benchpark setup saxpy/openmp x86 /home/rountree/si/workspace/
Clearing existing workspace /home/rountree/si/workspace/saxpy/openmp/x86
Setting up configs for Ramble workspace /home/rountree/si/workspace/saxpy/openmp/x86/workspace/configs
Cloning spack into /home/rountree/si/workspace/saxpy/openmp/x86/spack
Cloning ramble into /home/rountree/si/workspace/saxpy/openmp/x86/ramble
To build/run these benchmarks, do the following:

    cd /home/rountree/si/workspace/saxpy/openmp/x86

    . /home/rountree/si/workspace/saxpy/openmp/x86/spack/share/spack/setup-env.sh
    . /home/rountree/si/workspace/saxpy/openmp/x86/ramble/share/ramble/setup-env.sh

    export SPACK_DISABLE_LOCAL_CONFIG=1

    ramble -D . workspace setup
    ramble -D . on

Failed here.
$ ramble -D . workspace setup
==> Error: no workspace in .
rountree@cztb2 /home/rountree/si/workspace/saxpy/openmp/x86$ ls
ramble  spack  workspace

The easy fix is to run:
ramble -D ./workspace workspace setup

but that's two "workspace" directories in the same tree.  Perhaps the top level directory should be "park"?


Work on handling node level and tag changes.

Will allow for use outside of just content changes.

This likely won't be done this sprint, but shouldn't be TOO difficult to add, just need to have a system that will look at the differences of metadata for the node and decide what sort of changes there should be, then output them as the diff object format that we use for tagging of the elements


How can I set up auto-increment/auto-timestamp columns?

Hey - trilogy looks great, but I'd like to have an 'id' column which auto-increments for each added row, and automatically set 'timestamps'.
I see that knex supports them at table creation:
knex.schema.createTable('users', function (table) {
  table.increments();
  table.string('name');
  table.timestamps();
})
Outputs:
create table `users` (`id` int unsigned not null auto_increment primary key, `name` varchar(255), `created_at` datetime, `updated_at` datetime)

But I don't see how to get that functionality with trilogy.
Thanks!

Hmm. This isn't something I've supported first-class yet but it is something I think should be there. In the meantime you can pull the knex schema builder and build it the way you're used to. Something like:
// shorter version is obviously `db.getSchemaBuilder().createTable(...)`
const sb = db.getSchemaBuilder();
const query = sb.createTable('users', function (table) {
  table.increments();
  table.string('name');
  table.timestamps();
});

// now either pass as-is to `run()`
db.run(query)
  .then(function () {
    console.log('Done!');
  })
  .catch(function (e) {
    console.log('Uh oh!');
  });

// or make it a string explicitly, then pass it to `raw()`
db.raw(query.toString()).then(...);

I think it's actually possible right now, but it's not obvious and still isn't great once you know about it. You could theoretically pass it like this:
db.createTable('users', [
  'name',
  { name: 'id', type: 'increments' },             // ew
  { name: 'unnecessary', type: 'timestamps' }     // gross
]);

If I were to add this, would it make sense to you for it to be in the options object passed as the 3rd arg to createTable()? ie.
db.createTable('users', ['name'], { increments: true, timestamps: true });

// or maybe an array of `schema` props within the options object would make more sense:
db.createTable('users', ['name'], { schema: ['increments', 'timestamps'] });

The second possibility wouldn't allow for things that take arguments.
Please excuse any code errors above, it's example fluff :smiley:

Hey @citycide thanks for the swift reply!  I'll try those workarounds out.
And yeah, the proposals look good -- maybe start with the first one, and go to (some variant of) the second one if we need more kinds of customizations?  For now simpler might be best...

I tried the 'ew/gross' :-) option, and it worked fine.
However, when I insert stuff, it does indeed do the auto_increment id, but it puts nothing in for created_at/updated_at.
I guess I'm used to Rails' ActiveRecord giving values for these fields automagically -- should this be done here?  I guess knex doesn't do this?

Hmm - these are the Knex docs for timestamps():

timestamps — table.timestamps()
Adds a created_at and updated_at column on the database, setting these each to dateTime types. When true is passed as the first argument a timestamp type is used. Both colums default to being not null and the current timestamp when true is passed as the second argument.

You might have to try the raw way for now since there's not a way in trilogy to pass the arguments you'll need to timestamps(). It looks like you'd do something similar to table.timestamps(true, true). I'm not sure since this isn't a feature I've ever used. I'm short on time lately but I'll see if I can test it out, though I'd appreciate any testing you can do yourself also.
For updated_at specifically - I don't know how Knex handles that one. It might include an on update clause in the query so sqlite handles it. Try to get the query Knex builds for you using either verbose mode ( see here ) or the toString() method like I showed above.

Thanks, I'll try that out.

@csterritt not sure if you've had the time to look into what Knex produces, but I put together a few quick queries as rough tests.
1. Query:
knex.schema.createTable('users', table => {
  table.increments()
  table.string('name')
  table.timestamps()
})

1. Outputs:
create table "users" (
  "id" integer not null primary key autoincrement,
  "name" varchar(255),
  "created_at" datetime,
  "updated_at" datetime
)

2. Query:
knex.schema.createTable('users', table => {
  table.increments()
  table.string('name')
  table.timestamps(true)
})

2. Outputs:
This outputs the same SQL string as 1, so the first argument seems to do nothing ( at least by itself, see query 3 ). This is probably due to differences in dialect support among sqlite, pg, mysql, etc.
3. Query:
knex.schema.createTable('users', table => {
  table.increments()
  table.string('name')
  table.timestamps(true, true)
})

3. Outputs:
create table "users" (
  "id" integer not null primary key autoincrement,
  "name" varchar(255),
  "created_at" datetime not null default CURRENT_TIMESTAMP,
  "updated_at" datetime not null default CURRENT_TIMESTAMP
)

So based on that, using timestamps(true, true) would get you close. Anything you insert would be given  the current time in both date columns. As far as I can tell, updated_at would need to be changed manually using CURRENT_TIMESTAMP or DATETIME('now') within any updates you do on a row.
Hope this helps. I'll keep looking into adding some sugar for methods like increments and timestamps like we went into above.

@citycide Thanks for the excellent help!  I've been dealing with the UI side of my current project, and that's pretty much done, so it's time to get back into the data side.  So I really appreciate your timeliness!  I'll give it a go; I spent some time with the knex documentation, and I think I just need to dig into it.
Thanks again!

@csterritt How has your usage been? I'm looking at making some changes ( I think all backwards-compatible ) to the table creation. Specifically there will be two additional methods of putting together your schema.
There's the current (Array) option:
db.createTable('users', [
  'name', // defaults to text / string type
  { name: 'age', type: 'integer' },
  { name: 'favorite_number': type: 'integer', defaultTo: 6 },
  { name: 'likes_shrimp', defaultTo: false }
])

Now there will be Object syntax:
db.createTable('users', {
  name: { type: 'text' },
  age: { type: 'integer' },
  favorite_number: { type: 'integer', defaultTo: 6 },
  likes_shrimp: { defaultTo: false }
})

And also Function syntax:
let userSchema = function (table) {
  table.text('name')
  table.integer('age')
  table.integer('favorite_number').defaultTo(6)
  table.boolean('likes_shrimp').defaultTo(false) // is actually text / string in sqlite
}

db.createTable('users', userSchema)

While I'm still trying to think of a way to fit some of knex's methods like timestamps into the API, I think the Function syntax would become the de facto version for when you need to use these. Considering your use case and our above discussion, what do you think?

Hi @citycide,
Yeah, I think I like the object and function syntaxes better than the array
one, just sort of on aesthetics.
Something I miss from Rails' ActiveRecord is the ability to do the 'has
many', 'belongs to', 'has and belongs to many', etc. type relationships...
I didn't see any nice way to do that kind of stuff in either trilogy or
knex... any clues appreciated!
For my current project, I wound up actually switching away from trilogy to
taffy, since the data wound up just being a lot more document-oriented than
tables oriented.  The limitation of having everything fit in memory isn't
that bad, because it's not a huge amount of data.
But I will definitely keep trilogy in mind for more relational stuff!
Cheers!
On Thu, Dec 15, 2016 at 2:08 PM, citycide<EMAIL_ADDRESS>wrote:

@csterritt https://github.com/csterritt How has your usage been? I'm
looking at making some changes ( I think all backwards-compatible ) to the
table creation. Specifically there will be two additional methods of
putting together your schema.
There's the current (Array) option:
db.createTable('users', [
'name', // defaults to text / string type
{ name: 'age', type: 'integer' },
{ name: 'favorite_number': type: 'integer', defaultTo: 6 },
{ name: 'likes_shrimp', defaultTo: false }
])
Now there will be Object syntax:
db.createTable('users', {
name: { type: 'text' },
age: { type: 'integer' },
favorite_number: { type: 'integer', defaultTo: 6 },
likes_shrimp: { defaultTo: false }
})
And also Function syntax:
let userSchema = function (table) {
table.text('name')
table.integer('age')
table.integer('favorite_number').defaultTo(6)
table.boolean('likes_shrimp').defaultTo(false) // is actually text / string in sqlite
}
db.createTable('users', userSchema)
While I'm still trying to think of a way to fit some of knex's methods
like timestamps into the API, I think the Function syntax would become
the de facto version for when you need to use these. Considering your use
case and our above discussion, what do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/citycide/trilogy/issues/5#issuecomment-267413318, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACUHRBisSZKV1N4-HXUdl3Lx0LmM-fzks5rIZBGgaJpZM4KgmLG
.

@csterritt

Something I miss from Rails' ActiveRecord is the ability to do the 'has
many', 'belongs to', 'has and belongs to many', etc. type relationships...
I didn't see any nice way to do that kind of stuff in either trilogy or
knex... any clues appreciated!

You're looking for bookshelf, an ORM on top of knex by the same author.
I appreciate the feedback so far even if you haven't found trilogy useful for this specific project.

Awesome!  Thanks!  I'll give bookshelf a try.  I knew there was probably
something out there :-)
On Thu, Dec 15, 2016 at 6:49 PM, citycide<EMAIL_ADDRESS>wrote:

@csterritt https://github.com/csterritt
Something I miss from Rails' ActiveRecord is the ability to do the 'has
many', 'belongs to', 'has and belongs to many', etc. type relationships...
I didn't see any nice way to do that kind of stuff in either trilogy or
knex... any clues appreciated!
You're looking for bookshelf https://github.com/tgriesser/bookshelf, an
ORM on top of knex by the same author.
I appreciate the feedback so far even if you haven't found trilogy useful
for this specific project.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/citycide/trilogy/issues/5#issuecomment-267478668, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACUHZTSnkrrZU3O1PHqvQ6kH3usXfaIks5rIdHxgaJpZM4KgmLG
.

Hey -- sorry if I'm becoming the user from hell :-) but I can't figure out
how to get bookshelf to work with trilogy.
bookshelf wants to be initialized with a knex instance, and (from looking
at the trilogy source), 'db.queryBuilder' seems to bring back the knex
instance trilogy has built.  But it's failing for me... here's my test code.
Any help greatly appreciated!
--chris s.

// import Trilogy from 'trilogy'
const Trilogy = require('trilogy')
// errorListener function
function errorHandler(err) {
console.log(err.message)
}
// check if the file exists already
const dbPath = 'test.db'
const fs = require('fs')
let fileExists = fs.existsSync(dbPath)
// WITH OPTIONS:
// verbose function
const db = new Trilogy(dbPath, {
verbose: console.log.bind(console),
errorListener: errorHandler
})
if (!fileExists) {
db.createTable('users', [
{ name: 'id', type: 'increments' },
{ name: 'name', type: 'string' },
{ name: 'age', type: 'integer' },
{ name: 'email', type: 'string' },
])
.then(() => {
db.insert('users', {
name: 'Bob',
age: 17,
email<EMAIL_ADDRESS>})
})
}
let bookshelf = require('bookshelf')(db.queryBuilder())
let User = bookshelf.Model.extend({
tableName: 'users'
})
User.where('id', 1).fetch().then((user) => {
console.log("User:", JSON.stringify(user))
})
On Thu, Dec 15, 2016 at 10:05 PM, Chris Sterritt<EMAIL_ADDRESS>wrote:

Awesome!  Thanks!  I'll give bookshelf a try.  I knew there was probably
something out there :-)
On Thu, Dec 15, 2016 at 6:49 PM, citycide<EMAIL_ADDRESS>wrote:

@csterritt https://github.com/csterritt
Something I miss from Rails' ActiveRecord is the ability to do the 'has
many', 'belongs to', 'has and belongs to many', etc. type relationships...
I didn't see any nice way to do that kind of stuff in either trilogy or
knex... any clues appreciated!
You're looking for bookshelf https://github.com/tgriesser/bookshelf,
an ORM on top of knex by the same author.
I appreciate the feedback so far even if you haven't found trilogy useful
for this specific project.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/citycide/trilogy/issues/5#issuecomment-267478668,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACUHZTSnkrrZU3O1PHqvQ6kH3usXfaIks5rIdHxgaJpZM4KgmLG
.

I wouldn't recommend using bookshelf with trilogy. Bookshelf does a lot of relationship mapping using the connection with the sqlite3 ( or pg / mysql / etc ) driver. Trilogy is a just a layer between manually writing queries and passing them to sql.js There's no real connection going on.

Thanks for the reply - I appreciate it.

On Dec 18, 2016, at 10:04 PM, citycide<EMAIL_ADDRESS>wrote:
I wouldn't recommend using bookshelf with trilogy. Bookshelf does a lot of relationship mapping using the connection with the sqlite3 ( or pg / mysql / etc ) driver. Trilogy is a just a layer between manually writing queries and passing them to sql.js There's no real connection going on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

This is solved in v0.11.1 which is available as the @next tag on npm and will eventually become v1.0.0.
db.model('movies', { id: 'increments' }, { timestamps: true })
  .then(movies => { /* `movies` model is ready */ })

Thanks for all your input!

Excellent, thanks.
On Tue, Jan 10, 2017 at 4:23 AM, citycide<EMAIL_ADDRESS>wrote:

This is solved in v0.11.1 which is available as the @next tag on npm and
will eventually become v1.0.0.
db.model('movies', { id: 'increments' }, { timestamps: true })
.then(movies => { /* movies model is ready */ })
Thanks for all your input!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/citycide/trilogy/issues/5#issuecomment-271525851, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AACUHcpWTwV1U5HGAgBETUQmkq6gBRECks5rQ03_gaJpZM4KgmLG
.


Does R-Learn equals to Roth-Erev Algorithom?

Sorry to bother you, but I can't find what R-Learn stands for? In fact, I found  Roth-Erev Algorithom in reinforcement learning.Can anynone give me some guidence?Thanks very much!

I think, that the RLearner works with a Temporal Difference Learning Algorithm

In fact ,  Roth-Erev Algorithom does not equal to R-Learn.


Search field in workitems links requires 2-chars in order to perform a search

Is this intentional? The search field does not begin to perform searches until 2 characters (even if one of the characters is a space) are entered.

@sanbornsen can you confirm this?

Less than three characters make the search operation very expensive in backend. This is a common pattern to follow.
@fabric8io/uxd can you confirm?

Closing as out of date - no longer an issue.


Update IDE wizard to support compose-web projects

https://kotlinlang.slack.com/archives/C01F2HV7868/p1622073134074100

It is available starting with IDEA 2021.2.2 Preview

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


⚠ Burdi - Selfservice has degraded performance

In f7fc7df, Burdi - Selfservice (https://manage.burdi.com.au) experienced degraded performance:

HTTP code: 200
Response time: 9032 ms

Resolved: Burdi - Selfservice performance has improved in d920b2d.


Refactor tabbable container

Related to https://github.com/ppy/osu-framework/issues/2423

Curiously, are you working on the rest of the implementation for https://github.com/ppy/osu-framework/issues/2423? I started working drop-downs yesterday but you might be further along than I am.

Curiously, are you working on the rest of the implementation for #2423?

Yes, but I am stuck on setting TabbableContentContainer :(

I started working drop-downs

What exactly are you doing? Note that some of the input functionality is already implemented here.

Yeah, I noticed. I'm not sure the tab input should be handled on that level though? Might be possible to remain isolated in Tabbable container, but it depends on what we expect the behavior to be.

I'm not sure the tab input should be handled on that level though?

Of course I won't handle Tab in the dropdown itself. That PR was mentioned in order to note that we already have some of the functionality for interacting with the dropdown using keyboard.

Both of these feel like far too early optimisations for methods which are called very seldomly.
If this was called every frame these would have a place, but I don't think we need them otherwise.

It does not make things worse(for example, in terms of code difficulty) so I don't see any problems with it.

That's not really valid reasoning. Have discussed with @smoogipoo and we both agree this is a step int he wrong direction (towards micro-optimisation).


update geomoose 2.6 to Spanish

Is internationalization for GeoMoose practical?  Should we start to move strings to a separate file, etc?


Add magic function for :FindFirstAncestor()

Given that theres magic functions for :WaitForChild() and :FindFirstChild(), there should be a magic function for :FindFirstAncestor(), e.g:
-- Plugin
-- |_ MyPlugin
--    |_ Runtime
--       |_ Components
--          |_ Button
--          |_ Text

-- Plugin/MyPlugin/Runtime/Components/Button.luau
local Runtime = script:FindFirstAncestor("Runtime")
local Text = require(Root.Components.Text)

local function Button(scope, props)
 return -- ...
end

return Text

I just checked this and we actually have this already implemented. Are you sure this doesn't work for you?


Renamed TObject -> TDictionary

Added key features to the README.md

Coverage remained the same at 98.681% when pulling 3280ef827bdd169674ee7b4a2850b32f94fc2ae3 on readme-key-features into e76148cfac972716fe3cc64ca8d718d881850a15 on master.


neoscroll.G is not moving cursor to the last line

Hitting G only scrolling the file to the end but the cursor still remains at the same position.
https://user-images.githubusercontent.com/7200393/170806635-daa64ea0-c0e0-4e53-95ba-968917aadf5b.mov
Perhaps it should be
neoscroll.scroll(lines+win_lines_below_cursor, true, corrected_time, easing, { G = true })

in line 395 ?

G and gg support is not ready yet. It's quite tricky and there are still some decisions to make.


Repo name cleanup

Since we're close to publishing this to Packagist, I want to make sure we clean up the repo names before we do.
Nic - what's a good naming scheme for FoxyStripe and all the related add-ons? Camel case or lower case? Things like that.
I do like prefixing all add-ons with FoxyStripe - FoxyStripe Members, for example.
Thoughts?

I guess part of the question could be, do we want to have the namespace be FoxyStripe and move the module and supporting addons in there... so FoxyStripe/SilverStripe FoxyStripe rather than dynamic/FoxyStripe. It would break existing instances, but assuming people would want to use the new stable release they'd do rigorous testing to make sure any other breakages are fixed.

Just my 2 cents:
Repos
dynamic/foxystripe
dynamic/foxystripe-module-name
dynamic/foxystripe-other-module-name
Packagist
dynamic/foxystripe
Namespacing
Start with
Dynamic
And if you want, sub namespace to
Dynamic\FoxyStripe

Nic - interesting idea with the foxystripe namespace. But I think we should keep it dynamic, so our other non-foxystripe modules are in the same namespace.
I think Ryan's correct, both with the scheme and the capitalization patterns.

dynamic/foxystripe
dynamic/foxystripe-members
dynamic/foxystripe-integrations

I'd like to go ahead and make these changes. Since we've got a couple of projects using the module, we'll need to update our submodule references. But better now than after people start using it right?

I dig.


Correctly handle binary data in js runtime matches

Do not convert data to a string before passing the messages to the runtime,
this can cause encoding issues in the goja vm if the content is binary data.
Introduce js runtime helper functions binaryToString and stringToBinary to
facilitate conversion of message data to string.
Resolves #659

Hi! This code does not work:
const buf = new Uint8Array([1,2,3]);     dispatcher.broadcastMessage(1234, buf, null, null);
error message is:
TypeError: expects data to be an Uint8Array, a string or nil
binaryToString throws same


Integrate Algolia to the docs

In order to make it easier for users to search in our docs, let's use Algolia. I have set the following secrets in the repo: ALGOLIA_ADMIN_API_KEY,ALGOLIA_APPLICATION_ID, and ALGOLIA_SEARCH_API_KEY.
Todo:

[ ] Send data to Algolia before deploying the docs. For reference, see Sending and Managing Data.
[ ] Show search bar and search result in the website. For reference, see React InstantSearch.

Implemented in #668


Implement Auth.revokeToken method to support Sign in with Apple token revocation

As of version 10.8.0, Firebase for Apple platforms support token revocation for Sign in with Apple (see the documentation).
Apps that offer account creation, must also provide users with a way to delete their account (and revoke the associated tokens) from within the app.
To allow Flutter developers to use this API, it should be exposed (looks like FLTFirebaseAuthPlugin.m might be a good place to put it).
See this comment on the Apple SDK repo for a person requesting this
Originally posted by @peterfriese in https://github.com/firebase/flutterfire/discussions/10827

/cc @Lyokone

Hey @darshankawar I noticed that this was tagged as platform: ios is there no plan to support this for android? Firebase supports apple sign in on Android (and the sign in part currently does work on Flutter) so would be nice to be able to use that option

Thanks for pointing that out @ChiaraMC . Updated the label.

Thank @darshankawar! By the way, I think this is a duplicate of https://github.com/firebase/flutterfire/issues/11065

Yes. Closing this in favor of the linked issue. Will add android label to it for correct status.


How do I use Node Audit in an environment without the Internet?

When I used Dependent-Check in an environment without the Internet, the report show like this:
Failed to connect to the NPM Audit API (NodeAuditAnalyzer); the analyzer is being disabled and may result in false negatives.
Is there a solution to the NPM Audit API like the nvd-mirror in non Internet environment?
Thanks!

Unfortunately, at the moment this is not possible. There is an enhancement request to allow one to configure local audits or setup a different URL for the audit analysis. However, these have not been implemented yet: #2423 and #1924.

Thanks, @jeremylong


Update postgres

FEATURE REQUEST
Inspiration
Django 4.2 requires at least postgres 12 and we currently are using 10.8.
Description
Update postgres on the production and development servers to at least 12, possibly up to the latest stable release.
Alternatives
None
Dependencies
None
Comment
I'm (Rob) running 13.4 on my machine, so I know there are no issues there.  My "check for updates" says I can upgrade to 13.11, but we should probably check that the version we use is compatible on developer workstations.

ISSUE OWNER SECTION
Assumptions

List of assumptions that the code will not explicitly address/check
E.g. We will assume input is correct (explaining why there is no validation)

Requirements

[ ] 1. List of numbered conditions to be met for the feature
[ ] 2. E.g. Every column/row must display a value, i.e. cannot be empty
[ ] 3. Numbers for reference & checkboxes for progress tracking

Limitations

A list of things this work will specifically not do
E.g. This feature will only handle the most frequent use case X

Affected Components
A tentative list of anticipated repository items that will be changed, labeled
with "add", "delete", or "change".  One item per line.  (Mostly, this will be a
list of files.)

change: File path or DB table ...
add: Environment variable or server setting
delete: External executable or cron job

DESIGN
Interface Change description
Describe changes to usage. E.g. GUI/command-line changes
Code Change Description
Describe code changes planned for the feature. (Pseudocode encouraged)
Tests

[ ] 1. A description of at least one test for each requirement above.
[ ] 2. E.g. Test for req 2 that there's an exception when display value is ''
[ ] 3. Numbers for reference & checkboxes for progress tracking

I believe that TraceBase works fine with an newer PostgreSQL versions, though updating the GitHub actions to test with it would be good. We could perhaps update the CONTRIBUTING.md and certain the GitHub tests. That could be done as part of #721.
Our current instance of TraceBase however, is running with an older OS which needs some updating to accomodate recent PostgreSQL versions. That effort is being tracked in a ticket: [gen-help.princeton.edu #57516] Update Postgres on tracebase-dev and tracebase.

Tracebase-Dev at https://tracebase-dev.princeton.edu is now running CentOS9, updated Postgres, and Python 3.9.

Resolved in #724 and RT #57516.


Mechanism for introducing 1 level deep, and full deep equality checks for deciding if a signal needs to be update and an announcement made

Its possible this is only needed for $derived signals, but open to the possibility that it might need to be more general.

It might be good enough to just introduce a $memo(signal: Signal, equal: (a: T, b: T) => boolean) style function, that would introduce an alternate equality check, and keep the original value if passed.


refactor(ci): run tests in one job, but let them all run before failing on any error

This solution runs all the tests in a single job, even if previous ones failed

specs
lint
e2e
validate and compress (coming in a future PR)

The idea is to do the installation just once.
Question of philosophy: this saves a good minutes of shared setup per job, and otherwise we would probably have three jobs by the time I was done validate. But it increases the code complexity. Is it worth it?
I also spliced lint out of ci:test in package.json, because I want to see the test output even when ng lint fails.

Replaced by #67


No quick fix to implement Function.call()

No quick fix for this red code:

@scheglov

https://codereview.chromium.org/1981353002

https://github.com/dart-lang/sdk/commit/67a500e134df0e64cf68cd117c2ea318617b978a


Support VCF Indexing

Tabix Indexing and htsjdk.tribble.index.tabix

Need to first resolve issue between samtools and htsjdk

will be supported soon

Closed by https://github.com/bigdatagenomics/adam/pull/1096


⚠ Bofrost.at has degraded performance

In fa75d47, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1232 ms

Resolved: Bofrost.at performance has improved in b20d626 after 49 minutes.


Country request: Galapagos (Ecuador)

I'd like to see how this works specifically in the Galapagos Islands of Ecuador

thanks @cbeddow ! added to https://github.com/facebookincubator/RapiD/blob/master/COUNTRY_REQUESTS.md

@cbeddow Ecuador, including the Galapagosm is now available!


MAINT: Beamformer comparisons

As discussed with @larsoner, we will add a test for LCMV and DICS to test against FieldTrip (i.e., against saved FieldTrip output).

Steps:

get .m file to run unit-gain, unit-array, and unit-noise-gain beamformer in FieldTrip
save FieldTrip output as .stc files
use these files to test MNE-Python output against in new test

Sounds good to me


new theme fails with 0916

/Users/tom/code/mb mb new theme foo
Name to copy it from? [wide] textual
copyTheme from textual to foo
Unable to copy a style sheet from '/Users/tom/code/mb/.mb/themes/wide/responsive.css' to '/Users/tom/code/mb/.pub/assets/wide/responsive.css' (error code mbz0916)

Yeah, so now it's a 904
Name of theme to create? foo
Name to copy it from? [wide] textual
copyTheme from textual to foo
Theme name taken: directory /Users/tom/code/mb/.mb/themes/foo already exists (error code mbz0904)
/Users/tom/code/mb mb new pagetype


Merge Pre-flight Checker with assembly_line.yml

Merge the two-steps process into one, so that developers don't have to remember the two steps and load the file twice.
I did the work in an older version of the Weaver. I can demo it next week to let you decide if the idea is worthwhile.

Add an intro screen (separate issue) #321
Combine the pre-flight checker w/ the weaver
Make the "pre flight checker" text more actionable--i.e., don't always show every field, just the info the person needs to know if the form is correctly labeled or not. Maybe add an option to show more detailed info. This should be a separate issue though.
Have a clear "STOP" point if someone is only in charge of labeling. Don't have the "endpoint" on the same screen as the download/preview PDF.
Maybe add a literal stop sign icon to help people understand what to do.

This is how the download screen will look like. I hope the signs are loud and clear enough.

Per @BryceStevenWilley's comments, here is another version of the download screen.

Why is the Exit button not in red by default?

I'm not sure, https://docassemble.org/docs/questions.html#special buttons is the relevant part of the documentation, it might not be red if there's a field set by the buttons, like in this example.

This code from MADE works:
id: not right interview
question: This may not be the right interview for you.
subquestion: |
  This interview is meant to help you respond to your landlord's original eviction case.
  You said that you have already been to court for this case or you missed your first
  court date.

  Click "Keep Going" if you would like to ask for permission from the judge to file a
  late response. Your court date will not be postponed.

  If you already filed a response in court or signed an agreement, you should exit this
  interview now.

sets: firstdatepassed
buttons:
  - Keep going:
      code: |
        firstdatepassed = True
  - Restart: restart
  - Exit: exit
    url: https://www.gbls.org/

Thank you both! @BryceStevenWilley was right about the screen having a field reference. I changed field to event and that did the trick. This is good leaning, and the lesson is to use event rather than field where you can.
field: pdf_check_display
question: |
  Here is the filled-in PDF

to
event: pdf_check_display
question: |
  Here is the filled-in PDF

The code changes for the "Exit" button haven't checked in yet.

Note: be careful about "event" since it may not let you continue.
Exit button should redirect to the documentation page: https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/bootcamp/

@nonprofittechy was right, "event" broke the default Continue button so we have to use a costumed one with code.


RFC: Provide Organized Instruction In Professional Presentation Skills

Problem:
In its current form, OSSU may inadequately prepare its students for effective collaboration with teammates, co-workers, and open-source contributors.
Duration:
1 month from the date of posting.
Background:
One potential issue with self-led learning through programs like OSSU is that students can complete the program with a minimum of social interaction with other students, and without ever interfacing with teachers, managers, college deans, or other figures of authority. This leaves some students without an adequate understanding of how to navigate the social proprieties of change management. Successfully developing leadership potential requires practice; however, OSSU is not currently in a position to provide much of this practice.
It has been noted that some OSSU students and collaborators could benefit from a guide to effective leadership, and especially of effective presentation of proposals. Such skills include development of tact, diplomacy, and the ability to read a room and understand whether their position is likely to prevail. The ability to contribute on a cross-functional team is highly dependent on these skills; they are of high demand in the workplace.
In my opinion, OSSU does not currently do enough to assist with the development of these skills -- this is a potential deficit when compared to in-person organized learning in a university program like OSSU attempts to emulate.
Proposal:
I recommend the following addition to the curriculum:
Speaking and Presenting with Tact from the Personal Development series, published by the University of Michigan and hosted on Coursera.
 You don’t need to dazzle them from start to finish. You simply need to give them the sense that what they are receiving was especially prepared with their interests and needs in mind. This course will help you develop the judgment and dexterity needed to craft a perfectly tailored message.

Including this course adds approximately nine contact hours to the OSSU requirements and implements a technical communications elective.
Alternatives:

Maintain the curriculum as-is and empower the OSSU community to demonstrate tactful presentation approaches, allowing OSSU students to learn effective communication from example. This may effectively (or perhaps ineffectively) be done by encouraging the practice of effective collaboration skills when submitting RFCs, commenting on RFCs, or proposing changes in the Discord community.
Maintain the status quo and simply allow these skills to be developed elsewhere by others.

I was thinking about this when reviewing the "Core applications" section.
It states that the section covers "Agile methodology". However, the relevant course, Software Engineering: Introduction, really does not cover "Agile methodologies to any satisfactory degree.
In my experience, CS programs often have modules that teach students about the professional skills necessary to be effective working professionals. For example:

How to do CS research
How to contribute to OSS
How to work in a team

I do think that it is important that people learn some of the skills requires to apply their CS knowledge in a professional environment. For that reason, I have been electively taking Software Development Processes and Methodologies.
So while I cannot comment on the specific course you mentioned, I do think that some professional skills modules would be good for the OSSU. For example, "CS Tools" could be "CS Tools and Methodologies".
However, we do need to be careful about bloat. Ideally, there would be a Software Engineering module that covered soft skills, while otherwise talking about the methodologies of building software.

@dafydddev As I recently posted on Discord, the original Software Engineering course was recently replaced by a course of the same name (because the original course is no longer available on Edx), without checking the contents of the new course. There have been many suggestions for replacement on Discord (including the materials of the original course posted on youtube and GitHub). It would be best if you open a separate RFC so that this can be discussed.

I think this course, and the "Learning How to learn" (which is recommended very often, on Discord) can be added under a heading "Motivation & Preparation", just like the bioinformatics curriculum.


CLOUD-501 delete unused scaling related reactor handlers

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/951/

lgtm


[NEW ICON] Skill Name

Skill Name
Webflow
Why?
It's popular for web development as well as design
Reference Image

✅ Added in 59059d9d1a2c092696dc66e00931cc1181a4ce1f!


Match first occurrence of characters in fuzzy search

This gives more intuitive results when highlighting matches, matching the first occurrence of a character instead of the last.

Looking into ivy's fuzzy builder, I've discovered what seems to be a more efficient solution for this, using [^x]*(x) instead of .*?x.  Will update the PR with this implementation soon.

Done, this is ready for review!

For reference, this implementation is inspired by ivy's ivy--regex-fuzzy function:
https://github.com/abo-abo/swiper/blob/332f990fc1b68f84ebb9d0557ce4abac8392cd79/ivy.el#L2631

Also, I was concerned about the lack of escaping for (format "[^%c]" char), but a careful reading of the manual shows that this is correct.  Most special characters aren't special inside a "character alternative", and no characters are special when in the first position.

Done!

Thanks! :heart:


Initial Databricks support

For Databricks: tested and implemented code for hub, links, sat and t_link features.

Hi. Can you update this PR with the latest version of feat/databricks_2 please?
There have been a few major changes with directory structure for materialisations. get_period_boundaries and get_period_of_load are now in separate files. You will need to move your implementations from the old files to these files.


Confirmation screens

not sure what part of this needs a specific entry in the toolkit docs / components. If you can think of one let me know and I'll update this PR.

Do you want to link to this from the main page?

now with left nav linkage

still chill bro 😎


chore(deps): bump express-jsdoc-swagger from 1.0.4 to 1.1.0

This PR updates express-jsdoc-swagger dependency to the last one.

@kevinccbsg , we have to increment the minor version of the package before merging, right?


Enforce zero matrix diagonal

This PR:

[x] Closes #428.
[x] Adds and passes relevant tests.
[x] Has well-formatted code and documentation.

(pushed in new PR because I do not have write access to the ORTEC fork)

Notes:

It is essential that you add a test when making code changes.
This keeps the code coverage level up, and helps ensure the changes work as intended.
When fixing a bug, you must add a test that would produce the bug in the master branch, and then show that it is fixed with the new code.
New code additions must be well formatted. Changes should pass the pre-commit workflow, which you can set up locally using pre-commit.
Docstring additions must render correctly, including escapes and LaTeX.

Thanks @wouterkool!


memory leak and facebook sdk

Hi, I am fighting with memory leak in my react-native ios project and this is the warning that I have noticed in xcode just after running the app:
"[warn][tid:com.facebook.react.RCTBridgeQueue][RCTModuleData.mm:287] Required dispatch_sync to load constants for RCTViewManager. This may lead to deadlocks"
Including occasionally the app stops in RCTViewManager file. I am not an Objective-C developer so I would appreciate any help, I could not find anything about the problem in stackoverflow. Thanks.

React Native version: 0.36
Platform:  iOS
Operating System: MacOS

I am not sure an issue would be the best place to debug this. I do recommend posting to Stack Overflow, or jumping onto the Reactiflux chat.

+1

+1


handle ENOBUFS when writing to VM socket

When a high throughput is happeing we send a lot of data into the VM socket, the VM has to read it in order to empty the buffer. This is inherently race so it is possible to get ENOBUFS here. In this case just keep trying writing until it works.
Fixes #367

The test failure doesn't seem related, looks like it relies on a stable TXT entry for wikipedia.org which isn't the case.
It should use a domain under our control that is unlikely to change (podman.io or crc.dev maybe?) or the test must setup a local dns server which returns a stable known TXT record.

@cfergeau PTAL

The test failure doesn't seem related, looks like it relies on a stable TXT entry for wikipedia.org which isn't the case.
It should use a domain under our control that is unlikely to change (podman.io or crc.dev maybe?) or the test must setup a local dns server which returns a stable known TXT record.

Yeah, I hit the test failure while looking at the PR, and came to the same conclusion, especially as there was already a change last month ( https://github.com/containers/gvisor-tap-vsock/commit/79001dbc4480556c61ce2ec64fb0b2acbbb16022 ). I'll add a record to crc.dev

/lgtm
/approve

/hold
till CI gets a chance to run

/unhold

Thanks
@cfergeau Can you create a new release sometime this week? We release podman 5.2 next week and it would be good to get a new gvproxy version into the installer to fix this for podman users.

Thanks
@cfergeau Can you create a new release sometime this week? We release podman 5.2 next week and it would be good to get a new gvproxy version into the installer to fix this for podman users.

Yup, for sure, I'll try to do this today or tomorrow.

@Luap99 I've made the release and created https://github.com/containers/podman/pull/23387


make docker build independent of license

Thank you for this pull request.
BTW, I think this package will be removed because I noticed InterSystems no longer support the SQL stats task.


YARN-11117 check permission for LeveldbRMStateStore

YARN-11117 check permission for LeveldbRMStateStore
Description of PR
LeveldbRMStateStore use fs.mkdirs(root,new FsPermission((short)0700));  to create root directory with permission 700.BUT if umask is too strict such as 0777, this directory will have wrong permission with 000. So it should check if umask can affect permission, if true , use setPermission to fix it
How was this patch tested?
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 52s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
41m 57s

trunk passed

+1 :green_heart:
compile
1m 24s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
1m 11s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
0m 59s

trunk passed

+1 :green_heart:
mvnsite
1m 11s

trunk passed

+1 :green_heart:
javadoc
1m  5s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 49s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
2m 21s

trunk passed

+1 :green_heart:
shadedclient
24m 49s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

-1 :x:
mvninstall
0m 34s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch failed.

-1 :x:
compile
0m 40s
/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkUbuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04.txt
hadoop-yarn-server-resourcemanager in the patch failed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04.

-1 :x:
javac
0m 40s
/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkUbuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04.txt
hadoop-yarn-server-resourcemanager in the patch failed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04.

-1 :x:
compile
0m 36s
/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkPrivateBuild-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.txt
hadoop-yarn-server-resourcemanager in the patch failed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.

-1 :x:
javac
0m 36s
/patch-compile-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager-jdkPrivateBuild-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.txt
hadoop-yarn-server-resourcemanager in the patch failed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 45s

the patch passed

-1 :x:
mvnsite
0m 38s
/patch-mvnsite-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch failed.

+1 :green_heart:
javadoc
0m 44s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 41s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

-1 :x:
spotbugs
0m 35s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch failed.

-1 :x:
shadedclient
13m 35s

patch has errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
0m 41s
/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch failed.

+1 :green_heart:
asflicense
0m 41s

The patch does not generate ASF License warnings.

92m  9s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4243/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4243

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 9b08abc5a079 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / be1f287eac4696fc3c2053ff666f4d44f6ef5d58

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4243/1/testReport/

Max. process+thread count
586 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4243/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 56s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
41m 25s

trunk passed

+1 :green_heart:
compile
1m 15s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
1m  5s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
1m  0s

trunk passed

+1 :green_heart:
mvnsite
1m 12s

trunk passed

+1 :green_heart:
javadoc
1m  3s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 54s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
2m 22s

trunk passed

+1 :green_heart:
shadedclient
25m 13s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  0s

the patch passed

+1 :green_heart:
compile
1m  6s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
1m  6s

the patch passed

+1 :green_heart:
compile
0m 55s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
javac
0m 55s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 46s

the patch passed

+1 :green_heart:
mvnsite
1m  2s

the patch passed

+1 :green_heart:
javadoc
0m 47s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
0m 44s

the patch passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
spotbugs
2m 12s

the patch passed

+1 :green_heart:
shadedclient
24m 24s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
103m 10s
/patch-unit-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt
hadoop-yarn-server-resourcemanager in the patch passed.

+0 :ok:
asflicense
0m 37s

ASF License check generated no output?

212m  7s

Reason
Tests

Failed junit tests
hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesDelegationTokenAuthentication

hadoop.yarn.server.resourcemanager.webapp.TestRMWebappAuthentication

hadoop.yarn.server.resourcemanager.scheduler.capacity.TestApplicationPriority

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4243/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4243

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux 4518c7d865fb 4.15.0-175-generic #184-Ubuntu SMP Thu Mar 24 17:48:36 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 5d7ff02e5ef276bee31e802e300cbda2f70fedb6

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4243/2/testReport/

Max. process+thread count
883 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4243/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

Hi @hemanthboyina ,Could you take a look at this. Thanks for your review.


[Bots][addedtokenexchangefailure][1491959]

Added token exchange failure section to document. Please review.

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

File
Status
Preview URL
Details

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:warning:Warning
View
Details

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md

Line 260, Column 120: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0#sso-components-interaction' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 260, Column 409: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0#sso-components-interaction' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 260, Column 120: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0#sso-components-interaction. Otherwise, remove the view parameter.
Line 260, Column 409: [Suggestion-preserve-view-not-set] Did you mean to link to a specific version? It's usually better not to specify a version, so the link always goes to the canonical version. If you really need to link to a specific version, add &preserve-view=true to the URL: https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-concept-sso?view=azure-bot-service-4.0#sso-components-interaction. Otherwise, remove the view parameter.

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

Docs Build status updates of commit a329de5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 7204ab0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 6c5e469:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/bots/Universal-bot-action-model/Overview.md
:warning:Warning
View
Details

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
View

msteams-platform/bots/Universal-bot-action-model/Overview.md

Line 19, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/inconsistent-action-model-lifecycle.png'.
Line 23, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/universal-action-model-lifecycle.png'.
Line 47, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/inconsistent-action-model.png'.
Line 51, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/new-universal-action-model.png'.
Line 57, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/contextual-views.png'.
Line 59, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/contextual-views2.png'.
Line 82, Column 1: [Warning-file-not-found] Invalid file link: '~/assets/images/bots/sequentialworkflow.png'.
Line 97, Column 3: [Warning-file-not-found] Invalid file link: 'Work-with-universal-bot-action-model.md'.

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

Docs Build status updates of commit 895b9e6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@surbhigupta12 @KirtiPereira Can we have a dev from the Bots team review the content? Tatiana wasn't aware of this update.


Weird visual bug with Xaero map overlay

Basically, video is worth more than any words: https://drive.google.com/file/d/1C7bn9mXPQ9yZQkXcKCyXwnsHjOIU2R2u/view?usp=share_link
More system info and beginning of launcher log: https://pastebin.com/P7fRBVvA

Try updating Xaero's map to the latest version (or downgrading vo to 0.2.4), vo 0.2.5 has some changes to make it work with latest Xaero's that could cause weird rendering issues on older versions


Update mgmt and service projs

mgmt - now supports common pack and test targets
service - supports scope property
This should enable use to run commands like:
dotnet build
dotnet pack
dotnet test
on the root build.proj and scope via /p:Scope=

cc @shahabhijeet  @chidozieononiwu


cadvisor: 0.28.3 -> 0.29.1

Semi-automatic update. These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 0.29.1 with grep in /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1
found 0.29.1 in filename of file in /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1

cc @offlinehacker

@GrahamcOfBorg eval

Failure on x86_64-darwin (full log)
Partial log (click to expand)
Package ‘cadvisor-0.29.1’ in /Users/graham/nix-borg/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/servers/monitoring/cadvisor/default.nix:28 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Partial log (click to expand)
github.com/google/cadvisor
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1
shrinking /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1/bin/cadvisor
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1/bin
patching script interpreter paths in /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1
checking for references to /tmp/nix-build-cadvisor-0.29.1.drv-0 in /nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1...
/nix/store/8zpvaz7imhsknld6d0qyykqw9b718lxi-cadvisor-0.29.1

Success on aarch64-linux (full log)
Partial log (click to expand)
github.com/google/cadvisor
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/l93i1ya2km0jbxc3rqwm847h5sfy0g9c-cadvisor-0.29.1
shrinking /nix/store/l93i1ya2km0jbxc3rqwm847h5sfy0g9c-cadvisor-0.29.1/bin/cadvisor
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/l93i1ya2km0jbxc3rqwm847h5sfy0g9c-cadvisor-0.29.1/bin
patching script interpreter paths in /nix/store/l93i1ya2km0jbxc3rqwm847h5sfy0g9c-cadvisor-0.29.1
checking for references to /build in /nix/store/l93i1ya2km0jbxc3rqwm847h5sfy0g9c-cadvisor-0.29.1...
/nix/store/l93i1ya2km0jbxc3rqwm847h5sfy0g9c-cadvisor-0.29.1


Using in a multi-tenant environment

This is not really a bug but a question/request for clarification.
Is there a sample/guideline to show how to use this gem in a multitenant environment?
How can you set up the  'token_authenticator' proc in EngineConfiguration.new to match, for example, the request hostname or a route parameter? Is this even the right place to do it, or would you do that in the controller?
Thanks for the clarification.

There's no clean answer. Microsoft (Azure AD) has its own ideas about tenancy, and I'm not 100% clear on what they want o do with SCIM there. In our own application's case, tenancy is asserted by subdomain - foo.ripaglobal.com means the tenancy name is foo. Tenant foo's corporate SCIM setup is configured to use foo.ripaglobal.com as the API endpoint, so whenever we are called, we can find the tenant and assert validity at that point. We do this via engine configuration in config/initializers/scimitar.rb:
Rails.application.config.to_prepare do
  Scimitar.engine_configuration = Scimitar::EngineConfiguration.new({

    application_controller_mixin: Module.new do
      def self.included(base)
        base.class_eval do
          include CommonSetup # This is a controller concern we wrote and reuse in a few places

          skip_before_action    :verify_authenticity_token
          prepend_before_action :common_assert_tenancy! # This is in CommonSetup & examines request subdomain
        end
      end
    end,
end

For the sake of archives and web searches, mostly:
There's a followup here that provides an alternative. A PR submission in https://github.com/RIPAGlobal/scimitar/pull/71 addresses tenancy another way, via URL route parameters rather than subdomains. This might be of interest. It's almost over the line so should be merged pretty quickly.

Final follow-up - the PR mentioned above has been merged; Scimitar v2.6.0 or later (Rails 7) / v1.7.0 or later (Rails 6) include this change.


Support Class.new subclass in Lint/InheritException

The Class.new class method allows you to create subclasses that can be assigned to variables or constants. This PR adds support for detecting this way of creating subclasses in the Lint/InheritException cop.

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[X] Added tests.
[X] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[X] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Nice catch and great first PR! Thanks!


some questions about the source code

I'm pretty interested in the implementation of the ZeRO optimizer because the work is really beyond words. Yet I find some points I cannot understand when reading the source code, so I'm here to ask for some help to understand the DeepSpeed better.

All through the project, I can find the implementation of Gradient Partitioning and Parameter Partitioning here because partitioning param_group['params'] would involve partitioning both the weights(p.data) and gradients(p.grads),  but I cannot find where Optimizer State Partitioning is.

shard_list seems to be a temporary variable in the for-loop, which means that it will be discarded for every loop, so what's the meaning of dist.all_gather here? It seems to have something to do with pipeline. Would you please elaborate it?

What's the meaning of parameter allgather_size for the FP16_DeepSpeedZeroOptimizer

Would you please also share the presentation slides on the design and implementation of ZeRO ? Thanks a million !

@sjtusmartboy Thank you for your interest in ZeRO and DeepSpeed. Let me try to answer your questions

DeepSpeed currently only implements ZeRO stage 1 which means it only does Optimizer State Partitioning but not Gradient or Parameter partitioning. To do so, by only passing the parameters that belongs to a particular partition to the param_group['params'] so that when an optimizer like ADAM initializes its optimizer states, it only does so for the parameters that param_group['params'] is pointing to. Here is the relevant code:
     data_parallel_partitions = self.get_data_parallel_partitions(
         self.fp16_groups_flat[i])
     self.parallel_partitioned_fp16_groups.append(data_parallel_partitions)

     # a partition of the fp32 master weights that will be updated by this process
     self.single_partition_of_fp32_groups.append(
         self.parallel_partitioned_fp16_groups[i]
         [partition_id].clone().float().detach())

     # modify optimizer of have flat master weight
     self.single_partition_of_fp32_groups[
         i].requires_grad = True  # keep this in case internal optimizer uses it
     param_group['params'] = [self.single_partition_of_fp32_groups[i]]

The single_partition_of_fp32_groups only contains those parameters that belong to this partition, so later when the adam optimizer calls its step function, it will only instantiate the momentum and variance for these parameters and compute updates for it.

Since each GPU only updates the parameters in its partition, each GPU needs to broadcast its parameters to all the other GPUs. Each GPU broadcasting its parameters is collectively an all_gather operation.

Each element of the shard_list is a tensor pointing to parameters that belong to different partitions. Even though shard_list is a temporary variable, the underlying data that its elements are pointing are not. By doing an all_gather on the shard_list, we are broadcasting the updated parameters from each partition to all the other partition.

The allgather_size is used to break down what would otherwise be a single large all_gather to several smaller ones of size allgather_size. The all_gather operation requires temporary buffers proportional is size to the number of elements in the allgather. So if the number of elements is too large, it can run out of memory. We use allgather_size to break a large all_gather into several smaller ones.

Here is a link to a talk on DeepSpeed and ZeRO at NVIDIA GTC: https://www.nvidia.com/en-us/gtc/session-catalog/?search=S22646

@samyam Thanks for your patient reply and now I come to know the system better.
For the first question, the Optimizer State parameter defined in the torch optimizer such as adam has the same size with the param_group['params'] that has been partitioned in the FP16_DeepSpeedZeroOptimizer, so the Optimizer State is also partitioned at the same time.
For the second question, FP16_DeepSpeedZeroOptimizer makes use of shallow copy mechanism in a very smart way to gather the weight from other partitions.
And for the third question, is allgather_size the key to achieving  performance-efficient constant-size fused buffer referenced in the 5.4 CB: Constant Size Buffers of the paper by limiting the allgather_size that all_gather requires when receiving other partitions? Also I notice that both MEMORY_OPT_ALLREDUCE_SIZE and allgather_size in the source code have the default value of 500000000, do they have the same meaning and same usage?
Still another two questions on your code.

It seems that buffered_allreduce_fallback involves the all_reduce or all_gather of two types of grad, type CSRTensor or the other types. The grad_data is wrapped with CSRTensor if it is of torch.nn.Embedding type. Also I notice that  dist.all_gather is used in def csr_all_gather for CSRTensor while dist.all_reduce is used in def allreduce_bucket for non-CSRTensor. Would you please explain what makes this difference? For the non-CSRTensor, I guess it's the result of data parallelism, so we make dist.all_reduce sum and average the reduced result by the world size.

`
def buffered_allreduce_fallback(self, grads=None, elements_per_buffer=500000000):
    grads = []
    for param_name, param in self.module.named_parameters():
        if param.grad is not None:
            grad_data = param.grad.data
            param_name_root = param_name.split('.', 1)[0]
            if self.sparse_gradients_enabled(
            ) and param_name_root in self.csr_tensor_module_names:
                grads.append(CSRTensor(grad_data))
            else:
                grads.append(grad_data)

    split_buckets = split_half_float_double_csr(grads)

    for i, bucket_tuple in enumerate(split_buckets):
        bucket_type, bucket = bucket_tuple
        if bucket_type == CSRTensor.type():
            self.csr_allreduce_no_retain(bucket)
        else:
            self.allreduce_no_retain(bucket, numel_per_bucket=elements_per_buffer)

`

It's said in the paper that

Therefore, during the forward propagation it needs to receives the parameters for all the other partitions. However, this can be pipelined to avoid the memory overhead.

I wonder if it is the second stage of work for the parameter partitioning. We are really looking forward to this stage.

@samyam I come to understand the reason of using all_gather in CSRTensor. In the data parallelism, different process will have totally different  part of the weight that should be update. So we just all_gather them in the list of indices_device_list and in the list of values_device_list and then make average of these gradients from different devices. csr.to_dense() function will be responsible for calculating the sum of different values if their indices in the  indices_device_list happen to be the same.

@sjtusmartboy You are right. allgather_size and reduce_bucket_size are examples of CSB. The reduce_bucket_size controls the size of the dist.all_reduce for gradient averaging while allgather_size controls the size of dist.allgather in the step.
You are also correct on 1 and 2. The parameter partitioning is the third stage of zero. We will be releasing stage 2 before that which will do gradient partitioning. Gradient partitioning will double the model size that can be trained compared to Stage 1, and it will also allow for running larger batch sizes.

Seems like all the questions have been answered here. Closing the issue. @sjtusmartboy , please feel free to reopen if you have any additional questions, comments, or feedback.


QR: Use | for line breaking

Unfortunately the split char ("|") is also inserted into the QR code. Bummer... :))


bug show create table show comment error

Proposed changes
Issue Number: close https://github.com/apache/doris/issues/28284

before

now

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


Weird relighting result

Hello, I tried reproducing the bicycle scene, I ran the training, evaluation and relighting scripts but the final result doesn't look right. Any ideas what the issue could be ?

Envmap used (but in HDR format not PNG) :

Thanks :)

It looks like the lighting is normal but the albedo is missing. Have you checked the albedo input?

Where would I find that ? I can't seem to find it

You can replace the shaded color with albedo directly.

How would one go about doing so ? There are no albedo images anywhere, neither in the input data or in the output.

https://github.com/lzhnb/GS-IR/blob/e8d979e25cc1bada75f3b1d1cdcee46fbb5259a2/relight.py#L140

This is what the albedo map looks like

This albedo is wrong and causes the wrong shading results, it should be colorful, you know. It is strange, and can you try other scenes?

Hello again. I tried on another scene and it worked fine. I tried on the bike scene again and it worked. I must have messed up somewhere in the arguments the first time. Thanks for your help!


hyperfine: upgrade cargo fetcher and cargoSha256

Infra upgrade as part of #79975; no functional change expected.

@grahamcofborg build hyperfine


add package for pylibmc, adding cyrus_sasl to libmemcached's propagatedB...

...uildInputs while we're at it

Hmm could someone with more experience of the travis system tell me what's failing here?

mmm...?
It can be automatically merged, but the merge failed?
...in a file I didn't touch? (pkgs/tools/misc/cpulimit/default.nix)

Travis is sucking at the moment (download speeds of 17KBps?) so this may pass if someone retries it.

cc @domenkozar

My bad @risicle can you rebase on top of master?

^Travis log length exceeded and I don't currently have access to a machine that can do a local build.

ok, ^a nox build for this works for me locally (though i bet travis won't work)

@domenkozar poke

I don't understand what has happened here, but as of 16fff5e the master should contain all of these changes.


[BUG:macOS] Able to go back after unbond keysign

Describe the bug
It is possible to go back after a unbonding keysign on the initiating device.
To Reproduce
Steps to reproduce the behavior:

Do a keysign for unbond
finish keysign
See error

Expected behavior
Not able to go back. Just able to proceed with "complete" button
System:

Version 1.8.1

QA done.


Add loading bar

Show loading bar, while processing

Not possible right now. But I implemented a fake loader in the app