implement #find with array of ids

ActiveRecord::FinderMethods#find accepts these:
Something.find(id)
#=> object
Something.find([id])
#=> [object]
Something.find(id, another_id)
#=> [object, another_object]
Something.find([id, another_id])
#=> [object, another_object]

We might want to consider the splat case, too. Maybe something like this:
def find(*ids)
  expects_array = ids.first.is_a?(Array)
  ids.flatten!

  case ids.size
  when 0
    raise Errors::BaseError('Could not find item without ID.')
    # Maybe create a custom error class for this one...
    # Maybe just raise ArgumentError instead...
  when 1
    crm_object = find_one(ids.first)
    expects_array ? [crm_object] : crm_object
  else
    find_many(ids)
  end
end

protected

def find_one(id)
  crm_object = crm_class.find(id)
  new(crm_object.attributes)
end

def find_many(array_of_ids)
  crm_objects = Crm.find(array_of_ids).select do |crm_object|
    crm_object.is_a?(crm_class)
  end
  unknown_ids = array_of_ids - crm_objects.map(&:id)
  raise Errors::ResourceNotFound('Items could not be found.', unknown_ids) if unknown_ids.present?

  crm_objects.map { |crm_object| new(crm_object.attributes) }
end

Oh, and specs!

In either case, specs for the "some ids could not be found" case are missing, as far as I can see.

@Skudo added your feedback


Add my picture, Bootstrap CSS, and plays with html and css.

I am going to be using them. This was just a small commit to start with.

Sounds good to me. Just want to double check with you


NGINX direct stderr to stdout to see errors in container logs

Currently errors are not logged to container stdout.

Not sure if this is correct, must be verified later. If stderr prints out fine then close this.


Implement cluster lenses

First version, with clusters in one plane, is implemented.
Modelling is needed before we can do it in 3D


Web Components: [Content block cards with video] Visual QA

User Story

As a [user role below]:
DDS Designer and Developer

I need to:
test the Content block cards with video

so that I can:
be sure the developer's code correctly works as designed

Additional Information

See the Epic for the Design and Functional specs information
Designer will be added as a reviewer to the Pull Request.  Visual QA reviewer will be notified by Github when review is needed.
Creating a QA bug
React Dev issue (#5389 )
Web Component Dev issue (#5387 )

Tasks
Ensure the Content block cards with video component has been tested and reviewed by design + dev.
Acceptance criteria

[ ] Pattern is reviewed by designer and design defects are identified
[ ] New issues are opened to log individual defects
[ ] Screenshots of as-is and to-be design should be added to the issue when needed
[ ] Developer associated with building the pattern is assigned to the new issues
[ ] Appropriate labels are added to the issue  eg.  bug, dev

@shixiedesign Looks like you reviewed and provided feedback in the PR.  (#5515 ).  I am moving to Done pipeline and will not close until Monday if you still want this open for some reason.


Better way to store expensive indexes

Originally captured in #151.
There are a few types of indexes that are expensive to compute, inncluding tfidf for cards, and card_rank.
These need to be updated every time that a card is updated, but aren't THAT expensive. tfidf can change more slowly than card_rank may.
For both of these ideally every client doens't have to constantly recompute.
In addition, card_rank should be used for sorts, but sort functions only take in a card. Ideally there's some way to mix in data into a card like card_rank. Or I guess just make it so sorts also take card-rank.
Note that the pagerank library is 314kb at least to include. Ideally it wouldn't be included unless the user explicitly sorted by card-rank.
Another approach is to have an indexes collection, one for tfidf and one for card-rank that are fetched and kept updated. But that could be a lot of data to update, and it still would need to be merged in somewhere into the cards to be used for sorting.

Potentially related to #367


Recoverable fatal error: Argument 1 passed to Coinbase

Hello guys, I hope everything is going great for the team, Currently Im having an issue. Im making a checkflow payment with coinbase and I need to request an x amount of money and I thought I could use the example code to create a transaction  so the custumer could make a payment, but I'm facing this error. "Recoverable fatal error: Argument 1 passed to Coinbase\Wallet\Client::createAccountTransaction() must be an instance of Coinbase\Wallet\Resource\Account".
The createAccountTransaction Method is requesting me an account, so why in your example  code is not being used, Im not sure if the client needs an account on coinbase or he can have a wallet from another company , I think, I created a new one with the following function.
$toAccount = new Account([
'name' =><EMAIL_ADDRESS>]);
But when I try this method, it gives me the following error message " Coinbase\Wallet\Exception\NotFoundException: Client error: POST https://api.coinbase.com/transactions resulted in a 404 Not Found response:    Coinbase — 404 Not Found <meta charse (truncated...) in Coinbase\Wallet\Exception\HttpException::wrap() (line 37 of /var/www/html/project/vendor/coinbase/coinbase/src/Exception/HttpException.php)."
Just to make sure, I did all the steps to request funds, but Im not sure what Im missing, I would greatly apreciate if you guys can share additional information or code if need it.
Thank you for all the help and support.

Hey @Alex87311, it's a bit difficult to deduce from the details you've provided what's going wrong, but it may simply be an incorrect use of the client library API. The first issue appears to be a documentation issue, but we would appreciate you linking us to the documentation where you read that the first argument was not an Account instance? Thanks!

Closing due to lack of response. Feel free to open a new issue with a set of reproducible steps, or feel free to get in contact with our support team. Thanks!


Added failing tests to showcase what I would like to be able to do

I love the way you've wrapped the validation in the remote code execution; simpler API and easy to use.
I had one comment in the review, where I guess I was not clear enough about what I thought would be cool. So I added this PR just to write up 2 tests that currently fail because I don't really know if there is a good way to solve it.
Basically I would like to retrieve the actual collection of ValidationErrors returned by the Validation.GetErrors(DependencyObject) attached property getter.
One test uses the remote code execution approach, and the other simply tries to fetch the errors of the attached property (Validation.Errors) directly.
I think the issue here is that the ValidationError and it's contained properties (like the ValidationRule) need to be serialized. And since these (at least the latter) could be any arbitrary type, I think it is difficult to serialize/deserialize them across the wire. I'm assuming it would involve some new (very generic) serializers added to the XamlTest.Transport namespace. Let me know if you think something like this is even feasible.

Ah yes that makes sense. And yes, this would be adding some additional serializer(s). Right now the serializers can be a bit generic (mostly to support people wanting to create properties that are of any generic type). We can probably have some basic serializers, but if people get too creative with things like custom validation rules, they would need to provide a custom serializer in order to retrieve them.

but if people get too creative with things like custom validation rules, they would need to provide a custom serializer in order to retrieve them

@Keboo Does that mean that there is a means of injecting these serializers into XAMLTest from the calling code (i.e. from a UI test project)? I mean such that they don't need to explicitly add them to XAMLTest via a PR and such (which would be really awkward having all sorts of funky converters lying around).

Yep. You can see an example of a custom serializer in the tests (I probably should put one in that uses a custom type as an example).
https://github.com/Keboo/XAMLTest/blob/master/XAMLTest.Tests/SerializerTests.cs
As long as a serializer is registered for the type being sent on the wire you should be able to send any type back and forth.

Yep. You can see an example of a custom serializer in the tests (I probably should put one in that uses a custom type as an example).

Cool! For my own personal sake, I will update this PR to use that approach to attempt to make the test using textBox.GetProperty<ReadOnlyObservableCollection<ValidationError>>(System.Windows.Controls.Validation.ErrorsProperty); pass.
I don't expect it to be merged unless you think it adds value...

@Keboo I made it work with custom serializers which is nice! However, to make it work, I needed to "nest" 3 levels of serializers:

Serializer for ReadOnlyCollection<ValidationError>
Serializer for ValidationError instantiated directly inside the serializer above
Serializer for NotEmptyValidationRule instantiated directly inside the serializer above.

This feels wrong to me. Is there a way for a serializer to get another serializer (DI perhaps?) from the registered collection? Or in someway access the Serializer instance which holds all the registered serializers?

@Keboo this probably drowned in your email inbox 🤣 Have a look at my comment above when you have 5 mins...

Yes it had gotten lost. Sorry :(. I pushed what I think might work a little better. There is a failing test that I will need to look at later.

Yes it had gotten lost. Sorry :(. I pushed what I think might work a little better. There is a failing test that I will need to look at later.

Injecting the rootSerializer seems like a good approach. Regarding the failing test, that is the one I added I believe, and you probably just need to call App.RegisterSerializer() for the two serializers that are missing in the "global collection": NotEmptyValidationRuleSerializer and ValidationErrorSerializer.

Ah perfect, it was late when I was coding and I had to quickly sign off, but I will take a look at fixing shortly

Unfortunately it was not that easy a fix. Just had a quick look, and adding in the missing serializers did not do the trick. It seems when the "framework" reads the Validation.Errors DP value and sends it across the wire, the serialization is not properly applied (it defaults to empty string instead of the expected ReadOnlyObservableCollection). See the highlighted reply.Value property in the Locals list in the screenshot.
I think it is best that you dig into that instead of me ending up doing something the wrong way :)


[R-package] Improvements, readability, and bug fixes

This PR is medium-sized changes for the R package. There are issues to solve which will not be fixed in this PR, as they are already on the master branch.
R improvements:

Allow to use regression_l1, regression_l2, huber, fair, poisson, which were unusable previously due to hard-coded rules.
Auto-define default loss functions for regression_l1 (MAE), regression_l2 (MSE), huber (MAE), fair (MAE), poisson (Poisson loss).
Changed the way of pre-allocating zero-valued vectors (slightly faster).
Users who have xgboost library used after lightgbm can now again use lightgbm examples (getinfo, setinfo, slice global environment name clash).
Add lgb.unloader which wipes LightGBM environment so we can avoid restarting R when an object gets stuck in memory for no apparent reason (like when training over training different things on same variables which have changed).
lgb.unloader can fully wipe LightGBM objects in the specified environment, and will not cause an error when lightgbm was already detached from the R environment.
Added new example for lgb.unloader.

R bug fixes:

Remove "free booster handle" message on Predictor types
Fix dim.lgb.Dataset, dimnames.lgb.Dataset functions' example dontrun tag

R stylistic changes:

Commented the whole R code from scratch (everything is now commented to make editing easier for newcomers)
Changes all single quotes to double quotes for defining characters (consistency fix)
Fix all the spacing issues
Improved readability of code by splitting functions into "paragraph" chunks (group of actions) to ease editing and spotting critical chunks
Made demonstration codes easier to read

R issues to solve in future PRs, not now:

Reverse the following or use Travis as alternative: do not run examples on devtools::check on any function currently (might reverse this later, in the future - we would need Travis setup).
[Windows only (?)] Do not lock DLL in R when building library, because it does not allow to use \code{devtools::check()} to inspect the whole code which is essential for checking for code correctness (without having to run everything by hand). Potentially a regression from PR #340 to answer issue #339 (not sure though, it is a strange lock bug). This will not pass in CRAN in its current state as the lock does not allow to run CRAN tests (need to unload library properly).
Get rid of library(lightgbm) in examples (not allowed without \{dontrun})

Tests performed:

Run all R function examples
Run extra examples, see below for Poisson loss example

Example for testing a new loss (ex: Poisson loss):
library(lightgbm)
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm")
test <- agaricus.test
dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)
params <- list(objective = "poisson") # DO NOT SPECIFY METRIC, ONLY OBJECTIVE like `regression_l1`, `regression_l2`, `huber`, `fair`, `poisson`
valids <- list(test = dtest)
model <- lgb.train(params,
                   dtrain,
                   100,
                   valids,
                   min_data = 1,
                   learning_rate = 1,
                   early_stopping_rounds = 10)

Beginning of training log (does not converge because it is not the right objective obviously, and there are too many 0s, which makes it nearly impossible - this is normal because it is not a dataset for Poisson regression):
[LightGBM] [Info] Total Bins 232
[LightGBM] [Info] Number of data: 6513, number of used features: 116
[LightGBM] [Info] No further splits with positive gain, best gain: -inf
[LightGBM] [Info] Trained a tree with leaves=14 and max_depth=6
[1]:	test's poisson:0.523205
[LightGBM] [Info] No further splits with positive gain, best gain: -inf
[LightGBM] [Info] Trained a tree with leaves=24 and max_depth=8
[2]:	test's poisson:0.482608
[LightGBM] [Info] No further splits with positive gain, best gain: -inf
[LightGBM] [Info] Trained a tree with leaves=24 and max_depth=7

@Laurae2,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


firefox, firefox-bin: 80.0.1 -> 81.0,  firefox-esr: 78.2.0esr -> 78.3.0esr [High security fixes]

Motivation for this change

High security fixes
Other changes and fixes.

https://www.mozilla.org/en-US/firefox/81.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2020-42/
https://www.mozilla.org/en-US/firefox/78.3.0/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2020-43/
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Note
Firefox 81 requires MACH_USE_SYSTEM_PYTHON or virtualenv in HOME.

Shouldn't this be merged ASAP if these are high security fixes?

Since @taku0 has permissions I was letting him merge in case there is anything that remains to be done.

I don't have privilege to merge. I'm a nixpkgs-maintainers member but not nixpkgs-committers. I don't see a merge button on this page.

My mistake! I'll need to check up on what the different groups mean.

The "Member" badge is unfortunately a bit confusing in this way.  IIRC it was a known downside when creating the -maintainers team.


Chrome 49

Is there any schedule when to upgrade to Chrome 49?

++ it is available and v47 security vulnerabilities will be disclosed soon.

@herrmannplatz @bbondy please, read http://electron.atom.io/docs/latest/faq/electron-faq/#when-will-electron-upgrade-to-latest-chrome

Yeah, waiting for new chromium smooth scroll in atom on linux!

@havenchyk Thanks for the hint, i am aware of that. Since there were some issues in past, for example with 46 and also 48 was skipped, i was wondering if there might be any concerns against 49.

@havenchyk I think this question is warranted given that we're already a month and a half beyond the 48 that was supposed to happen and the FAQ says within 1-2 weeks. nw.js was upgraded from 48 to 49 already. Published security problems will be disclosed in full details soon for 47 which is the current.

I don't see a lot of feedback from maintainers so just added the link from the FAQ. I'm also waiting for 49, but it will be as soon as core team integrate it. Try to ping the core contributors or make a PR :smile:

Please see https://github.com/atom/libchromiumcontent/pull/175.

Thanks @felixrieseberg. Haven't checked libchromiumcontent so far. Will follow the discussion there.

track this: https://github.com/atom/electron/pull/4714


Asking Password

Hello Waleedha,
From your modern-deep-learning docker file, when I launch Juypter note book, it is asking me a password??

After you run Jupyter from the command line, look at the messages it prints out. You'll find one that includes a token. Copy that and then append it to the URL and that should allow you to log in.
This seems to be a recent change in Jupyter. I'll make a change to disable it by default.

This helped, thanks


js, templates: Replace contenteditable div in Postbox with textarea

Checklist

[ ] All new and existing tests are passing
[ ] (If adding features:) I have added tests to cover my changes
[ ] (If docs changes needed:) I have updated the documentation accordingly.
[ ] I have added an entry to CHANGES.rst because this is a user-facing change or an important bugfix
[ ] I have written proper commit message(s)

What changes does this Pull Request introduce?

Replace the contenteditable div with a proper textarea - fix indentation bugs

Why is this necessary?
Fixes #465
TODO
See #111

[ ] MAYBE: Extend plain request to server when editing to get the name, email, and website (instead of grabbing from localstorage) -- although it would make more sense to have one 'identity' which is stored in localstorage which editing existing comments would change the details to
[ ] Investigate into whether editing should show reply notifications checkbox

Hi @BBaoVanC, very nice effort, thank you! This is sorely needed.
A couple thoughts of mine:
We shouldn't add any external dependencies, instead vendor them in (the ES5-compatible version). We don't need e.g. (afaics!)

amd/module sniffing
the lifecycle events like autosize:resized, autosize:update etc.
things like the destroy function
the environment sniffing (nodejs/IE8, we don't support running in either, and use JSDOM for running DOM-based tests anyway)

We should set the max length HTML5 attribute for textarea (and also email and website)
https://github.com/posativ/isso/blob/46c141c9517665620929192b05d2f41275bbaefd/isso/views/comments.py#L166-L179
(And those error message responses are just plain bad - improve them and their handling on the client side as well, in another PR)
The autosize FAQ suggests disabling blurs on Safari for textarea - good idea to add to the CSS.

Thanks for the response @ix5
How would I vendor the dependencies like you said? I tried to search the repository for the word vendor but I don't see anything.
Also about the commit messages, I'll rebase it later once it's in less of a draft stage. And in this stage with all the changes I'm trying to do it's easier to just write down the changes I make in the PR description as I go instead of writing it on every commit.

How would I vendor the dependencies like you said? I tried to search the repository for the word vendor but I don't see anything.

Just put the file into app/lib/autosize.js.

Also about the commit messages, I'll rebase it later once it's in less of a draft stage. And in this stage with all the changes I'm trying to do it's easier to just write down the changes I make in the PR description as I go instead of writing it on every commit.

Dw, just something I found useful for myself.

I decided that it's best to try and replace the "Edit" box with a postbox in a different PR. It would require a large refactor and I don't want to block this change for that long. As far as I can tell it works right now.
I removed the editorify() test since that function isn't needed anymore, but for some reason the screenshots don't match the CI. Could also benefit from a couple tests, which I'll look into tomorrow, in addition to rebasing and adding to CHANGES.rst.
Also, I feel like this project could benefit from a lot of the client code being refactored and/or rewritten. I wonder if it would be worth using TypeScript? I'll play around with this a bit in a different branch on my fork.

If we decide to move to Typescript, we'd have to do a whole lot of other refactoring as well.

I feel like this could be beneficial overall, since I'm a big fan of statically typed languages (it feels less awkward and overall more stable/definite to work in). Code is easier to follow with defined types.
It looks like with TypeScript + Webpack, we would be able to write with modern syntax, but have it transpile to ES5 compatible output. We also don't have to completely refactor everything at once since, as far as I can tell regular JS code is completely valid in TS (just you don't get the compile-time error-checking that you do with TS).
I'll look into your experimental client in a bit, but first: do we have some way to run the tests on the main Isso repo over here on the experimental client? I feel like that would be a nice way to make sure during development that the experimental client functions the same. Hopefully we could gradually add more tests, and if there's any unintended functionality on the main client which is discovered, it can be fixed.

We'd also have a whole rat's tail of development dependencies to contend with.

I'm not too concerned about having dependencies, I feel that NPM is just sort of designed in a way that makes it hard to avoid having tons of packages/dependencies. As long as the ones we explicitly list in package.json are few, I think it should be ok. But I'll have to see.

On this PR: tests seem to work except the integration one failed with a weird error:
docker: Error response from daemon: cannot join network of a non running container: 04b9d43d9b947d15a78937f235c5307d37b8d1f02a08225259d083b0cbcdd0f0.

But it worked fine on my own machine (I used similar steps to the E2E workflow on my system to update the screenshots). I did rebase this PR onto the latest master before updating screenshots again, but also I don't really see any changes in this PR that would break that.
I'm about to rebase it again to make the commit messages better, which will trigger the CI again, so we can see if it's a random one-off error.

The PR as it currently stands is done, as far as I can see. I know you'll fix the other issues we've talked about in a later PR.
In the interest of this not growing into a never-ending back-and-forth, I'll merge as-is (unless you have objections). I (force-)pushed a rebase and a small nit (upon leaving preview, focus textarea).
Re: Typescript etc: I'll open another issue for that so we can continue discussion there.

The PR as it currently stands is done, as far as I can see. I know you'll fix the other issues we've talked about in a later PR. In the interest of this not growing into a never-ending back-and-forth, I'll merge as-is (unless you have objections). I (force-)pushed a rebase and a small nit (upon leaving preview, focus textarea).
Re: Typescript etc: I'll open another issue for that so we can continue discussion there.

Sounds good to me, I don't see anything else that needs to be changed either.

New issue opened https://github.com/posativ/isso/issues/894

I feel like this could be beneficial overall, since I'm a big fan of statically typed languages (it feels less awkward and overall more stable/definite to work in). Code is easier to follow with defined types.
It looks like with TypeScript + Webpack, we would be able to write with modern syntax, but have it transpile to ES5 compatible output. We also don't have to completely refactor everything at once since, as far as I can tell regular JS code is completely valid in TS (just you don't get the compile-time error-checking that you do with TS).

TS sure looks like a nice addition, but we might also be limiting ourselves in the contributors we get - they'd have to know TS as well. This kind of feels a bit like the "sprinkle some async" fad in python to me. Maybe start with better test coverage and work from there?

I'll look into your experimental client in a bit, but first: do we have some way to run the tests on the main Isso repo over here on the experimental client? I feel like that would be a nice way to make sure during development that the experimental client functions the same. Hopefully we could gradually add more tests, and if there's any unintended functionality on the main client which is discovered, it can be fixed.

You can simply swap out the JS part for the integration tests (copy the generated embed.dev.js from the experimental client). Or do as suggested in the README and cd dist && python -m http.server 8000 and change the embed URL to localhost:8000/embed.dev.js:
diff --git a/isso/demo/index.html b/isso/demo/index.html
index 0b043e0..b731dcc 100644
--- a/isso/demo/index.html
+++ b/isso/demo/index.html
@@ -9,8 +9,8 @@

Isso Demo

-

Then run npm run test-integration from the "old" isso repo.
The repo also has its own unit tests (since too much has changed). npm run test-unit should work from the new repo.

I'm not too concerned about having dependencies, I feel that NPM is just sort of designed in a way that makes it hard to avoid having tons of packages/dependencies. As long as the ones we explicitly list in package.json are few, I think it should be ok. But I'll have to see.

I'm already kind of annoyed at all the Javascript packages constantly jumping sub-revisions (e.g. Jest and puppeteer all jumped several since I added them, and they need to be kept in sync with system chromium version if you don't use the .local-chromium version). You're never quite sure if something just broke because of a version change of a dep when re-installing or you broke something yourself. webpack is already quite a moving target and has not been pleasant to set up. I'm not really looking forward to spending maintainer time accepting PRs bumping revisions from bots every few days (new tsc release here, new babel release there, ...). It's not too much to do, but death by a thousand cuts.


Sound track

Can I add a sound track when compiling it? I didn't find such function in the source code though..

I am also interested in this feature, but I have absolutely no idea where to start with embedding into the container. How considerable is "considerable"?

It turns out that someone has already successfully used Emscripten to compile a vorbis encoder to javascript, so beyond that it's a matter of adding an audio track and putting the audio packets in the right spots.
You can probably find some good information looking at the matroska and webm specs:
http://www.webmproject.org/docs/container/
http://matroska.org/technical/specs/codecid/index.html
You can experiment with what tags are involved by taking some webm video and opening the file in some EBML viewer like https://code.google.com/p/ebml-viewer/

Thanks for the response! Yeah after taking a look, this is a bit too complicated for me at this point. I coud probably handle adding the track, but I'm out of my element with the rest.

I am also want to add sound track in video but it look complicated for me.


S3 region issue

First off, awesome work on this plugin.
I did find an issue with getting slingshot to work with an S3 bucket that's not initialized to the default region (i.e. 'US Standard').
To make sure it was just a region issue, I tried following along with the simple example in the README an posting to 3 different S3 buckets, which are all under the same account, and have gotten the same CORS configuration.
First I added the directive server-side, added the AWS key and secret to Meteor.settings, and configured the S3 buckets. Then I used the uploader from the client using the console:
var t = document.getElementById('test').files[0]

File {webkitRelativePath: "", lastModified:<PHONE_NUMBER>000, lastModifiedDate: Tue Mar 04 2014 14:58:26 GMT+0100 (CET), name: "bicycle_road.jpeg", type: "image/jpeg"…}

var uploader = new Slingshot.Upload("myFileUploads");

Slingshot.Upload {status: function, progress: function, uploaded: function, send: function, request: function…}

uploader.send(t, function(err, downloadUrl) {
if (err) {console.dir(err);} else {console.dir(downloadUrl);}
});

Here are the issues I ran into following along with the example in the README:

S3 bucket region: Frankfurt
console error log:

POST https://fotoposterdev.s3.amazonaws.com/ 400 (Bad Request)
VM3007:3 Meteor.makeErrorType.errorClassdetails: undefinederror: "Bad Request - 400"errorType: "Meteor.Error"message: "Failed to upload file to cloud storage [Bad Request - 400]"reason: "Failed to upload file to cloud storage"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: _.extend._inherits.Middle

S3 bucket region: Oregon
console error log:

 XMLHttpRequest cannot load https://fpawdev.s3.amazonaws.com/. The request was redirected to 'https://fpawdev.s3-us-west-2.amazonaws.com/', which is disallowed for cross-origin requests that require preflight.
VM3265:3 Meteor.makeErrorType.errorClassdetails: undefinederror: " - 0"errorType: "Meteor.Error"message: "Failed to upload file to cloud storage [ - 0]"reason: "Failed to upload file to cloud storage"stack: (...)get stack: function () { [native code] }set stack: function () { [native code] }__proto__: _.extend._inherits.Middle

S3 bucket region: US Standard ==> SUCCESS
console log:

Slingshot.Upload {status: function, progress: function, uploaded: function, send: function, request: function…}
VM3534:3 https://fptestdev.s3.amazonaws.com/undefined/bicycle_road.jpeg

The reason why Frankfurt doesn't work is because slingshot uses AWS Signature Version 2.

Any new regions after January 30, 2014 will support only Signature Version 4 and therefore all requests to those regions must be made with Signature Version 4.

So it needs an upgrade for the signing method.
I have totally missed the existence of the new signing method in the docs before.


Putting "require-sandbox: True" in ~/.etlas/config breaks etlas

There's probably lots of stuff like this still. Just making a note.

Thanks for the report! Can you be more specific on what breaks?

We are pushing towards using new-build because it's a more space-efficient solution than sandboxes and we will deprecate the sandboxing mechanism in the future.


Remove coding: utf-8 per PEP 3120

utf-8 has been the default since PEP 3120.
https://www.python.org/dev/peps/pep-3120/
Non trivial edits are to Makefile and verify_headers.py

Apparently (https://docs.python.org/3/howto/unicode.html) the syntax for specifying encoding in python was borrowed from emacs. But, as noted in the link, if the encoding is omitted, then utf-8 is assumed.


Allow to instantiate a client instance

This allows to instantiate a standalone client service like:
const rest = require('feathers-rest/client');

const todoService = rest(url).fetch(fetch).service('todos');

Also throws an error when configured twice on the client.

Do you want to add a test for the error being thrown? In the case where you initialize two or more providers?

Should be right in https://github.com/feathersjs/feathers-rest/pull/16/files#diff-e50c7552d4d65d031f80b6c5e56591deR36

My bad. :shipit:


Introduced support for optimized VolumeInspect by name

This patch introduces support for InspectVolumeByName to the libStorage client. This is not a new API, but uses an existing capability of the API that was never consumed by the client. When invoked, the libStorage server will execute an optimized inspection of a single volume based on its name for drivers that support it. This is an enhancement over the existing behavior of the client requesting all volumes, then matching on the name to get the volumeID and calling InspectVolume on that ID.
This does not update any drivers to take advantage of the new support, and therefore should not change any existing behavior.
Fixes #560

I've tested this patch with an existing, unmodified driver (dobs) and didn't observe any ill-effects. But still, I'd like to test with a modified driver (that adds VolumeInspectByName to see that this patch is correct before saying it is ready for merging.
But it is definitely ready for review.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #561   +/-   ##
=======================================
  Coverage   28.42%   28.42%
=======================================
  Files          34       34
  Lines        2016     2016
=======================================
  Hits          573      573
  Misses       1381     1381
  Partials       62       62

Impacted Files
Coverage Δ

api/types/types_drivers_storage.go
50% <ø> (ø)
:arrow_up:

api/types/types_clients.go
0% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

I tried this out with the gcepd driver, and it worked great!


page_service: serve pages in spawn_blocking

this will help with allowing the use of tokio's block_on on the walredo implementation. separating this to allow benchmarking separatedly.

This seems to have a negative perf impact, quite large even. The need could be avoided technically by using flume::bounded(1) channel in place of the tokio::sync::oneshot.

Perhaps sprinkling around many tokio::task::block_in_place is a good stop-gap measure before we have all async locks or spawn_blocking.

Closing per last comment, this needs to be approached differently.


fix(upgrade-job): wait for event worker to exit for errors

The upgrade job main thread starts a worker thread which listens for events and publishes them (as kubernetes events). When the upgrade method exits, the 'EventRecorder' instance for it is dropped. This in turn drops the event channel (used to pass events to the event worker) and also the handle to event worker. The event worker does not have enough time after the channel is dropped, to publish its events and exit.
This PR defers all of the event publishes and actual upgrade steps to an inner function. The caller of this function makes sure the event loop exits before returning.

Not sure if waiting on a drop is a good practice... Could we achieve the same some other way?

Sure, could you suggest a suitable pattern for fleshing out this destructor-like tool.

What about just waiting for the work to complete in shutdown_worker?

Not sure if waiting on a drop is a good practice... Could we achieve the same some other way?

Sure, could you suggest a suitable pattern for fleshing out this destructor-like tool.

What about just waiting for the work to complete in shutdown_worker?

So, no change?

Just noticed that shutdown worker doesn't guarantee publish of error events. Only guarantees publish of successful upgrade. I think this is still required. What might be a good alternative to the drop thing, @tiagolobocastro ?

Updated code in this PR to not use the EventRecorder's Drop. Instead it moves the event recorder to one level up in the calling sequence. This let's the event recorder's shutdown_worker method wait for the loop to exit.

bors merge


Docker Swarm Mode is not Load balancing (dnsrr)

Hey folks,
I'm testing the load-balancer (from Traefik) and when I refresh the webpage or do curl -H Host:$ENV_DOMAIN1 http://$NODE_IP, the system only use the first container.
I don't understand why.
ENV_DOMAIN1=iamfoo.example.com
ctn1_NAME=iamfooA
ENV_NET_STATIC=net_static

docker service create \
--name $ctn1_NAME \
--network $ENV_NET_STATIC \
--restart-condition any \
--replicas 2 \
--constraint node.labels.apps_accepted==yes \
--label traefik.frontend.rule=Host:$ENV_DOMAIN1 \
--label traefik.docker.network=$ENV_NET_STATIC \
--label traefik.port=80 \
katacoda/docker-http-server

I tried with:

traefik:v1.1.0-rc4
traefik:v1.1.0-rc3
traefik:v1.1.0-rc2
traefik:v1.1.0-rc1

Keep alive - I don't think it's related to a keep alive situation like https://github.com/containous/traefik/issues/727 or https://github.com/containous/traefik/issues/730
dnsrr (dns round-robin) - I think is related to --endpoint-mode dnsrr not being supported at the moment :

https://github.com/docker/docker/issues/25016#issuecomment-236741760
https://github.com/docker/swarmkit/pull/1693#issuecomment-256215855

I would keep this issue open for documentation :)
Cheers!

I think is related to:

https://github.com/docker/docker/issues/25016#issuecomment-236741760
https://github.com/docker/swarmkit/pull/1693

I'll close the issue due to inactivity but feel free to re-open if needed.


2381-fix camelCase error in jsx-sort-props

PR checklist

[x] Addresses an existing issue: fixes #2381
[x] bugfix
[x] Includes tests
[ ] Documentation update

Overview of change:
use localCompare rather than comparison operator

Hi @ljharb ,
As it is approved, Can you merge it?

Thanks for the ping; it's in my queue. I should be able to get to it tonight.


Update the doc based on an encountered error

For more details please see https://github.com/MicrosoftDocs/azure-docs/issues/17295#issuecomment-432039410 . Thank you. #Hacktoberfest

@kristianjaeger : Thanks for your contribution! The author, @ggailey777, has been notified to review your proposed change.

@kristianjaeger Thanks for providing content to improve our documentation. We don't generally include troubleshooting information in our quickstart articles, and it sounds like there may be an underlying bug here that we need to get fixed. Let me investigate further.

@ggailey777 Thanks!  Yes, it would be preferable to fix the bug.  I thought that in the mean time it would be useful to share the workaround.  Cheers.
Kristian

@kristianjaeger here's the underlying issue with Core Tools publishing not correctly setting the Node version: https://github.com/Azure/azure-functions-core-tools/issues/846. In the meantime, I have a preferred way to address this, and I will try to incorporate your commit so that you can get credit for helping out. 😁

This is the internal PR that contains your commit: https://github.com/MicrosoftDocs/azure-docs-pr/pull/57240
#please-close


Update HDF to 1_13_0 release

PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

Does this supersede #2832?

HDF5 1.13 is an experimental release, I don't think suitable for merging into ITK yet.  See: https://www.hdfgroup.org/2021/12/hdf5-1-13-0-introducing-experimental-releases/

#2832 is so very close to being ready. It just needs someone that knows cmake, to get it working as shared libs.  As static libs, it builds with every build setting permutation I could find.

Abandoning. HDF5 is such a pain!  Hopefuly we can get #2832 to work.

Abandoning. HDF5 is such a pain!  Hopefuly we can get #2832 to work.


Support for on-demand execution of jobs using its own scheduler

Is your feature request related to a problem? Please describe.
At the moment, Optimus works just as an orchestrator that transpiles basic job instructions to Airflow parsable dags. It doesn't have anything to execute jobs of its own. Although Airflow is pretty stable and used widely, it is build as a generic job executor. I believe we can do a lot more if we have our own scheduling & execution engine. But for now we will start with having just the execution engine.
Note: I am not suggesting to deprecate the use of Airflow, this will work in tandem to enhance the existing workflow.
Describe the solution you'd like
I have already decided to call this prime(long back) and it will be used as follows:

User should be able to simply request a run on demand via optimus job run <job-name> and the job should start executing.
Optimus API will allow any external service to execute on demand jobs instead of scheduling them via airflow if needed.
Users should be able to leverage on-demand execution for adhoc operations like DML queries, one time syncs, cleanups, etc.
User should be able to run complete pipeline of jobs end-to-end, this is when a job is dependent on a different job and so on.
Running a whole pipeline will allow users to write tests for data pipeline which can execute in different execution environment then the production similar to how we write integration tests for code.
Running a pipeline will allow replay execution to be done on Optimus clusters.
Optimus should work as a distributed cluster and from the start should be capable of scaling on-demand horizontally.
Optimus should be able to run as highly-available(except postgres db).
No extra moving parts, like airflow has Redis, Celery, etc.
Local development of Optimus will be really easy as developers won't be needing anything other than Optimus and a postgres db(we should start supporting sqlite as well to even get rid of postgres.)

Describe alternatives you've considered
There are no alternatives to this at the moment.
Additional context
We can break this into different milestones as follows:
v1

user will be able to run a single job and get the final status
job can have multiple hooks, and it should execute everything in that job in correct order
we will start with supporting local docker host as the execution engine

v2

support for executing set of jobs interdependent on each other
proper user commands to interact with optimus server to fetch things like logs of execution.

v3

support for kubernetes as the execution engine
running replay on optimus cluster

v4

support for writing testable pipelines
support for own scheduling engine capable of doing everything what airflow can do except UI

v5 (although this will go out of scope of this feature request but wanted to list the vision)

get rid of postgres and keep Optimus state in local filesystem to make Optimus truly independent and highly available.

Hey Kush, thank you for helping with work on executor, for now we will concentrate on v1 for the proposal and define the technical and business specifications of the executor.
Outcome for executor:
User should be able to run their jobs manually on optimus and check details specific to the run including

Details for the job run instance
Compiled assets for the job run
Any relevant information like logs to understand and debug job failure

Questions as a user
Where can I see the job run details, including compiled assets ?
Can I see the logs, to understand job failures ?
Does the run retry some of the failures or it has to be done manually ?
How do I get the final status as there is no ui like airflow.
Does this support only bq2bq jobs or other jobs also ?
Can I check, when was the last manual run ?
How can I compare changes with previous run. ?
How long can I expect to see my previous logs ?
Technical design of proposal
Can we also discuss the technical solution proposed for the same. How is optimus server interacting with the executor?
If we have a better understanding of the interactions we can understand the code better.
Please let us know if you have any questions related to this

Sure, let's get the ball rolling for v1.
Questions as a user

Where can I see the job run details, including compiled assets ?

Job run details should be fetched very similar to how we fetch replay details, via CLI. I don't get what do you mean by compiled assets? Optimus already support asset compilation right?

Can I see the logs, to understand job failures ?

I was thinking we can take this as 2nd revision and for now either user(which I believe is a superuser or developer) should be able to get it manually. We will only return the final job status as v1.

Does the run retry some of the failures or it has to be done manually ?

I don't think we should support retry for now, this looks like an advanced feature which we can take later.

How do I get the final status as there is no ui like airflow.

This is spot on, we should allocate developer bandwidth to work on UI, it's been too long we are working with CLI. For now we will have to work with CLI.

Does this support only bq2bq jobs or other jobs also ?

It should support all the tasks as well as hooks.

Can I check, when was the last manual run ?

Yes, just like replay, we will have these details in db so we should be able to list the status. But as a starter, the UX might not be as smooth as we think it should be.

How can I compare changes with previous run. ?

I didn't get this question, what do you mean by previous run? What I think is each run should be independent for now.

How long can I expect to see my previous logs ?

Again, we will handle this as v2 but it should not be treated as previous run, it should be treated as a run because these are adhoc one-off runs. I think this idea of previous is inherited as a proper scheduler like Airflow, we will make it like Airflow in future revisions but for now let's not compare it. Coming back to your question, I understand managing logs comes with its own challenges, things like retention, storage management, cleanup, etc but I think these can evolve slowly. First draft could simply be fetching the logs from downstream executor, for example if its docker, we will simply query logs from docker, if its kubernetes, we will query logs from kube but depending on downstream services, this method of logs won't be a scalable solution so we will try so sink these logs to external filesystem like s3. I don't believe we need to support some heavy log management in v2, we can either simply start with caching them in db or in locally attached filesystem of node with a retention of 15 days or sink them to s3 if we are okay with introducing another dependency on an external file system.
Technical design
Technical design will evolve slowly with each revision but I can briefly discuss the base implementation. Basic premise of this design is to not have any new hard external dependency and even remove existing dependency like(postgres) in future if needed. Lets discuss it as follows:
Highly available
We can't make Optimus to run as a single node application, I don't think we even recommend doing it at the moment in existing design. There is a load balancer in front and all the calls will be randomly redirected to nodes(randomly means round robin, lowest traffic first, etc doesn't really matter).
Distributed consensus
When we run with more than 1 node, say 3 nodes, we need at least one of them to work as a coordinator. This coordinator will try to accept user request, do the processing and respond back. We can try to make either all the nodes as coordinator or make one coordinator(leader) and rest followers. If we go with first approach, which is to make everyone leader, every request that each of the leader receives, they will work independently and there will be no coordination. Without coordination, requests can get duplicated, we won't be able to know who is doing what. To fix this we can think of sharing a common state between all the leaders and pass this state around after every modification. Of course we will not pass the whole state, we will only pass the delta since last state change but you got the point. This helps in coordination so each node is aware of what the rest of the nodes is doing but we need some kind of locks to not override this state when someone else is reading/writing as this will be done in parallel. So to share this state:

An easy way is to use existing database as a locking system, in this approach we can think of a table as:

request
node

execute task 1
node1

execute task 2
node2

Using this table each leader node can figure out who is responsible of doing what and we can use database locks to only modify this table one at a time. Although this approach looks easy, it requires us to introduce a hard dependency on database from the base. Whole cluster will be useless if we there is a db downtime and we won't be able to refactor this dependency without re-writing this consensus from scratch.

Using external dependency like zookeeper, consul, etcd, etc. This is what most application do when they start out, Kubernetes use etcd, Kafka used to use zookeeper, etc. This comes with its own problems, first of all it brakes our base premise of not introducing any new external dependency, second it introduces maintenance overhead of another tooling which needs to run in Highly Availability as well to keep your application running in HA. Kafka rewrote their design to remove zookeeper and do what it was doing on its own because of this reason.

Do what etcd/zookeeper would do in Optimus, which is, having a consensus protocol to distribute this state delta among nodes. When we do this, we will need to change our design from having all leaders to having one leader and rest followers. There are 2 popular consensus algorithms in the wild, paxos and raft. I don't even want to start discussing paxos here because unless you are a research scholar, understanding all the cogs and wheels will take you couple of months and implementing it is a different challenge of its own. The other one is raft, recently introduced in last decade which is easy to read and understand in one evening. So the choice is looking obvious now that raft is the way forward, this is what etcd also uses to manage its distributed state.

Implementation
My design has selected raft to keep Optimus open for future development. We will have a finite state machine in a leader that will apply these delta modification to state and share these changes to all followers. Optimus cluster will be able to self heal. In case a follower dies nothing really changes. In case leader dies, re-election will cause a new leader to be selected. This state will be stored on local file system of each node. You will notice I do use db to update the final states of job instances but it is only modified by cluster leader so we have kept our dependency to minimum which allows us to make Optimus truly independent if needed.
To explain the flow, when a new request is received to run a job it will be stored in database. This database will be accessed by cluster leader and it will assign this job to one of the cluster node to actually execute. Followers will work as worker node(leader will also execute the job its just leader has extra responsibility of managing the cluster as well) to execute the job using one of the many configured executor. Once the instance state of a job run is changed, the requested is broadcasted^1 to all the nodes(including leader) and leader will update the state in db/raft log/etc.

Note: broadcasted^1: we can have a proper discussion on this as well why is it broadcasted? Why don't we directly send this to leader? Why don't we directly modify this in db? etc.

Although basic queries like job status can be answered by any node as they will be kept in db as well as raft log, things like logs of running instance can only be answered by the worker node which is executing the instance at that time(unless we sync these logs at real time to some external filesystem).
@sbchaos We can discuss all of this in more detail on call if you want. Feel free to ask more questions.
@ravisuhag @sravankorumilli I think we scheduled a community hour meeting of ODPF sometime back, correct me if I am wrong but I don't see that happening, is it still up?

@kushsharma We will start the meetup from this month.


Switch to using govuk_sidekiq

I think most/all of the initialiser can be removed?

Good point, I think I forgot to check. I've now amended the first commit to remove that file.


How to apply Custom Column Filters

Griddle version
1.3.1
Expected Behavior
I have a datable that works with external data and has the default filter option. I want to be able to specify columns to search instead of the entire data-table. Perhaps this could be done with a dropdown menu of columns? How should I go about this. I looked through #320 and #357 but I'm still a bit lost. A little more instruction on where I can find some documentation and how much in the library I can leverage and how much I have to code myself would be greatly helpful.

Replacing the Settings component for a custom component should be easy, but I'm having trouble with it; just dropping the custom component don't give me access to hidden and visible columns props, nor toggle action, just settingsComponents array.

Settings is a rough edge in the component extensibility model, but there are several custom settings examples. In short, the individual settings components each use connect to grab what they need from Redux, as do custom replacements.
The actual logic for filtering is left as an exercise for the user, unless you're using LocalPlugin.


sms plugin, permission denied by Play Store

Hello,
I am trying to publish my app, which is using SMS: ^0.2.4, on the Play Store.
In my androidManifest.xml file I have declared that my app requires three permissions:
<uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />

When I upload it on the play console, it tells me that I have to declare 3 other sensitive permission:
android.permission.READ_SMS
android.permission.SEND_SMS
android.permission.RECEIVE_SMS
I think it's due to the SMS plugin, and I need it to invite other users to join my app.
I receive this mail from Google:

Could someone help me with this issue please ?
`Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.5.8, on Mac OS X 10.14.5 18F131a, locale fr-FR)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.33.1)
[!] Connected device
! No devices available
! Doctor found issues in 1 category.`

The Play Store has some fairly restrictive policies over SMS and call permissions:
https://play.google.com/about/privacy-security-deception/permissions/
my guess is this has something to do with the RECEIVE_SMS permission - do you really need it?
If what you're trying to do is invite users to your app, you may be better off with the share plugin, which will launch the platform's share functionality:
https://pub.dev/packages/share

Did you ever solve this? I removed the permission from my app but unfortunately, I keep getting app reject cause of permissions sms.


Replace "Confirm password" with a show link/icon

create-account.html has a "Confirm password" field. This solves the problem of a user registering with a mistyped password, but requires the user to retype the password twice in case of an error. For a number of years the web dev community has been advocating for the removal of the confirm field, replaced with a link/icon that shows the password. This increases conversion and lowers user frustration. It is now the default pattern on mobile, and common on many sites. Large sites like Twitter and Facebook also no longer include a confirm field.
So, my feature request is to implement a show link or icon inside the password field, and remove the confirm field. This article shows both options: https://uxmovement.com/forms/why-the-confirm-password-field-must-die/
Which look (link/icon) do you think matches Windmill's design more?

Thank you for your time to make this issue.
It took me some time to answer because I wanted to take a moment and write an article with some considerations that others might find helpful eventually.
https://estevanmaito.me/blog/killing-the-confirm-password-field-is-not-enough
It'll take me some time to add this to the project, as I still need to update it to match the React version, but for those who want to apply the best practice right away, just swap the "Confirm password" field with a check box saying "Show password".
Logic for it should be as easy as changing the input type from password to text
Like this:

@estevanmaito I've just read your article, here are my 5¢:
If you use email addresses as primary key, the password can be omitted entirely:

Create the user with NULL password (impossible to sign in) and send an email which both confirms the email address and asks the new user to set the password for future sign ins.
Implement a "sign in by email" flow which is functionally identical to the "forgot password" flow, but uses different wording to emphasize the possibility to either set a password or never set a password but always authenticate via email (best for forgetful users without a decent password manager).
Setting the password at this stage comes after the user has already invested in disclosing his email and confirming GDPR and similar regulations. Therefore, a password/confirmation combo is not as harmful anymore. Still, given there are now well-worded "sign in by email" and "forgot password" flows in place, the confirmation is not necessary and one masking input with "show password" checkbox might be better. (I prefer an explicit checkbox for usability reasons or screen readers.)

How did people listen to an article of bulls**t suggesting that password confirmation field is all useless? And that a "show password" button can be a substitute for it?
People may register an account on a public place, and they may not be able to reveal the password at any second, but only to rely on their muscle memory to ensure they typed the password correctly. When revealing password is not an option, users have to rely on the confirm password field to catch mistakes. Both "confirm password" field and "show password" button have their uses, why not have both feature and not drop any of them?
The behavior can work like this: By default the password is masked, and that user has to retype to password to confirm it, but if the user clicks the "show password", the confirm password field goes away and the user verifies their password by eye. Win-win for both use cases.
https://ux.stackexchange.com/a/518

How did people listen to an article of bulls**t suggesting that password confirmation field is all useless? And that a "show password" button can be a substitute for it?

Because it's not. The article talks about conversion, you talk about security in public places.

The behavior can work like this: By default the password is masked, and that user has to retype to password to confirm it, but if the user clicks the "show password", the confirm password field goes away and the user verifies their password by eye. Win-win for both use cases.

That's indeed a good compromise to accommodate both concerns. But it's more work to implement.
(If it's too much work, I personally prefer the disclosure feature over the confirmation feature. Why? If I mistype, there's always the "forgot password" workflow to restart. And since I don't use passwords without a password manager, I really don't need confirmation fields. Disclosure, however, comes in handy if I have to type a password on the mobile phone (where I don't use the password manager due to safety concerns). I can always turn the phone such that nobody can spy as I quickly check what I typed. But the alternative, having to type a fully random 20 all kind of characters password twice is a major pain... and any typo forces you to repeat the whole. Now that certainly is poison for conversion at best, encourages weak passwords at worst.)

@svoop Just to clarify, I'm not against the "show password" feature for many websites, but I am against people talking about "convertion rate" or UX while compromising users' security in this regard.
When a feature just works to protect the users' security, it's really tempting to remove it in the name of "convenience" or anything. Some people want this extra safety just to prevent locking themselves out of their accounts. And don't tell me about they can reset the password with an email -- they may not even know they have mis-typed the password until next time they login.
Perhaps the only alternative to the "confirm password" field is to force users to log out and re-log in to complete the whole sign up process. Without this, the user may not be aware of the error or it might be very late when they know it.


test html basic

Challenge http://freecodecamp.com/challenges/waypoint-add-borders-around-your-elements has an issue. Please describe how to reproduce it, and include links to screenshots if possible.

Can you give more details, please?

Closing. Please feel free to re-open with steps to reproduce the issue.
Happy Coding!

Hey,
Sorry, I couldn't reply asap. Anyways I got the solution. The thing is,
multiple classes in a single tag was not introduced until and in that
exercise. Googled, sorted.
On Aug 22, 2015 5:14 AM, "Berkeley Martinez"<EMAIL_ADDRESS>wrote:

Closing. Please feel free to re-open with steps to reproduce the issue.
Happy Coding!
—
Reply to this email directly or view it on GitHub
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/2178#issuecomment-133591523
.


Partition based on samples instead of traceEvents when importing a sample-based chrome trace

In the existing code, if traceEvents did not have any importable events, the profile would be marked as empty. This was a bug, as the dev Hermes profiles I was testing with had one X event which made the code work. However we do not need to guarantee (and the spec doesn't seem to) any traceEvents being present as long as we have samples and stack frames.
When I tested a production profile taken from Hermes it did not have any importable events, just a metadata event with a thread name. This PR updates the implementation to iterate over partitioned samples instead of traceEvents so we construct profiles for all thread + process pairs referenced in the samples array.

Before
After

coverage: 43.608% (+0.08%) from 43.524%
when pulling 8be44afa506388b6ca375d3db67a5427c0853cf3 on zacharyfmarion:zac/use-samples
into a3c0b15935fe125130ef371ec79dbe1c5e744b63 on jlfwong:main.

@zacharyfmarion Done!

@jfwong thank you!


AKS nodepool add CLI command

Hi Team,
When running the below command
az aks nodepool add     --cluster-name aks-idsemuat1
--name vmseabln2     --resource-group rg-idsemuat-aks
--enable-cluster-autoscaler     --enable-node-public-ip
--kubernetes-version 1.16.10     --min-count 3
--max-count 30     --max-pods 100
--mode System     --node-vm-size Standard_B2ms
--os-type Linux     --node-zones {1,2,3}
--vnet-subnet-id '/subscriptions/14ba03f5-b114-49ce-b31c-010dcec4a121/resourceGroups/rg-seab-uattest-vnet/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/akssubnet' `
--verbose
Its not executing ,.
But if we are running the same command in a single line its working. Not sure why ,I am running azure cli latest version.
Can someone please let know what's the issue.I am running the command from Visual Studio Code. I am able to create a cluster with the same format and all

Nodepooladd.zip
The file is attached

I am not getting any errors also

aks

hi @nidiculageorge which terminal you're using? If you're running in bash, you need add \ at end of each line to split commands over multiple lines.
For the screencut, seems you're using VSCode powershell terminal, you need add ``` at end of each lien to split commands over lines. Could you pls give it a try? thanks.

@yungezz I had already given a try with the ` character .I was trying with that only

Thanks @nidiculageorge for the i nfo. Could you pls try run it in a standalone powershell terminal? instead of vscode? If it works, then issue is in VSCode extension.

@yungezz
PS C:\Users\nidicula> az aks nodepool add     --cluster-name aks-idsemuat1
--name vmseabln2     --resource-group rg-idsemuat-aks
--enable-cluster-autoscaler     --enable-node-public-ip
--kubernetes-version 1.16.10     --min-count 3
--max-count 30     --max-pods 100
--mode System     --node-vm-size Standard_B2ms
--os-type Linux     --node-zones {1,2,3}
--vnet-subnet-id '/subscriptions/14ba03f5-b114-49ce-b31c-010dcec4a121/resourceGroups/rg-seab-uattest-vnet/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/akssubnet' `
--verbose
az : az aks: 'nodepool' is not in the 'az aks' command group. See 'az aks --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit
https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
At line:1 char:1

az aks nodepool add `

  + CategoryInfo          : NotSpecified: (az aks: 'nodepo...nsions-overview:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

Command ran in 6.982 seconds (init: 0.772, invoke: 6.210)

@yungezz When I ran in a single line
PS C:\Users\nidicula> az aks nodepool add --cluster-name aks-idsemuat1 --name vmseabln2 --resource-group rg-idsemuat-aks --enable-cluster-autoscaler --enable-node-public-ip --kubernetes-version 1.16.10 --min-count 3 --max-count 30 --max-pods 100 --mode System --node-vm-size Standard_B2ms --os-type Linux --node-zones {1,2,3} --vnet-subnet-id '/subscriptions/14ba03f5-b114-49ce-b31c-010dcec4a121/resourceGroups/rg-seab-uattest-vnet/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/akssubnet' --verbose
az : az aks: 'nodepool' is not in the 'az aks' command group. See 'az aks --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit
https://docs.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview
At line:1 char:1

az aks nodepool add --cluster-name aks-idsemuat1 --name vmseabln2 --r ...

  + CategoryInfo          : NotSpecified: (az aks: 'nodepo...nsions-overview:String) [], RemoteException
  + FullyQualifiedErrorId : NativeCommandError

Command ran in 6.527 seconds (init: 0.656, invoke: 5.871)

thanks @nidiculageorge for the info

Run the command in single line and in multiple line in Powershell directly got same result. So the problem previously you saw: empty output is in vscode. Could you pls open issue at https://github.com/microsoft/vscode/issues to report it
For the error met in single line execution az : az aks: 'nodepool' is not in the 'az aks' command group. . Could you rurn az --version and share the output to help investigate?

Thanks.

@yungezz

@yungezz I have updated the cli and checked saame issue

@yungezz I think i have identified ,if we add node zone its just going to the next line if we remove node  zones its running,
I am running it in a single line.
Is it because of --node-zone {1,2,3}.

@nidiculageorge Apologies for the late reply. The parameter is --zone now. Refer this. This issue is open for quite sometime now. Please let us know if you need any further assistance on this. Awaiting your reply.


Create a graph from Rdd or dataframe and then Store it in Neo4j

I am a beginner for Neo4j. Recently i was creating graphes by loading the csv and creating in the main time nodes and their relationships.
now my boss ,who wants a scalable solution,give me a Spark project and want me to process or load the java-pair-rdd and create a graph based on it.
so is your project allows creating graphs from rdd or dataframe  and then Store it in Neo4j?

Hi Haddad,
This is example shows you how to create a graph: https://github.com/opencypher/cypher-for-apache-spark/blob/master/spark-cypher-examples/src/main/scala/org/opencypher/spark/examples/DataFrameInputExample.scala
Once you have a graph you can store it to Neo4j by using:
val neo4jDS = neo4jGraphSource.cypher.neo4j(...neo4jConfig...)
neo4jDS.store(yourGraph)

Please let us know if you should run into troubles.


Fix missing authentication in GitHubUrlReader

Hey, I just made a Pull Request!
An oversight that probably stems from that most repositories for tech-docs are public anyway.
Ours are not, and are inside of a GitHub Enterprise, which is how i found this tiny bug.
I wish i knew how to mock the cross-fetch in order to inspect the Authorization header of the request to test this fix.
I can only confirm that it works on our backstage that targets GHE.
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

You can fix the failing prettier step with yarn prettier --write <path/to/file>

And I think getRawRequestOptions is fine here, maybe try if that one works for you as well before we merge :)

Thanks for the suggestions! I'll take care of them come Monday. Have a nice weekend everyone! :)

Comments (and build checka) resolved @freben & @OrkoHunter!


karta_identifier.py createDisassemblerHandler returns None

Can not run karta_identifier.py from IDA, I get following error:

@jap0 This looks to be the same problem described in this thread (problem 1): https://github.com/CheckPointSW/Karta/issues/13 (solution in the discussion)

Tried to update my sys.path but I still get the same error. This is the output of "print sys.path" on my machine (from karta_identifier.py):
['C:\WINDOWS\system32\python27.zip', 'C:\Python27\Lib', 'C:\Python27\DLLs', 'C:\Python27\Lib\lib-tk', 'C:\Program Files\IDA 7.2', 'C:\Program Files\IDA 7.2\python', 'C:\Python27', 'C:\Python27\lib\site-packages', 'C:\Python27\lib\site-packages\karta-1.0.0-py2.7.egg', 'C:\Python27\lib\site-packages\click-7.0-py2.7.egg', 'C:\Python27\lib\site-packages\flake8-3.7.7-py2.7.egg', 'C:\Python27\lib\site-packages\pydocstyle-3.0.0-py2.7.egg', 'C:\Python27\lib\site-packages\sark-1.0-py2.7.egg', 'C:\Python27\lib\site-packages\elementals-1.2.6-py2.7.egg', 'C:\Python27\lib\site-packages\typing-3.6.6-py2.7.egg', 'C:\Python27\lib\site-packages\pyflakes-2.1.1-py2.7.egg', 'C:\Python27\lib\site-packages\pycodestyle-2.5.0-py2.7.egg', 'C:\Python27\lib\site-packages\mccabe-0.6.1-py2.7.egg', 'C:\Python27\lib\site-packages\functools32-3.2.3.post2-py2.7.egg', 'C:\Python27\lib\site-packages\enum34-1.1.6-py2.7.egg', 'C:\Python27\lib\site-packages\entrypoints-0.3-py2.7.egg', 'C:\Python27\lib\site-packages\configparser-3.7.4-py2.7.egg', 'C:\Python27\lib\site-packages\snowballstemmer-1.2.1-py2.7.egg', 'C:\Python27\lib\site-packages\six-1.12.0-py2.7.egg', 'C:\Python27\lib\site-packages\wrapt-1.11.1-py2.7.egg', 'C:\Program Files\IDA 7.2\python\lib\python2.7\lib-dynload\ida_32', 'C:\Program Files\IDA 7.2\python', 'C:/Python27/Lib/site-packages/Karta-1.0.0-py2.7.egg/src']

createDisassemblerHandler() iterates over the registered disasemblers, and checks in which one of them the script is being executed. Currently, only IDA is supported, and is being registered inside ida_api.py when it is being referenced by the matching __init__.py file.
If the returned value is None, it means there are two options:

Path issue prevents the proper loading of __init__.py, hence there is no registration.
There was an import error when importing ida_api.py, and this is why it wasn't loaded.

Can you check if the __init__.py script was being called, and add a print to the try/except to check if there was an import exception? This information will help us recreate the error, and debug it on our side.

I have changed content of following file:
C:\Python27\Lib\site-packages\Karta-1.0.0-py2.7.egg\src\disassembler\IDA_init_.py
To:
try:
from .ida_api       import *
print "import OK"
except ImportError, e:
print "import err: "+e.errno+" - "+e.strerror
pass
from .ida_cmd_api       import *
And as result nothing has been printed to the output (the warning message box remains the same as in my first post).
Have changed file:
C:\Python27\Lib\site-packages\Karta-1.0.0-py2.7.egg\src\disassembler_init_.py
To:
from .IDA       import *
from .disas_api import *
from .factory   import *
print "disassembler imports"
And as result nothing has been printed to the output (the warning message box remains the same as in my first post).

I tried to recreate the issue on my setup, and updated my sys.path to match yours, and it still worked for me. Where in the code did you update the sys.path? I updated it as the first (top) lines inside karta_identifier.py, as it should be updated before the rest of the imports are happening.

I have updated "Advanced system settings"->Environment variables and both user variable "path" and system variable "path". But I have also tried it now as you said directly in karta_identifier.py as first line. But did not help.
I have a question, when I try in Python IDLE console to load modules from folder "C:\Python27\Lib\site-packages" (Karta is there also installed) I get following results:

import six
import sark
import pycodestyle
import pip
import flake8
import Karta

Traceback (most recent call last):
File "<pyshell#5>", line 1, in
import Karta
ImportError: No module named Karta

import colorama
import configparser
My question is, should it be importable via such command (when correctly installed)?

I never tried to import Karta as python package, and it wasn't planned for such use cases. The Read-The-Docs documentation specify how each script should be activated, and there are two options:

Invoked from command line - karta_analyze_src.py, and all the *_manual_* scripts
Invoked from withing IDA (File->Script File) - karta_identifier.py and karta_matcher.py

Is there anything out of the ordinary in your python setup? or in your IDA python installation? I just can't reproduce the path issue you are describing...

From my point of view is extraordinary, that I am running on x64 python (installed from python-2.7.16.amd64.msi) because my IDA doesn't work with x86 python installation (I don't remember if there was option to choose x86 or x64 python during IDA installation). I have tried to reinstall python, but it did not help. Karta installation (setup.py install) works OK, after installation when executing karta_identifier.py it asked me to install "colorama". I did it via pip without problem. And then I get the above mentioned error (in both cases, when I try to run it from original download location and also when I try running it from C:\Python27\Lib\site-packages\Karta-1.0.0-py2.7.egg\src). I don't want to bother you with this. I don't know why the "init" scripts fail. I will try it at home with my personal IDA 7.0 in the evening and let you know if it will work there.

Huh, finally it works. Thank you for your advices and patience (it was a "path" for me :) - word by word)

IDA freeware does not support IDAPython so I had to solve it with orig IDA

I have removed all python related paths from user/system path variable (have put only c:\python27 and c:\python27\scripts)

restarted computer

reinstalled Karta

added following lines to the beginning of the "karta_identifier.py" file:
import sys, os
sys.path.insert(0, os.path.join(os.getenv("SystemDrive"), os.sep, "Python27", "Lib", "site-packages", "Karta-1.0.0-py2.7.egg", "src"))
sys.path.insert(0, os.path.join(os.getenv("SystemDrive"), os.sep, "Python27", "Lib", "site-packages"))

the error still persisted, so I have tried to delete "factory.py" and the error still persisted and that was very suspicious to me, so I have decided to find and remove all "Karta" instances on my disks and left only the one in "site-packages" of python27.

it was like the error has been cached :) somehow, so I have deleted all "*.pyc" in "disassembler" folder of Karta and restarted the .idb and finally IT WORKS!! (don't know exactly which of the steps was the winning one :) )


libxmlsec1-openssl.so.1: cannot open shared object file: No such file or directory

libxmlsec1-openssl.so.1: cannot open shared object file: No such file or directory
i use python 2.7 and i have install lxml and openssl but i run the script he return me -> libxmlsec1-openssl.so.1: cannot open shared object file: No such file or directory, i am use function lambda.

sudo apt-get install libxmlsec1-openssl

libxmlsec1-openssl.so.1: cannot open shared object file: No such file or directory
i use python 2.7 and i have install lxml and openssl but i run the script he return me -> libxmlsec1-openssl.so.1: cannot open shared object file: No such file or directory, i am use function lambda.

solution:   sudo apt-get install libxmlsec1-openssl


Add support for LaTeX math expressions

Issue Description
Currently, the HTML output displays e.g. the example entry
Built an app to compute the similarity of all methods
in a codebase, reducing the time from $$\mathcal{O}(n^2)$$
to $$\mathcal{O}(n \log n)$$

as a literal, without rendering the math expression.
Suggested change
By adding Mathjax to the document via the Cloudflare CDN, LaTeX and LaTeX math expressions get parsed correctly if the CDN is reachable.

I hope I didn't screw up the branches or the commit history again... still working those out 😄

Since there is still an AssertionError, I assume the HTML output doesn't match the expected result because of the added tag?

Thank you, I haven't thought about this before! I will merge this. Could you use KaTeX instead? It's much faster than MathJax and it's what we use on docs.rendercv.com.

I haven't thought about this before

I guess it is a pretty niche use case to need math expressions in your CV. Considering that, it might make sense to lazy-load the lib to avoid unnecessary bloat for everyone else. However, I am not aware of that being possible without using another library, which would kinda defeat the purpose. Thoughts?

Could you use KaTeX instead?

Cool, I didn't know that one! I suppose it should be a drop-in replacement... I would still embed it as a JsDeliver reference though, for simplicity's sake. Unless you have a better idea. Shall I update the PR?

KaTeX is very lightweight, so there is no problem at all with including it in the HTML. If you could update this PR for KaTeX, it will be ready to be merged.

"I am once again asking for your technical support"
The test I added in [5d7e98f](https://github.com/sinaatalay/rendercv/pull/200/commits/5d7e98f621cfb184dcc316763cb342d34f630ca8) appears to have been a legacy test case. I reverted the change, both the feature and the tests should be fine now. I wouldn't mind a review though.

Thank you! It was not working but the fix was quick (details).


JAVA-1280 : add Simple type mode

Hello,
i try to respond to this jira because i experiment some bugs when i try to parse my json from Document.toJson() with a jackson project (emfjson-jackson and emfjson-mongo).
Hope it can help other people ;o)

Hi @Dufgui,
Firstly, apologies for the lack of response on this pull request. I like the idea behind your code however, as a drivers team we need to ensure that we are able to interoperate with the different drivers and server tools (such as MongoImport). Because of this I can't consider merging your code into the Java driver.
However, if you feel strongly that the MongoDB Drivers really should support this feature, then I urge you to file a ticket to the DRIVERS project.  If you explain the rational for new feature and the conversions to and from Bson types, then as a drivers team we can best look at the feature.
All the best,
Ross

See https://jira.mongodb.org/browse/DRIVERS-342


Add connect to networks in dropdown

The current connection is baked into the account page. This should be in a dropdown when the user clicks the network button

@RedBeardEth are you going to hit this? Otherwise @micksabox you should pick this up

It probably makes sense to have a standard interface across assets (Desiege, Atlas etc)

I think @ponderingdemocritus is currently doing the actual account panel modal - this is more in reference to the buttons opening that panel

Its probably a better UX to have those initial connect buttons inside a dropdown rather than having to open the panel and then connect

Assuming drop down has two items:

Connect Eth
Connect StarkNet

Any thoughts on:
Should show and select testnets?
How does this work on mobile?
Should trigger Button open dropdown and also trigger route navigation to Account panel?

Valid point. Yes, the goal is to unclutter the UI of information that is rarely needed.
Perhaps the best solution is one button with the L2 address, in the drop-down, there is the L1 address.

Ok that works great. Will also work the same for the Lords button, that should be persistent always but it can show the L2 balance primarily, and be augmented with L1 balance after connect.

That's latest mockup of the networks dropdown, it's a component so can be tweaked, simplifies as discussed. Also includes changes to the Lords balance indicator, and I've removed volume with plans to place elsewhere.

I like it! Let's ship it


Hide addons that aren't compatible with ESR or higher by default on web

For web users we should hide addons that aren't compatible with ESR or higher by default.
Obviously this shouldn't affect any in-client viewing, so older clients can still view older addons.

Just make sure it checks all releases of an Add-on, not just the chronologically latest one. If we do maintenance work for , let's say 102, this should not hide versions that are compatible with 128.* Also, could the website please please please show the Add-on that has the highest compatibility on the front page, and not the last released ones. Any backwards maintenance work is really discouraged by the current model of "Only showing the last release". If you like I can raise a separate issue for this.


[move-only] Remove borrow of subvalue error from the move checker.

The reason why we are doing this is that we are really accessing a getter on the
type. The error would be necessarily done inside the getter where any
consumption would happen. So it shouldn't be on the move only value itself.

@swift-ci test


List ?

Where is the compatibility List ?

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

ID: b3e70f22-6947-70c0-73f9-1d3b309820df
Version Independent ID: b6fc77d4-2c0f-2101-8a24-1845325f7696
Content: Azure AD federation compatibility list
Content Source: articles/active-directory/hybrid/how-to-connect-fed-compatibility.md
Service: active-directory
GitHub Login: @billmath
Microsoft Alias: billmath

@AnisTss Thanks for your feedback! We will investigate and update as appropriate.

@AnisTss Please note as mentioned in the document you can download it from here.

@AnisTss We will now proceed to close this thread. If there are further questions regarding this matter, please open a new issue and we will gladly continue the discussion.


Delayed invalidation runs every 20 seconds, instead of 20 minutes as the documentation describes

PHP Version: 8.0-8.3   | Shopware Version: <IP_ADDRESS>  | Affected area / extension: Platform(Default)

Expected behaviour:
Delayed invalidation should run every 20 minutes, as the documentation describes here:
https://developer.shopware.com/docs/guides/hosting/performance/performance-tweaks.html#delayed-invalidation
Additionally, scheduled-task:register overwrites the scheduled task run interval. This command should be run on every deployment, which causes the run interval to be permanently stuck at 20 seconds.
Actual behaviour:
Delayed invalidation runs every 20 seconds, because the default value is set to 20 for the scheduled task.
https://github.com/shopware/shopware/blob/trunk/src/Core/Framework/Adapter/Cache/InvalidateCacheTask.php#L19
1726657739.031532 [0 [fdf3:9689:1da3:1:0:a01:65:1]:44182] "DEL" "invalidation"
1726657754.077070 [0 [fdf3:9689:1da3:1:0:a01:65:1]:44182] "DEL" "invalidation"
1726657769.115463 [0 [fdf3:9689:1da3:1:0:a01:65:1]:44182] "DEL" "invalidation"
1726657799.170779 [0 [fdf3:9689:1da3:1:0:a01:65:1]:44182] "DEL" "invalidation"
1726657814.318456 [0 [fdf3:9689:1da3:1:0:a01:65:1]:44182] "DEL" "invalidation"

This is reducing cache hitrate, making requests a lot slower than they'd have to be.
How to reproduce:
Use this documentation to set up delayed cache invalidation:
https://developer.shopware.com/docs/guides/hosting/performance/performance-tweaks.html#delayed-invalidation
Connect to your chosen redis instance and use MONITOR to see that the invalidation key is deleted every 20 seconds.

[public] Shopware automated response: This issue is linked to the internal issue: NEXT-38364
[created from NEXT-38364, comment 496284]

In case someone fixes this, it would be amazing to have backports to 6.6.5.x

So, if I understand this correctly:

You can enable this feature as the docs say
Whatever getDefaultInterval() returnes or the default_run_interval database field contains is reduced to a bool value that answers "should I run at all?"
You are supposed to control cache invalidation through setting the run_interval field to whatever seconds you want
The default of that is 20 seconds

Thanks for reporting and discussion here. We've updated documentation.

Thank you @h1k3r !


[Documentation] Could there be an explanation of token types a bit ?

They are mostly self-explanatory, but I cannot see it clearly what is a softBreak, hardBreak, or Rule, and when they will be inserted to the token array.
Could there be some explanation of that ?

All of the parsing is done by the pulldown_cmark library and is based on the CommonMark Spec. The spec has more detailed explanations as to what soft breaks, hard breaks and horizontal rules are.